xl05 Posté(e) le 9 décembre 2005 Posté(e) le 9 décembre 2005 Bonjour, Afin de faciliter la gestion des calques projets, j'aimerai avoir une commande lisp qui me permet de : 1- Copier un calque existant 2- Attribuer à ce calque la couleur rouge3- Rajouter un "-proj" à la fin Exemple : Bat-cot (calque existant)Bat-cot-proj (Calque projet) Merci d'avance XXL
bonuscad Posté(e) le 9 décembre 2005 Posté(e) le 9 décembre 2005 Bonjour, Un "truc" dans ce genre? Peut s'affiner encore si cela ne va pas. ((lambda ( ) (while (not (setq ent (entsel "\nChoix d'un objet du calque-source: ")))) (setq nam_lay (cdr (assoc 8 (entget (car ent))))) (if (not (tblsearch "LAYER" (strcat nam_lay "-proj"))) (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord") (cons 2 (strcat nam_lay "-proj")) '(70 . 0) '(62 . 1) '(370 . -3) '(6 . "Continuous") ) ) ) (setq js (ssget "_X" (list (cons 8 nam_lay)))) (cond (js (command "_.copy" js "" "_none" "*0.0,0.0,0.0" "_none" "*0.0,0.0,0.0") (command "_.change" "_previous" "" "_properties" "_layer" (strcat nam_lay "-proj") "") ) ) (prin1) )) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
xl05 Posté(e) le 12 décembre 2005 Auteur Posté(e) le 12 décembre 2005 Merci bonuscad pour cette première version. Je l'ai essayé et je me rends compte que copier le calque existant n'est finalement pas ce que je souhaite. En fin de compte, il faudrai pouvoir créer un nouveau calque avec l'intitulé du calque existant + -proj. XXL
bonuscad Posté(e) le 12 décembre 2005 Posté(e) le 12 décembre 2005 Enlève simplement quelques ligne! de (setq js (ssget ......à (prin1) non inclu. Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
xl05 Posté(e) le 12 décembre 2005 Auteur Posté(e) le 12 décembre 2005 Encore une petite modif :) : Sur certains calques j'ai un type de ligne spécifique et je voudrai le conserver.et j'aimerai que le calque créer soit courant. XXL
xl05 Posté(e) le 12 décembre 2005 Auteur Posté(e) le 12 décembre 2005 Petit soucis en ayant enlevé les lignes : "Choix d'un objet du calque-source: Erreur: Type de ligne non défini DuCalque dans LayerTableRecord Tdf-anten-text-proj" (Defun C:cap ( )(while (not (setq ent (entsel "\nChoix d'un objet du calque-source: "))))(setq nam_lay (cdr (assoc 8 (entget (car ent)))))(if (not (tblsearch "LAYER" (strcat nam_lay "-proj")))(entmake(list'(0 . "LAYER")'(100 . "AcDbSymbolTableRecord")'(100 . "AcDbLayerTableRecord")(cons 2 (strcat nam_lay "-proj"))'(70 . 0)'(62 . 1)'(370 . -3)'(6 . "DuCalque"))))(prin1));Fin de cap;;;(princ "\n\tcommande cap chargée")(princ) XXL
bonuscad Posté(e) le 12 décembre 2005 Posté(e) le 12 décembre 2005 Ceci devrait aller mieux, ;) (Defun C:cap ( / ent nam_lay) (while (not (setq ent (entsel "\nChoix d'un objet du calque-source: ")))) (setq nam_lay (cdr (assoc 8 (entget (car ent))))) (if (not (tblsearch "LAYER" (strcat nam_lay "-proj"))) (entmake (list '(0 . "LAYER") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbLayerTableRecord") (cons 2 (strcat nam_lay "-proj")) '(70 . 0) '(62 . 1) (assoc 6 (tblsearch "LAYER" nam_lay)) '(370 . -3) ) ) ) (setvar "CLAYER" (strcat nam_lay "-proj")) (prin1) );Fin de cap ; ; ; (princ "\n\tcommande cap chargée") (princ) [Edité le 12/12/2005 par bonuscad] Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
xl05 Posté(e) le 12 décembre 2005 Auteur Posté(e) le 12 décembre 2005 Merci Bonuscad de ton efficacité et rapidité. Petit récapitulatif pour ce qui ça interresse. Commande CAlque ProjetCréation d'un calque projet à partir d'un existant en conservant le type de ligne.Le calque projet passe en rouge et un "-proj" et rajouté à la fin. Exemple : Bat-cot (calque existant)Bat-cot-proj (Calque projet) XXL
Messages recommandés
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 compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant