Aller au contenu

Supprimer les hachures de type gradients


LUDWIG

Messages recommandés

Bonjour le forum !

 

Il y a TRÉS longtemps que je n'ai pas mis les pieds ici, et encore plus longtemps que je n'ai pas tripatouillé du lisp...

Aujourd'hui j'aurais besoin d'un peu d'aide. Comme beaucoup, je "traite" mes plans archi avant de dessiner dessus (CVC).

Dans ma routine, je supprime les hachures solides par cet extraordinaire lisp (désolé j'ai perdu la source de généreux donateurs... gile, patrick_35, Bonuscad, Fraid, lecrabe ?). J'en ai même fait tout un tas de variante pour supprimer d'autres type d'objets (cotations, etc).

(defun c:supsolid ()
(vl-load-com)
(setq a (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for bl a
(vlax-for ent bl
(if (and (= (vla-get-objectname ent) "AcDbHatch")
(= (vla-get-PatternName ent) "SOLID")
)
(vla-delete ent)
)
)
)
(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport)
)

Je cherche aujourd'hui à supprimer également les "gradients"...

Pattern-name qui commence par GR_* (mais je ne sais pas si c'est la bonne méthode ne pourrait-il pas y avoir des motifs personnalisés, issu d'un export d'un autre logiciel par exemple, dont le nom de motif ne commence pas par GR_)

J'ai trouvé sur internet le code DXF 450 mais je ne sais pas comment l'exploiter dans mon code...

Citation

450

Indicates solid hatch or gradient; if solid hatch, the values for the remaining codes are ignored but must be present. Optional; if code 450 is in the file, then the following codes must be in the file: 451, 452, 453, 460, 461, 462, and 470. If code 450 is not in the file, then the following codes must not be in the file: 451, 452, 453, 460, 461, 462, and 470

0 = Solid hatch

1 = Gradient

 

Est-ce que quelqu'un aurait une idée ? Merci d'avance

 

Je cherche aussi à supprimer la couleur d'arrière plan des hachures qui ont une couleur d'arrière plan... J'en fais un autre sujet.

 

 

Modifié par LUDWIG
post parti trop tôt...

Autocad 2021 - Revit 2022 - Windows 10

Lien vers le commentaire
Partager sur d’autres sites

oh yeah ! (gile) toujours aussi efficace. Merci beaucoup ! C'était trop simple !

(vla-get-PatternName (vlax-ename->vla-object (car (entsel))))

 

"SOLID,_O"

->

;**********************************************************************************************************************************************************
;Supprimer les hachures GRADIENT
;**********************************************************************************************************************************************************
(defun c:supgd ()
(vl-load-com)
(setq a (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for bl a
(vlax-for ent bl
(if (and (= (vla-get-objectname ent) "AcDbHatch")
(= (vla-get-PatternName ent) "SOLID,_O")
)
(vla-delete ent)
)
)
)
(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acActiveViewport)
)

 

Autocad 2021 - Revit 2022 - Windows 10

Lien vers le commentaire
Partager sur d’autres sites

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é