CatiaV5宏:如何插入背景视图?

时间:2017-11-21 09:53:45

标签: vba catia

我正在制作一个宏来自动打开一个正确的工作表格式的新图纸,并填写了标题块,但我似乎无法弄清楚如何以与以下选项相同的方式插入预制的.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“页面设置”

应该被一系列代码替换,这些代码与点击上面图片中显示的选项完全相同。

2 个答案:

答案 0 :(得分:0)

根据我的经验,我认为你最好编写一个脚本来绘制标题块而不是使用模板。这样,它在更改纸张尺寸和方向方面更加灵活。如果图纸尺寸和方向发生变化,您还可以更新标题栏。这也是catia如何使用catscript执行标题栏。我会避免使用StartCommand,因为它不符合脚本执行的内容。

话虽如此。如果您想使用"模板",那么最好的方法是设置模板catDrawing,然后您的脚本将以只读方式打开模板,执行您需要的操作,然后是用户将保存为。如果可以,请避免 StartCommand

答案 1 :(得分:0)

直接打开.CATdrawing模板的结果相同。
可以通过使用以下代码来实现:

Dim documents1 As Documents
Set documents1 = CATIA.Documents

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