我正在制作一个宏,以自动打开带有填充标题块的正确工作表格式上的新绘图,但我似乎不知道如何插入预先生成的.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“页面设置”
应该被一系列代码替换,这些代码与单击选项所做的事情相同,如上面的图像所示。
发布于 2017-11-29 08:54:39
直接打开.CATdrawing模板具有相同的结果。
通过使用折叠代码可以做到这一点:
Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim mydrawingdoc As DrawingDocument
Set mydrawingdoc = documents1.Open("Path\Template.CATDrawing")发布于 2017-11-21 18:44:43
根据我的经验,我认为您最好用脚本来绘制标题块,而不是使用模板。这样,它在改变纸张大小和方向方面更加灵活。如果工作表大小和方向发生变化,还可以更新标题块。这也是catia用catscript做标题块的方法。我会避免StartCommand,因为它与脚本执行不一致。
这么说吧。如果您想使用“模板”,那么最好的方法是设置模板catDrawing,然后脚本将以只读方式打开模板,执行所需的操作,然后用户将保存为- as。如果可以的话,尽量避免StartCommand。
https://stackoverflow.com/questions/47410051
复制相似问题