CatiaV5宏:如何插入背景视图?(CatiaV5 macro: how to insert ba

2019-10-28 14:08发布

我正在做一个宏来自动打开正确的纸张格式的新绘图与填充标题块,但我似乎无法弄清楚如何在页面中插入预制的.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“页面设置”

应该由做同样的事情如点击将上述图像中显示的选项码的序列置换。

Answer 1:

根据我的经验,我认为你是断写一个脚本来画一个标题栏,而不是使用模板更好。 这种方式是有关于改变纸张大小和方向更加灵活。 您还可以更新,如果纸张大小和方向的变化标题栏。 这也是CATIA怎么做标题栏与catscript。 我会避免启动命令,因为它不是用脚本执行内联。

话虽如此。 如果你想用一个“模板”,那么最好的办法就是设置你的模板catDrawing,然后你的脚本将打开模板为只读,你需要什么,然后用户将另存为。 如果你能避免启动命令



Answer 2:

直接打开.CATdrawing模板具有相同的效果。
人们可以通过使用follwing代码做到这一点:

Dim documents1 As Documents
Set documents1 = CATIA.Documents

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


文章来源: CatiaV5 macro: how to insert background view?
标签: vba catia