我试图在Inventor 2019中更改大约300多个工程图(IDW)的工程图编号。API遇到的问题是让它查找和更改正确的字符串。
示例图形编号是17-677-001,其中17-677是作业编号,而001是该图形的任意标识。我将这些图纸翻转过来,我想要一个可以批量执行的宏,以查找包含17-677的图纸编号,并仅用19-085替换17-677零件。
我有一个阅读对象模型后试图编写的代码,但我认为我错过了过程中的一些步骤。标题栏的设置方式可能是问题的一部分。我的意思是,图形编号不在标题栏定义的文本框中,而是在标题栏中以符号方式调用的属性的值。
示例:该属性的名称为,其值为17-677-001,这是需要更改的部分。
代码如下
Sub replaceDwgNo()
Dim doc As DrawingDocument
Set doc = ThisApplication.ActiveDocument
Dim sheet As sheet
Set sheet = doc.ActiveSheet
Dim tb As TitleBlockDefinition
Set tb = sheet.TitleBlock.Definition
Dim sketch As DrawingSketch
Set sketch = tb.sketch
Call tb.Edit(sketch)
Dim curText As TextBox
Set curText = sketch.TextBoxes.Item(10)
If curText.Text = "<AES_MD_NAME>" Then
On Error Resume Next
curText.FormattedText = Replace(curText.FormattedText, "17-677", "19-085")
Call tb.ExitEdit
End If
End Sub
考虑到这一点,我试图编写的代码应该在当前图形中定位该属性,检查该属性的值是否包含17-677,并仅用19-085替换17-677部分。话虽如此,我未能正确编写代码。
此代码的问题在于,它正在标题栏中搜索属性的名称,然后尝试更改该名称,而不是调用该属性的值并更改该值。我不知道如何执行此操作,因为进一步的尝试会导致语法错误等。我还可以提供IDW的副本,这将需要inventor2019。不过,我不确定如何在此处附加它。非常感谢您的宝贵时间。