Aller au contenu

\"DIMSTYLE\" en (Auto/Visual)LISP


Messages recommandés

Posté(e)

Toujours pour nettoyer des plan d'architecte plus ou moins fastidieux.

 

Je cherche à nettoyer les styles de cote récalcitrant j'ai ce programme :

 

;;; -------------------------------------------------------------------------------------------------
(defun table_entete (TB / TBLIST TBLIST TBNAME RES)
 (setq TBNLIST nil)
 (setq TBLIST (tblnext TB T))
 (while TBLIST
   (setq TBNAME (cdr (assoc 2 TBLIST)))
   (setq TBNLIST (append TBNLIST (list TBNAME)))
   (setq TBLIST (tblnext TB))
 )
 (setq RES TBNLIST)
)
;;; ----------------------------------------------------------------------
(defun RAZDIMSTYLE (/ DS SS n)
 (setq DS (table_entete "DIMSTYLE"))
 (foreach n DS
   (setq SS (entget (tblobjname "DIMSTYLE" n))
  SS (subst (cons 5 "_small") (assoc 5 SS) SS) ; pointe de flèche
  SS (subst (cons 6 "_small") (assoc 6 SS) SS) ; pointe de flèche
  SS (subst (cons 7 "_small") (assoc 7 SS) SS) ; pointe de flèche
  SS (subst '(176 . 256) (assoc 176 SS) SS) ; Variable DIMCLRD
  SS (subst '(177 . 256) (assoc 177 SS) SS) ; Variable DIMCLRE
  SS (subst '(178 . 256) (assoc 178 SS) SS) ; Variable DIMCLRT
   )
   ;; (princ SS)
   (entmod SS)
 )
)
;;; -------------------------------------------------------------------------------------------------

 

Le problème n'est pas sur la couleur ou le fonctionnement du lisp mais surtout comment changer les pointes de flèche de tous les styles de cotes (environ 300 styles avec chacune 10 à cotes).

 

Merci d'avance de votre sollicitude pour une réponse.

 

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

  • 6 mois après...
Posté(e)

tu ne veux pas utiliser mon programme en vba, il ne te plait pas ?

 

Bon tant pis pour toi, je te laisse quand même la méthode que tu pourras appliquer en lisp. Cette méthode ne modifie pas le style de cote mais les cotes donc c'est pas très propre mais ça permet de faire le ménage quand même :

For Each ent In ThisDrawing.ModelSpace
'si ent est une cote (permet de traiter toute les coté sans savoir si elle est alignée, linéaire etc.)
           If VBA.Right(ent.ObjectName, 9) = "Dimension" Then
'récupérer le nom de la coté dans strCote
           strCote = ent.ObjectName
           End If

'une cote...
Case strCote

Set objCote = ent
'formater la couleur de la ligne en DUCALQUE
objCote.DimensionLineColor = acByLayer
'formater la couleur de la ligne d'attache en DUCALQUE
objCote.ExtensionLineColor = acByLayer
'formater la couleur du texte en DUCALQUE
objCote.TextColor = acByLayer
Next

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

  • 2 semaines après...
Posté(e)

C'est surtout que j'ai pommé ton programme en VBA! mais merci de me l'avoir retransmis par msn dernièrement.

Dessinateur AutoCAD, Modeleur BIM, consultant informatique logiciels métier

Lenovo ThinkStation P330 i9 9900K 32Gb RAM 512 SSD + 1To

GstarCAD, Fisa-CAD, Revit, FisaBIM CVC, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Posté(e)

bravo ! je pensais que mon programme était inoubliable, à jamais gravé dans la pierre ...

 

Je suis déçu... snif

ATEGIE - Bureau d'Études Fluides

http://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.png

Exécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffrage

www.ategie.fr

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é