Aller au contenu

Ajouter des vertex sur une polyligne


Messages recommandés

Posté(e)

Bonjour à tous,

Est qu’il existe une solution pour rajouter des vertex tous les X unités sur une polyligne peu importe le SCU ?

Je travaille sur des SCU spécifiques et des vues et quand je fais création d’intersection (commande Covadis), il me ramène tout au SCU général.

Merci à vous !

A+

 

PS: Je suis sur AutoCad Map 2014 - Covadis/Autopiste 13h - Windows 7 Pro

 

AutoCad MAP 2023 - Covadis + Autopiste 18.3b

www.colas-mayotte.fr

Posté(e)

Coucou

 

La question est plutôt complexe, tout au moins dans sa rédaction car cette question en pose d'autres ...

Tu parles de "vertex" mais je pense que tu veux parler de "sommet"

Ce que je te propose c'est de regarder les explications de la fonction "trans"

Je suis convaincu qu'elle t'apportera la lumière qui te manque.

 

Attention toutefois aux entités à traiter, puisque tu parles de Covadis il est possible que ces derniers aient des données étendues ou pire encore : ce ne sont pas des "objets" AutoCAD

 

Amicalement

 

Posté(e)

Bonjour,

 

Giles a développé un outil addvtx et delvtx pour ajouter ou supprimer des sommets sur une poly.

 

Sinon avec Covadis:

1. commande mesurer pour ajouter des objets POINT à intervalle régulier sur ta poly

2. commande Immatriculations d'entités pour mettre un point topo sur chaque objets POINT

3. Cov3D / Gestion poly2D / Convertir en 3D => convertir la poly2D en poly3D

4. CovEdition / Polyligne / Points proches -> sommets de poly3D

5. Opération inverse 3D en 2D => Cov3D / Gestion poly3D / Convertir en 2D

 

Olivier

Posté(e)

Bonjour,

Si tes polylignes sont légères essaye ceci (Attention mal paramétrée; la fonction peut générer beaucoup de sommets, plus qu'il n'en faut.... et être très longue à répondre). Donc attention de ne pas valider par défaut au message: Ajouter un sommet tous les <1.0>?:

