我正在制作一个宏来自动打开一个正确的工作表格式的新图纸,并填写了标题块,但我似乎无法弄清楚如何以与以下选项相同的方式插入预制的.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“页面设置”
应该被一系列代码替换,这些代码与点击上面图片中显示的选项完全相同。
答案 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")