hmsilva 发表于 2022-7-5 18:06:03

恢复MLeader样式Arro

大家好,
几天前,我遇到了这种情况:
有人试图通过编程将MLeaderStyle箭头符号恢复为默认的闭合填充符号,但没有成功。
 
我尝试恢复,首先我用“.”将系统变量“dimldrblk”设置为默认值,然后我尝试用“vla put ArrowSymbol”和“vlax put property”进行更改,总是得到相同的错误“未找到自动错误键”,我提供了键“”"_." “CloseFilled”和其他许多方法也没有成功。
 
为了解决这种情况,我复制了现有样式,将名称更改为原始样式,使用以前样式的定义创建了一个新样式,但没有提供“Arrowsymbol”定义,因此新样式获得了旧设置,但使用默认的“Arrowsymbol”闭合填充,我收集了所有使用旧样式的多重引线,并将“StyleName”属性更改为它们中的每一个。。。
 
我认为这是太多的工作,只是回到默认的“箭头符号”。
如果有人有一个更简单的方法,或知道哪个键将被接受为默认键,或关闭填充,我将非常感激。
 
干杯
亨里克

Lee Mac 发表于 2022-7-5 18:15:04

 
请注意,DIMLDRBLK系统变量适用于标注样式引线(引线/QLEADER),而不是MLeader。
 
关于arrowsymbol特性,不幸的是,这必须采用图形中定义的块的值,并且不符合文档中描述的行为(意外)

hmsilva 发表于 2022-7-5 18:21:53

 
 
李,
我知道DIMLDRBLK系统变量适用于标注样式引线,但仅用于测试,请尝试设置不同于DIMLDRBLK中定义的箭头符号。
 
已编辑:
我没有正确地解释自己,使用“DIMLDRBLK”只是在dwg上放置一个块定义,我们设置的值为“DIMLDRBLK”。
 
例如:
我的dwg中只有一个多重引线样式,“standard”,我需要将箭头符号更改为“\u BoxBlank”,如果我尝试将“\u BoxBlank”分配给rrowsymbol,我会收到错误消息“Automation error Key not found”,但如果我首先将“DIMLDRBLK”设置为“\u BoxBlank”,则不会给出任何错误,因为块已经存在。
我尝试使用“DIMLDRBLK”设置为“.”,是要在dwg中放置一个块定义为“_ClosedFilled”,然后设置箭头符号。。。
 
TIA
亨里克

ksperopoulos 发表于 2022-7-5 18:30:34

 
因此,在尝试为多重引线设置箭头样式时,使用vlax put属性或vla put arrowsymbol不是有效的函数?如果我试图使用一种现成样式,是否需要将该块添加到块集合?

Lee Mac 发表于 2022-7-5 18:38:43

 
是的,可以使用vla put arrowsymbol,但也可以,首先需要定义一个块,其块名是该特性的有效特性值之一。

ksperopoulos 发表于 2022-7-5 18:46:04

好啊所以我用。。。

(setq acadobj (vlax-get-acad-object)
       doc (vla-get-activedocument acadobj)
       blkcoll (vla-get-blocks doc)
)

 
然后,我继续使用。。。

(vla-add blkcoll (vlax-3d-point 0 0 0) "_ClosedBlank")

 
(这不是我想要的箭头样式,但它不允许我为闭合填充样式添加“”。)
 
这使我能够成功地将箭头样式更改为闭合空白,但它在引线末端不可见。我是否正确添加了块?此外,我正在使用帮助文件中给出的名称,如图所示。

Lee Mac 发表于 2022-7-5 18:51:31

 
是的,您已经正确定义了块,但是,块定义为空,因此需要将适当的对象添加到定义中。

ksperopoulos 发表于 2022-7-5 18:55:11

那么,我需要重新绘制箭头还是将块作为模板文件的一部分手动加载到图形中?
 
此外,在将样式添加到块集合时,如果不接受键“”,如何定义默认的“闭合填充”?

Lee Mac 发表于 2022-7-5 19:03:55

 
是-基本上,需要在图形中定义块,才能用作多重引线样式的箭头。
 
 
我不知道怎么解决这个问题。

ksperopoulos 发表于 2022-7-5 19:12:00

好吧,这太糟糕了——对两个人来说!谢谢你的帮助。
页: [1]
查看完整版本: 恢复MLeader样式Arro