PHILPHIL Posté(e) le 16 mai 2021 Partager 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) ) Autodesk Architecture 2023 sous windows 11 64 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 16 mai 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
PHILPHIL Posté(e) le 17 mai 2021 Auteur Partager 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 Autodesk Architecture 2023 sous windows 11 64 24 pouces vertical + 30 pouces horizontal + 27 pouces horizontal Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 17 mai 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
(gile) Posté(e) le 17 mai 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Luna Posté(e) le 17 mai 2021 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
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