【问题标题】:CatiaV5 macro: how to insert background view?Catia V5 宏:如何插入背景视图?
【发布时间】:2017-11-21 09:53:44
【问题描述】:

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

应替换为与单击选项相同的代码序列,如上图所示。

【问题讨论】:

    标签: vba catia


    【解决方案1】:

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

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

    【讨论】:

    • 我们已经拥有所有图纸尺寸的模板,因为我只是从不同的 CAD 软件将它们导出为 .dwg,然后我可以将它们复制粘贴到 CATIA。我敢肯定,当我真的应该着手实际制作图纸时,我会花太多时间学习如何绘制线条和其他文本。您是说我应该立即打开 .CATdrawing 模板,而不是使用 Set MyDrawingDoc = documents1.Add("Drawing") 创建新绘图。我明天会尝试弄清楚如何做到这一点。如果我再次卡住,我会发一个新帖子。
    • @LaurensRuben 是的,我明天会发布一小段代码来回答我的问题。
    【解决方案2】:

    直接打开.CATdrawing模板也一样。
    可以使用以下代码来做到这一点:

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

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多