lecrabe Posté(e) le 11 novembre 2010 Posté(e) le 11 novembre 2010 Hello J'ai qq "mauvais" dessins avec "beaucoup trop" d'entites ayant soit des couleurs, soit des types de lignes, soit des epaisseurs FORCES ! :o Je peux par la "Selection rapide" d'AutoCAD ou par des requetes avec MAP selectionner ces objets et les envoyer sur un autre calque ... Mais c un peu long ! :casstet: Donc voila le programme que je desire SVP ! 1) A partir d'une selection AutoCAD classique 2) Question : Traitement des Couleurs ou des Types de Ligne ou des Epaisseurs de Ligne Alors le programme parcourt la selection et envoie les objets avec la propriete FORCEE choisie a la question precedente vers des calques du genre : --- Pour les couleurs forcees --- MUR ==> MUR__C001, MUR__C002, etc --- Pour les Types de ligne forces ---CLOISON ==> CLOISON__CACHE, CLOISON__POINTILLE, etc --- Pour les Epaisseurs forcees ----RESEAU ==> RESEAU__000, RESEAU__005, RESEAU__009, RESEAU__013, etc Je remercie par avance les "gentils developpeurs fous" de ce forum ! :) Le Decapode PS: c mon 3333eme message ! ;) Autodesk Expert Elite Team
SupportCova Posté(e) le 13 novembre 2010 Posté(e) le 13 novembre 2010 Salut Patrice, vite fait pas optimisé, à tester : (defun C:TRIOBJ ( / JEU I NBJEU CHOIX ELT ELTLST COULEUR CALQUE EPAISSEUR TYPELIGNE) ;Couleur = 62 ;Type de ligne = 6 ;Epaisseur = 370 (setq JEU (ssget)) (initget 1 "Couleur Typedeligne Epaisseur") (setq CHOIX (getkword "\nType de traitement par [Couleur/Typedeligne/Epaisseur] ")) (setq I 0 NBJEU (sslength JEU)) (repeat NBJEU (setq ELT (ssname JEU I)) (setq I (1+ I)) (setq ELTLST (entget ELT)) ;SI couleur forcée & Traitement des couleurs (if (and (= CHOIX "Couleur") (setq COULEUR (cdr (assoc 62 ELTLST)))) (progn (if (<= COULEUR 9) (setq CALQUE (strcat (cdr (assoc 8 ELTLST)) "_C00" (itoa COULEUR))) (if (<= COULEUR 99) (setq CALQUE (strcat (cdr (assoc 8 ELTLST)) "_C0" (itoa COULEUR))) (setq CALQUE (strcat (cdr (assoc 8 ELTLST)) "_C" (itoa COULEUR))) ) ) (if (not (tblsearch "LAYER" CALQUE)) (command "_-LAYER" "_New" CALQUE "")) (setq ELTLST (subst (cons 8 CALQUE) (assoc 8 ELTLST) ELTLST)) (entmod ELTLST) ) ) ;SI Type de ligne forcée & Traitement des types de ligne (if (and (= CHOIX "Typedeligne") (setq TYPELIGNE (cdr (assoc 6 ELTLST)))) (progn (setq CALQUE (strcat (cdr (assoc 8 ELTLST)) "_" TYPELIGNE)) (if (not (tblsearch "LAYER" CALQUE)) (command "_-LAYER" "_New" CALQUE "")) (setq ELTLST (subst (cons 8 CALQUE) (assoc 8 ELTLST) ELTLST)) (entmod ELTLST) ) ) ;SI épaisseur forcée & Traitement des épaisseurs (if (and (= CHOIX "Epaisseur") (setq EPAISSEUR (cdr (assoc 370 ELTLST)))) (progn (if (<= EPAISSEUR 9) (setq CALQUE (strcat (cdr (assoc 8 ELTLST)) "_00" (itoa EPAISSEUR))) (if (<= EPAISSEUR 99) (setq CALQUE (strcat (cdr (assoc 8 ELTLST)) "_0" (itoa EPAISSEUR))) (setq CALQUE (strcat (cdr (assoc 8 ELTLST)) "_" (itoa EPAISSEUR))) ) ) (if (not (tblsearch "LAYER" CALQUE)) (command "_-LAYER" "_New" CALQUE "")) (setq ELTLST (subst (cons 8 CALQUE) (assoc 8 ELTLST) ELTLST)) (entmod ELTLST) ) ) ) ) Support Technique Covadis
lecrabe Posté(e) le 13 novembre 2010 Auteur Posté(e) le 13 novembre 2010 Hello Olivier Je viens de faire qq tests rapides sous MAP 2004 et ca marche bien ! :) SVP si qq'un pouvait faire aussi qq tests sous AutoCAD 2010/2011 pour voir, ca serait sympa !? Encore Merci, Le Decapode Autodesk Expert Elite Team
lili2006 Posté(e) le 13 novembre 2010 Posté(e) le 13 novembre 2010 Bonjour à toutes et tous, Désolé, plus ces versions actuellement,.. Bientôt Civil 3D 2011,... Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
lecrabe Posté(e) le 13 novembre 2010 Auteur Posté(e) le 13 novembre 2010 Hello Lili Mais un test sous Civil 2011 ou 2010 (32 ou 64 bits) sera tres interessant ! :) Merci d'avance, Le Decapode Autodesk Expert Elite Team
Raph_38 Posté(e) le 15 novembre 2010 Posté(e) le 15 novembre 2010 Tu as également les lisp de "Gile" SSL, SSE, SSTL .... Sélections depuis que je les ai, c'est que du bonheur .. ;) certes, cela ne réponds pas entièrement à ta demande mais cela te soulagera pas mal ;) [Edité le 15/11/2010 par neptune38] Raph. Celui qui pose une question est bête 5 minutes, celui qui n'en pose pas l'est toute sa vie !
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