图纸编号标签的 Autocad Diesel IF 表达式

问题描述 投票:0回答:3

我正在尝试在 AutoCad 中使用 Diesel 表达式自动化工作表标签。

这让我得到了绘图名称中的第十二个字符。但一旦我到达第 10 页,就会显示其第 0 页。

$(substr,$(getvar,dwgname),12,1)

有谁知道如何获取 If 语句来查看第十一个字符是否为 0,然后运行上面的代码,否则运行

$(substr,$(getvar,dwgname),11,2)

这是我尝试过的。

$(IF,substr,$(getvar,dwgname),11,1)="0"$(substr,$(getvar,dwgname),11,2,substr,$(getvar,dwgname),12,1)

这看起来与 Excel 公式类似。感谢您的帮助。

autocad
3个回答
1
投票

Diesel if 语句的格式为:

$(if, expr, dotrue [, dofalse])

如果 expr 非零,则计算并返回 dotrue

您的样本中似乎还发生了很多事情。进行完整的评估(expr部分中的第11个字符是否等于0,然后设置返回值,false部分是可选的,可以省略。


0
投票

这是我为汽车表号工作的柴油表达式。在 AutoCAD 字段中。

$(if,$(substr,$(getvar,dwgname),11,1)"0",$(substr,$(getvar,dwgname),11,2),$(substr,$(getvar,dwgname),12,1))

$(if,$(substr,$(getvar,dwgname),11,1)"0"
= 字符 11 = 0
,$(substr,$(getvar,dwgname),11,2)
= 如果否,则取字符 11 和下一个字符。
,$(substr,$(getvar,dwgname),12,1))
= 如果字符 11 = 为 0,则仅取字符 11。

我在 autocad 边框中使用了两个字段。一种用于不带图纸编号的文件名,另一种仅用于图纸编号。

示例文件名:A150225_S001.dwg

$(substr,$(getvar,dwgname),1, 7)
= 使用位置 1 到 7 的字符。“
A150225

$(if,$(substr,$(getvar,dwgname),11,1)"0",$(substr,$(getvar,dwgname),11,2),$(substr,$(getvar,dwgname),12,1))
= 使用表号。在文件名字符串的末尾。 “
1

希望这可以帮助任何想要做类似事情的人。


0
投票

我创造了这个

$(if, $(>, $(substr,$(getvar,dwgname)),$(-,$(strlen,$(getvar,"dwgname")),5),1), 0),$(substr ,$(getvar,dwgname),$(-,$(-,$(strlen,$(getvar,"dwgname")),4),1),2),$(substr,$(getvar,dwgname), $(-,$(strlen,$(getvar,"dwgname")),4),1))

© www.soinside.com 2019 - 2024. All rights reserved.