lecrabe Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 Hello les Pros du Lisp En fait je desire faire passer un Script sur mes DWGs Et j'aurais besoin de re-affecter les Types de Ligne des calques qui sont en CONTINU sur CONTINUOUS ! Probleme dans un DWG, je peux avoir ZERO calque concerne ou 1 ou N calque(s) concerne(s) SVP Comment faire cela dans un Script en 1/2 ligne(s) de Lisp ?? Ce qui me permettrait aussi de transformer (Si Presents !?) HIDDEN --> CACHECENTER --> CENTREPHANTOM --> FANTOMEetc Merci d'avance, Bye, lecrabe Autodesk Expert Elite Team
Patrick_35 Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 Salut Tu as juste le lisp à charger (defun c:stl(/ doc lay new fichier liste) ;;; =========================================================================== ;;; Paramètres à définir par l'utilisateur ; La liste des types de lignes à remplacer (setq liste '( ("CONTINU" "CONTINUOUS") ("HIDDEN" "CACHE") ("CENTER" "CENTRE") ("PHANTOM" "FANTOME") ) ) ; Le fichier de lignes à charger --> acad.lin ou acadiso.lin (setq fichier "acad.lin") ;;; Fin des paramètres à définir par l'utilisateur ;;; =========================================================================== (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (vlax-for lay (vla-get-layers doc) (and (setq new (assoc (vla-get-linetype lay) liste)) (progn (or (tblsearch "ltype" (cadr new)) (vla-load (vla-get-linetypes doc) (cadr new) (findfile fichier)) ) (vla-put-linetype lay (cadr new)) ) ) ) (vla-endundomark doc) (princ) ) (c:stl) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lecrabe Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 Hello 1) MERCI 2) Donc une simple ligne STL dans le Script et ca roule !? 3) Par contre je vais travailler avec ACADISO.LIN Bye, lecrabe Autodesk Expert Elite Team
Patrick_35 Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 1) De rien 2) Même pas, car tu as à la fin du lisp (c:stl), ce qui veut dire qu'il se lance dès qu'il est chargé. 3) C'est pour cela que j'ai déclaré la variable fichier. C'est au choix. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lecrabe Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 Hello Patrick YES Merci ! Au fait j'ai fais une Micro-Modif : ("CONTINU" "CONTINUOUS") ("Continu" "Continuous") Et SVP quel serait la petite routine Lisp/VLisp (MEME principe) qui substituerait a l'interieur des Blocs et Blocs imbriques (N fois) ("CONTINU" "CONTINUOUS") ("Continu" "Continuous") Toujours avec une variable LISTE a parametrer ... Et AutoCAD/ACADISO.LIN ... A executer manuellement ET AUSSI a faire tourner dans un Script Merci d'avance, Bye, lecrabe Autodesk Expert Elite Team
Patrick_35 Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 Le lisp modifié (defun c:stl(/ blo doc ent lay changer fichier liste) ;;; =========================================================================== ;;; Paramètres à définir par l'utilisateur ; La liste des types de lignes à remplacer (setq liste '( ("CONTINU" "CONTINUOUS") ("HIDDEN" "CACHE") ("CENTER" "CENTRE") ("PHANTOM" "FANTOME") ) ) ; Le fichier de lignes à charger --> acad.lin ou acadiso.lin (setq fichier "acad.lin") ;;; Fin des paramètres à définir par l'utilisateur ;;; =========================================================================== (defun changer(obj / new) (and (setq new (assoc (strcase (vla-get-linetype obj)) liste)) (progn (or (tblsearch "ltype" (cadr new)) (vla-load (vla-get-linetypes doc) (cadr new) (findfile fichier)) ) (vla-put-linetype obj (cadr new)) ) ) ) (vl-load-com) (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (foreach ltp liste ) (vlax-for lay (vla-get-layers doc) (changer lay) ) (vlax-for blo (vla-get-blocks doc) (vlax-for ent blo (changer ent) ) ) (vla-endundomark doc) (princ) ) (c:stl) @+ ps : Le lisp n'est plus sensible à la casse, mais il faut que les types de lignes recherchées soient en majuscules dans la liste. Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lecrabe Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 Hello Le miserable Decapode Ventrachoux se prosterne devant le Druide Breton Maitre Supreme du Lisp/VLisp ! MAIS il y a un Bug avec la fonction CHANGER !MAIS MAIS je suis un Nullissime Ventrachoux meme pas capable de faire correctement un Copier / Coller !! Bonne Continuation, Bye, lecrabe "Tourteau" PS: Le Tourteau aime la fraicheur ... Autodesk Expert Elite Team
Patrick_35 Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 Le breton Lispix a du mal à comprendre l'étoile du matin qui irradie sa journée.Ca fonctionne ou pas ? ps : le krank-saoz à bien raison. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
lecrabe Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 Bonjour Druide Breton Maitre Supreme du Lisp/VLisp Votre merveilleuse Routine VLisp me berce doucement et efficacement ! Humblement, Devotement et Decapodiquement, lecrabe "Tourteau" Autodesk Expert Elite Team
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