jacky91 Posté(e) le 27 décembre 2011 Posté(e) le 27 décembre 2011 Bonjour a tous,et bonne fête de fin d' année... Je souhaite remercier tous ceux qui nous aide a améliorer le quotidien avec leur programme très utile.J' aimerais savoir s' il est possible de selectionner plusieurs blocs par leur nom pour les déplacer sur d' autres calques et cela sur plusieurs fichiers.Je vous joint en exemple les légendes contenant les blocs avec a coté les nom de calque sur lequel je voudrais qu'il soit déplacer. J' espère que mes explications sont compréhensible.Ci joint le fichier dont l' extension zip est a renommer par dwg. Merci a tous
FormaBois Posté(e) le 27 décembre 2011 Posté(e) le 27 décembre 2011 Salutil n'y a pas de fichier joint ;) Studio Gfilm - Agence de communication par l'image "Le matin tu peux rester couché pour poursuivre ton rêve, ou te lever pour le réaliser"
jacky91 Posté(e) le 27 décembre 2011 Auteur Posté(e) le 27 décembre 2011 Salut FormatBois, Merci je l' ajoute, il faut renommer le.zip en dwg @plusLegende_CFO_CFA.zip
bryce Posté(e) le 29 décembre 2011 Posté(e) le 29 décembre 2011 Salut, Voici un exemple de Lisp pour transférer les blocs sur les bons calques:(setq calques (list (cons "LB" "-CF-TERB-CFA-SUR") (cons "SERRURE ELECTRONIQUE" "-CF-TERB-CFA-SUR") (cons "CAMERA" "-CF-TERH-CFA-SUR") (cons "RONDIER" "-CF-TERB-CFA-SUR") (cons "BLOC PORTE" "-CF-TERB-AM") )) (if (setq blocs (ssget "_X" '( (0 . "INSERT") )) ) (progn (setq i -1) (repeat (sslength blocs) (setq bloc (entget (ssname blocs (setq i (1+ i))))) (if (setq calque (cdr (assoc (cdr (assoc 2 bloc)) calques))) (entmod (subst (cons 8 calque) (assoc 8 bloc) bloc)) ) ) ) )Il faut bien sûr compléter la liste de correspondances bloc/calque au début du code... S'il y a beaucoup de fichiers à traiter, tu peux utiliser un script pour appliquer ce Lisp à tous les fichiers.Ce script sera plus facile à créer en utilisant un générateur de script comme SAS ou Sequence Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
jacky91 Posté(e) le 29 décembre 2011 Auteur Posté(e) le 29 décembre 2011 Salut, Merçi pour ton lisp fonctionne super bien ( crée aussi les calques ouahh ...)Je fais le compléter (...), il sera bien utile dans énormement de cas.J' utilise SRIPTOR pour traiter plusieurs plans. Peut-on faire une commande "BLCAL"pour l' appliquer a un seul fichier en cours Merci encore et joyeuse fête de fin d' année... @+
bryce Posté(e) le 29 décembre 2011 Posté(e) le 29 décembre 2011 Peut-on faire une commande "BLCAL"pour l' appliquer a un seul fichier en cours Oui, il suffit d'"encapsuler" le code dans une instruction (defun) : ;) (defun C:BLCAL ( / calques calque blocs bloc i) (setq calques (list (cons "LB" "-CF-TERB-CFA-SUR") (cons "SERRURE ELECTRONIQUE" "-CF-TERB-CFA-SUR") (cons "CAMERA" "-CF-TERH-CFA-SUR") (cons "RONDIER" "-CF-TERB-CFA-SUR") (cons "BLOC PORTE" "-CF-TERB-AM") )) (if (setq blocs (ssget "_X" '( (0 . "INSERT") )) ) (progn (setq i -1) (repeat (sslength blocs) (setq bloc (entget (ssname blocs (setq i (1+ i))))) (if (setq calque (cdr (assoc (cdr (assoc 2 bloc)) calques))) (entmod (subst (cons 8 calque) (assoc 8 bloc) bloc)) ) ) ) ) ) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
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