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



我正在尝试在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">

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

相关内容

  • 没有找到相关文章

最新更新