Aller au contenu

Redresser une polyligne en préservant sa longueur initiale


Azerty

Messages recommandés

Bonjour à tous.

 

Ça fait + de 15 ans que je connais PEDIT sur une polyligne et les « Redresser/Linéaire/Suivant/Aller/Go » etc. qui permettent de supprimer des sommets intermédiaires non désirés.

 

Hors "le plus court chemin entre 2 points est la ligne droite" et c'est justement ce que j'aimerai éviter.

Existe-t-il un lisp (ou une commande !? je n'ai pas trouvé dans les express tools)

qui permet de redresser en ligne droite tous les segments d'une polyligne en gardant les longueurs initiales ?

 

Le top du top en LISP serait de redresser la polyligne, de faire une mise à l'échelle x 5 et d'insérer à chaque sommet un cercle d'1m de rayon.

 

Par avance, merci de vos retours !

Une seule chose à dire : MERCI CADxp !

Lien vers le commentaire
Partager sur d’autres sites

Coucou

 

Je pense avoir compris ta demande et c'est rigolo car ce n'est pas la première fois que ça se produit je suis en train de préparer des exercices pour "da-code.fr" et un de mes exemples en cours d'élaboration correspond à ce que tu demandes.

On verra ensuite le coup du point tous les cinq unités et le facteur d'échelle (ça j'y avais pas pensé...)

J'aimerais savoir comment dessiner la polyligne "redressée"?

Dans mon exemple je pars d'un point cliqué à l'écran et je dessine une polyline horizontale, ça t'irait ?

 

Amicalement

urmc.png

Lien vers le commentaire
Partager sur d’autres sites

Je ne voulais pas évoquer les courbes car il me semblait que ça complique le Schmilblick ^^.

 

Didier, une fois de plus, tu as parfaitement cerné la demande.

Et apparemment anticiper la solution.

Donc oui, cibler au curseur le point de départ d'une polyligne horizontale est parfait !

 

 

On verra ensuite le coup du point tous les cinq unités et le facteur d'échelle (ça j'y avais pas pensé...)

C'est l'inverse ^^

Pour la p'tite histoire, l'utilisation serait de dégrossir le travail sur une vue en plan avec la polyligne (où chaque sommet est un croisement avec un réseau, une bordure, etc) qui va servir ensuite sur une vue en profil au 200e, comme repère pour y représenter XX obstacles (et plus particulièrement des réseaux souterrains dans mon cas). Divers annotations, marges d'erreurs et autres joyeusetés viennent se greffer, mais la plupart du temps il faut au moins un cercle* !

 

PS : si c'était bientôt Noel je dirai qu'à la place du cercle d'1m de rayon, une polyligne en 2 arcs serait la panacée (car ça permet d'imposer une largeur de polyligne, chose impossible 'directement' sur un cercle)

 

:rolleyes:

Une seule chose à dire : MERCI CADxp !

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Si c'est pour dessiner des profils en long de réseau avec étiquetage automatique des intersections des autres réseaux et obstacles, vérification des inter-distances entre réseaux, tranchée et structure de pose...il y a des applicatifs qui font ça très bien.

 

Olivier

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

De façon très sommaire, juste pour le fun (et l'exercice à Didier pour son site) quelque chose comme cela conviendrait-il?

 

 

(defun c:Azerty	(/ent pts x y n)

 (setq
   ent	(car (entsel))
   pts	(vl-remove-if-not '(lambda (x) (= (car x) 10)) (entget ent))
   x	(cadar pts)
   y	(caddar pts)
   n	-1
 )

 (entmake
   (append
     (list
'(0 . "LWPOLYLINE")
'(100 . "AcDbEntity")
'(100 . "AcDbPolyline")
(cons 90 (length pts))
     )
     (mapcar
'(lambda (i)
   (list 10
	 (+ x (vlax-curve-getDistAtParam ent (setq n (1+ n))))
	 y
   )
 )
pts
     )

   )
 )
)

 

Cdt VDH-Bruno

Apprendre => Prendre => Rendre

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é