天天问 发表于 2022-3-16 12:55:44

用lisp创建标注样式(有更新)

本帖最后由 天天问 于 2022-4-19 08:48 编辑

用Lisp新建标注样式,新人往往都有这个需求,大神和老鸟可略过。
我这个源码的特点:

1.根据自身行业需求,对标注样式对话框里的“线、符号和箭头、文字、调整、主单位”5个方面几乎所有(缺了那么2,3个的样子)设置项进行了自定义。换算和公差这2个设置,因为自身用不到,所以不涉及,但是提供了参数,需要的话可以自行研究。


2.对标注样式相关的变量进行了备注。备注的名称基本与标注样式对话框里的表述一致,方便一一对应。论坛里有些资料里,备注不够准确,不能马上与标注样式对话框里名称一一对应起来。


3.代码结构还算清晰,便于理解和自定义修改。

=============================================
2022.3.18更新根据连日来自用体验,进行了以下优化:
1.优化了样式的新建机制,先判断是否有同名样式存在,如果有就放弃创建该样式。
2.命令结束后弹窗提示简要结果。已下载的朋友需要新lsp的不用重复下,留邮箱给我,我发送新lsp。






hnzkhyyl 发表于 2022-5-3 21:27:37

天天问 发表于 2022-5-3 09:56
新建标注样式本身是不需要这个IF语句的。
这个if语句是为了提供一个反馈:
(1)有新建样式时,就返回到 ...
谢谢指导,我改了一下
            (progn
                        (alert "当前文档已包含所有标注样式,不需要再次创建!")
                        (command "DIMSTYLE" "R" "F0")                        ;将标注样式F0置为当前
                        (alert (strcat "成功创建" (rtos n 2 0) "个标注样式"))
               )
                (progn
                        
                        (alert (strcat "成功创建" (rtos n 2 0) "个标注样式"))


F0是我自己的标注样式

吃冰下雹子 发表于 2023-3-20 22:52:33

本帖最后由 吃冰下雹子 于 2023-3-21 10:59 编辑

新手,测试中有两个问题,CAD2020
1.setvar "DIMJOGANG" 45,楼主注释掉了
   如果当前的标注样式的值是45,不注释掉会,命令行返回变量设置被拒绝
解决:还是注释掉或者不设置,需要有改动的先检测值,不一样在设置
2.置为当前的标注样式是注释性的,DIMSCALE设置不了,需要将注释性去掉,所以代码运行有限制
解决:找到一个不是注释性的标注样式置为当前
自带的standard不是注释性的,置为当前可以解决,但是如果有人设置了注释性需要解除一下注释性   
代码:(command "dimstyle" "an" "n" "standard" "n" nil )

paulpipi 发表于 2022-3-16 14:04:57

:victory:谢谢分享

tigcat 发表于 2022-3-16 19:56:58

谢谢分享,鼓励楼主一下!

lxl217114 发表于 2022-3-17 09:32:02

谢谢分享,不错的分享。

fxlt619 发表于 2022-3-17 15:29:50

如果是大字体,能像天正一样,定义两个字体的宽高比吗?

Noangler 发表于 2022-3-17 15:56:19

感谢分享。

天天问 发表于 2022-3-17 20:19:46

fxlt619 发表于 2022-3-17 15:29
如果是大字体,能像天正一样,定义两个字体的宽高比吗?

抱歉,这个还真没研究过呢

czb203 发表于 2022-3-17 21:18:30

谢谢分享,不错的分享。

liwen888888 发表于 2022-3-18 15:44:43

看图片就知道是好东西,可惜没有币下载

天天问 发表于 2022-3-18 16:08:36

liwen888888 发表于 2022-3-18 15:44
看图片就知道是好东西,可惜没有币下载

普通东西不值钱,要的话给我个邮箱,送你了
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 用lisp创建标注样式(有更新)