Autor
|
Thema: Zeichnungsansicht vom Catproduct? (2611 mal gelesen)
|
ser4 Mitglied
Beiträge: 5 Registriert: 30.11.2011 V5 R19 SP1 T9300(2x2,6GHz), 2GB RAM NVidia Quadro FX360M(512M GRAM)
|
erstellt am: 07. Dez. 2011 09:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, ich stehe ein wenig auf dem Schlauch: es war ein Macro angedacht, dass von allen 3d-Geomnetrien in einem Verzeichnis ein Zeichnungansicht estellt. Bei den CATParts fuktioniert das auch, aber sobald das Macro ein Catproduct findet bringt es eine Fehlermeldung s. Bild (Verfahren Document ist fehlgeschlagen). Ich habe bereits versucht Ablauf zu kürzen und fand heraus, dass Catproduct-Aufruf funktioniert, wo es hängt, ist vermutlich Zuweisung von GenerativeBehavior. Code:
Sub CATMain()' Set the CATIA popup file alerts to False ' It prevents to stop the macro at each alert during its execution CATIA.DisplayFileAlerts = False ' Set the file system object containig the folder Dim oFileSys As FileSystem Set oFileSys = CATIA.FileSystem 'Define the path's folder where we are looking for Parts Dim sFolderPath As String sFolderPath = InputBox( "Enter a folder path:", "Create Drawings", _ sDocPath & "input Folder Path") If (Not oFileSys.FolderExists(sFolderPath)) Then Err.Raise 9999,,sFolderPath & ": This Folder does not exist" End If 'Define the path's folder where we are saving drawings Dim sFolderPathOut As String sFolderPathOut = InputBox( "Enter a output folder path:", "Save Drawings", _ sDocPath & "output Folder Path") If (Not oFileSys.FolderExists(sFolderPathOut)) Then Err.Raise 9999,,sFolderPath & ": This Folder does not exist" End If ' Set the folder object Dim oFolder As Folder Set oFolder = oFileSys.GetFolder(sFolderPath) ' Loop on the files collection of the folder ' For Each File In Folder.Files Dim iI For iI = 1 To oFolder.Files.Count Dim oFile As Object Set oFile = oFolder.Files.Item(iI) ' Retrieve in the files collection only the Parts documents from its extension If InStr(oFile.Name, ".CATP" ) <> 0 Then 'soll theoretisch Catparts wie auch Catproducts aufrufen 'und aufruf funktioniert auch, spätere Ansichterstellung nicht ' Set and open a Part document Dim oDoc As Document Set oDoc = CATIA.Documents.Open(oFile.Path) 'Set oDoc = CATIA.ActiveDocument Dim product1 As Product Set product1 = oDoc.Product 'User parameter filling & edit here End If ' Create a drawing document: it becomes the active document. Dim oDrawing As DrawingDocument Set oDrawing = CATIA.Documents.Open("C:\Arbeitsverzeichnis\test_2d\Template_drw.CATDrawing") ' Retrieve the active sheet Dim oSheet As DrawingSheet Set oSheet = oDrawing.Sheets.ActiveSheet ' Create a view called "Front View" in this sheet Dim oFrontView As DrawingView Set oFrontView = oSheet.Views.Add("Front View") ' Retrieve it generative behavior Dim oFrontViewGB As DrawingViewGenerativeBehavior Set oFrontViewGB = oFrontView.GenerativeBehavior ' Declare the part to draw in this front view '>>>>>>>>>>>>>>>>>>>>hier kommt zu Fehlermeldung<<<<<<<<<<<<<<<<<<<< oFrontViewGB.Document = oDoc ' Define this view as a front view, with the XY plane (in oFile) as projection plane oFrontViewGB.DefineFrontView 1, 0, 0, 0, 1, 0 ' Position the View in the Sheet oFrontView.x = 300 oFrontView.y = 150 ' Update the view oFrontViewGB.Update 'save as 'Dim generativDoc As Document Dim oName As String oName = oFrontView.GenerativeBehavior.Document.ReferenceProduct.Parent.Name oName1 = Left(oName, InStrRev(oName, ".") - 1) msgbox (sFolderPathOut & "\" & oName1 & ".CATDrawing") 'CATIA.ActiveDocument.SaveAs (sFolderPathOut & "\" & oName1 & "Zusatz1" & ".CATDrawing") 'CATIA.ActiveDocument.Close 'CATIA.ActiveDocument.Close Next End Sub
Wie unterscheidet sich in diesem Fall Part vom Product? Für jede Hilfestellung bin ich euch sehr dankbar! Grüße ------------------ ...Mäuse weinten, stachen sich blutig, frassen der Kaktus aber weiter... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 07. Dez. 2011 12:07 <-- editieren / zitieren --> Unities abgeben: Nur für ser4
|
ser4 Mitglied
Beiträge: 5 Registriert: 30.11.2011 V5 R19 SP1 T9300(2x2,6GHz), 2GB RAM NVidia Quadro FX360M(512M GRAM)
|
erstellt am: 07. Dez. 2011 12:36 <-- editieren / zitieren --> Unities abgeben:
|
Bemik Mitglied
Beiträge: 2 Registriert: 12.12.2013
|
erstellt am: 17. Dez. 2013 22:10 <-- editieren / zitieren --> Unities abgeben: Nur für ser4
|
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 17. Dez. 2013 23:39 <-- editieren / zitieren --> Unities abgeben: Nur für ser4
Hallo, Die Zeile: Code: If InStr(oFile.Name, ".CATP" ) <> 0 Then 'soll theoretisch Catparts wie auch
in Code: If InStr(oFile.Name, ".CATPart" ) <> 0 Then 'soll theoretisch Catparts wie auch
ändern
------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bemik Mitglied
Beiträge: 2 Registriert: 12.12.2013
|
erstellt am: 18. Dez. 2013 14:42 <-- editieren / zitieren --> Unities abgeben: Nur für ser4
Hallo, wenn ich ".CATPart" einsetze versucht es trotzdem die Producte abzuleiten und gibt ind er Zeile:
' Declare the part to draw in this front view oFrontViewGB.Document = product1 ein Fehler aus. Gruß Bemik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Dez. 2013 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für ser4
Servus Vermutlich muss das "End if" weiter nach hinten geschoben werden (vor "next") Beim Erzeugen einer Ansicht aus einem CATPart muss wohl das Dokument übergeben werden (oFrontViewGB.Document = oDoc). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
patrickbucher1 Mitglied Konstrukteur
Beiträge: 3 Registriert: 28.04.2014 Catia V5
|
erstellt am: 29. Apr. 2014 09:47 <-- editieren / zitieren --> Unities abgeben: Nur für ser4
|
| Mechatroniker / Elektroniker / Elektriker (m/w/d) Baugruppenmontage | Nutzen Sie unsere über 40-jährige Branchenerfahrung im Großraum München. Durch uns erhalten Sie den Einstieg zu erfolgreichen Unternehmen sowie bekannten Marktführern auf dem Weg der Personalvermittlung. Wir suchen ab sofort oder zu einem späteren Zeitpunkt einen Mechatroniker / Elektroniker / Elektriker (m/w/d) für den Bereich Lasermaschinen - Sondermaschinenbau. Unser Auftraggeber ist ein weltweit tätiges Unternehmen mit mehr als 50.... | Anzeige ansehen | Mechatronik |
|
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 29. Apr. 2014 09:50 <-- editieren / zitieren --> Unities abgeben: Nur für ser4
Servus Bitte keine Doppelposts. Diesen Code als *.CATPart speichern -> in Catia -> Tools -> Makro -> Makros -> entsprechende Datei selektieren und ausführen. Gruß Bernd PS: ggf musst du das Makro noch an deine Anforderungen anpassen (und zunächst auch den Code verstehen können) ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 29. Apr. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |