@tntdavid said:
Bonsoir,
Comme aucun Plugin ne propose se type de fonction, je vais te donner mon idée.
(...)Dit moi sur cela réponde à tes besoins, ou je suis à côté de la plaque ?
Salut David,
à mon avis si tu te sens de faire un plug, tu aurais de l'audience !....
Dans SU l'extrémité d'une ligne me donne la coordonnée en XYZ.
Donc pour un composant, sois je pose une ligne sur le composant et avec l'outil TEXTE je pointe l'extrémité pour avoir automatiquement le XYZ ou je rentre dans le composant pour faire de même. L'idéal c'est de metre ces textes automatiquement dans un calque pour en gérer l'affichage, dans SU cela peut vite devenir fouillis !
Effectivement on peut aussi poser un groupe ou composant dont la coordonnée peut être récupérée via les composant dynamiques.
Dans Acad je pose un Point (obget de dessin) sur les extrémités puis avec un utilitaire en LISP (voir en fin de message) je désigne les points un à un pour générer un fichier TXT.
12-1600_4064_C - Digue - Point topo refend 11-A.txt
Accad-Point.jpg
Les géomètres posent effectivement aussi, des blocs dont le point d'isertion est le point de la coordonnée mais en plus ils en font une numérotation.
Acad-num-Topo.jpg
Le fichier pour exemple à voir avec Draftsight.
https://www.dropbox.com/s/zfp2ciga6g8em7k/11%20-%20Epis_Ouest_Boutillon-2.dwg?dl=0
Cordialement
Patrick
; ----------------------------------------------------------------------
; (Export LWPOLYLINE Vertices & Points to File)
; Copyright (C) 2000 DotSoft, All Rights Reserved
; Website: http://www.dotsoft.com
; ----------------------------------------------------------------------
(defun c:ptexport ()
(setq sset (ssget '((-4 . "<OR")(0 . "POINT")
(0 . "LWPOLYLINE")(-4 . "OR>"))))
(if sset
(progn
(setq itm 0 num (sslength sset))
(setq fn (getfiled "Point Export File" "" "txt" 1))
(if (/= fn nil)
(progn
(setq fh (open fn "w"))
(while (< itm num)
(setq hnd (ssname sset itm))
(setq ent (entget hnd))
(setq obj (cdr (assoc 0 ent)))
(cond
((= obj "POINT")
(setq pnt (cdr (assoc 10 ent)))
(princ (strcat (rtos (car pnt) 2 3) " "
(rtos (cadr pnt) 2 3) " "
(rtos (caddr pnt) 2 2)) fh)
(princ "\n" fh)
)
((= obj "LWPOLYLINE")
(if (= (cdr (assoc 38 ent)) nil)
(setq elv 0.0)
(setq elv (cdr (assoc 38 ent)))
)
(foreach rec ent
(if (= (car rec) 10)
(progn
(setq pnt (cdr rec))
(princ (strcat (rtos (car pnt) 2 3) " "
(rtos (cadr pnt) 2 3) " "
(rtos elv 2 2)) fh)
(princ "\n" fh)
)
)
)
)
(t nil)
)
(setq itm (1+ itm))
)
(close fh)
)
)
)
)
(princ)
)
(princ "\nPoint Export loaded, type PTEXPORT to run.")
(princ)