Aller au contenu

Dessin d'une polyligne parallèle à un support existant


COME

Messages recommandés

Bonjour,

 

Je cherche à dessiner des polylignes en suivant automatiquement des contours différents (Exemple : sur un plan de cadastre, je cherche à dessiner un contour regroupant plusieurs parcelles en suivant les contours existants). On clique le point de départ de la polyligne et on sélectionne le contour que l'on veut suivre et ainsi de suite jusqu'à obtention du résultat souhaité.

Pour ceux qui connaissent Mensura il s'agit du pendant du mode accrochage "Saisie parallèle".

J'ai posté cette demande dans Covadis mais si cette fonctionnalité existe sur Autocad je suis preneur.

Précisions : Autocad 2012 / Covadis 13.0g

 

Merci et bonne journée.

COME

 

La vie sans musique est tout simplement une erreur, une fatigue, un exil. »

Friedrich Nietzsche

Lien vers le commentaire
Partager sur d’autres sites

Salut Come,

 

Dans ton cas, je voie deux possibilités :

- La commande POLY2D (autocad) qui est un autre moyen de dessiner une polyligne. Une fois la commande lacée, tu peut utiliser l’option "seGment" et donc suivre des contours.

- La commande UNICONT (covadis) qui vas créer une polyligne faisant le contour de deux polylignes (qui doivent être fermées et sécantes). Tu a aussi MULTUNI qui fait la même chose, mais avec plus de deux polylignes de base.

 

Dans le menu Covadis 2D, vas jeter un oeil dans "Topologie / Polygone".

 

Dit moi si c'est bien ce que tu cherchais!

 

Amicalement

Vincent

  • Upvote 1

Lispeur débutant!
Autocad Map3D 2023
Covadis-Autopist 18.0C

Lien vers le commentaire
Partager sur d’autres sites

- La commande POLY2D (autocad) qui est un autre moyen de dessiner une polyligne. Une fois la commande lacée, tu peut utiliser l’option "seGment" et donc suivre des contours.

 

Bonjour,

 

Je me permets une petite précision : la commande "POLY2D" est une commande COVADIS.

Par contre, de mémoire, elle n'existait pas encore sous COVADIS 13 (fin 2012).

 

Guillaume

  • Upvote 1

AutoCAD, AutoCAD Map3D, AutoCAD Architecture, Revit, COVADIS, InfraWorks 360, ReCap 360, ...

BIM Infrastructure

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

J'ai eu quelques soucis dernièrement avec ce genre de travail à faire.

 

Avec l'aide du forum, j'ai pu me débrouiller avec la commande UNICONT, mais FRAID m'avait proposé un LISP de GILE qui fait cela également apparemment, mais j'avoue que je ne l'ai pas testé du coup...

mais si ça peut aider, c'est ici : http://gilecad.azurewebsites.net/LISP/Fusion.lsp

 

Bon courage!

Xav

  • Upvote 1

AutoCad Map 3D 2011 - Covadis v16.0d

Windows 7 - 64b

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Je me permets une petite précision : la commande "POLY2D" est une commande COVADIS.

Par contre, de mémoire, elle n'existait pas encore sous COVADIS 13 (fin 2012).

 

Guillaume

 

Merci pour la précision, et si si elle est présente sur la 13.0g, cela fonctionne parfaitement et c'est ce que je cherchais. MERCI !

COME

 

La vie sans musique est tout simplement une erreur, une fatigue, un exil. »

Friedrich Nietzsche

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

J'ai eu quelques soucis dernièrement avec ce genre de travail à faire.

 

Avec l'aide du forum, j'ai pu me débrouiller avec la commande UNICONT, mais FRAID m'avait proposé un LISP de GILE qui fait cela également apparemment, mais j'avoue que je ne l'ai pas testé du coup...

mais si ça peut aider, c'est ici : http://gilecad.azure...LISP/Fusion.lsp

 

Bon courage!

Xav

 

