40 lines
1.3 KiB
Common Lisp
40 lines
1.3 KiB
Common Lisp
(vl-load-com)
|
|
(defun agent4-format-dxf-point (data code / p)
|
|
(setq p (cdr (assoc code data)))
|
|
(if (and p (listp p) (numberp (car p)) (numberp (cadr p)))
|
|
(strcat (rtos (car p) 2 16) "\t" (rtos (cadr p) 2 16) "\t" (rtos (if (numberp (caddr p)) (caddr p) 0.0) 2 16))
|
|
"\t\t"
|
|
)
|
|
)
|
|
(defun agent4-write-dimension-definition-points (/ f ss i ent data obj h)
|
|
(setq f (open "D:/CSharpProjects/agent4/runtime/current-standard-flow/59-interface-drawing-resume/dwg-extraction/dimension-definition-points.tsv" "w"))
|
|
(setq ss (ssget "_X" '((0 . "*DIMENSION"))))
|
|
(if ss
|
|
(progn
|
|
(setq i 0)
|
|
(while (< i (sslength ss))
|
|
(setq ent (ssname ss i))
|
|
(setq data (entget ent))
|
|
(setq obj (vlax-ename->vla-object ent))
|
|
(setq h (vla-get-Handle obj))
|
|
(write-line
|
|
(strcat
|
|
h "\t"
|
|
(agent4-format-dxf-point data 13) "\t"
|
|
(agent4-format-dxf-point data 14) "\t"
|
|
(agent4-format-dxf-point data 10) "\t"
|
|
(agent4-format-dxf-point data 11) "\t"
|
|
(agent4-format-dxf-point data 15) "\t"
|
|
(agent4-format-dxf-point data 16)
|
|
)
|
|
f
|
|
)
|
|
(setq i (1+ i))
|
|
)
|
|
)
|
|
)
|
|
(if f (close f))
|
|
(princ)
|
|
)
|
|
(agent4-write-dimension-definition-points)
|