Aller au contenu

Découpage polyligne en segment de même longueur.


Messages recommandés

Posté(e)

Bonjour,

 

Je suis entrain de travailler sur un plan de schéma routier. J'ai des polylignes de plusieurs kilomètres que je dois découper en tronçon de 1, 2, 5 Km en fonction de la longueur du tracé...

 

Avez vous des suggestions pour faire cette manip car je ne vois pas comment faire.

 

Merci d'avance :(rires forts):

Posté(e)

Salut

 

La commande Point mesurer ne te suffit pas?

"Je suis fasciné par l'air. Si on enlevait l'air du ciel, tous les oiseaux tomberaient par terre... Et les avions aussi... En même temps l'air tu peux pas le toucher... Ca existe et ça existe pas... Ca nourrit l'homme sans qu'il ait faim... It's magic ! L'air c'est beau en même temps tu peux pas le voir, c'est doux et tu peux pas le toucher... L'air, c'est un peu comme mon cerveau..."

J-C Van Damme

Posté(e)

La commande Point mesurer ne te suffit pas?

Baa, ça me m'indique les points ou réaliser les coupes, mais ayant un centaine de polylignes de plusieurs kilomètres... vois tu ? :unsure:

Posté(e)

Coucou

 

le souci avec de genre de commande

(qu'on sait faire je te rassure)

c'est qu'il faut connaître le sens de la polyligne

sinon il y a un risque de couper au mauvais endroit

et que le premier segment ne soit pas à la dimension voulue.

 

je veux bien te faire quelque chose,

mais il faut que tu dises comment tu veux sélectionner les polylignes

par calque ?

par sélection à l'écran ?

par longueur ?

 

amicalement

Posté(e)

Une sélection par calque serait le plus simple, le sens m'importe peu, que le découpage soit fait dans un sens ou dans l'autre n'est pas capitale.

Posté(e)

Coucou

 

voila un premier jet

on verra ensuite la sélection des objets

(defun c:coup_long (ent long / tempo listetempo)
 (setvar "cmdecho" 0)
 (setvar "osmode" 0)
 (setq listetempo '())
 (setq vla_obj (vlax-ename->vla-object ent)
long_obj  (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent))
n 1)

 (repeat (fix (/ long_obj long))
     (setq tempo (vlax-curve-GetPointAtDist vla_obj (* long n)))
     (setq listetempo (append (list tempo) listetempo))
     (setq n (+ 1 n))
     )

 (repeat (length listetempo)
     (command "_break" ent (car listetempo)(car listetempo))
     (setq listetempo (cdr listetempo))
   )
 )

 

syntaxe :

 

(setq ent (car (entsel "\nChoix de la Polyligne\n")))
(setq long (getreal "\nlongueur des segments (en mètres)\n"))

(c:coup_long ent long)

 

amicalement

  • 3 semaines aprè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 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é