fauxsuisse Posté(e) le 13 novembre 2012 Posté(e) le 13 novembre 2012 Bonjour la grande famille. Existe Il un lisp pour remplacer un objet telle qu'une polyligne par un bloc.- Voilà j'ai un dessin avec des blocs de luminaires mais certains ont été simplement dessiné par une polyligne et je voudrait remplacer ces polilygnes pour un bloc.A part une macro je n'ai pas trouvé de lisp.
lecrabe Posté(e) le 13 novembre 2012 Posté(e) le 13 novembre 2012 Hello J'ai en stock 3 routines mais malheureusement pas celle que tu voulais, sorry !- Remplacer un texte par un Bloc- Remplacer un cercle par un Bloc- Remplacer un point graphique par un Bloc Si j'ai bien compris, tu as des polylignes qui representent graphiquement le Bloc/Symbole mais il va falloir faire le remplacement par rapport a quoi :- Le Point de depart de la polyligne ? - Un decalage en XY par rapport au point de depart ? (Donc question specifique)- etc ? lecrabe Autodesk Expert Elite Team
fauxsuisse Posté(e) le 13 novembre 2012 Auteur Posté(e) le 13 novembre 2012 Hello J'ai en stock 3 routines mais malheureusement pas celle que tu voulais, sorry !- Remplacer un texte par un Bloc- Remplacer un cercle par un Bloc- Remplacer un point graphique par un Bloc Si j'ai bien compris, tu as des polylignes qui representent graphiquement le Bloc/Symbole mais il va falloir faire le remplacement par rapport a quoi :- Le Point de depart de la polyligne ? - Un decalage en XY par rapport au point de depart ? (Donc question specifique)- etc ? lecrabe L'idéal serait que le bloc se place au milieu de la polyligne car on ne sait jamais dans quel sens elle a été dessiné
bryce Posté(e) le 13 novembre 2012 Posté(e) le 13 novembre 2012 Bonjour, Le luminaire est représenté par une seule polyligne ?Ça ressemble à quoi ? :unsure: Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
fauxsuisse Posté(e) le 13 novembre 2012 Auteur Posté(e) le 13 novembre 2012 Bonjour, Le luminaire est représenté par une seule polyligne ?Ça ressemble à quoi ? :unsure: C'est là le problème ça ressemble à rien, ça juste été dessiné par un plouc qui ne dois connaître que les polyligne sous Autocad et je te parle pas du reste du plan.Oui il y juste dessiné une polyligne de différente épaisseur pour différancier le type de luminaire donc je dois recupérer sont déchet et mettre des blocs :(
bryce Posté(e) le 13 novembre 2012 Posté(e) le 13 novembre 2012 (modifié) Un p'tit Lisp vite fait qui je l'espère te dépannera : (defun c:LUM ( / layer block scale acdoc ms filter ss pt1 pt2 pt nb ) (setq block "Luminaire") ; nom du bloc de remplacement (setq scale 1.0) ; échelle d'insertion (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object)) ms (vla-get-modelspace acdoc) filter '( (0 . "LWPOLYLINE") )) (if (cadr (ssgetfirst)) (setq ss (ssget "_I" filter)) (progn (prompt "\nSélectionnez les polylignes à remplacer : ") (setq ss (ssget filter)) ) ) (if (and ss (or (tblobjname "BLOCK" block) (setq block (findfile (strcat block ".dwg"))))) (progn (setq ss (vla-get-activeselectionset acdoc)) (vlax-for p ss (vla-getboundingbox p 'pt1 'pt2) (setq pt1 (vlax-safearray->list pt1) pt2 (vlax-safearray->list pt2)) (setq pt (vlax-3D-point (mapcar '(lambda( p1 p2 ) (/ (+ p1 p2) 2.0)) pt1 pt2))) (setq nb (vla-insertblock ms pt block scale scale scale 0.0)) (vla-delete p) ) (setq ss nil) );progn ) (princ) ) PS: petite modif du calcul du point d'insertion... Modifié le 13 novembre 2012 par bryce Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
lecrabe Posté(e) le 13 novembre 2012 Posté(e) le 13 novembre 2012 Hello Ca marche bien sur un MAP 2010 et MAP 2013 ... Note : Le Bloc "LUMINAIRE" est insere/dessine au centre de la Bounding Box de la polyligne Peut etre que une question du genre :Centre de la Bounding Box ou Point de Depart de la Polyligne pourrait s'averer utile ?A voir !? Merci, le crabe Autodesk Expert Elite Team
fauxsuisse Posté(e) le 14 novembre 2012 Auteur Posté(e) le 14 novembre 2012 Parfait ça marche très bien sous MEP 2013 Merci Bryce tu m'enlèves une grosse épine du pied :D
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