PHILPHIL Posté(e) le 16 mai 2021 Posté(e) le 16 mai 2021 bonjour j'ai des milliers de blocs tous pareil composé de deux lignes et deux arcs (issu de revit ) je veux les décomposer et joindre ensuite les deux lignes et deux arcs pour en faire une polylignes quand je lance seul la commande "JOINDRE" en sélectionnant les deux lignes et deux arcs, ca créer une polyligne quand j'insère la meme commande "joindre" dans le lisp ca ne marche plus et ne veux plus des arc de cercle. normal ?? ou est le soucis ? merci Phil ;;;------------------------------ ;;;DECOMPOSE BLOC POUR EN FAIRE polyligne ;;;------------------------------ (defun c:blocs_to_joindre (/ s i e) (setvar "cmdecho" 0) (and (setq s (ssget '((0 . "INSERT")))) (setq i -1 com (sslength s) ) (while (setq e (ssname s (setq i (1+ i)))) (command "_explode" e "" ) (setq obj (ssget "P" )) (command-s "JOINDRE" obj "") (acet-ui-progress-init (strcat "AVANCEMENT " (rtos (/ (* i 100) (float com)) 2 2) " %") com) (acet-ui-progress-safe i) ) ) (acet-ui-progress-done) (princ) ) FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
(gile) Posté(e) le 16 mai 2021 Posté(e) le 16 mai 2021 Salut, Les commandes ne fonctionnent pas toujours de la même façon quand elle sont appelées depuis LISP. Par exemple la commande JOINDRE (_JOIN) appelée depuis un LISP n'accepte pas un jeu de sélection. Dans ton cas la commande PEDIT devrait faire l'affaire. Quand on appelle cette commande depuis LISP il faut faire attention à la valeur de la variable système PEDITACCEPT. Avec les fonction ai_sysvar et vl-catch-all-apply on est certain que les variables système reprendront leur valeur initiale même en cas d'erreur. (defun c:blocs_to_joindre (/ s i e) (ai_sysvar '(("cmdecho" . 0) ("peditaccept" . 1))) (vl-catch-all-apply '(lambda () (and (setq s (ssget '((0 . "INSERT")))) (setq i -1 ) (while (setq e (ssname s (setq i (1+ i)))) (command-s "_.explode" e "") (setq ss (ssget "P")) (command-s "_.pedit" "_multiple" ss "" "_join" "" "") ) ) ) ) (ai_sysvar nil) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
PHILPHIL Posté(e) le 17 mai 2021 Auteur Posté(e) le 17 mai 2021 hello Gile comme d'habitude GRAND MERCI ca marche NICKEL par contre ca dépasse mes compétences en lisp la, autant des fois j'arrive a modifier tes bouts de codes, autant la je ne comprend plus rien lolll merci Phil FREELANCE Autodesk Architecture 2025 sous windows 11 64 REVIT 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal
Luna Posté(e) le 17 mai 2021 Posté(e) le 17 mai 2021 Coucou @(gile), Petite question : j'ai beau chercher sur le NET et l'aide AutoCAD, je ne trouve aucune info concernant la fonction (ai_sysvar)...Même lorsque je suis dans VLIDE, cette fonction ne semble pas reconnue. J'ai bien trouvé ce post de toi mais je ne parviens pas à trouver le fichier AcadXXXXdoc.lsp... pour mieux comprendre. Je pense avoir bien compris son utilisation grâce à tes différents messages présentant cette fonction, mais par pur principe je préfères comprendre correctement son utilisation ^^" Bisous, Luna
(gile) Posté(e) le 17 mai 2021 Posté(e) le 17 mai 2021 Salut, C:\Program Files\Autodesk\AutoCAD 20XX\Support\fr-fr\acad20XXdoc.lsp Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Luna Posté(e) le 17 mai 2021 Posté(e) le 17 mai 2021 Ah bah vouih je suis idiote, j'allais dans "%appdata%" au lieu de "Programme files" donc forcément chat fonctionne pas ^^" Merci beaucoup !!! Bisous, Luna
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