我正在尝试在 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 公式类似。感谢您的帮助。
Diesel if 语句的格式为:
$(if, expr, dotrue [, dofalse])
如果 expr 非零,则计算并返回 dotrue。
您的样本中似乎还发生了很多事情。进行完整的评估(expr部分中的第11个字符是否等于0,然后设置返回值,false部分是可选的,可以省略。
这是我为汽车表号工作的柴油表达式。在 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
”
希望这可以帮助任何想要做类似事情的人。
我创造了这个
$(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))