| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
|
Autor
|
Thema: Catia Drawing neus Blatt mit Masstab 1:1 (2157 mal gelesen)
|
johang Mitglied Konstrukteur/Administrator

 Beiträge: 50 Registriert: 03.05.2006 Catia V5R21 SP3 SmarTeam V5R21 SP3 Windows XP Professional x64 Edition SP2 Hardware HP workstation xw8600
|
erstellt am: 07. Apr. 2009 08:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen Ich versuche ein Makro zu erstellen, das in einem geöffneten Catia Drawing ein neues Blatt erstellt und folgende Bedingungen erfüllt: 1. Neues Blatt erstellen 2. Benennung z.B. "DXF" 3. Massstab 1:1 4. Format A3 ISO, Querformat Kann mir jemand helfen wie ich Position 3 und 4 erreiche. Momentan sieht das Script so aus: --- Language="VBSCRIPT" Sub CATMain() Set drawingDocument1 = CATIA.ActiveDocument Set drawingSheets1 = drawingDocument1.Sheets Set drawingSheet1 = drawingSheets1.Add("DXF") End Sub --- Sorry, das sind meine ersten Gehversuche mit scripting. Besten Dank für eure Hilfe Gruss johang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 07. Apr. 2009 09:33 <-- editieren / zitieren --> Unities abgeben:          Nur für johang
Hallo johang, hier mal ein Beispielscript mit Kommentaren: Code:
Sub CATMain()
'**********************************Abfrage Dokumente********************************** 'Dieser ganze Abschnitt wird verwendet um sicherzustellen das das Makro auch nur ausgeführt wird 'wenn eine Zeichnung aktive ist. Sonst läuft dein Script später auf einen Fahler und bricht ab '(spätestens in der Zeile "Set oSheets = oDoc.Sheets" den nur die Zeichnung besitzt auch eine Kollektion 'mit dem Namen Sheets auf die CATIA zugreifen kann Dim oFenster As Windows Dim oDoc As Document Dim ObjType As String Set oFenster = CATIA.Windows If oFenster.Count = 0 Then Box = MsgBox("Es ist kein Dokument geladen!" + Chr(10) + "Das Makro kann nicht ausgeführt werden und wird beendet!", vbCritical, "Keine Dokument geladen") Exit Sub End If Set oDoc = CATIA.ActiveDocument ObjType = TypeName(oDoc) If ObjType <> "DrawingDocument" Then Box = MsgBox("Das aktive Dokument ist kein Zeichnung!" + Chr(10) + "Das Makro kann nicht ausgeführt werden!", _ vbCritical + vbOKOnly, "Falscher Dateityp") Exit Sub End If '********************************************************************************************************* 'Deklaration aller Variablen zur Speicherplatzreduzierung Dim oDoc As DrawingDocument Dim oSheets As DrawingSheets Dim oSheet As DrawingSheet 'Hier wird der Variablen "oDoc" das gerade aktive Dokument (in dem Fall deine Zeichnung) zugewiesen Set oDoc = CATIA.ActiveDocument 'Aus dem aktiven Dokument kannst du dir die Kollektion der Blätter holen '(nur wenn das aktive Dokument auch eine Zeichnung ist!) Set oSheets = oDoc.Sheets 'Hier erstellt du in die Kollektion "oSheets" ein neues Blatt mit der ADD-Methode. 'Dem Item wird zur Kennung der Wert "DXF" zugewiesen (das steht dann in CATIA nicht im Strukturbaum 'sondern NUR auf der Leiste oberhalb der Blatter) Set oSheet = oSheets.Add("DXF") 'Hier wird dem Blatt der Name "DXF" zugewiesen (das steht im Strukturbaum) oSheet.Name = "DXF" 'Hier wird dem neuen Blatt die Papiergröße zugewiesen oSheet.PaperSize = catPaperA3 'Hier wird im die Ausrichtung zugewiesen oSheet.Orientation = catPaperLandscape End Sub
ANMERKUNG: Wenn du das ganze in eine CATVbs einfügst dann musst du die ganzen Deklarationen (also die "DIM" Anweisungen löschen bzw. auskommentieren. CATVbs deklariert sich alle Variablen selber und das führt bei DIM Anweisungen dann zu Laufzeitfehlern. Bei CATScripten und CATVba kannst du die Deklarationen im Script lassen. Ich hoffe ich konnte helfen. Bei Fragen einfach wieder an dieser Stelle melden
------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
johang Mitglied Konstrukteur/Administrator

 Beiträge: 50 Registriert: 03.05.2006
|
erstellt am: 07. Apr. 2009 10:09 <-- editieren / zitieren --> Unities abgeben:         
Wow, besten Dank... es funktiniert!!! Wenn ich das richtig verstanden habe wird der Massstab standardmässig 1:1 gesetzt? Besten dank für die prompte und sehr detaillierte Antwort. Das war sehr hilfreich!!! Gruss johang
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 Ehrenmitglied V.I.P. h.c. Manager
     
 Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 07. Apr. 2009 12:47 <-- editieren / zitieren --> Unities abgeben:          Nur für johang
Hallo, ja der Massstab ist standartmäßig 1:1. Du könntest ihn aber mit folgender Methode ändern (falls du es irgendwann mal brauchst): ... oSheet.Scale 1.00000 ... ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |