Lee Mac 发表于 2022-7-6 13:23:26

像这样的?
 
(定义c:ReON()(setq*dim\U lay*“CSP\U DIMS”;;

DWG Destroyer 发表于 2022-7-6 13:27:46

太棒了与我的宏一样工作。希望这能解决蜂鸣问题!非常感谢您的持续帮助!:大声笑:
 

Lee Mac 发表于 2022-7-6 13:29:34

 
 
没问题-我只是讨厌使用宏,所以如果有LISP解决方案,我会接受。

DWG Destroyer 发表于 2022-7-6 13:31:35

嘿,我注意到这个LISP的另一点是,它不记得上次使用的dim样式,这意味着每次我想要创建一个新的dim时,我必须从现有的dim中选择维度样式。这可以修复吗?如果我决定不选择任何尺寸来匹配样式,新的尺寸标注将采用上次使用的尺寸标注的状态?
干杯
 

Lee Mac 发表于 2022-7-6 13:35:59

它应该已经记住最后一个使用。。。不管怎么说,这对我来说很重要。
 
你是说你不想每次都出现“pick”提示吗?

DWG Destroyer 发表于 2022-7-6 13:37:18

哦,当我调用dimension命令时,这令人担忧,因为它不会记得上次使用的样式!如果我没有用选择框选择样式,那么它将采用“tester”样式。拾取框不是问题!

Lee Mac 发表于 2022-7-6 13:40:45

 
如果你没有选择任何东西,它将第一次使用“Tester”,然后,一旦你选择了什么东西,它将从那时起使用它。

DWG Destroyer 发表于 2022-7-6 13:46:40

嗯,你确定吗?以下是我的lsp文件中的内容:
 
(定义c:ReON()
(setq*dim\U lay*“CSP\U DIMS”;;
*dim_sty*“测试仪”;;
)
 
(vl load com)
(setq*文件
(vla获取ActiveDocument
(vlax get acad object)))
(如果(非*变暗:反应*)
(程序
(设置*尺寸:反应*
(vlr命令反应堆零
(列表
(缺点:vlr命令将启动“strcomm”)
(缺点:vlr CommandEnded’EndComm)
(缺点:vlr命令已取消“CanComm”))
(如果(不是(tblsearch“LAYER”*dim\u lay*))
(vla添加
(vla get layers*doc)*dim\U lay*)
(如果(不是(tblsearch“DIMSTYLE”*dim\u sty*))
(vla添加
(vla get Dimstyles*doc)*dim\u sty*)
(原则)
(普林斯)
(defun strcomm(React Args/dim obj)
(setq old#lay(getvar“CLAYER”)old#sty(getvar“DIMSTYLE”))
(if(wcmatch(strcase(car Args))“*DIM*,*LEADER”)
(程序
(if(和(setq dim(car(entsel“\n选择对象以匹配样式:”))
(vlax-property-available-p
(setq obj(vlax ename->vla object dim))'样式名)
(setq*dim\u sty*(vla get StyleName Obj)))
(vl全包适用
(功能
(λ()
(vla put ActiveDimstyle*文档
(vla项目
(vla get Dimstyles*doc)*dim_sty*аа)а)
(setvar“CLAYER”*dim\u lay*))
(defun EndComm(React Args)
(如果(和old#lay old#sty
(wcmatch(strcase(car Args))“*DIM*,*LEADER”)
(程序
(vl全包适用
(功能
(λ()
(vla put ActiveDimstyle*文档
(vla项目
(vla get Dimstyles*doc)old#sty ааааа)а)
(setvar“CLAYER”old#lay)))
(普林斯)
(defun CanComm(React Args)
(如果(和old#lay old#sty
(wcmatch(strcase(car Args))“*DIM*,*LEADER”)
(程序
(vl全包适用
(功能
(λ()
(vla put ActiveDimstyle*文档
(vla项目
(vla get Dimstyles*doc)old#sty ааааа)а)
(setvar“CLAYER”old#lay)))
(普林斯)
(defun c:ReOFF(/old#lay old#sty*doc*dim_lay**dim_sty*)
(如果*变暗:反应*
(程序
(vlr删除*尺寸:反应*)
(setq*Dim:反应*无)
(原则)
(普林斯)
 
我试了很多次,但它肯定不记得上次使用的昏暗风格。帮助

Lee Mac 发表于 2022-7-6 13:48:09

因此,在您单击某个尺寸以使用其样式后,该部分是否有效?
 
下次你做尺寸时,样式会恢复到tester吗?

DWG Destroyer 发表于 2022-7-6 13:50:00

是的,它将匹配维度ok,但下次我进行调暗时,它将再次要求提供参考。如果我不给它这个参考,那么它将采用“tester”样式,而不是最后使用的样式。
页: 1 [2]
查看完整版本: 宏观故障