請教把平面圖上的點位匯出成TXT檔的LISP
請教一下我如果想要把平面圖上的點位(或一條線的二端點位)要逐批的匯出成TXT檔的話,原理的方式就是,執行LISP之後,出現下列的選項供選擇,然後用滑鼠選取所需要的點位(X、Y、Z)點位與點位或X、Y、Z座標的值互相1個空格,然後可以選取1點或無限點位,選擇完之後就會把所選的點位匯出至TXT檔。譬如:步驟一、執行LISP步驟二、選擇選項(假設選擇_line)步驟三、點選6個點位,按ENTER步驟四、產生TXT檔 _line 2 .15 4.1 6.2 4 5 3 6.7 4 2 3 6 5 1 7 5.1 9.5 9_borehole_point_line_beam_n2nanchor_embeddedpile_well_linedrain_polycurve_surface_fixedendanchor_plate_geogrid 請各位前輩指導,謝謝。目标不明确。
既然已经选择LINE了,还要点选什么?是LINE的端点,还是LINE与其它线条的交点? ZZXXQQ 发表于 2014-2-20 08:08 static/image/common/back.gif
目标不明确。
既然已经选择LINE了,还要点选什么?是LINE的端点,还是LINE与其它线条的交点?
您好
因為我只要取「座標點XYZ值」,至於為什麼匯出TXT後,座標點前面會有_line或其他指令
只是方便讓我把XYZ值轉成「命令列」匯入其他程式之用。 DATAEXTRACTION试一试 本帖最后由 ZZXXQQ 于 2014-2-21 07:54 编辑
;输出txt档 明经 ZZXXQQ 2014.2.20
(defun c:tt ()
(setvar "CMDECHO" 0)
(setvar "DIMZIN" 8)
(setq plst (list))
(setq cmdlst "Borehole Point Line bEam N2nanchor eMbeddedpile Well linedDrain polyCurve Surface Fixedendanchor plaTe Geogrid ")
(initget cmdlst)
(if (setq cmd (getkword (strcat cmdlst ": "))) (progn
(setq cmd (strcat "_" (strcase cmd T)))
(while (setq pt (getpoint "\n选择点: "))
(setq plst (cons pt plst))
)
(setq plst (reverse plst))
(setq fn (if (= (type fn) 'STR) fn ""))
(if (setq fn (getfiled "输出文档" fn "txt" 1)) (progn
(setq fp (open fn "w"))
(princ cmd fp)
(foreach x plst (foreach y x (princ (strcat " " (rtos y 2 3)) fp)))
(close fp)
))
))
(setvar "CMDECHO" 1)
) ZZXXQQ 发表于 2014-2-20 20:13 static/image/common/back.gif
您好
請教您一下
我剛剛試了一下您所寫的
很順利的可以在CAD上執行,然後一點一點的點
點完之後按ENTER
會提示要存成×××.TXT
但是打開所存的×××.TXT後,內容是空白的!!@@
沒有任何的數值! p-3-ianlcc 发表于 2014-2-20 20:37 static/image/common/back.gif
您好
請教您一下
我剛剛試了一下您所寫的
我是使用2014版本的CAD,會跟版本有關係嗎?@@ p-3-ianlcc 发表于 2014-2-20 20:50 static/image/common/back.gif
我是使用2014版本的CAD,會跟版本有關係嗎?@@
5楼改了。文件未关闭。 嗯,謝謝您的指導及協助
非常的感恩,問題已經解決了
是不是匯出去的TXT檔是空白的問題,原因是…文件未關閉的關係嗎?
那像之前2008版本的CAD所使用的LISP,目前使用在2014上也有相同類似的問題! p-3-ianlcc 发表于 2014-2-21 22:18 static/image/common/back.gif
嗯,謝謝您的指導及協助
非常的感恩,問題已經解決了
是不是匯出去的TXT檔是空白的問題,原因是…文件未關 ...
是文件未关闭的问题。
页:
[1]
2