brunopub333 Posté(e) le 11 février 2009 Partager Posté(e) le 11 février 2009 Bonjour, j'ai essayer de modifier un lisp qui, à l'origine permettait de copier et faire une rotation avec reference pour en faire un lisp qui permettrait de déplacer puis faire une rotation avec reference.J'ai donc remplacer dans le code, la commande "copy" par "move" mais ca marche pas... :casstet: La commande se bloque apparement au moment de la rotation referencée. Voici le code, pouvez-vous m'aidez svp: ;;Déplacer + rotation avec référence ;; (defun c:drr (/ elast ss ent) (setq elast (entlast)) (if (vl-cmdf "_move" (ssget) "" pause pause) (progn (setq ss (ssadd) ent (if elast (entnext elast) (entnext) ) ) (while ent (ssadd ent ss) (setq ent (entnext ent)) ) (vl-cmdf "_rotate" ss "" (getvar "LASTPOINT") "_r" "@" pause pause ) ) ) (princ) ) Bruno[Edité le 11/2/2009 par brunopub333] Lien vers le commentaire Partager sur d’autres sites More sharing options...
bonuscad Posté(e) le 11 février 2009 Partager Posté(e) le 11 février 2009 Bonjour, J'ai donc remplacer dans le code, la commande "copy" par "move" mais ca marche pas... Pourquoi faire compliqué, dans ce cas précis, l'expression peut être simplifiée car il n'y a pas de création d'entité par la copie. (defun c:drr ( / ss) (setq ss (ssget)) (if (and ss (vl-cmdf "_move" ss "" pause pause)) (vl-cmdf "_.rotate" ss "" (getvar "LASTPOINT") "_r" "@" pause pause) ) (princ) ) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 11 février 2009 Partager Posté(e) le 11 février 2009 Salut, Il ne suffit pas de remplacer un nom de commande par un autre.La routine originale copiait des objets et effectuait une rotation sur les objets nouvellement créés.Quand on déplace des objets, il n'y a pas de création de nouveaux objets, il faut effectuer la rotation sur les objets déplacés. (defun c:drr (/ ss) (if (vl-cmdf "_move" (setq ss (ssget)) "" pause pause) (vl-cmdf "_rotate" ss "" (getvar "LASTPOINT") "_r" "@" pause pause ) ) (princ) ) EDIT : doublé par bonuscad ! Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
rebcao Posté(e) le 11 février 2009 Partager Posté(e) le 11 février 2009 Bonjour, Avant de vouloir réinventer l'eau chaude ! ;) Utilisons déjà les commandes existantes : ^c^cOSNAPCOORD;1;select;\_copy;P;;\@;_move;P;;@;\_rotate;P;;@;R;@;\ et en plus ça marche avec toutes les versions.... ;) Christian Formateur, Consultant Expert AutoCAD, REVIT MEP, INVENTOR, télécharger , des Outils AutoCAD...cad123 @ wanadoo.fr (enlever les espaces de part et d'autre de @) Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 11 février 2009 Partager Posté(e) le 11 février 2009 Ces LISP ne réinventent pas plus l'eau chaude que ta Macro, ils utilisent les commandes existantes et sont identiques à ta Macro. Par contre, tous font ce que fait directement la commande ALIGN :P J'imagine que si brunopub333 poste dans ce forum, c'est qu'il est intéressé par le LISP et c'est souvent en écrivant en LISP ce qui pourrait être écrit en Macro qu'on débute. Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD Lien vers le commentaire Partager sur d’autres sites More sharing options...
brunopub333 Posté(e) le 23 février 2009 Auteur Partager Posté(e) le 23 février 2009 Désolé pour la réponse tardive.Merci à BONUSCAS et à GILE, c'est exactement ce dont j'avais besoin !En effet je suis ammener très souvent à faire des plan de mobilier lors des déménagement des différents services de mon entreprise et donc je dois placer une grosse quantité de bureau et armoires au mieux dans les pièces. D'où l'utilisation intensives des commandes déplacer, copier et rotation. Dans le même esprit, je me rends compte que la commande rotation me serait plus pratique dans mon cas si dès le début elle démarrait avec l'option référence. Je vais de ce pas poster un post dans ce sens ! :P Car effectivement, je débute en lisp et j'adorerais pouvoir me les programmer moi même mais je n'ai pas encore le niveau... mais je regarde attentivement les lignes des lisp que je récupère et je commence petit à petit à comprendre :D Existe t-il un livre pour débuter ? Bonne journée à toutes et tous ! Bruno 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