Merci pour le lien : je l'ai testé et il permet de créer une seule polyligne en suivant les contours extérieurs de plusieurs polylignes mais elles doivent être fermées et avoir une intersection sinon cela ne fonctionne pas. Pas ce je recherchais dans le cas présent mais utile pour d'autres projets.

Merci ! smile.gif

  • Upvote 1

COME

 

La vie sans musique est tout simplement une erreur, une fatigue, un exil. »

Friedrich Nietzsche

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'avais déjà posté cela, mais je ne sais plus trop où!Cette fonction répondra t-elle à ta demande...? Essayes!

Un Autocad classique suffit pour pouvoir l'utiliser.

(defun round (num prec)
 (if (zerop (setq prec (abs prec)))
num
(* prec (fix ((if (minusp num) - +) (/ num prec) 0.5)))
 )
)

(defun c:Tracage ( / p1 p2 key pt_sel ss ent obj_lw param_pt new_param pt lst_pt lst_gr)
 (initget 1)
 (setq
p1 (getpoint "\nPoint de depart : ")
new_param nil
ent nil
lst_pt nil
lst_gr nil
 )
 (while (and (setq key (grread T 4 0)) (not (member key '((2 13) (2 32)))) (/= (car key) 25))
 (cond
((eq (car key) 5)
;;; Récupère le point sélectionné de key par grread
(setq pt_sel (osnap (list (caadr key) (cadadr key)) "_near"))
; si pt_sel existe alors
(if pt_sel
 	(progn
 	;;; Sélectionne la polyligne en dessous du point en cours
 	(setq ss (ssget "_C" pt_sel pt_sel '((0 . "LWPOLYLINE"))))
   	(if ss (setq ent (ssname ss 0)))
 	);fin progn
)
(cond
 	;;; si entité alors
 	(ent 
 	;;; Alors transformation en objet vla l'entité lwpolyligne en cours
 	(setq
   	obj_lw (vlax-ename->vla-object ent)
   	pt_sel (vlax-curve-getClosestPointTo obj_lw (trans (cadr key) 1 0))
 	)
 	(cond
   	;;; si nouveau pt_sel alors
   	(pt_sel
   	(setq
     	param_pt (vlax-curve-getParamAtPoint obj_lw pt_sel)
     	param_pt (round param_pt 1.0)
   	)
   	(cond
     	(new_param
       	(setq pt (vlax-curve-getPointAtParam obj_lw param_pt))
       	(if (and (not (eq param_pt new_param)) (not (member pt lst_pt)))
         	(progn
         	(setq lst_pt (cons (trans pt 0 1) lst_pt))
         	(setq p2 (trans pt 0 1))
         	(setq lst_gr (append (cons 1 (list p1 p2)) lst_gr))
         	(grvecs lst_gr)
         	(setq p1 p2)
         	)
       	)
     	)
   	)
   	(setq new_param param_pt)
   	)
 	)
 	)
)
)
((member key '((2 117)(2 85)))
(if lst_gr
 	(setq
 	lst_gr (cdddr lst_gr)
 	lst_pt (cdr lst_pt)
 	p1 (car lst_pt)
 	)
)
(redraw)
(grvecs lst_gr)
)
(T
(if lst_gr (grvecs lst_gr))
)
 )
 )
 (redraw)
 (cond
 (lst_pt
(setvar "CMDECHO" 0)
(command "_.pline")
(foreach n lst_pt (command "_none" n))
(command "")
(setvar "CMDECHO" 1)
(sssetfirst nil (ssadd (entlast)))
 )
 )
 (prin1)
)

 

  • Upvote 1

Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'avais déjà posté cela, mais je ne sais plus trop où!Cette fonction répondra t-elle à ta demande...? Essayes!

Un Autocad classique suffit pour pouvoir l'utiliser.

 

 

Oui merci, parfait quand on a qu'Autocad ! Par contre pas intérêt à avoir la tremblote quand tu suis les poly.biggrin.gif

COME

 

La vie sans musique est tout simplement une erreur, une fatigue, un exil. »

Friedrich Nietzsche

Lien vers le commentaire
Partager sur d’autres sites

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é