Catia V5 宏:如何插入背景视图?

CatiaV5 macro: how to insert background view?

我正在制作一个宏,以自动打开正确 sheet 格式的新绘图并填充标题栏,但我似乎无法弄清楚如何插入 pre-made 。 CATDrawing 的方式与页面设置对话框中的以下选项相同:

看这里:https://i.imgur.com/goClGIh.png

我目前的进度是这样的:

Sub CATMain()

Dim partDoc As PartDocument
Set partDoc = CATIA.ActiveDocument

Dim myParam As Parameter
Set myParam = partDoc.Part.parameters.Item("Description")

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim MyDrawingDoc As DrawingDocument
Set MyDrawingDoc = documents1.Add("Drawing")

MyDrawingDoc.Standard = catISO

Dim MyDrawingSheets As DrawingSheets
Set MyDrawingSheets = MyDrawingDoc.Sheets

Dim MyDrawingSheet As DrawingSheet
Set MyDrawingSheet = MyDrawingSheets.Item("Sheet.1")

MyDrawingSheet.PaperSize = catPaperA3

MyDrawingSheet.[Scale] = 1#

MyDrawingSheet.Orientation = catPaperLandscape

**CATIA.StartCommand "Page Setup"**

Dim dView As DrawingViews
Set dView = MyDrawingSheet.Views
dView.Item("Background View").Activate

AddTextWithLinkedParameter dView, 20, 20, myParam

End Sub

Sub AddTextWithLinkedParameter(dViewToContainTheText As DrawingViews, xPos, yPos, Optional param As Parameter)

Dim dtext As DrawingText
Set dtext = dViewToContainTheText.ActiveView.Texts.Add("", xPos, yPos)

If Not param Is Nothing Then
dtext.InsertVariable 0, 0, param
End If

End Sub

这一行在这里

CATIA.StartCommand "Page Setup"

应替换为一系列代码,这些代码的作用与单击选项相同,如上图所示。

根据我的经验,我认为您最好编写脚本来绘制标题栏,而不是使用模板。这样,它在更改 sheet 大小和方向方面更加灵活。如果 sheet 大小和方向发生变化,您还可以更新标题栏。这也是 catia 使用 catscript 制作标题栏的方式。我会避免使用 StartCommand,因为它不与脚本执行内联。

话虽这么说。如果你想使用 "template",那么最好的方法是设置你的模板 catDrawing 然后你的脚本将打开模板作为 read-only,做你需要的,然后用户将save-as。如果可以,请避免使用 StartCommand

直接打开.CAT绘图模板也是一样的结果
可以使用以下代码做到这一点:

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim mydrawingdoc As DrawingDocument
Set mydrawingdoc = documents1.Open("Path\Template.CATDrawing")