CadFrank Posté(e) le 13 novembre 2013 Partager Posté(e) le 13 novembre 2013 Bonjour à tous, j'essai d'inserrer un block sur des blocks dynamic déja dans mon dessin. Je veux les localiser au meme point que leur point d'origine. J'ai un routine que j'ai commencer mais les blocks qui se génère ne sont pas au point d'origine. Que me manque t-il ? Voici le code : ;¦¦¦ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¦¦¦; ;¦¦¦ Ce sous-program défini les ¦¦¦; ;¦¦¦ parametres initial ¦¦¦; ;¦¦¦ _______________________________________________________________________ ¦¦¦; (defun Parametreinitial () (setq retour (list (cons "osmode" (getvar 'osmode)) (cons "clayer" (getvar 'clayer)) ) ) (setvar 'OSMODE 0) retour ; la dernière expression est retournée par la fonction ); fin parametreinitial ;¦¦¦ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¦¦¦; ;¦¦¦ Ce sous-program remet les ¦¦¦; ;¦¦¦ parametres initial ¦¦¦; ;¦¦¦ _______________________________________________________________________ ¦¦¦; (defun Parametrefin (retour) (foreach p retour (setvar (car p) (cdr p)) ) );fin parametrefin (defun c:mrt (/ ss1 ctr ent blk pts) (vl-load-com) (setq ss1 (ssget "_x" '((8 . "-AL TETE")))) ;(setq ss1 (ssget "_X" '((2 . "TETE M-R")))) (setq ctr 0) (setq init (Parametreinitial)) (repeat (sslength (entget))) (setq ent (entget ss1)) (setq blk "VERIN M-R") (setq pts (cadr (assoc '10 ent))) (command "_insert" blk pts 1 1 0 "") (setq ctr (1+ ctr)) ) (parametrefin init) (princ) ) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Patrick_35 Posté(e) le 13 novembre 2013 Partager Posté(e) le 13 novembre 2013 Salut Essaye avec(setq pts (cdr (assoc '10 ent))) @+ 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...
CadFrank Posté(e) le 13 novembre 2013 Auteur Partager Posté(e) le 13 novembre 2013 Bon maintenant il reste pluger sur le meme entité de ma selection. Lien vers le commentaire Partager sur d’autres sites More sharing options...
nosset Posté(e) le 14 novembre 2013 Partager Posté(e) le 14 novembre 2013 Pourquoi faire un LISP alors que la commande AutoCAD existe ? commande "-inserer" valider puis "nombloc1=nombloc2"Bien mettre le "-" devant le inserer pour ne pas avoir la boite de dialogue. Plus personne ne connait les commande au clavier !!! Sans compter ceux qui ne lisent pas la ligne de commande quand ils lancent une commande. Je n'arrête pas de le dire à mon bureau, LISEZ CE QU'AUTOCAD VOUS PROPOSE !" Autodesk Expert Elite Member Lien vers le commentaire Partager sur d’autres sites More sharing options...
CadFrank Posté(e) le 14 novembre 2013 Auteur Partager Posté(e) le 14 novembre 2013 Pourquoi faire un LISP alors que la commande AutoCAD existe ? commande "-inserer" valider puis "nombloc1=nombloc2" bien sur que la command existe pour remplacer un bloc ou le redefinir avec un autre. Mais moi je cherche à ajouter le bloc sur le point central d'un bloc. De plus, le fait que mes bloc sont dynamic la command express remplacer le bloc ne fonctionne pas. Voila, le pourquoi de la routine. j'espère que cela répond à ta question. 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