Aller au contenu

[Résolu] Ajouter plusieurs sommet de polyligne à intervalle régulier


Messages recommandés

Posté(e)

Salut à tous !

 

Me revoilà avec mes demandes de fainéant ... laugh.gif

 

Connaîtriez-vous une méthode ou un LISP permettant d'ajouter des sommets à intervalle régulier sur une polyligne ?

 

La commande MESURER permet de mettre des blocs ou des Entités de Points ... Mais pas de créer un nouveau sommet ...

 

rolleyes.gif

 

Merci

 

 

EDIT : je viens de tomber sur DIVCUT de Gilles ! Je vais faire une routine via l'enregistreur d'action pour automatiser le Pedit > Joindre

AutoCAD Map 3D 2025
Covadis 18.3c + AutoPiste
Windows 11 Famille v.24H2 - 64 bits

Toujours à l'affût des bonnes astuces

Posté(e)

c'est bien tu commences à t'auto répondre :)

Dans la série lisp indispensables il y a JPL qui joint les segments de polylignes je ne sais plus de qui c'est... mais on le remercie

(depuis la 2017 il faut qu'il y ait au moins une ligne dans le jeux de sélection)Travailler en isolant le calque ou l'objet oour récupérer la sélection facilement

(defun c:jpl (/ ss)   (and (or
	(and (= (getvar "pickfirst") 1)
 		(setq ss (ssget "_I" '((0 . "ARC,LINE,LWPOLYLINE"))))
	)
	(setq ss (ssget '((0 . "ARC,LINE,LWPOLYLINE"))))
  	)
  	(if (= (getvar "peditaccept") 1)
	(vl-cmdf "_.pedit" "_m" ss "" "_j" 0.0 "")
	(vl-cmdf "_.pedit" "_m" ss "" "_y" "_j" 0.0 "")
  	)
 )
 (princ)
)

Posté(e)

c'est bien tu commences à t'auto répondre :)

Dans la série lisp indispensables il y a JPL qui joint les segments de polylignes je ne sais plus de qui c'est... mais on le remercie

(depuis la 2017 il faut qu'il y ait au moins une ligne dans le jeux de sélection)Travailler en isolant le calque ou l'objet pour récupérer la sélection facilement

 

Merci pour ta réponse.

 

Si je comprend bien ce LISP fait le même boulot que la commande de base "JOINDRE" ?

 

En effet du coup j'ai un soucis pour automatiser la jointure des segments de polyligne ... il faudrait que je trouve comment sélectionner automatiquement les segments découpés par DIVCUT ...

En faisant "P" quand autocad demande la sélection des polyligne a joindre, il ne prend que le premier segment.

AutoCAD Map 3D 2025
Covadis 18.3c + AutoPiste
Windows 11 Famille v.24H2 - 64 bits

Toujours à l'affût des bonnes astuces

Posté(e)

Il y a cette réponse pas très ancienne qui ressemble à ta demande

 

WOOOOW C'est EXACTEMENT ce que je cherchais et ça fonctionne nickel !

Forcément ... sans le mot clé "Vertex" je ne risquais pas de tomber sur ce sujet laugh.gif

 

 

1000 mercis !

 

Je remet le code du LISP ici.

Pour info la commande pour le lancer est "ADDVTX2DIST".

 

 

(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))

AutoCAD Map 3D 2025
Covadis 18.3c + AutoPiste
Windows 11 Famille v.24H2 - 64 bits

Toujours à l'affût des bonnes astuces

Posté(e)

Salut Lecrabe

C'est l'équivalent d'une commande d'édition (au même titre que PEDIT, DEPLACER, COPIER,ROTATION,ECHELLE etc..), elle ne crée pas de nouvelle entité; elle modifie celle-ci, donc OUI cela conserve les données associées

 

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

Posté(e)

Salut à tous,

 

Sans lisp, donc qui peut aussi bien se faire sur un AutoCAD LT, en sélectionnant la polyligne puis en survolant un grips (sans le sélectionner), il y a le menu contextuel des grips qui apparaît > Ajouter un sommet.

Depuis AutoCAD 2011.

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Salut Steven !

 

Oui.

Il est d'ailleurs possible d'ajouter un sommet en Sélectionnant un sommet puis en appuyant sur CTRL. rolleyes.gif

Mais c'est seulement pour faire sommet par sommet !biggrin.gif

AutoCAD Map 3D 2025
Covadis 18.3c + AutoPiste
Windows 11 Famille v.24H2 - 64 bits

Toujours à l'affût des bonnes astuces

Posté(e)

Salut Steven !

 

Oui.

Il est d'ailleurs possible d'ajouter un sommet en Sélectionnant un sommet puis en appuyant sur CTRL. rolleyes.gif

Mais c'est seulement pour faire sommet par sommet !biggrin.gif

 

 

En sélectionnant un sommet en appuyant sur la touche Ctrl, ça ajoute des polylignes dry.gif

Alors qu'ajouter un sommet via le menu contextuel, ça ne fait qu'ajouter un sommet à la polyligne comme le lisp de gile mais ça ne duplique pas une polyligne wink.gif

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Hello !

 

Non non je te confirme que quand je créé une polyligne, que je la sélectionne, que je clique sur un de ses sommets, et que j'appuie sur CTRL, ça ajoute un sommet à la polyligne sans la dupliquer qui plus est ... rolleyes.gif

AutoCAD Map 3D 2025
Covadis 18.3c + AutoPiste
Windows 11 Famille v.24H2 - 64 bits

Toujours à l'affût des bonnes astuces

Posté(e)

Hello !

 

Non non je te confirme que quand je créé une polyligne, que je la sélectionne, que je clique sur un de ses sommets, et que j'appuie sur CTRL, ça ajoute un sommet à la polyligne sans la dupliquer qui plus est ... rolleyes.gif

 

 

Salut,

 

J'ai refait l'essai de mon côté et je n'ai pas le même résultat que toi. Je suis preneur pour une explication en détail parce que ça m'intéresse wink.gif

 

Tu peux, en attendant, télécharger une vidéo que j'ai fait où je sélectionne le grip d'une polyligne et j'appuie ensuite sur la touche Ctrl pour ajouter un sommet mais je ne fais que dupliquer la polyligne dry.gif

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Utilisant beaucoup les grips ce sujet m'intéresse et il m'a fait découvrir la touche Ctrl avec eux.

Et du coup, je pence avoir trouvé votre divergence...

2 cas:

- Cas Charles T: Charle appui sur la touche Ctrl et la relâche avant de saisir sont nouveau point

- Cas Steven: Steven appuie sur la touche Ctrl et la maintien appuyée en saisissant son premier nouveau point, puis la relâche pour les points suivants.

www.cad-is.fr
Autocad Map 2021 - Covadis/Autopiste V18.0c
Pisser sous la douche ne suffira pas
Posté(e)

Salut La Lozère,

 

Bravo, ceci explique cela. Il faut relâcher la touche Ctrl avant de saisir le nouveau point.

Bah je viens d'apprendre quelque chose smile.gif

 

Steven________________________________________

Pour le taf; Windows (et ses emmerdes) sinon pas d'AutoCAD.

Pour le perso Linux Mint et pas de problèmes. Mais pas d'AutoCAD.

En rêve; AutoCAD sous Linux.

Posté(e)

Et moi je viens d'apprendre qu'on pouvait dupliquer la polyligne du coup laugh.giflaugh.giflaugh.giflaugh.gif

AutoCAD Map 3D 2025
Covadis 18.3c + AutoPiste
Windows 11 Famille v.24H2 - 64 bits

Toujours à l'affût des bonnes astuces

Posté(e)

Bonjour à toutes et tous,

Et bien sur ma version (CF signature), voilà comment ça réagit avec la touche "Ctrl" enfoncée puis relâchée, j'accède aux différentes options :

Commande:

Commande:

** AJOUTER UN SOMMET **

Spécifiez un nouveau point de sommet:

** CONVERTIR EN ARC **

Spécifiez le milieu du segment d'arc:

** ETIRER **

Spécifiez le point d'étirement:

** AJOUTER UN SOMMET **

Spécifiez un nouveau point de sommet:

Commande:

** AJOUTER UN SOMMET **

Spécifiez un nouveau point de sommet:

**SUPPRIMER LE SOMMET**

Et la touche enfoncée : Création de nouvelles polys

 

Commande:

** AJOUTER UN SOMMET **

Spécifiez un nouveau point de sommet:

** AJOUTER UN SOMMET **

Spécifiez un nouveau point de sommet:

** AJOUTER UN SOMMET **

Spécifiez un nouveau point de sommet:

** AJOUTER UN SOMMET **

Spécifiez un nouveau point de sommet:

 

Civil 3D 2025 - COVADIS_18.3b

https://www.linkedin...3%ABt-95313341/

Posté(e)

Salut Lili !

 

En effet si j'appui plusieurs fois sur CTRL ça me propose d'autres options !

 

Bien vu !!

AutoCAD Map 3D 2025
Covadis 18.3c + AutoPiste
Windows 11 Famille v.24H2 - 64 bits

Toujours à l'affût des bonnes astuces

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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é