工程图之间的标题栏复制

我在全球博客上写过一篇文章,地址为 http://adndevblog.typepad.com/manufacturing/xiaodong-liang/。这里稍微介绍多一点。

工程图的标题栏有其定义,就是在浏览窗口的图纸资源看到的。其中定义了标题栏的线条,尺寸以及文字。用户可以编辑,调整,插入到图纸。缺省工程图模板会提供几个定义,用户也可新建定义。有时,某个工程图里有不错的标题栏,而用户想在其它工程图也使用它。手动的重新描绘显然是不现实的。产品提供了复制&粘贴功能,而API也有对应的能力:

SketchBlockDefinition.CopyTo(TargetDocument )

传入参数是目标文档。


以下是一个简短的代码样例,它获取到某个工程图的标题栏,然后打开目标工程图,将此标题栏复制,并插入到图纸。


Public Sub TitleBlockCopy() 

' 假定已经定义好Inventor application: ThisApplication 

Dim oSourceDocument As DrawingDocument

oSourceDocument = ThisApplication.ActiveDocument

 

'打开目标文档

Dim oNewDocument As DrawingDocument

oNewDocument = ThisApplication.Documents.Open("e:\case\drawing1.idw")

 

' 获取源文档标题栏定义

Dim oSourceTitleBlockDef As TitleBlockDefinition 

oSourceTitleBlockDef = oSourceDocument.TitleBlockDefinitions.Item("ANSI A")

 

' 复制源标题栏定义到目标文档.

Dim oNewTitleBlockDef As TitleBlockDefinition

oNewTitleBlockDef = oSourceTitleBlockDef.CopyTo(oNewDocument)

 

' 遍历所有标题栏,删除,并用新的定义替换

Dim oSheet As Sheet

For Each oSheet In oNewDocument.Sheets

oSheet.Activate

 

oSheet.TitleBlock.Delete

Call oSheet.AddTitleBlock(oNewTitleBlockDef)

Next

End Sub



你可能感兴趣的:(工程图)