-
Compteur de contenus
5 029 -
Inscription
-
Dernière visite
-
Jours gagnés
56
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par bonuscad
-
Routine pour couper au point multiple?
bonuscad a répondu à un(e) sujet de JR66 dans AutoCAD LT 2005
C'est vrai que la macro standard d'autodesk est fausse (il manque le underscore à "f") par contre si elle est corrigée, avec un click-droit, dans le menu contextuel tu as "repeter couper au point" Ave c "*" ca marche aussi très bien, mais il ne faut pas de ^Z en fin de ligne (bizarre) car là, ça ne fonctionne plus -
Tu peux aussi utiliser les caractères de controle UNICODE L'usage du mappage unicode rend tes caractères spéciaux compatibles avec TOUTES les polices, que ce soit SHX fourni par Autodesk (pas celle anciennement créé par des utilisateurs) ou TTF Mon avis personnel est qu'il faudrait s'habituer a ce mode pour ne pas avoir de problème de compatibilité dans le futur avec les polices de caractère. \u+2205 = vrai symbole diamètre \u+00f8 = petit o barré équivalent à Alt+0216 en mappage ANSI \u+00d8 = grand O barré
-
Je dirais que quand tu décales une forme concave (par rapport au point donné pour le coté du décalage), si ta distance entre sommet est inférieure à ta distance de décalage, est bien ces sommets seront puremment et simplement supprimé pour être remplacé par un sommet calculé (généralement l'intersection des segments précédent et suivant du segment supprimé) Difficile d'expliquer par écrit ce comportement :casstet: , j'espère que tu auras compris :exclam:
-
En passant par les grips (sélection avant une commande), c'est très facile. Une fois que tu as les poignées sur tes objets qui t'interesses, tu actives une poignée (n'importe laquelle) A ce moment là tu va avoir ce message en ligne de commande: ** ETIRER ** Spécifiez le point d'étirement ou [point de Base/Copier/annUler/Sortir]: des appuis successif sur la barre d'espace va te faire défiler les options ** DEPLACER ** ** ROTATION ** ** ECHELLE ** ** MIROIR ** ceci en boucle Tu choisis l'option ** ROTATION ** puis b pour base, tu définis ton point de base puis l'option c pour copier, l'invite change et devient ** ROTATION (multiple) ** et la tu n'as plus qu'a donner tes angles successifs
-
cherche ordre d\'affichage des calques
bonuscad a répondu à un(e) sujet de Moon_LS dans AutoCAD 2006
J'ai bien essayé de pondre un lisp couplé à un DCL pour faire ce genre d'action. Je livre le code, à essayer pour voir si cela convient. Mais je reconnais qu'il n'est pas très aisé d'utilisation et que ce n'est qu'une ébauche (qui à l'air de fonctionner, avec réserve) ;) Jamais testé sous 2006, et je ne sais pas si j'irais plus loin dans la réflexion du développement. Fichier ordrecalque.lsp (defun ordclqerr (ch) (cond ((eq ch "Function cancelled") nil) ((eq ch "quit / exit abort") nil) ((eq ch "console break") nil) (T (princ ch)) ) (command "_.undo" "_end") (if (<= sv_und 3) (command "_.undo" "_control" "_one")) (command "_.undo" "1") (setq *error* olderr) (setvar "cmdecho" 1) (princ) ) (defun lst2listbox ( lststr lstbox / ) (start_list lstbox) (mapcar 'add_list lststr) (end_list) ) (defun lay_add ( lstlay lstlf / lstnum) (setq lstnum (read (strcat "(" (get_tile "lst_all_lay") ")"))) (foreach num lstnum (if (not (member (nth num lstlay) lstlf)) (setq lstlf (cons (nth num lstlay) lstlf)) ) ) (lst2listbox lstlf "lst_sel_lay") lstlf ) (defun lay_sub ( lstlf / lstnum lstote) (setq lstnum (read (strcat "(" (get_tile "lst_sel_lay") ")"))) (setq lstote (mapcar '(lambda (num) (nth num lstlf)) lstnum)) (foreach layername lstote (setq lstlf (append (reverse (cdr (member layername (reverse lstlf)))) (cdr (member layername lstlf)) ) ) ) (lst2listbox lstlf "lst_sel_lay") lstlf ) (defun makelaylists (/ layname ss cvpname xdlist vpldata sortlist name templist) (if (= (setq tilemode (getvar "tilemode")) 0) (progn (setq ss (ssget "_x" (list (cons 0 "VIEWPORT") (cons 69 (getvar "CVPORT")) ) ) ) (setq cvpname (ssname ss 0)) (setq xdlist (assoc -3 (entget cvpname '("acad")))) (setq vpldata (cdadr xdlist)) ) ) (setq sortlist nil) (setq templist (tblnext "LAYER" T)) (while templist (setq name (cdr (assoc 2 templist))) (setq sortlist (cons name sortlist)) (setq templist (tblnext "LAYER")) ) (if (>= (getvar "maxsort") (length sortlist)) (setq sortlist (acad_strlsort sortlist)) (setq sortlist (reverse sortlist)) ) ) (defun c:ordrecalque ( / sv_und olderr dcl_id lstlay lstlf t_xwt ok_cmd lst_order file_o) (setvar "CMDECHO" 0) (if (<= (setq sv_und (getvar "undoctl")) 3) (command "_.undo" "_control" "_all") ) (command "_.undo" "_group") (setq olderr *error* *error* ordclqerr) (setq dcl_id (load_dialog "ordrecalque.dcl")) (if (new_dialog "ordrecalque" dcl_id) (progn (setq lstlay (makelaylists) lstlf '()) (lst2listbox lstlay "lst_all_lay") (lst2listbox lstlf "lst_sel_lay") (action_tile "pick_add" "(setq lstlf (lay_add lstlay lstlf))") (action_tile "pick_sub" "(setq lstlf (lay_sub lstlf))") (action_tile "xwt_frt" "(setq t_xwt $value)") (action_tile "accept" "(done_dialog 1)") (setq ok_cmd (start_dialog)) (if (= ok_cmd 1) (setq lst_order lstlf) ) ) ) (cond (lst_order (setq file_o (open (strcat (getvar "TEMPPREFIX") "$ordrecalque.txt") "w")) (if t_xwt (write-line "T" file_o) (write-line "nil" file_o)) (foreach n lst_order (write-line n file_o)) (close file_o) ) (T (princ "\nLa commande a échouée.")) ) (command "_.undo" "_end") (if (<= sv_und 3) (command "_.undo" "_control" "_one")) (command "_.undo" "1") (setq *error* olderr) (if (not go_ordlay) (load "go_ordlay.lsp")) (go_ordlay) (setvar "CMDECHO" 1) (princ) ) fichier go_ordlay.lsp (defun go_ordlay ( / file_o file_ini lay lst_order t_xwt dxf_67 js) (cond ((findfile (setq file_o (strcat (getvar "TEMPPREFIX") "$ordrecalque.txt"))) (setq file_ini (open file_o "r") lst_order (list)) (while (setq lay (read-line file_ini)) (setq lst_order (cons lay lst_order)) ) (if (read (car lst_order)) (setq t_xwt T) (setq t_xwt nil) ) (close file_ini) (if (eq (getvar "CVPORT") 1) (setq dxf_67 '(67 . 1)) (setq dxf_67 '(67 . 0)) ) (while lst_order (setq js (ssget "_X" (list dxf_67 (cons 8 (car lst_order))))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) (setq lst_order (cdr lst_order)) ) (cond (t_xwt (setq js (ssget "_X" (list dxf_67 '(0 . "WIPEOUT")))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) (setq js (ssget "_X" (list dxf_67 '(0 . "TEXT")))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) (setq js (ssget "_X" (list dxf_67 '(0 . "MTEXT")))) (if (not (null js)) (progn (sssetfirst nil js) (ai_draworder "_front") ) ) ) ) ) (T (princ "\nIl n'y a pas de liste de calques.")) ) (prin1) ) fichier ordrecalque.dcl ordrecalque : dialog { label= "Sélection des calques à ordonner pour l'affichage"; : column { : row { : list_box { label = "Liste des Calques"; key = "lst_all_lay"; width = 25; multiple_select = true; } : column { fixed_height = true; : button {key = "pick_add"; label = ">";} : button {key = "pick_sub"; label = "<";} } : list_box { label = "Calques ordonnés à sousmettre"; key = "lst_sel_lay"; width = 25; multiple_select = true; } : column { :text { label = "Priorité +"; } :text { label = "Priorité -"; } } } : toggle { label = "Placer les Textes et Masques au dessus de tout en dernier"; mnemonic = "T"; key = "xwt_frt"; } ok_cancel; } } -
J'ai observé plusieurs fois un phénomène marrant. Je suis déconnecté (je n'apparais plus dans les membres en ligne), mais mon thème est toujours actif et je peux lire les réponses. Par contre si dans ce cas, si je quitte Firefox et le relance aussitôt, je retouve bien le thème par défaut et n'ai plus accés aux réponses. Ca ne gène pas au contraire, mais je n'ai jamais essayé de répondre dans ce cas précis, j'ai toujours préféré relancer une connexion. Problème de temporisation ?....
-
Ecrire du txt parallelement à une ligne tracé ..
bonuscad a répondu à un(e) sujet de cadpolo dans Débuter en LISP
J'ai corrigé enfin mes deux posts précédents pour le bug bloquant (boucle infinie) concernant seulement les anciennes polylignes et rajouter un contrôle sur les textes fixés et alignés qui ne sont pas traités par la routine. Malgré le remaniement de la routine, il existe toujours une incompatibilité entre les fonctions (vlax-curve....) et la version 2000 d'Autocad, elle n'a pas le même comportement sur cette version et entraine une erreur. J'abandonne pour essayer de résoudre ce bug spécifique. Utilisateur de 2000, vous êtes averti. :mad: (gile) je garde ton petit lisp dans mes outils de dévellopements, bien pratique ;) -
Ecrire du txt parallelement à une ligne tracé ..
bonuscad a répondu à un(e) sujet de cadpolo dans Débuter en LISP
Tramber Voici comment je procède pour mes opération booléenne sur les bits. C'est ma méthode, mais je ne sais pas si c'est la meilleure. D'ailleurs ce n'est ni 116 ni 124 mais 118 (je commence à fatiguer) code dxf 70 des polylignes 0=defaut 1=polyligne ou maille (direction M) fermée 2=sommets de lissage ajoutés 4=sommets de spline ajoutés 8=poly3D 16=maille3D 32=maille fermée (direction N) 64=maille polyface (pmaille) 128=mode de génération type de ligne Total des bits 255 Ce que je veux traiter 0 1 8 128 = 137 Ce que je veux écarter 2 4 16 32 64 = 118 exemple: ((lambda ( / ) (while (null (setq js (ssget "_:S" '((0 . "*POLYLINE")))))) (setq ent (ssname js 0) dxf_ent (entget ent) ) (if (zerop (boole 1 118 (cdr (assoc 70 dxf_ent)))) ;si le résultat est zéro (princ "\nLe code Dxf-70 ne contient AUCUN bit de ce que je veux écarter") ;si le résultat est différent de zéro (princ "\nLe code Dxf-70 contient au MOINS un bit de ce que je veux écarter") ) (prin1) )) Et puis je viens de voir un gros bug avec la fonction (near_vertex_arr) : j'ai oublié de traiter les arrondis (code 42) pour les polyligne anciennes et la routine par dans une boucle infinie. J'essaye de corriger ça dès que possible -
J'avais eu ce problème il y a longtemps avec des polices TTF. Il me semble que la mise à jour du "Firmware" par un technicien de HP (sur un traceur HP 1050C) avait résolu entre autre ce problème. Je ne peux affirmer que c'était exactement ça, car beaucoup de choses avaient été essayé, et il est difficile de se rappeler si telle ou telle action avait résolu le problème (patch, drivers, flashage etc..).
-
Bateau, je connais :) Merci pour la traduc... 06 Alpes maritimes? Comment ils appellent les "bites" d'amarrage pour les "bateaux" dans la région? Je n'ose évoquer le terme :exclam:
-
Cela fait 20 ans et + que je trempe dans la conception routière et je n'ai jamais entendu ce terme. Mais si celui ci existe, je serais vraiment curieux de savoir à quoi il correspond! Cela concerne t-il la définition en plan, ou profil en long? Si c'est le profil en long, peut être une assimilation à une parabole pour l'axe en plan peut être un raccordement progressif (clotoïde) Si c'est le cas, je trouve que c'est un abus de language :mad:
-
Ecrire du txt parallelement à une ligne tracé ..
bonuscad a répondu à un(e) sujet de cadpolo dans Débuter en LISP
Oui avec peu de changement (defun ainerr (ch) (cond ((eq ch "Function cancelled") nil) ((eq ch "quit / exit abort") nil) ((eq ch "console break") nil) (T (princ ch)) ) (setvar "cmdecho" 1) (setvar "angdir" old_adir) (setvar "angbase" old_abase) (setvar "osmode" old_osmd) (setq *error* olderr) (princ) ) (defun near_vertex_arr (obj / obj dxf_obj obj_vlax pt_sel par pt_first pt_snd i bulge e_next) (setq dxf_obj (entget (car obj))) (vl-load-com) (setq obj_vlax (vlax-ename->vla-object (car obj)) pt_sel (vlax-curve-getClosestPointTo obj_vlax (trans (osnap (cadr obj) "_near") 1 0)) par (vlax-curve-getParamAtPoint obj_vlax pt_sel) pt_first (trans (vlax-curve-getPointAtParam obj_vlax (fix par)) 0 1) pt_snd (trans (vlax-curve-getPointAtParam obj_vlax (1+ (fix par))) 0 1) i 0 ) (cond ((eq (cdr (assoc 0 dxf_obj)) "LWPOLYLINE") (while (or (/= (caar dxf_obj) 42) (if (< i (fix par)) (setq i (1+ i)))) (setq bulge (cdadr dxf_obj) dxf_obj (cdr dxf_obj)) ) ) (T (setq e_next (entnext (car obj))) (repeat (fix par) (setq e_next (entnext e_next))) (setq bulge (cdr (assoc 42 (entget e_next)))) ) ) (list pt_first pt_snd bulge) ) (defun c:Align_insert ( / olderr old_abase old_adir e_ins dxf_ins e_seg ent dxf_ent typent l_2pt dxf_11 x_alpha pt_base) (setq old_osmd (getvar "osmode") old_abase (getvar "angbase") old_adir (getvar "angdir")) (setvar "osmode" 0) (setvar "angbase" 0) (setvar "angdir" 0) (setvar "cmdecho" 0) (setq olderr *error* *error* ainerr) (while (null (setq e_ins (entsel "\nChoix du bloc à aligner: ")))) (cond ((= (setq typent (cdr (assoc 0 (setq dxf_ins (entget (car e_ins)))))) "INSERT") (while (null (setq e_seg (entsel "\nAligner le bloc sur le segment --> ")))) (setq typent (cdr (assoc 0 (setq dxf_ent (entget (car e_seg)))))) (cond ((or (eq typent "XLINE") (eq typent "RAY")) (setq dxf_11 (cdr (assoc 11 dxf_ent))) (setq x_alpha (atan (/ (cadr dxf_11) (car dxf_11)))) (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (polar (trans (cdr (assoc 10 dxf_ent)) 0 1) x_alpha (distance (getvar "vsmin") (getvar "vsmax"))) -1 1) ) ((eq typent "LINE") (setq x_alpha (angle (cdr (assoc 10 dxf_ent)) (cdr (assoc 11 dxf_ent)))) (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (trans (cdr (assoc 11 dxf_ent)) 0 1) -1 1) ) ((or (eq typent "LWPOLYLINE") (and (eq typent "POLYLINE") (zerop (boole 1 118 (cdr (assoc 70 dxf_ent)))) ) ) (setq l_2pt (near_vertex_arr e_seg)) (grdraw (car l_2pt) (cadr l_2pt) -1 1) (if (zerop (caddr l_2pt)) (setq x_alpha (angle (trans (car l_2pt) 1 0) (trans (cadr l_2pt) 1 0))) (progn (setq x_alpha nil) (princ "\nNe peut obtenir un angle depuis ce type d'objet!")) ) ) (T (princ "\nNe peut obtenir un angle depuis ce type d'objet!") (redraw) ) ) (cond (x_alpha (setq pt_base (trans (cdr (assoc 10 dxf_ins)) (car e_ins) 1)) (command "_.rotate" e_ins "" "_none" pt_base "_none" (polar pt_base (- (cdr (assoc 50 dxf_ins))) 10)) (command "_.rotate" e_ins "" "_none" pt_base "_none" (polar pt_base x_alpha 10)) (princ "\n ou [Click+gauche] pour tourner de 90°/ ou [Click+droit] pour finir!.") (while (and (not (member (setq key (grread nil 4 0)) '((2 13)))) (/= (car key) 25)) (command "_.rotate" e_ins "" "_none" pt_base "_none" (polar pt_base (/ pi 2.0) 10)) ) (redraw) ) ) ) (T (princ "\nCe n'est pas un bloc!")) ) (setvar "angdir" old_adir) (setvar "angbase" old_abase) (setvar "osmode" old_osmd) (setq *error* olderr) (setvar "cmdecho" 1) (princ) ) :red:Ca fait plaisir, mais faut pas exagérer, surtout que je suis sur que c'est encore imparfait, notamment dans les SCU. [Edité le 16/3/2006 par bonuscad] -
Ecrire du txt parallelement à une ligne tracé ..
bonuscad a répondu à un(e) sujet de cadpolo dans Débuter en LISP
Une routine qui va permettre d'aligner après coup un texte ou multitexte sur un segment droit. Ce segment peut être une droite, demi-droite, ligne , segment de polyligne ou LWpolyligne Par un simple clic tu peut ensuite faire tourner ce texte de 90° pour le mettre perpendiculaire au segment (defun atxerr (ch) (cond ((eq ch "Function cancelled") nil) ((eq ch "quit / exit abort") nil) ((eq ch "console break") nil) (T (princ ch)) ) (setvar "cmdecho" 1) (setvar "angdir" old_adir) (setvar "angbase" old_abase) (setvar "osmode" old_osmd) (setq *error* olderr) (princ) ) (defun near_vertex_arr (obj / obj dxf_obj obj_vlax pt_sel par pt_first pt_snd i bulge e_next) (setq dxf_obj (entget (car obj))) (vl-load-com) (setq obj_vlax (vlax-ename->vla-object (car obj)) pt_sel (vlax-curve-getClosestPointTo obj_vlax (trans (osnap (cadr obj) "_near") 1 0)) par (vlax-curve-getParamAtPoint obj_vlax pt_sel) pt_first (trans (vlax-curve-getPointAtParam obj_vlax (fix par)) 0 1) pt_snd (trans (vlax-curve-getPointAtParam obj_vlax (1+ (fix par))) 0 1) i 0 ) (cond ((eq (cdr (assoc 0 dxf_obj)) "LWPOLYLINE") (while (or (/= (caar dxf_obj) 42) (if (< i (fix par)) (setq i (1+ i)))) (setq bulge (cdadr dxf_obj) dxf_obj (cdr dxf_obj)) ) ) (T (setq e_next (entnext (car obj))) (repeat (fix par) (setq e_next (entnext e_next))) (setq bulge (cdr (assoc 42 (entget e_next)))) ) ) (list pt_first pt_snd bulge) ) (defun c:Align_text ( / olderr old_abase old_adir e_txt dxf_txt e_seg ent dxf_ent typent l_2pt dxf_11 x_alpha) (setq old_osmd (getvar "osmode") old_abase (getvar "angbase") old_adir (getvar "angdir")) (setvar "osmode" 0) (setvar "angbase" 0) (setvar "angdir" 0) (setvar "cmdecho" 0) (setq olderr *error* *error* atxerr) (while (null (setq e_txt (entsel "\nChoix du texte a aligner: ")))) (cond ((or (and (= (setq typent (cdr (assoc 0 (setq dxf_txt (entget (car e_txt)))))) "TEXT") (not (member (assoc 72 dxf_txt) '((72 . 3) (72 . 5)))) ) (= typent "MTEXT") ) (while (null (setq e_seg (entsel "\nAligner le texte sur le segment --> ")))) (setq typent (cdr (assoc 0 (setq dxf_ent (entget (car e_seg)))))) (cond ((or (eq typent "XLINE") (eq typent "RAY")) (setq dxf_11 (cdr (assoc 11 dxf_ent))) (setq x_alpha (atan (/ (cadr dxf_11) (car dxf_11)))) (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (polar (trans (cdr (assoc 10 dxf_ent)) 0 1) x_alpha (distance (getvar "vsmin") (getvar "vsmax"))) -1 1) ) ((eq typent "LINE") (setq x_alpha (angle (cdr (assoc 10 dxf_ent)) (cdr (assoc 11 dxf_ent)))) (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (trans (cdr (assoc 11 dxf_ent)) 0 1) -1 1) ) ((or (eq typent "LWPOLYLINE") (and (eq typent "POLYLINE") (zerop (boole 1 118 (cdr (assoc 70 dxf_ent)))) ) ) (setq l_2pt (near_vertex_arr e_seg)) (grdraw (car l_2pt) (cadr l_2pt) -1 1) (if (zerop (caddr l_2pt)) (setq x_alpha (angle (trans (car l_2pt) 1 0) (trans (cadr l_2pt) 1 0))) (progn (setq x_alpha nil) (princ "\nNe peut obtenir un angle depuis ce type d'objet!")) ) ) (T (princ "\nNe peut obtenir un angle depuis ce type d'objet!") (redraw) ) ) (cond (x_alpha (entmod (subst (cons 50 x_alpha) (assoc 50 dxf_txt) dxf_txt)) (princ "\n ou [Click+gauche] pour tourner de 90°/ ou [Click+droit] pour finir!.") (while (and (not (member (setq key (grread nil 4 0)) '((2 13)))) (/= (car key) 25)) (setq x_alpha (+ (/ pi 2.0) x_alpha)) (entmod (subst (cons 50 x_alpha) (assoc 50 dxf_txt) dxf_txt)) ) (redraw) ) ) ) (T (princ "\nCe n'est pas du texte, ou alors il est fixé ou aligné!")) ) (setvar "angdir" old_adir) (setvar "angbase" old_abase) (setvar "osmode" old_osmd) (setq *error* olderr) (setvar "cmdecho" 1) (princ) ) [Edité le 16/3/2006 par bonuscad] -
Encore un code de Elpanov Evgeniy (Il me plait ce garçon, j'lui payerais bien une vodka!) ;) Une fonction d'erreur simple qui répond à la plupart des besoins lors de création de routines pas trop sophistiquées. Ceci en quelques lignes ... (simple mais fallait y penser) La fonction erreur (defun *error* (msg) (MAPCAR 'eval ERROR-LST-)) Un exemple de déclaration à faire dans le code principal (SETQ ERROR-LST- '("AUTOSNAP" "OSMODE" "APERTURE" "HPSPACE" "HPASSOC" "MIRRTEXT" "AUPREC" "LUPREC" "DIMZIN" "cecolor" ) ERROR-LST- (mapcar (function (lambda (a) (list 'setvar a (getvar a)))) ERROR-LST-) )
-
J\'ai bcp de mal avec entnext entlast
bonuscad a répondu à un(e) sujet de cadpolo dans Débuter en LISP
Oui et Non Il est vrai que si un bloc sert de marque dans le dessin et que celui-ci est de nouveau réinsérer dans le dessin par la suite, cela pose un problème d'identification de la marque. Mais si le lisp ne se sert pas de ce bloc ayant servi de repère, normalement cela ne pose pas de problème. Enfin je pense.... Mais il est certain que la méthode de (gile) est plus sure. -
Suggestion simpliste pour le point 2. Pourquoi ne pas modifier simplement ta chaine de texte en inserant %%u au tout début. Mais si tu veux vraiment une ligne, il te faudra améliorer la ligne de Tramber en remplacant 100 par la vrai longueur que tu pourras obtenir avec un "BoundingBox" de ton texte
-
Au lieu de l'option "Lissage", appliquer l'option "Spline" donne la figure qui se mord la queue. Ceci avec 2 segments minimum ou +, l'épaisseur n'est appliquée qu' au point de départ et au point d'arrivé, les autres points de défintion de la Spline étant ignorés. Bravo Eric pour ces égnimes de dessin, mais où vas tu chercher tout ça :casstet: :o :D
-
Allez je me lance :D Je fais un cercle de rayon de 1 unité Je fais un nuage de révision en style caligraphique, je rentre les longueur mini et maxi égale à (/ pi 3) J'obtiens un nuage d'arc identique Je lance la commande pedit sur ce nuage et lisse celle-ci NB: j'ai essayer avec (/ pi 4) et (/ (* 2 pi) 3) cela fonctionne aussi! J'ai pas réussi (encore) à faire celui qui se mord la queue ;)
-
PB autocad 2004 LT et traceur HP designjet 800
bonuscad a répondu à un(e) sujet de manutrutru dans AutoCAD LT 2004
Je n'ai pas de solution. Mais avez vous des cartes HPGL/2 ou POSTSCRIPT? AutoCAD est plus performant avec une communication en HPGL pour le tracage qu'avec du PostScript. Désolé pas d'autres suggestions :casstet: [Edité le 10/3/2006 par bonuscad] -
QUID technicien DAO/CAO
bonuscad a répondu à un(e) sujet de laurentbannay dans Organisation du travail
DAO Dessin Assisté par Ordinateur Ce terme est pour moi voué à un dessinateur CAO Conception Assisté par Ordinateur Pour concevoir, il faut avoir des bases de connaissance dans son métier pour mettre en oeuvre une étude. Ce terme me semble t-il est plutôt voué à un technicien/projeteur. En résumé AutoCAD de base peut être utilisé par un dessinateur sans connaissance particulière de son métier en appliquant les directives d'une "minute". Un applicatif dédié (même si intégré à AutoCAD) demandera une connaissance métier que n'a pas forcément un dessinateur. Aux yeux de certain cette nuance n'est pas comprise, et on demande aux dessinateurs de faire le boulot d'un technicien; argument avancé : c'est le logiciel qui fait tout, donc pas besoin de connaissance. Ce dérapage a tendance à se généraliser depuis l'apparition de logiciel de plus en plus sophistiqué. Cela peut être valorisant intellectuellement pour un dessinateur, mais la plus part du temps la paye , elle, n'est pas valorisée :casstet: Dur de situer la limite entre ces deux domaines :( -
On peut le trouver a cette Adresse Enfin je pense que c'est le même, pour 2000 à 2005 et Updaté pour 2006
-
Je pense que si tu veux conserver l'ordre de création, seul les "handles" peuvent t'aider. Il faudrait peut être AVANT de déposer tes informations dans une base de données, classer préalablement les entités par leur handle pour avoir l'ordre de création. J'ai essayé en lisp: voir ICI de faire quelque chose avec les handles. Je n'en suis pas encore satisfait, c'est juste une base de départ, j'attends l'inspiration pour continuer ;) Volilà, si ça peut t'aider ou t'orienter, tant mieux
-
Je pense que le problème vient de : Outre les points approchés de tangentes choisis, il te faut tenir compte de l'ordre de saisie de tes points de tangence en tenant compte du parcours TOUJOURS dans le sens trigonométrique (sens inverse des aiguille d'une montre). Je n'ai pas fait de test mais je pense avoir bon :P
-
Dans ce FIL j'ai fais un copier-coller de fichiers de définition (LIN. PAT SHP) Il ya plusieurs modéle de haie, le style HAIV est le plus adapté pour une grande échelle (100/200) les autres pour une plus petite échelle (500/1000/2500) Je t'invite à y jeter un coup d'oeil ;)
-
Demande de fichier lors de l\'ouverture d\'un plan
bonuscad a répondu à un(e) sujet de Mickael14 dans AutoCAD 2005
Je connais pas ce programme "JSinfo" Mais alors cela devait être vite le bazard :casstet: Sachant que les SHX doivent ce trouver dans un dossier de recherche (normalement support). Comment différencier ou éviter d'écraser le fichier jsi_form.shx si celui ci est à chaque fois différent. Merci d'éclairer ma lanterne. Pour ma part mon fichier autocad archivé était un plan fait en 2003 par un géomètre sous autocad 2000. Ce programme JSinfo est-il encore utilisé? ou alors on ne parle pas de la même chose....
