Aller au contenu

Messages recommandés

Posté(e)

Salut,

Tu peux savoir si un calque est imprimable avec le groupe DXF 290 ou la propriété IsPlottable (1 = imprimable, 0 = non-imprimable).

((lambda (/ layer name lst)
   (while (setq layer (tblnext "layer" (not layer)))
     (setq name	(cdr (assoc 2 layer))
	   lst	(cons
		  (cons	name
			(cdr (assoc 290 (entget (tblobjname "layer" name))))
		  )
		  lst
		)
     )
   )
   (reverse lst)
 )
)

 

((lambda (/ layer name lst)
   (while (setq layer (tblnext "layer" (not layer)))
     (setq name	(cdr (assoc 2 layer))
	   lst	(cons
		  (cons	name
			(getpropertyvalue (tblobjname "layer" name) "IsPlottable")
		  )
		  lst
		)
     )
   )
   (reverse lst)
 )
)

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

Coucou,
Par simple complémentarité avec la réponse de (gile), tu peux également utiliser le Visual LISP avec la propriété "Plottable" :

((lambda (/ layers layer lst)
  (setq layers (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))))
  (vlax-for layer layers
    (setq lst
      (cons
        (cons (vlax-get layer "Name") (vlax-get layer "Plottable"))
        lst
      )
    )
  )
  (reverse lst)
))

Dans ce 1er cas de figure tu obtiendras un résultat du genre :

(("0" . -1) ("Calque1" . -1) ("Calque2" . 0))

Avec :

Citation

Plottable = -1  → Calque imprimable
Plottable = 0   → Calque non imprimable

Tu peux également utiliser la forme contractée des fonctions (vlax-get), mais attention car le résultat est différent du premier :

((lambda (/ layers layer lst)
  (setq layers (vla-get-Layers (vla-get-ActiveDocument (vlax-get-acad-object))))
  (vlax-for layer layers
    (setq lst
      (cons
        (cons (vla-get-Name layer) (vla-get-Plottable layer))
        lst
      )
    )
  )
  (reverse lst)
))

Dans ce 2nd cas de figure tu auras plutôt ce résultat :

(("0" . :vlax-true) ("Calque1" . :vlax-true) ("Calque2" . :vlax-false))

Soit :

Citation

Plottable = :vlax-true  → Calque imprimable
Plottable = :vlax-false → Calque non imprimable

Donc cela ne change rien pour le nom des calques évidemment mais en revanche, les résultats imprimable/non imprimable est impacté 🙂

Bisous,
Luna

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é