将文件名切入块
例如,我有几个CAD文件遵循相同的命名约定。 如果我能自动化,那就太神奇了。在图纸集管理器之外。目前,文件在此庄园中命名。
单位 - 学科 - 类型 - 系统 - DWG# - 工作表
示例
C1-X-41-CFS-170001-7
我有一个具有属性字段的标题栏。 (见图)有没有办法使用公式来修剪文件名特定部分前面或后面的数字,以便我可以自动填充属性。
困难的部分是任何一个部分的长度可以变化。 第一个C1可以是F45,41可以很容易地是1,最后一个数字可以是1到5字符的任何软件,
所以我正在寻找一种方法,使用分隔符“-”将文件名解析为它的部分并计数。如果我正在寻找工作表编号,我会在第4个“-”之后,但在第5个“-”之前查找文本
,我已经在excel中使用了修剪,但我不知道AutoCAD字段的完整函数列表。 我不知道如何制定计数。
每个 block 属性都有一个不同的公式,用于满足它将从文件名中获取的信息。
有什么想法吗?
**** Hidden Message ***** 李先生
,首先,感谢您为我所有其他项目提供的所有支持。我经常访问您的网站,并且对您的工作印象深刻。
话虽如此,
这样做的希望是尽量减少我们在工程师更改dwg名称时打开和关闭文件。 即 我们无需打开 60 DWG 来执行更改,只需在 Windows 资源管理器中更改数字即可。 以及用于我们的模板绘图,因此可以在新创建的DWG上自动执行此操作。 在将图纸从旧项目复制到新项目并重新定位时,这将特别方便。 因此,我肯定更喜欢某种形式的字段表达式和/或DIESEL代码。随着LSP的使用,它仍然需要打开绘图并执行功能,并且lisp必须安装在CAD技术人员的机器上,无论是在这里还是在KC中。 这对于协调/教育CAD技术人员可能会有问题。 Field Expresson和Diesel代码在整体操作上将更加干净。 虽然,从我的搜索结果来看,似乎要困难得多。
你认为这在 Field Expressions 或 DIESEL 甚至 Rtext 中是不可能的吗?
请指教。
谢谢DIW,我很感激你的感激和赞美
关于使用字段(包括DIESEL)的可能性:
如果文件名中的连字符是逗号->yes。
or
如果文件名的部分是固定长度的->yes。
否则,我会说不,因为DIESEL不提供报告字符串中字符位置的方法。
关于LISP解决方案:
首先,请注意使用字段的解决方案仍然需要您打开每个绘图以更新属性字段(也就是说,该字段只会
然而,LISP解决方案将以相同的方式运行-您只需将上述代码包含在保存到网络支持路径的
acaddoc.lsp
中,代码将在绘图启动时自动运行以更新必要的属性值-不需要用户输入,只需初始设置。
Lee 您可以用Lee的例程组合字段属性,并在LispVariable下设置字段名。无论哪种方式,都需要打开图形进行更新,如上所述。 克里斯,我不确定我明白你的意思!00%...你能详细说明吗?
我认为
柴油表达式也可以看起来像这样(假设保留相同的格式)
Unit- $(substr,$(getvar,DWGNAME),1,2)
Discipline- $(substr,$(getvar,DWGNAME),4,4)
Type- $(substr,$(getvar,DWGNAME),6,7)
system- $(substr,$(getvar,DWGNAME),9,11)
DWG#- $(substr,$(getvar,DWGNAME),13,18)
Sheet- $(substr,$(getvar,DWGNAME),20,20
) 李,
谢谢你的LISP。我仍然会继续研究这个问题...我对你的反应感到沮丧。事情确实有局限性。
我建议不要这样做,因为如果在未定义全局变量的计算机上打开绘图,则该字段将显示为空白。此外,我认为使用程序为字段设置要引用的变量没有任何好处,因为程序可以直接设置属性值 - 在这两种情况下,如果图形文件名发生变化,则需要重新评估程序。
李 谢谢你的网站。 这很有效。现在下一个怎么做..
(请原谅我不太会阅读代码...但我正在努力)
页:
[1]
2