Aller au contenu

Savoir le nom d\'un du calque d\'une entité


Messages recommandés

Invité Sylvainhinard
Posté(e)

Bonjour,

 

C'est encore moi, cette fois ci je voudrait savoir quelle est la fonction en LISP qui permet de savoir le nom de calque d'une entité; sachant que celle ci est stockée dans une variable.

exemple :

je fait appel à la commande (setq a (ssget))

je clique une polyligne qui est sur le calque "TOTO"

l'entité polyligne est alors stocké dans la variable "a"

Comment faire pour que autolisp me retourne le calque de ma polyligne stockée dans "a".

 

Merci.

Posté(e)

Regarde ma routine.

Ce qu'elle fait.

 

Je clique sur une entité, et je trasfère sa proprété "Calque / Layer" à d'autres entités.

 

(defun c:ENT_Layer ( / co pl lt)

;;(defun c:ENT_Layer ()

(setvar "cmdecho" 0) ;;desactive l'affichage des op‚rations

(setq ent(entsel "\nCliquez l'entite pour le LAYER de reference. "))

(while (= ent Nil)

(progn

(alert "Selectionnez une entite...!")

(setq ent(entsel "\nCliquez l'entite pour le LAYER de reference. "))

)

)

(setq an (car ent))

(redraw an 3)

(Prompt "\nSelectionnez les entites a changer ...")

(setq sel (ssget))

(redraw an)

 

(if (/= ent nil)

(progn

(setq ent(entget (car ent)))

(setq pl (assoc 8 ent)) ;; Layer

(setq pl (cdr pl))

 

(setq co (assoc 62 ent)) ;; Color

(setq co (cdr co))

(if (= co nil)

(setq co "Bylayer")

(Setq co (rtos co))

)

 

(setq lt (assoc 6 ent)) ;; Ltype

(setq lt (cdr lt))

(if (= lt nil) (setq lt "Bylayer"))

 

(setq ha (assoc 39 ent)) ;; Thickness

(setq ha (cdr ha))

(if (= ha nil) (setq ha 0.0))

 

(if (/= sel nil)

(command "chprop" "si" sel

"layer" pl

""

)

)

)

)

(setvar "cmdecho" 1) ;;reactive l'affichage des op‚rations

(princ (Strcat "Nouveaux parametres: "

"Layer " pl

)

)

(princ)

)

(defun c:el ()

(c:ent_layer)

)

(princ "\nProgramme charge. \n")

(princ)

 

Invité Sylvainhinard
Posté(e)

Merci Patrick,

 

Je t'avoue que je suis un novice, je ne m'était pas rendu compte que j'avais la réponse sous le nez dans la question que j'avais posé précedemment. Désolé :(

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é