CADxp: Ajouter des vertex sur une polyligne - CADxp

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Ajouter des vertex sur une polyligne Pas dans le SCU Général!...

#1 L'utilisateur est hors-ligne   Ra_Mamt 

  • ceinture verte
  • Groupe : Membres
  • Messages : 92
  • Inscrit(e) : 20-février 12

Posté 30 novembre 2018 - 13:51

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 3D 2014 SP2 - Covadis_Autopiste 14e
Microstation V8i
0

#2 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7912
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 30 novembre 2018 - 15:09

Coucou

L
a question est plutôt complexe, tout au moins dans sa rédaction car cette question en pose d'autres ...
T
u parles de "vertex" mais je pense que tu veux parler de "sommet"
C
e que je te propose c'est de regarder les explications de la fonction "trans"
J
e suis convaincu qu'elle t'apportera la lumière qui te manque.

A
ttention 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

A
micalement


Éternel débutant ...
Les bases AutoLisp
0

#3 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1156
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 30 novembre 2018 - 15:59

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
0

#4 L'utilisateur est hors-ligne   bonuscad 

  • ceinture rouge et blanche 8em dan
  • Groupe : Membres
  • Messages : 4577
  • Inscrit(e) : 20-juin 03

Posté 30 novembre 2018 - 16:46

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
0

#5 L'utilisateur est hors-ligne   Ra_Mamt 

  • ceinture verte
  • Groupe : Membres
  • Messages : 92
  • Inscrit(e) : 20-février 12

Posté 03 décembre 2018 - 09:06

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 3D 2014 SP2 - Covadis_Autopiste 14e
Microstation V8i
0

#6 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7912
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 03 décembre 2018 - 10:04

Coucou

J
e dois dire que je ne comprends pas !
Q
uel est le rapport entre le SCU (quel qu'il soit) et le mesurage d'une entité toutes les X distances ?
J
e guette le retour d'information pour comprendre comment aider dans ce cas.
U
n dessin exemple serait le bienvenu

A
micalement

Éternel débutant ...
Les bases AutoLisp
0

#7 L'utilisateur est hors-ligne   Olivier Eckmann 

  • ceinture noire 2em dan
  • Groupe : Membres
  • Messages : 1156
  • Inscrit(e) : 29-décembre 11
  • LocationLongjumeau (91)

Posté 03 décembre 2018 - 21:55

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
0

#8 L'utilisateur est hors-ligne   Ra_Mamt 

  • ceinture verte
  • Groupe : Membres
  • Messages : 92
  • Inscrit(e) : 20-février 12

Posté 04 décembre 2018 - 07:17

Voir le messageOlivier Eckmann, le 03 décembre 2018 - 21:55 , dit :

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 3D 2014 SP2 - Covadis_Autopiste 14e
Microstation V8i
0

#9 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7912
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 04 décembre 2018 - 08:08

Coucou

C
e n'est pas nécessaire d'utiliser des termes vulgaires pour parler de ton travail non plus.
J
e 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.
E
n 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.
P
asse-nous un DWG s'il te plaît, on verra mieux de quoi on parle.

A
micalement

Éternel débutant ...
Les bases AutoLisp
0

#10 L'utilisateur est hors-ligne   Ra_Mamt 

  • ceinture verte
  • Groupe : Membres
  • Messages : 92
  • Inscrit(e) : 20-février 12

Posté 04 décembre 2018 - 11:46


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 3D 2014 SP2 - Covadis_Autopiste 14e
Microstation V8i
0

#11 L'utilisateur est hors-ligne   didier 

  • ceinture rouge et blanche 8em dan
  • Groupe : Moderateurs
  • Messages : 7912
  • Inscrit(e) : 18-décembre 02
  • LocationPlanète : Terre

Posté 04 décembre 2018 - 14:16

Coucou

M
erci 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 SCU
pour commencer je relie deux extrémité de ces polylignes par une polyligne depuis le SCG.
J
e me mets dans un SCU dont l'axe des X est la polyligne créée.
J
e fais une rotation de SCU de 300 (puisque je suis en grades)
J
e me retrouve parfaitement perpendiculaire donc.
J
e transforme en polyligne 3D et je peux maintenant ajouter des sommetsqui seront dans le SCU de l'objet, pas le SCG.

E
t 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.

A
micalement



Éternel débutant ...
Les bases AutoLisp
0

#12 L'utilisateur est hors-ligne   Ra_Mamt 

  • ceinture verte
  • Groupe : Membres
  • Messages : 92
  • Inscrit(e) : 20-février 12

Posté 05 décembre 2018 - 05:14

Bonjour,
Merci pour ces tuyaux !
Comme c’est en stand bye je vais en rester là pour le moment mais c’est sur que je reviendrais vers vous pour la suite !
A+


AutoCad Map 3D 2014 SP2 - Covadis_Autopiste 14e
Microstation V8i
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

2 utilisateur(s) en train de lire ce sujet
0 membre(s), 2 invité(s), 0 utilisateur(s) anonyme(s)