Aller au contenu

Messages recommandés

Posté(e)

Je ne sais pas si c'est exactement ce que tu cherches, mais voilà un LISP qui crée un polyligne qui est la projection sur le plan XY du SCU courant de la polyligne 3d sélectionnée.

 

;;; 3D2LW -03/06/07-
;;; Crée une lwpolyligne, projection de la polyligne 3d sur le plan XY du SCU courant
(defun c:3d2lw (/ acdoc model ss poly)
 (vl-load-com)
 (setq	acdoc (vla-get-ActiveDocument (vlax-get-acad-object))
model (vla-get-ModelSpace AcDoc)
 )
 (if
   (setq ss (ssget "_:S" '((0 . "POLYLINE") (-4 . "&") (70 . 8))))
    (progn
      (vla-StartUndoMark acdoc)
      (vla-put-Elevation
 (vlax-invoke
   model
   'addLightWeightPolyline
   (apply
     'append
     (mapcar
       '(lambda	(p)
	  (setq p (trans p 0 (trans '(0 0 1) 1 0 T)))
	  (list (car p) (cadr p))
	)
       (3d-coord->pt-lst
	 (vlax-get
	   (setq poly (vlax-ename->vla-object (ssname ss 0)))
	   'Coordinates
	 )
       )
     )
   )
 )
 (caddr (trans (getvar "UCSORG") 0 (trans '(0 0 1) 1 0 T)))
      )
      (initget "Oui Non")
      (if (or (not (setq rep
		   (getkword
		     "\nEffacer la polyligne source ? [Oui/Non] : "
		   )
	    )
       )
       (= rep "Oui")
   )
 (vla-delete poly)
      )
      (vla-EndUndoMark acdoc)
    )
 )
 (princ)
)

;;; 3d-coord->pt-lst Convertit une liste de coordonnées 3D en liste de points
;;; (3d-coord->pt-lst '(1.0 2.0 3.0 4.0 5.0 6.0)) -> ((1.0 2.0 3.0) (4.0 5.0 6.0))

(defun 3d-coord->pt-lst	(lst)
 (if lst
   (cons (list (car lst) (cadr lst) (caddr lst))
  (3d-coord->pt-lst (cdddr lst))
   )
 )
) 

[Edité le 3/6/2007 par (gile)]

 

[Edité le 4/6/2007 par (gile)]

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Posté(e)

 

Hello Gilles

 

Si j'ai bien compris cette routine produit une polyligne 2D identique à la manipulation suivante :

 

Accrocher le XY de la Polyligne 3D pour chaque sommet en passant le paramètre .XY et donc en donnant le Z = ZERO !?

 

Le Decapode

 

 

Autodesk Expert Elite Team

Posté(e)

Bonjour à tous,

 

Merci pour vos réponses rapides. En fait je souhaite récupérer un plan sous covadis et le retravailler que sous AutoCAD et je me suis rendu compte que je ne pouvais pas la décaler, voilà la raison de ma question. Est-ce possible gile avec ton lisp, je le teste de suite et t'en remercie. lecrabe, c'est une solution tout remettre à z=0 mais quand tu en as des km, bonjour le travail,....

Merci encore à tous les deux. :D

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Oui lecrabe, c'est bien la manipulation décrite, le XY étatnt celui du SCU courant quelque soit celui-ci.

 

Mille excuses lili2006, j'avais oublié de joindre la sous routine. c'est réparé.

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité