文字和文字坐标额外
我需要lisp沿多段线的文字,使坐标和文字代码提取到CSV样品图纸
必修的。csv 您的dwg绝不会反映您如何获得这些高程。这是某种形式的放样程序吗?你有其他竖曲线信息吗? 这是我的方法。
(defun c:Test(/ sel f o l)
;; Tharwat 11.01.2014 ;;
(princ "\n Select Single texts :")
(if (and (setq sel (ssget '((0 . "TEXT"))))
(setq f (getfiled "Save as to csv format "
(getvar 'DWGPREFIX)
"CSV"
1))
(setq o (open f "w"))
)
(progn
((lambda (x / sn e)
(while (setq sn (ssname sel (setq x (1+ x))))
(setq l
(cons (list (cdr (assoc 10 (setq e (entget sn))))
(cdr (assoc 1 e)))
l))
)
)
-1)
(setq l
(vl-sort l
'(lambda (q p) (< (cadr (car q)) (cadr (car p))))))
(write-line "Code,EASTING,NORTHING,ELEVATION" o)
(mapcar '(lambda (v)
(write-line
(strcat (cadr v)
","
(rtos (caar v) 2)
","
(rtos (cadar v) 2)
","
(rtos (caddar v) 2))
o))
l)
(close o)
)
)
(princ)
)
谢谢你,先生,做了一个很好的lisp代码 文本看起来是垂直的,文本看起来是垂直的,沿着文本的多段线找出文本应该相应。
样本2.dwg
必修的。csv 我的程序是在第一张图上工作,你已经附加在第一个职位。
因此,为了使程序在这样的情况下工作,我认为程序应该考虑多段线的方式,并相应地对文本进行排序。 我知道我在另一个论坛上看到并回复了这个请求。
我在那里发布的代码应该适用于“sample2.dwg”和任何其他多段线配置。,唯一的问题是,我选择使用“文本”值而不是数字文本的Z坐标,正如您已经知道的,如果Z坐标取代数字值,则1.292将在CSV文件中列为“0.0”高程。
同样,如果文本值为1.292,Z坐标为0.0,CSV列表上应该出现什么值?
0.0对我来说没有意义,除非你告诉我1.292是基准标高。 先生,需要右键更改1.292文本z(高程)值为0.00“p2csv.lsp” 并将图形上的文本字符串值“1.292”更改为“0.0”?还是会保持不变?或者你是说csv的0.00应该在高程列中读为1.292? “代码”列中的文本值。
但保持更改高程值实际高度。ex 1.292至0.000实际标高。
页:
[1]
2