我正在尝试在AutoCad中使用Diesel表达式自动执行工作表标签。
这使我获得了绘图名称中的第十二个字符。但是一旦我到达工作表 10,就会说它的工作表 0。
$(substr,$(getvar,dwgname),12,1)
有谁知道一种方法来获取 If 语句以查看第 11 个字符是否为 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字段中为自动工作表编号工作的Diesel表达式。
$(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。
我在自动导航边框中使用了两个字段。一个用于不带工作表编号的文件名,另一个仅用于工作表编号。
示例文件名: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
">
希望这可以帮助任何想要做类似事情的人。