-
Notifications
You must be signed in to change notification settings - Fork 0
/
3DPoly2File__GC.lsp
49 lines (45 loc) · 999 Bytes
/
3DPoly2File__GC.lsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
;;
;; Par GC (gile) - Liste des points XYZ d'une Polyligne 3D
;;
;; Commande/Command : 3DPoly2File
;;
;; Enregistrer en fichier .txt et l'ouvrir avec excel (séparateur = virgule),
;; en .csv si Windows est paramétré pour le séparateur de données = virgule
;; et en .scr si utilisation comme script pour recopier les polylignes dans d'autres dessins.
;; La précision des points dépend de la valeur de la variable LUPREC
;;
(defun c:3DPoly2File (/ path ss file lst)
(vl-load-com)
(if (and
(setq path (getfiled "Create a File " (getvar "DWGPREFIX") "" 1))
(ssget '((0 . "POLYLINE") (-4 . "&") (70 . 8)))
)
(progn
(setq file (open path "w"))
(vlax-for pl (setq ss (vla-get-ActiveSelectionSet
(vla-get-ActiveDocument
(vlax-get-acad-object)
)
)
)
(write-line "_3DPoly" file)
(setq lst (vlax-get pl 'Coordinates))
(while lst
(write-line
(strcat (rtos (car lst))
","
(rtos (cadr lst))
","
(rtos (caddr lst))
)
file
)
(setq lst (cdddr lst))
)
(write-line "" file)
)
(close file)
)
)
(princ)
)