zebulon_ Posté(e) le 18 février 2005 Partager Posté(e) le 18 février 2005 Dans la suite de nos discussions concernant la commande _.pline à l'intérieur d'un lisp, j'ai écris une routine un peu plus "tout terrain", pour qu'elle soit appliquable à toutes les commandes autocad. (defun mycmd (CMD / ETL LELEM RES OLDCMDECHO) (setq OLDCMDECHO (getvar "CMDECHO")) (setq ETL (entlast)) (setvar "CMDECHO" 1) (command CMD (while (not (zerop (getvar "cmdactive"))) (command pause) ) ) (setvar "CMDECHO" OLDCMDECHO) (setq LELEM nil) (if (not ETL) (setq ETL (entnext)) (setq ETL (entnext ETL)) ) (while ETL (setq LELEM (cons ETL LELEM)) (setq ETL (entnext ETL)) ) (setq RES LELEM)) (defun c:mytest () (setq LE (mycmd "_.line")) (foreach E LE (command "_.change" E "" "_properties" "_color" 3 "") ) (setq LE (mycmd "_.pline")) (foreach E LE (command "_.change" E "" "_properties" "_color" 4 "") ) (setq LE (mycmd "_.arc")) (foreach E LE (command "_.change" E "" "_properties" "_color" 5 "") ) (setq LE (mycmd "_.copy")) (foreach E LE (command "_.change" E "" "_properties" "_color" 6 "") ) (mycmd "_.move") (princ)) Votre avis ? C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme) C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Maximilien Posté(e) le 18 février 2005 Partager Posté(e) le 18 février 2005 ben quand tu fait "_u" cela fait (Expression lisp)perso je n'aime pas je te propose d'aller voir ce lien Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office PlaquetteDeplianteMars2024.pdf Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 18 février 2005 Partager Posté(e) le 18 février 2005 C'est très bien et ça donne un aperçu de ce qu'il est possible de faire en lisp, mais pour faire un peu plus "lispien" plutôt que de se servir des commandes, on peut se servir aussi des entmod, voir des entmakeExemple pour changer la couleur d'une entité en rouge(setq ent (entget (car (entsel)))) (if (assoc 62 ent) (setq ent (subst (cons 62 1) (assoc 62 ent) ent)) (setq ent (append (list (cons 62 1)) ent)) ) (entmod ent) ; Prise en compte des modifs sur l'entité (entupd (cdr (assoc -1 ent))) ; Mise à jour à l'écran de l'entité (princ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824 Lien vers le commentaire Partager sur d’autres sites More sharing options...
didier Posté(e) le 20 février 2005 Partager Posté(e) le 20 février 2005 hello,t'as raison Patrick,c'est plus propreet c'est plus facilement transportable d'une machine à l'autre. et vive la Bretagne ;) amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant