Aller au contenu

Fonctions cachées


Maximilien

Messages recommandés

Existerait-il une fonction cachée qui retournerait sous forme de liste (ou autrement) les listes d'éléments, comme (layoutlist)

 

Je m'explique, lorsque vous faites _rename :

pour les blocs vous avez la liste des blocs

pour les calques la liste des calques

pour les Style de textes ......

 

ca serait interressant de rectrouver çà

 

pour l'instant je fait un recherche du style :

(setq Sel (ssget "x" (list (cons 0 MTEXT))))
(setq ListeSel (ssnamex Sel))
et une boucle pour enlever les doublons des listes (7 pour le texte, 2 pour les blocks etc..

mais je trouverait plus intéressant d'avoir la liste des éléments présents sans forcément utilisés (purgeable)

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

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

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Lien vers le commentaire
Partager sur d’autres sites

Peut être cherches-tu une fonction pour lire les tables de symboles LAYER, LTYPE, VIEW, STYLE, BLOCK, UCS, APPID, DIMSTYLE et VPORT et en récupérer les noms ???

 

 

(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 c:tbl ()

(setq l1 (table_entete "LAYER"))

(setq l2 (table_entete "VIEW"))

(setq l3 (table_entete "BLOCK"))

(setq l4 (table_entete "UCS"))

;;; etc

)

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Lien vers le commentaire
Partager sur d’autres sites

pour faire un tblsearch il faut connaitre ce que l'on cherche comme style de texte par exemple :

 

(tblsearch "STYLE" [surligneur] "Standard"[/surligneur]).... mais après les autres noms je les récupère où?

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

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

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Lien vers le commentaire
Partager sur d’autres sites

Donc tu veux connaitre tous les style de texte dans une table donnée

Dans ce cas

(tblnext "style" T)

Pointe sur la première entrée

(tblnext "style")

Retoune le style suivant ou nil s'il n'y a plus rien

 

le tblsearch est utile pour savoir si l'élément que l'on recherche existe sans parcourir toute la table

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

pour Didier et Patrick_35

pour avoir la liste des présentations on fait : [surligneur] (layoutlist)[/surligneur]

et pour les style de textes : [surligneur] ????[/surligneur]

et pour les style de cotes : [surligneur] ????[/surligneur]

et pour les calques : [surligneur] ????[/surligneur]

 

 

si vous comprenez pas faites sur votre ligne de commande et tapez

 (layoutlist)

 

et réfléchissez à faire la MÊME chose pour les styles de texte etc.....

 

pour tblsearch il faut connaitre le nom! Or c'est ce que je veux le NOM des symboles

 

La fonction de _zebulon répond exactement à ce que je cherche : La liste......

 

bon allez je me calme et je sors... ;)

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

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

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

Lien vers le commentaire
Partager sur d’autres sites

Bon, je vois que tu n'as pas tout saisi

Regarde le lisp que je viens de faire vite fait

 

(defun rt(Table / j n)
 (setq n (tblnext Table T))
 (while n
   (setq j (append j (list (cdr (assoc 2 n)))))
   (setq n (tblnext Table))
 )
 j
)

 

un (setq a (rt "layer")) te retourne la liste des calques

 

@+

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Ce qui est embêtant lorsque l'on recoit des plans d'autres logiciels de CAO lorsque que l'on fait un "_audit" (contrôle des erreurs) on se retrouve souvent avec des AUDIT..... un petit peu partout d'où un lisp faisable grâce à vous tous.

 

.....Extrait
(setq PRIVE_BIBLE (list "STYLE" "LTYPE" "BLOCK" "LAYER"))
 (foreach n PRIVE_BIBLE
   (progn
     (setq PRIVE_LISTE (TABLE_ENTETE n))
     (setq PRIVE_BOUCLE 0)
     (while (< PRIVE_BOUCLE (length PRIVE_LISTE))
(if (= (substr (nth PRIVE_BOUCLE PRIVE_LISTE) 1 5) "AUDIT")
  (command "_-rename"
	   (strcat "_" n)
	   (nth PRIVE_BOUCLE PRIVE_LISTE)
	   (strcat n
		   (if (< PRIVE_BOUCLE 10)
		     "0"
		     ""
		   )
		   (itoa PRIVE_BOUCLE)
		   "_NettparMaximilien"
	   )
  )
)
(setq PRIVE_BOUCLE (1+ PRIVE_BOUCLE))
     )
   )
 )
.... Extrait

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

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

AutoCAD, Revit, GstarCAD, Fisa-CAD, Microsoft Office

 

PlaquetteDeplianteMars2024.pdf

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é