benoitlacroix Posté(e) le 20 mai 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 20 mai 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
lecrabe Posté(e) le 20 mai 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dioka Posté(e) le 1 juin 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
PP12BEK Posté(e) le 21 juin Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 21 juin Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés