Aller au contenu

Création point


MamyTina

Messages recommandés

Bonjour,

 

Précisions!

un lisp qui insère un point sur le milieu d'un polyligne.

Que cela signifie pour toi? :

Un point au milieu de chaque segment (courbe ou pas)

Ou alors un unique point au milieu de la longueur totale de la polyligne

 

 

 

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

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Précisions!

 

Que cela signifie pour toi? :

Un point au milieu de chaque segment (courbe ou pas)

Ou alors un unique point au milieu de la longueur totale de la polyligne

Voici le genre de plan que nous avons reçu,

c65u.jpg

Ce que je souhaite c'est mettre un point au milieu du polyligne puis réimmatriculer les points obtenus.

A+

AutoCad MAP 2023 - Covadis + Autopiste 18.0c

www.colas-mayotte.fr

Lien vers le commentaire
Partager sur d’autres sites

Hello

 

Je suppose que ces objets sont SEULS sur un calque spécifique ?!

 

Que la polyligne est toujours horizontale avec un seul segment !?

 

OK tu pourras avoir un point au milieu !

 

Et après comment tu montes le point à l altitude Z du texte (TEXT ou MTEXT ?) dans les environs ??

 

Car sinon tu ne pourras pas faire grand-chose !?

 

Bye, lecrabe "triste"

Autodesk Expert Elite Team

Lien vers le commentaire
Partager sur d’autres sites

Ceci devrait pouvoir le faire

(vl-load-com)
(defun c:Pt2MidVtx ( / js AcDoc Space n obj dxf_ent ename pr)
 (princ "\nSélectionnez une polyligne.")
 (setq js (ssget '((0 . "*POLYLINE"))))
 (cond
(js
 	(setq
   	AcDoc (vla-get-ActiveDocument (vlax-get-acad-object))
   	Space
   	(if (= 1 (getvar "CVPORT"))
     	(vla-get-PaperSpace AcDoc)
     	(vla-get-ModelSpace AcDoc)
   	)
 	)
 	(repeat (setq n (sslength js))
   	(setq
     	obj (ssname js (setq n (1- n)))
     	dxf_ent (entget obj)
     	ename (vlax-ename->vla-object obj)
     	pr -0.5
   	)
   	(repeat (fix (vlax-curve-getEndParam ename))
     	(entmake
       	(list
         	'(0 . "POINT")
         	'(100 . "AcDbEntity")
         	(assoc 67 dxf_ent)
         	(assoc 410 dxf_ent)
         	(assoc 8 dxf_ent)
         	(if (assoc 62 dxf_ent) (assoc 62 dxf_ent) '(62 . 256))
         	(if (assoc 6 dxf_ent) (assoc 6 dxf_ent) '(6 . "ByLayer"))
         	(if (assoc 48 dxf_ent) (assoc 48 dxf_ent) '(48 . 0.0))
         	(if (assoc 370 dxf_ent) (assoc 370 dxf_ent) '(370 . 0))
         	'(100 . "AcDbPoint")
         	(cons 10 (trans (vlax-curve-getpointatparam obj (setq pr (1+ pr))) 0 obj))
         	(if (assoc 39 dxf_ent) (assoc 39 dxf_ent) '(39 . 0.0))
         	(assoc 210 dxf_ent)
       	)
     	)
   	)
 	)
)
 )
 (prin1)
)

 

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

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é