benoitlacroix Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 Bonjour à tous Je voulais savoir s'il existe une commande pour supprimer l'option "dynamique" d'un bloc tout en conservant ce bloc une fois inséré et dimensionner selon les besoins. Si la commande n'existe pas pourrait-on le faire en LISP? En vous remerciant d'avance pour vos réponses. @+ 1 Citer Le trlalala du nain - Moi c'que j'aime dans les cavernes - C'est qu'on peut allez piocher. - on peut extraire du minerais - Et des pierres pour les tailler
(gile) Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 Salut, (vl-load-com) (or *acad* (setq *acad* (vlax-get-acad-object))) (or *acdoc* (setq *acdoc* (vla-get-ActiveDocument *acad*))) (or *blocks* (setq *blocks* (vla-get-Blocks *acdoc*))) ;; GetItem (gile) ;; Retourne le vla-object de l'item s'il est présent dans la collection (ou nil) ;; ;; Arguments ;; col : la collection (vla-object) ;; name : le nom de l'objet (string) ou son indice (entier) (defun gc:GetItem (col name / obj) (vl-catch-all-apply (function (lambda () (setq obj (vla-Item col name)))) ) obj ) ;; DYN2STAT ;; Converti les blocs dynamiques sélectionnés en blocs statiques (defun c:DYN2STAT (/ s) (if (ssget '((0 . "INSERT"))) (progn (vla-StartUndoMark *acdoc*) (setq s (vla-get-ActiveSelectionSet *acdoc*)) (vl-catch-all-apply (function (lambda (/ i n) (vlax-for b s (if (= (vla-get-IsDynamicBlock b) :vlax-true) (progn (setq i 1) (while (gc:GetItem *blocks* (setq n (strcat (vla-get-EffectiveName b) "_" (itoa i)))) (setq i (1+ i)) ) (Vla-ConvertToStaticBlock b n) ) ) ) ) ) ) (vla-Delete s) (vla-EndUndoMark *acdoc*) ) ) (princ) ) 1 Citer Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lecrabe Posté(e) le 20 mai 2021 Posté(e) le 20 mai 2021 Hello Veux tu une routine Lisp/VLisp qui supprime le Dynamisme d'un Bloc dynamique selectionne et donc le transforme en Bloc classic / standard ?! Sans toucher au Bloc dynamique original !? La Sante, Bye, lecrabe (triste & fatigue) PS: battu par notre grand maitre Gilles ! ... Et j'allais sans doute fournir la meme routine de Gilles ! 1 Citer Autodesk Expert Elite Team
Dioka Posté(e) le 1 juin 2021 Posté(e) le 1 juin 2021 A défaut d'un programme lisp, en mettant l'une des valeurs d'échelles différentes des autres, le dynamisme est temporairement perdu. @+ 1 Citer
PP12BEK Posté(e) le 21 juin Posté(e) le 21 juin Bonjour à tous! Merci pour vos réponses! Je ne suis pas du tout familier du lisp... Je copie cette routine dans un fichier "Bloc-note" que j'enregistre en .lsp ? C'est ça? Je la charge avec Appload??? Comment je lance la routine? Pardonnez mon ignorance 😁 Je vais chercher des tutos LISP en attendant vos réponses 😅 Citer
Luna Posté(e) le 21 juin Posté(e) le 21 juin Coucou, Sur CADxp il y a un forum dédié au LISP donc sur le sujet >>ici<< tu trouveras des explications claires et détaillées sur la démarche à suivre en fonction de ton besoin 🙂 Bisous, Luna Citer
Messages recommandés