(vl-load-com)
(defun add_vtx (obj add_pt ent_name / bulg)
 (vla-addVertex
obj
(1+ (fix add_pt))
(vlax-make-variant
 	(vlax-safearray-fill
   	(vlax-make-safearray vlax-vbdouble (cons 0 1))
     	(list
       	(car (trans (vlax-curve-getpointatparam obj add_pt) 0 ent_name))
       	(cadr (trans (vlax-curve-getpointatparam obj add_pt) 0 ent_name))
     	)
 	)
)
 )
 (setq bulg (vla-GetBulge obj (fix add_pt)))
 (vla-SetBulge obj
(fix add_pt)
(/
 	(sin (/ (* 4 (atan bulg) (- add_pt (fix add_pt))) 4))
 	(cos (/ (* 4 (atan bulg) (- add_pt (fix add_pt))) 4))
)
 )
 (vla-SetBulge obj
(1+ (fix add_pt))
(/
 	(sin (/ (* 4 (atan bulg) (- (1+ (fix add_pt)) add_pt)) 4))
 	(cos (/ (* 4 (atan bulg) (- (1+ (fix add_pt)) add_pt)) 4))
)
 )
 (vla-update obj)
)
(defun c:AddVtx2Dist ( / js AcDoc Space interval n obj ename v_length)
 (princ "\nSélectionnez une polyligne.")
 (setq js (ssget '((0 . "LWPOLYLINE"))))
 (cond
(js
 	(setq
   	AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
   	Space
   	(if (= 1 (getvar "CVPORT"))
     	(vla-get-PaperSpace AcDoc)
     	(vla-get-ModelSpace AcDoc)
   	)
 	)
 	(initget 6)
 	(setq interval (getdist "\nAjouter un sommet tous les <1.0>?: "))
 	(if (not interval) (setq interval 1.0))
 	(repeat (setq n (sslength js))
   	(setq
     	obj (ssname js (setq n (1- n)))
     	ename (vlax-ename->vla-object obj)
     	v_length 0.0
   	)
   	(while (< v_length (vlax-curve-getDistAtParam ename (vlax-curve-getEndParam ename)))
     	(if (not (equal (fix (vlax-curve-getEndParam ename)) v_length 1E-13))
       	(progn
         	(add_vtx ename (vlax-curve-getParamAtDist ename v_length) obj)
         	(setq v_length (+ interval v_length))
       	)
       	(setq v_length (+ interval v_length))
     	)
   	)
 	)
)
 )
 (prin1)
)

 

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

Posté(e)

Bonjour à vous et merci pour votre réponse,

@ Didier, effectivement je souhaite avoir un somment tous les X unités,

@ Olivier, la solution covadis ne marche pas car je travail sur des vues et des SCU spécifiques ;

@ bonuscad ; je vais tester ça et je reviens si ça marche ou pas !

Encore merci !

A +

AutoCad MAP 2023 - Covadis + Autopiste 18.3b

www.colas-mayotte.fr

Posté(e)

Bonjour,

 

Ci-joint une vidéo de la mise en œuvre de la solution proposée qui fonctionne quelque soit le SCU et la VUE : https://autode.sk/2AMvcLB

Le seul cas où ça ne fonctionne pas c'est si on a dessiné des poly2D dans un SCU non horizontal, par ex pour dessiner des façades en poly2D dans des SCU/Vue de face, gauche, droite...

Si c'est le cas, il aurait été préférable de la stipuler dès le départ, car c'est une contrainte très forte dans la résolution du problème.

 

Olivier

Posté(e)

Bonjour,

 

Ci-joint une vidéo de la mise en œuvre de la solution proposée qui fonctionne quelque soit le SCU et la VUE : https://autode.sk/2AMvcLB

Le seul cas où ça ne fonctionne pas c'est si on a dessiné des poly2D dans un SCU non horizontal, par ex pour dessiner des façades en poly2D dans des SCU/Vue de face, gauche, droite...

Si c'est le cas, il aurait été préférable de la stipuler dès le départ, car c'est une contrainte très forte dans la résolution du problème.

 

Olivier

 

Bonjour à tous,

Désolé de prendre du temps pour vous répondre mais suis un peu débordé en ce moment !

Effectivement je dessine dans dessine dans es SCU/Vue de face, gauche, droite…

En fait qui est chiant sur cette affaire c’est qu’on doit dessiner des coupes tous les 1mm (je dis bien 1mm) sur des cuves de 12m de haut ; nous travaillons avec cyclone – autocad – covadis – cloudxworks et même Topodot sans avoir trouvé des solutions satisfaisants pour être plus rapide et précis jusqu’à présent.

Je pense que je vais lâcher l’affaire ; de plus je vais bientôt basculer sur autre chose.

Merci à vous pour tous votre répsonse

A+

AutoCad MAP 2023 - Covadis + Autopiste 18.3b

www.colas-mayotte.fr

Posté(e)

Coucou

 

Ce n'est pas nécessaire d'utiliser des termes vulgaires pour parler de ton travail non plus.

Je n'ai pas de DWG exemple à traiter mais je ne vois pas le souci, travaillant en tunnel je fais aussi des coupes de ce style et je définis des SCU perpendiculaires à la polyligne à traiter et j'arrive à faire ce qu'il me semble être ton souhait.

En même temps, si u passes à autre chose et que tu vas lâcher l'affaire on va peut-être pas non plus faire plus d’efforts que toi.

 

C'est pourtant une habitude ici de vraiment chercher des solutions, on est assez impliqués.

Passe-nous un DWG s'il te plaît, on verra mieux de quoi on parle.

 

Amicalement

Posté(e)

Coucou,

Mon fichier se trouve ici, je souhaite rajouter des sommets tous les 1mm sur les polylignes bleu et qu’elles restent dessiner dans son SCU, après des recherches et des essais elles se rabattent toujours dans le SCU Général. (Après rajout des sommets)

Désolé Didier si je t’ai offensé, ce n’est pas de tout mon intention !

En fait, nous avons discuté avec le client pour trouver la meilleure solution possible pour optimiser le temps et le rendement et pour le moment c’est en stand bye.

A+

 

AutoCad MAP 2023 - Covadis + Autopiste 18.3b

www.colas-mayotte.fr

Posté(e)

Coucou

 

Merci pour le fichier, je ne comprends pas tout pour la finalité mais au moins quand je mesure les polylignes bleu dur les points que j'obtiens se mettent dans le bon SCUpour commencer je relie deux extrémité de ces polylignes par une polyligne depuis le SCG.

Je me mets dans un SCU dont l'axe des X est la polyligne créée.

Je fais une rotation de SCU de 300 (puisque je suis en grades)

Je me retrouve parfaitement perpendiculaire donc.

Je transforme en polyligne 3D et je peux maintenant ajouter des sommetsqui seront dans le SCU de l'objet, pas le SCG.

 

Et en fait je me rends compte que les bidouilles de SCU précédentes sont inutiles, donc :

Transformation en poly 3D et c'est tout.

 

Amicalement

 

 

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é