大家好,
我为房间的面积绘制了一些多段线。
我还有房间标记,它们是使用多行属性作为房间名称的块。
我必须做一个程序,循环拾取每个pline的过程,然后是相应的房间标签,最后将整个数据写入csv文件。
要写入的数据类似于;
房间1,50.00,30.00
Room1是从多行属性中提取的。50.00是面积,30.00是周长。
这是代码。
但它会给多行属性带来麻烦。
(defun c:ArToEx() (setq n 1)(while (> n 0) (Progn (prompt "\n") (command "AREA" "e" (entsel)) (setq ent-area (getvar"area")) (princ) (setq Perimeter (getvar"perimeter")) (sk) (setq n (+ 1 n)) )))(defun sk (/ dxf ent) (defun dxf (code ent) (cdr (assoc code (entget ent)))) (if (and (setq ent (car (entsel "\nSelect an Attributed Block: "))) (eq "INSERT" (dxf 0 ent)) (= 1 (dxf 66 ent))) (while (not (eq "SEQEND" (dxf 0 (setq ent (entnext ent)))))(progn (princ (strcat "\n---------------------------------------- " (dxf 1 ent))) (prompt (strcat ", " (rtos ent-area))) (prompt (strcat ", " (rtos Perimeter)))) ) ) (princ))
现在,我让它在命令行上提示数据。我不知道如何将其导出为csv。
此外,多行属性也带来了麻烦。
请帮忙。。。