Es t'il possible de convertir tout les calques en 0 en une seule fois ?
Résolu ! Accéder à la solution.
Résolu par Y.AUBRY. Accéder à la solution.
Résolu par DOMICREA. Accéder à la solution.
Résolu par Caderix. Accéder à la solution.
Cette macro fonctionne très bien
Néanmoins j'ai remarqué que les calques dans les espaces papiers ne sont pas pris en compte.
Avons nous le moyen de lancer la macro pour l'espace objet et papier avec toutes les présentations ?
Je n'ai pas trouvé de variables pour les lignes de repère multiple.
Cordialement
Eric GUELEN
Formateur AutoCAD
Site Internet
^C^C-pl;ch;0;;rb;setbylayermode;221;_ai_selall;-setbylayer;o;o;chprop;_all;;_la;0;;-purger;tout;*;n;_audit;o;_qsave;;
Voila on j'en suis pour le traitement des fichiers venant de l'extérieur.
Je n'ai pas encore résolu le problème des cotes en DuCalque et les calques dans les présentations
Salut Eric, peut-être en passant par les expressions DIESEL dans la macro?
J'avoue que je n'ai pas trop de temps en ce moment donc si tu es d'attaque je te laisse voir.
En tout cas j'en profites pour vous souhaiter de bonnes fêtes de fin d'années un peu en avance 🎅🤶:sapin_de_Noël:
A+ Yoan
Yoan AUBRY
Bonne fêtes à tous
Merci pour votre contribution
Cela va déjà beaucoup m'aider
Je continue à chercher
J'ai trouvé une lisp réalisée par Gile pour changer les couleurs des styles de cotes
Bonjour,
Tu trouveras ci-dessous un lisp de @Kent1Cooper pour passer toutes les cotations, lignes de repères et lignes de repère multiples en DuCalque (Commande "ABL") ou en DuBloc (Commande "ABB")
(Ce lisp a été modifié par la suite apparemment, la commande ACB d'origine n'existe plus)
;; AllColorBylayer.lsp [command name: ACB]
;; To change the Color of ALL entities in the drawing, including those nested in
;; Block definitions [but not Xrefs] and Dimension/Leader parts, to ByLayer.
;; Kent Cooper, 27 February 2014, expanding on some elements by p_mcknight
(vl-load-com)
(defun C:abl ; = All to Color Bylayer
(/ cb ent obj blk subent)
(defun cb () ; = force Color(s) to Bylayer
(setq obj (vlax-ename->vla-object ent))
(vla-put-color obj 256); ByLayer
(if (wcmatch (vla-get-ObjectName obj) "*Dimension,*Leader")
(foreach prop '(DimensionLineColor ExtensionLineColor TextColor)
;; not all such entity types have all 3 properties, but all have at least one
(if (vlax-property-available-p obj prop)
(vlax-put obj prop 256); ByLayer
); if
); foreach
); if
); defun -- cb
;; Top-level entities:
(setq ent (entnext))
(while ent
(cb)
(setq ent (entnext ent))
); while
;; Nested entities in this drawing's Block definitions:
(setq blk (tblnext "block" t))
(while blk
(if (= (logand 20 (cdr (assoc 70 blk))) 0); not an Xref [4] or Xref-dependent [16]
(progn
(setq ent (cdr (assoc -2 blk)))
(while ent
(cb)
(setq ent (entnext ent))
); while
); progn
); if
(setq blk (tblnext "block"))
); while
(command "_.regenall")
(princ)
); defun
(vl-load-com)
(defun C:abb ; = All to Color ByBlock
(/ cb ent obj blk subent)
(defun cb () ; = force Color(s) to Bylayer
(setq obj (vlax-ename->vla-object ent))
(vla-put-color obj 0); ByBlock
(if (wcmatch (vla-get-ObjectName obj) "*Dimension,*Leader")
(foreach prop '(DimensionLineColor ExtensionLineColor TextColor)
;; not all such entity types have all 3 properties, but all have at least one
(if (vlax-property-available-p obj prop)
(vlax-put obj prop 0); ByVlock
); if
); foreach
); if
); defun -- cb
;; Top-level entities:
(setq ent (entnext))
(while ent
(cb)
(setq ent (entnext ent))
); while
;; Nested entities in this drawing's Block definitions:
(setq blk (tblnext "block" t))
(while blk
(if (= (logand 20 (cdr (assoc 70 blk))) 0); not an Xref [4] or Xref-dependent [16]
(progn
(setq ent (cdr (assoc -2 blk)))
(while ent
(cb)
(setq ent (entnext ent))
); while
); progn
); if
(setq blk (tblnext "block"))
); while
(command "_.regenall")
(princ)
); defun
ou sinon voir celui-ci (Auteur inconnu)
(defun All2BL (/ colorObj) ;Sets everything to by layer including leaders
(vlax-for block (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object)))
(vlax-for obj block
(cond
((wcmatch (vla-get-objectname obj) "AcDb*Dimension,AcDbLeader")
(foreach prop '(Color DimensionLineColor ExtensionLineColor TextColor)
(vl-catch-all-apply 'vlax-put-property (list obj prop acbylayer))
)
)
((wcmatch (vla-get-objectname obj) "AcDbMLeader")
(setq colorObj (vlax-get-property obj 'LeaderLineColor))
(vla-put-ColorMethod colorObj 192)
(vlax-put-property obj 'LeaderLineColor colorObj)
(vl-catch-all-apply 'vla-put-color (list obj acbylayer))
)
(T
(vl-catch-all-apply 'vla-put-color (list obj acbylayer))
)
)
)
)
(print "Everything has been set to by layer!")
(princ)
)
Faire quelques tests en remplaçant le Colorobj 192 en 256 (correspondant à Ducalque) et acbylayer en acbyblock pour voir ce qui te correspond le mieux.
A+ Yoan
Yoan AUBRY
La première Lisp fonctionne uniquement sur la cotation mais pas les lignes de repères.
La deuxième Lisp n'a pas d'effet.
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.