Search code examples
vbacatia

CatiaV5 macro: how to insert background view?


I'm making a macro to automatically open a new drawing on the correct sheet format with filled in title block but I can't seem to figure out how to insert a pre-made .CATDrawing in the same way the following option in the page setup dialog box would:

see here: https://i.sstatic.net/BJTTr.png

my current progress looks like this:

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

This line here

CATIA.StartCommand "Page Setup"

should be replaced by a sequence of codes that does the same thing as clicking the options would as shown in the image above.


Solution

  • Directly opening the .CATdrawing template has the same result.
    One can do this by using the follwing code:

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