xsso 发表于 2013-2-5 21:26:14

发个字段功能的lisp

本帖最后由 xsso 于 2013-2-5 22:56 编辑

字段这个功能其实是一个很好用而且非常强大的文本功能,但可能高手们都是用旧版本的CAD,因此忽略了新版本中的功能,而没有做这类功能的LISP,而此功能手动用起来也不是太顺手,本人就此功能做了个小工具,供大家研究一下,CAD2007以上才能用,(看到太多学习资料没币买)卖个源码,由于写的时候太菜所以很多函数很凌乱,连我现在看到都笑了,望大伙们请忽见笑。
命令:ty         4中除了读视口比例外,还可以文本复制,本程序写的时候只支持单行文字

注:只需要改“母体”,字段内容会自动修改,但要刷新才会变化

tranque 发表于 2025-6-5 10:29:48

本帖最后由 tranque 于 2025-6-5 10:31 编辑

2025-06-05前来考古
看楼主的演示应该是个好插件,但是评论区很多都在说运行后,TY ; 错误: no function definition: ERR_GO
实在太可惜这样的插件不被大家用到,被埋没得话还是太可惜,所以用元宝AI对插件进行了一个修复,目前测试了插件不在命令行报错了,但是没弄懂具体的使用场景,麻烦有懂得坛友告知我具体使用场景

AI修改如下

移除单项材料函数及其在字段综合中的选项。
在字段综合函数中,去掉err_go和err_EN的调用。
添加(vl-load-com)在代码开头,确保ActiveX函数可用。
由于单项材料被移除,我们将选项5从菜单中移除。

注意:由于原代码较长,我们只修改有问题的部分。
修改后的字段综合函数:
(defun 字段综合 (/ aa)
(initget "1 2 3 4")
(setq aa (getkword ""))
(cond
((= aa "4") (比例_内容))
((= aa "3") (图框属性继承))
((= aa "2") (标高继承))
((= aa "1") (单个))
)
(princ)
)
同时,我们完全移除单项材料函数。
另外,我们注意到在标高继承函数中,调用了(对象id ent_002),而对象id函数会设置全局变量nna,这可能会影响其他函数。但由于该函数只在局部使用,且原代码就是这样设计的,我们保留。
最后,我们添加(vl-load-com)在代码最前面。

Gu_xl 发表于 2013-2-6 10:00:49

本帖最后由 Gu_xl 于 2013-2-6 10:02 编辑

字段几乎可以关联实体的任何属性,CAD帮助里有详细的说明,还有一个技巧,在编辑字段对话框中,下方有字段表达式的公式显示,这个可以作为学习的示例,直接用程序写到对象上!

xiaxiang 发表于 2013-2-6 09:08:07

请补齐函数:(err_go)(err_EN)(P_go)(P_EN)

xiabin68 发表于 2013-2-5 22:09:19

什么东东,还没有见过了

smartstar 发表于 2013-2-5 22:27:23

先做个记号,节后再来学习。

CTC 发表于 2013-2-5 22:31:18

建议做个动画

xsso 发表于 2013-2-5 23:01:36

已补图,先不说这个LSP,但这个功能本身就非常强大,但想读取块里的指定属性,手动是不可能的,需要靠程序这个也是此功能的一个缺点

xsso 发表于 2013-2-6 20:29:54

Gu_xl 发表于 2013-2-6 10:00 static/image/common/back.gif
字段几乎可以关联实体的任何属性,CAD帮助里有详细的说明,还有一个技巧,在编辑字段对话框中,下方有字段表达式 ...

你框的地方就是这个程序最麻烦的地方

liuwei-1035 发表于 2013-8-6 17:52:47

楼主,输入命令怎么用不了的呀

pimgu 发表于 2014-3-1 20:23:52

TY ; 错误: no function definition: ERR_GO
页: [1] 2 3 4
查看完整版本: 发个字段功能的lisp