如何:进行线型加载及重载不报错
如何将线型一次性加载及重载不报错:"CONTINOUS""CENTER""CENTER2""DASHDOT""DASHDOT2""DASHED""DASHED2""DIVIDE""DIVIDE2""DOT""DOT2""HIDDEN""HIDDEN2"
用线型定义文件:"acad.lin"
(setq linetypes (vla-get-linetypes (vla-get-activedocument (vlax-get-acad-object))))
(mapcar '(lambda(a)
(if (not (tblsearch "ltype" a))
(vla-load linetypes
a
"acad.lin"; "acadiso.lin"
)
)
)
(list
"CONTINUOUS" "CENTER""CENTER2""DASHDOT""DASHDOT2""DASHED"
"DASHED2""DIVIDE""DIVIDE2""DOT""DOT2""HIDDEN""HIDDEN2"
)
)
(vlax-release-object linetypes)
(setq linetypes nil) 本帖最后由 gaics 于 2024-8-7 08:21 编辑
报错内容是什么?
(foreach lt '( "CONTINUOUS" "CENTER""CENTER2""DASHDOT""DASHDOT2""DASHED" "DASHED2""DIVIDE""DIVIDE2""DOT""DOT2""HIDDEN""HIDDEN2")
(if (tblsearch "ltype" lt)
(command "-linetype" "L" lt "acad.lin" "Y" "")
(command "-linetype" "L" lt "acad.lin" "")
)
)
yshf 发表于 2024-8-7 07:51
(setq linetypes (vla-get-linetypes (vla-get-activedocument (vlax-get-acad-object))))
(mapcar '( ...
命令: tt nil
yshf大佬,可不可以把这个“nill”的信息去掉呢? 加载acad.lin后,查看数据库,entmakex法, 用vl-catch-all-apply 一个一个加载,即使错了(比如没有的线型),后面的照样运行。这是梦想cad天天推荐的方法。你们就是不听,哎。。。。
这里面有一个cs-run函数可以解决这些问题
比如(/ 5 0)肯定会报错的
(cs-run '/ 5 0)返回值为nil
它对任意函数都适用,出错时返回nil,可以不中断程序 大佬们,给点代码呗!
小白一枚,get不到深奥的内容 (vl-catch-all-apply '(lambda ()
(/ 5 0)
)) 本帖最后由 lee50310 于 2024-8-8 05:34 编辑
fengyu6913 發表於2024-8-6 23:05
大佬們,給點代碼唄!
小白一枚,get不到深奧的內容
有國外lee-mac 的載入線型程式 LoadLinetypesV1-3.lsp
本帖最后由 crtrccrt 于 2024-8-7 10:31 编辑
entmakex直接生成HIDDEN
,
没有判断是否已存在该线型,自行处理吧.
页:
[1]
2