Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

Je débute en lisp, bien que je pratique Autocad depuis pas mal de temps, mais je me refusais jusque maintenant d'en crér, pensant que ça n'était pas à ma portée, et bien j'ai envie dans fabriquer un peu.

je souhaite un lisp qui me permettrais de mettre dans le presse papier le nom d'un calque que j'interrogerais pour l'inséser ensuite dans un programme car les lisp amateur ne sont pas toujours convivial. mais ceci pourrais me faire gagne du temps.

merci pour les réponses.

j'en aurais certainement d'autres.

CIAN

Posté(e)

Salut

 

mettre dans le presse papier le nom d'un calque que j'interrogerais pour l'inséser ensuite dans un programme

 

j'avoue que je ne comprend pas ce que tu veux...

Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...

Posté(e)

Pour récupérer un ou plusieurs nom de calque par pointage, tu pourrais utiliser un truc de ce genre:

Faire un copier coller de ce qui suit en ligne de commande pour essayer.

 

((lambda ( / ent name_layer list_name_layer)

(while (setq ent (entsel "\nChoisir une entité: "))

(princ (setq name_layer (cdr (assoc 8 (entget (car ent))))))

(if (not (member name_layer list_name_layer))

(setq list_name_layer (cons name_layer list_name_layer))

)

)

))

 

Tu auras ainsi les nom des calques dans une liste. Après tu peux faire ce que tu veux de cette liste.

Pour l'envoyer dans le presse-papier, je ne sais pas faire!

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Posté(e)

Salut

Si c'est ce que tu souhaites.

Le lisp prends comme calque à copier le calque courant

 

(defun c:cpp()
 (vl-bb-set "Patrick_35" (vla-get-activelayer (vla-get-activedocument (vlax-get-acad-object))))
 (princ "\nCopier prêt.")
 (princ)
)

@+

(defun c:clp(/ newlay lay tblay)
 (if (setq lay (vl-bb-ref "Patrick_35"))
   (progn
     (setq tblay (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
     (setq newlay (vla-add tblay (vla-get-name lay)))
     (vla-put-color           newlay (vla-get-color           lay))
     (vla-put-freeze          newlay (vla-get-freeze          lay))
     (vla-put-layeron         newlay (vla-get-layeron         lay))
;      (vla-put-linetype        newlay (vla-get-linetype        lay))
     (vla-put-lineweight      newlay (vla-get-lineweight      lay))
     (vla-put-lock            newlay (vla-get-lock            lay))
;      (vla-put-plotstylename   newlay (vla-get-plotstylename   lay))
     (vla-put-plottable       newlay (vla-get-plottable       lay))
     (vla-put-viewportdefault newlay (vla-get-viewportdefault lay))
     (vla-put-activelayer (vla-get-activedocument (vlax-get-acad-object)) newlay)
   )
   (princ "\nPas de copier d'effectué auparavant.")
 )
 (princ)
)

(vl-load-com)
(princ "\nLisp chargé. Faites CPP pour un copier et CLP pour un coller dans un autre dessin")
(princ)

 

Les Lisps de Patrick

Le but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.

Joseph Joubert, 1754-1824

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité