wimal 发表于 2022-7-5 15:49:14

Acad。通过lisp加载lin文件

你能给我一个lisp代码来加载acad吗。lin文件

ReMark 发表于 2022-7-5 16:07:23

这里的目标到底是什么?是否加载acad中包含的每种线型。林?

SLW210 发表于 2022-7-5 16:23:46

像这样的东西是我在旧笔记中看到的。
 
(command "_.-linetype" "load" "*" "path to .lin" "")
 
您也可以使用命令行版本的Layer命令(-Layer)来加载线型,至少您以前在AutoCAD 2011中使用过并且似乎在AutoCAD 2011中使用过。

mostafa badran 发表于 2022-7-5 16:28:25

试试这个。
(defun c:loadltypes ( / fn f rl ltname ltypes )
(setq fn (open (setq f (findfile "acadiso.lin")) "r"))
(while (setq rl (read-line fn))
   (if (eq "*" (substr rl 1 1)) (setq ltname (substr rl 1 (vl-string-position (ascii ",") rl))))
   (if ltname
   (progn
       (setq ltname (vl-string-left-trim "*" ltname))
       (setq ltypes (cons ltname ltypes))
   )
   )
)
(foreach ln ltypes
   (command "_.linetype" "l" f "" "s" ln "")
)
(command "_.linetype" "s" "ByLayer" "")
(princ)
)

tombu 发表于 2022-7-5 16:38:19

李·麦克的http://www.lee-mac.com/loadlinetype.html将搜索lin文件并加载线型列表,提供重新定义它们的选项。我使用几个lin文件作为Arial使用的Arial字体。林生成清晰可见的点和箭头线型。如果需要,我会先使用另一个lisp添加文本样式。
*STriangle, Solid Triangle__/_\_/_\__/_\_/_\_/_\_
S,.000000001,-.05,["\U+25BA",Arial,S=0.02,R=90,Y=-.0019],-.05
*ARROWH,Arrowhead>>>>>>>
A,.000001,-3,["\U+25BA",Arial,S=3,R=0,X=-1.35,Y=-1.35],.000001,-4
*ArialARROW,Arrow1>>>>>>>
S,.000001,-3,["\U+25AC",Arial,S=3,R=0,X=-1.35,Y=-1.05],.000001,["\U+25BA",Arial,S=3,R=0,X=0.5,Y=-1.42],.000001,-4
*ArialDOT,Dot . . . . . . . . . . . . . . . . . . . . . . . .
A,0,-.125,["\U+2022",Arial,S=.05,Y=-.024],-.125
*ArialDOT2,Dot (.5x) ........................................
A,0,-.0625,["\U+2022",Arial,S=.05,Y=-.012],-.0625
*ArialDOTX2,Dot (2x) ..............
A,0,-.25,["\U+2022",Arial,S=.05,Y=-.048],-.25

我的Acad。林和FDOT。林的档案很大。我永远不会把它们全部载入一张图中。

wimal 发表于 2022-7-5 17:01:04

谢谢大家。
页: [1]
查看完整版本: Acad。通过lisp加载lin文件