2017-11-21 4 views
0

Ich mache ein Makro, um automatisch eine neue Zeichnung auf dem richtigen Blattformat mit ausgefüllten Titelblock zu öffnen, aber ich kann nicht herausfinden, wie Sie ein vorgefertigtes .CATDrawing in der gleichen Weise die folgende Option in einfügen das Dialogfeld Seite einrichten würde:CatiaV5-Makro: Wie wird die Hintergrundansicht eingefügt?

siehe hier: https://i.imgur.com/goClGIh.png

mein aktueller Fortschritt wie folgt aussieht:

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 

diese Linie hier

CATIA.StartCommand "Seite einrichten"

sollte durch eine Sequenz von Codes ersetzt werden, die dasselbe tut wie das Klicken auf die Optionen, wie im Bild oben gezeigt.

Antwort

0

Das direkte Öffnen der .CATdrawing-Vorlage hat das gleiche Ergebnis.
Man kann dies tun, indem Sie den follwing Code verwendet:

Dim documents1 As Documents 
Set documents1 = CATIA.Documents 

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

Meiner Erfahrung nach ist es besser, wenn Sie ein Skript schreiben, um einen Titelblock zu zeichnen, anstatt eine Vorlage zu verwenden. Auf diese Weise ist es flexibler in Bezug auf die Blattgröße und -ausrichtung. Sie können den Title-Lock auch aktualisieren, wenn sich Blattgröße und Ausrichtung ändern. Das ist auch, wie catia titleblocks mit dem catscript macht. Ich würde StartCommand vermeiden, da es nicht mit der Skriptausführung verknüpft ist.

Das gesagt. Wenn Sie eine "Vorlage" verwenden möchten, ist dies am besten, indem Sie Ihre Vorlage catDrawing einrichten. Anschließend öffnet das Skript die Vorlage als schreibgeschützt, macht das, was Sie benötigen, und der Benutzer speichert dann. Vermeiden Sie StartCommand wenn Sie können.

+0

Wir haben bereits Vorlagen aller Blattgrößen, weil ich sie aus einem anderen CAD-Software als .dwg nur exportiert, und ich kann nur kopieren Sie sie in CATIA einfügen. Ich bin mir ziemlich sicher, dass ich viel zu viel Zeit damit verbringen würde, zu lernen, wie man Linien und andere Texte zeichnet, wenn ich wirklich damit anfangen sollte, Zeichnungen zu machen. Sie sagen, ich sollte die .CATdrawing Vorlage sofort öffnen, anstatt eine neue Zeichnung mit Set MyDrawingDoc = documents1.Add ("Zeichnung") Ich werde versuchen, herauszufinden, wie das morgen tun. Ich werde einen neuen Post machen, wenn ich wieder festsitze. –

+0

@LaurensRuben Ja, ich poste morgen eine kleine Code-Probe zu meiner Antwort. – GisMofx

Verwandte Themen