ALXY 发表于 2011-6-8 16:07

从TXT文件中读取图层名字,并在CAD中新建图层

本帖最后由 ALXY 于 2011-6-9 00:45 编辑

各位好,现有如下编程申请。
1.从TXT文件中只读取图层名字(一般情况下,图层名字较多),然后在CAD中建图层。
2.txt文件的位置可以进行选择。
3.图层颜色、线形随层。
4.若cad中已有此某一图层,则跳过此图层,继续往下读取并新建图层。

txt文件见附件。

谢谢大家!

yoyoho 发表于 2011-6-8 16:07

本帖最后由 yoyoho 于 2011-6-9 10:13 编辑

以lincctw_ccl 楼主的程序为蓝本,局部调整,不晓得是不是你要的结果.
ourlay_a.LSPT
程序如下:

;;DATA档:customerlay_data.DAT
(defun C:ourlay_a (/ DATA FF STRSS)
(setvar "cmdecho" 0)
(setq FF (open "c:\\ourlay_data.TXT" "r"));;TXT 文件路径
(read-line FF) ;略过第一列图层名称线型   颜色
(setq DATA (read-line FF))
(while (/= DATA "end")
    (setq STRSS (read (strcat "(" DATA ")")))
    (entmake (list '(0 . "layer")
   '(100 . "AcDbSymbolTableRecord")
   '(100 . "AcDbLayerTableRecord")
   (cons 2 (car STRSS))
   '(70 . 0)
   ;(cons 62 (last STRSS))
   ;(cons 6 (cadr STRSS))
   )
    )
    (setq DATA (read-line FF))
)
(close FF)
(princ "\n-----------<<自建专用图层己完成>>------------")
(princ)
)

ourlay_data.txt ( 资料档路径 C:\ourlay_data.txt )
资料档如下:

图层名称
"0"         
"1"         
"2"      
"3"      
"4"      
"5"      
"6"      
"7"      
"8"      
"9"      
"10"      
"11"      
"17"         
"18"      
"19"      
end


cjjh8301 发表于 2011-6-8 17:12

给你一个   可以自己修改 添加 图层并可以设定 颜色 线型

ALXY 发表于 2011-6-8 17:56

本帖最后由 ALXY 于 2011-6-8 17:58 编辑

非常感谢 cjjh8301 的程序,但是这个程序与我想要达到的要求有些差别。
我的目的是通过读取TXT文件中的图层的名字,来建立对应的图层。
通常来说,这个文件中的图层名是非常多的。

lincctw_ccl 发表于 2011-6-8 20:08

本帖最后由 lincctw_ccl 于 2011-6-8 20:27 编辑

ourlay_data.txt 副檔名改成 ourlay_data.datourlay_data.dat 檔案放哪
(setq FF (open "c:\\lsp\\ourlay_data.dat" "r"));;dat 文件路徑
這一段文字 改成相應路徑就行!
lsp 和 dat 內的文字為繁体
你自己轉成簡体版

希望能幫到你


ALXY 发表于 2011-6-9 00:41

回复 lincctw_ccl 的帖子

lincctw_ccl 你好,非常感谢你的回帖!
但你的程序与我的原始想法并不完全相同,我所能提供的TXT文件中,只包含图层的名字(一行一个图层名字),对图层的其他特性不定义。不知道以这种文件的格式能否达到预期的效果呢?
非常感谢!

lincctw_ccl 发表于 2011-6-9 00:53


那就幫不了你了 其實我和cjjh8301 所提供的都能達到您的要求!
只須做點小修改!



ALXY 发表于 2011-6-9 13:31

首先非常感谢 yoyoho,你所修改的程序正是我想要的,在这里也非常感谢lincctw_ccl和cjjh8301 的帮助,明经的热心人很多!

sy100 发表于 2011-6-26 07:33

谢谢!xuexi

njut_prince 发表于 2011-10-7 10:44

我也需要一个哦,,,
页: [1] 2
查看完整版本: 从TXT文件中读取图层名字,并在CAD中新建图层