| 
Autor
 | 
Thema:   cgr, wrl, stl in CATPart konvertieren (97259 mal gelesen)
 | 
  
                      Martin K Mitglied Konstrukteur, CAD Administrator
   
  
        Beiträge: 126 Registriert: 24.01.2002 Windows XP 32BIT Windows7 64BIT AIX5.3 CATIAV425 CATIA V5 R19 SP03 CATIA V5 R19 SP09 TEST 
                       | 
                      
                       
                       
                      
                      erstellt am: 12. Mrz. 2008 12:39       <-- editieren / zitieren -->           Unities abgeben:           
                        Hallo SteffenDas script zum Umwandeln von cgr nach model funktioniert sehr gut.  Mein Problem ist die Auswahl der Datei. Ich gehe davon aus, dass das Auswahlfenster im Verzeichnis /tmp mit dem Filter *.cgr geöffnet wird. Geöffnet wird aber immer mein Homeverzeichnis ohne Filter. Fehlt bei mir noch ein Eintrag? Oder ist noch irgendwo ein Fehler? Achtung, habe nur Unix zur Verfügung.  Gruß Martin ---------------------------------------------------------------------------------------------- Language="VBSCRIPT" Sub CATMain() sInputFile = CATIA.FileSelectionBox("cgr-Datei auswählen", "/tmp/*.cgr", CatFileSelectionModeOpen) Set oDoc = CATIA.Documents.Read(sInputFile) oDoc.ExportData sInputFile + ".model", "model" oDoc.Close End Sub ---------------------------------------------------------------------------------------------- [Diese Nachricht wurde von Martin K am 12. Mrz. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      zhawler Mitglied Dipl.Ing.
  
        Beiträge: 2 Registriert: 08.01.2008 
                       | 
                      
                       
                       
                      
                      erstellt am: 10. Jan. 2008 06:34       <-- editieren / zitieren -->           Unities abgeben:           
                        HalloHabe das Problem etwas eingekreist.  Wenn in Advanced-Machining der Abtragssimulations-Zwischenstand gespeichrt wird als cgr, kann es vorkommen, das manche POL's "leer" sind und somit nicht gePastet werden können. Im Anhang ist ein cgr-File bei dem das POL199 "defekt" ist. Hoffe jemand kennt einen geeigneten Filter oder sonst ne Lösung. Gruss chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      zhawler Mitglied Dipl.Ing.
  
        Beiträge: 2 Registriert: 08.01.2008 
                       | 
                      
                       
                       
                      
                      erstellt am: 08. Jan. 2008 15:47       <-- editieren / zitieren -->           Unities abgeben:           
                        HalloBei mir funktioniert es tadellos, bis auf die im Advanced-Machining erstellten .cgr-Files da geht es nicht.  Hat jemand da eine Erklärung? Gruss Chris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      Lusilnie Mitglied
 
     
  
        Beiträge: 1399 Registriert: 13.07.2005 
                       | 
                      
                       
                       
                      
                      erstellt am: 23. Jan. 2007 20:49       <-- editieren / zitieren -->           Unities abgeben:           
                        Hallo kri,sorry, mein Fehler!     Natürlich muß ich auch die nachfolgende Zeile abändern, da das CATPart ja das letzte und das Model das vorletzte Document ist, wenn ich nichts schließe! Also lauten die Zeilen so: Code:     oDoc.SaveAs sInputFileName & ".CATPart"     'oDoc.Close     Set oDoc = CATIA.documents.Item(CATIA.documents.Count - 1)     oDoc.Close
 
  Ich hoffe, jetzt stimmt es!    mfg, Lusilnie
 
 ------------------
  Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      kri Mitglied Dipl. Ing. Konstruktion / FEM
    
  
        Beiträge: 965 Registriert: 15.12.2004 Hauptrechner CATIA V5R12, R14, R16 32/64Bit Windows XP Pro X64 Edition Intel XEON E5345 4x2,33GHz 16GB RAM Quadro FX 3450/4000 SDI 256MB - Zweitrechner CATIA V5R12, R14, R16 32/64Bit Windows XP Pro X64 Edition 2x Intel Pentium D 3.2GHz  4GB RAM Quadro FX 3450/4000 SDI 256MB 
                       | 
                      
                       
                       
                      
                      erstellt am: 23. Jan. 2007 09:24       <-- editieren / zitieren -->           Unities abgeben:           
                        Hallo Lusilnie,die Sache mit dem Hochkomma/löschen funktioniert bei mir nicht richtig. Leider wird das CATPart geschlossen und das Model bleibt offen. - lösche ich die vorletzte "oDoc.Close" bleibt das Model offen - lösche ich die letzte "oDoc.Close" bleibt das Model offen - lösche ich die vorletzte und letzte "oDoc.Close" bleiben das Model & CATPart offen Also hab ich beide gelöscht. Dann muß ich zwar das Model manuell schließen. Aber das Script läuft schneller durch als mit dem Öffnen.Befehl am Ende. 
 
 ------------------ kri Warum wollen Leute, die nicht einmal einen PC sauber hoch und wieder runter fahren können, entscheiden welches Spiel ich kaufe/spiele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      stahly Mitglied CAX-Koordinator
     
  
        Beiträge: 1014 Registriert: 29.07.2002 W7 x64 - Fujitsu H700 - V5 - PRO.FILE - ProE 
                       | 
                      
                       
                       
                      
                      erstellt am: 23. Jan. 2007 07:05       <-- editieren / zitieren -->           Unities abgeben:           
                        Super Makro!Danke an alle - kann man gut gebrauchen! bis dahin... stahly ------------------     Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      Lusilnie Mitglied
 
     
  
        Beiträge: 1399 Registriert: 13.07.2005 
                       | 
                      
                       
                       
                      
                      erstellt am: 22. Jan. 2007 21:10       <-- editieren / zitieren -->           Unities abgeben:           
                        Hallo kri,auch eine Möglichkeit, doch es geht viel einfacher: Mit nur einem Zeichen, einem ' an der richtigen Stelle (-> am Anfang der Zeile nach oDoc.SaveAs sInputFileName & ".CATPart"), damit das CATPart einfach nicht geschlossen wird! Durch dieses Zeichen am Anfang wird die Zeile als "Kommentar" deklariert. Alternativ kann man auch einfach die Zeile löschen, oder eine Abfrage einbringen, oder, oder,... Sieht dann so aus: Code: Sub CATMain()     Dim sInputFile As String     sInputFile = CATIA.FileSelectionBox(".cgr-Datei auswaehlen", "*.cgr", CatFileSelectionModeOpen)     Dim sInputFileName As String     sInputFileName = Left(sInputFile, InStrRev(sInputFile, ".") - 1)     Dim sInputFileNameV4 As String     If Len(sInputFileName) > 72 Then         sInputFileNameV4 = Left(sInputFileName, 72) & ".model"     Else         sInputFileNameV4 = sInputFileName & ".model"     End If     Dim oDoc As document     Set oDoc = CATIA.documents.Read(sInputFile)     oDoc.ExportData sInputFileNameV4, "model"     oDoc.Close     Set oDoc = CATIA.documents.Open(sInputFileNameV4)     Dim docSel As selection     Set docSel = oDoc.selection     If CATIA.SystemConfiguration.Release < "16" Then         docSel.Search "Name=CAT_1000_1"     Else         docSel.Search "V4Model.MASTER"     End If     docSel.Copy     Dim iPartNumber As String     iPartNumber = Mid(sInputFileName, InStrRev(sInputFileName, CATIA.FileSystem.FileSeparator) + 1)     Set oDoc = CATIA.documents.Add("Part")     Dim iProduct As Product     Set iProduct = oDoc.Product     iProduct.PartNumber = iPartNumber     Set docSel = oDoc.selection     docSel.Add iProduct     docSel.Paste     iProduct.Update     oDoc.SaveAs sInputFileName & ".CATPart"     'oDoc.Close     Set oDoc = CATIA.documents.Item(CATIA.documents.Count)     oDoc.Close End Sub
   mfg, Lusilnie
 
 ------------------
  Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      kri Mitglied Dipl. Ing. Konstruktion / FEM
    
  
        Beiträge: 965 Registriert: 15.12.2004 Hauptrechner CATIA V5R12, R14, R16 32/64Bit Windows XP Pro X64 Edition Intel XEON E5345 4x2,33GHz 16GB RAM Quadro FX 3450/4000 SDI 256MB - Zweitrechner CATIA V5R12, R14, R16 32/64Bit Windows XP Pro X64 Edition 2x Intel Pentium D 3.2GHz  4GB RAM Quadro FX 3450/4000 SDI 256MB 
                       | 
                      
                       
                       
                      
                      erstellt am: 22. Jan. 2007 18:02       <-- editieren / zitieren -->           Unities abgeben:           
                        Hallo,hab da selbst was gebastelt. Nicht das ich wirklich verstehe was ich da gemacht habe. Der Code ist aber gut lesbar. Da hab ich halt mit Copy/Paste probiert und ne Bezeichnung ausgewechselt. Geht garantiert viel eleganter. Jetzt wird das erstellte CATPart nach der Erstellung geöffnet.  Sub CATMain()         Dim sInputFile As String         sInputFile = CATIA.FileSelectionBox(".cgr-Datei auswaehlen", "*.cgr", CatFileSelectionModeOpen)         Dim sInputFileName As String         sInputFileName = Left(sInputFile, InStrRev(sInputFile, ".") - 1)         Dim sInputFileNameV4 As String         If Len(sInputFileName) > 72 Then              sInputFileNameV4 = Left(sInputFileName, 72) & ".model"         Else             sInputFileNameV4 = sInputFileName & ".model"         End If         Dim oDoc As document         Set oDoc = CATIA.documents.Read(sInputFile)         oDoc.ExportData sInputFileNameV4, "model"         oDoc.Close         Set oDoc = CATIA.documents.Open(sInputFileNameV4)         Dim docSel As selection         Set docSel = oDoc.selection         If CATIA.SystemConfiguration.Release < "16" Then             docSel.Search "Name=CAT_1000_1"         Else             docSel.Search "V4Model.MASTER"         End If         docSel.Copy         Dim iPartNumber As String         iPartNumber = Mid(sInputFileName, InStrRev(sInputFileName, CATIA.FileSystem.FileSeparator) + 1)         Set oDoc = CATIA.documents.Add("Part")         Dim iProduct As Product         Set iProduct = oDoc.Product         iProduct.PartNumber = iPartNumber         Set docSel = oDoc.selection         docSel.Add iProduct         docSel.Paste         iProduct.Update         oDoc.SaveAs sInputFileName & ".CATPart"         oDoc.Close         Set oDoc = CATIA.documents.Item(CATIA.documents.Count)         oDoc.Close         Set oDoc = CATIA.documents.Open(sInputFileName & ".CATPart")     End Sub
 ------------------ kri Warum wollen Leute, die nicht einmal einen PC sauber hoch und wieder runter fahren können, entscheiden welches Spiel ich kaufe/spiele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      kri Mitglied Dipl. Ing. Konstruktion / FEM
    
  
        Beiträge: 965 Registriert: 15.12.2004 Hauptrechner CATIA V5R12, R14, R16 32/64Bit Windows XP Pro X64 Edition Intel XEON E5345 4x2,33GHz 16GB RAM Quadro FX 3450/4000 SDI 256MB - Zweitrechner CATIA V5R12, R14, R16 32/64Bit Windows XP Pro X64 Edition 2x Intel Pentium D 3.2GHz  4GB RAM Quadro FX 3450/4000 SDI 256MB 
                       | 
                      
                       
                       
                      
                      erstellt am: 22. Jan. 2007 09:48       <-- editieren / zitieren -->           Unities abgeben:           
                        Hallo Lusilnie,das Script läuft klasse. Kann Dir leider keine U`s mehr geben. Geht wohl nur einmal pro Thread. Eine Frage hätte ich noch zur "Benutzerfreundlichkeit". Ist es möglich, das Script so abzuändern, das nach dem speichern als *CATPart, das Catpart auf den Schirm bleibt? Man war das ein schwerer Satz   . Dann kann man das entstandene Part direkt in sein Arbeits-Product ziehen.
  ------------------ kri Warum wollen Leute, die nicht einmal einen PC sauber hoch und wieder runter fahren können, entscheiden welches Spiel ich kaufe/spiele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
                      Lusilnie Mitglied
 
     
  
        Beiträge: 1399 Registriert: 13.07.2005 
                       | 
                      
                       
                       
                      
                      erstellt am: 20. Jan. 2007 01:01       <-- editieren / zitieren -->           Unities abgeben:           
                        Hallo kri,danke für den Hinweis mit der Namensbegrenzung. Ist wirklich ein V4-Problem. Also basteln wir auch das noch in den CODE: Code:     Sub CATMain()         Dim sInputFile As String         sInputFile = CATIA.FileSelectionBox(".cgr-Datei auswaehlen", "*.cgr", CatFileSelectionModeOpen)         Dim sInputFileName As String         sInputFileName = Left(sInputFile, InStrRev(sInputFile, ".") - 1)         Dim sInputFileNameV4 As String         If Len(sInputFileName) > 72 Then              sInputFileNameV4 = Left(sInputFileName, 72) & ".model"         Else             sInputFileNameV4 = sInputFileName & ".model"         End If         Dim oDoc As document         Set oDoc = CATIA.documents.Read(sInputFile)         oDoc.ExportData sInputFileNameV4, "model"         oDoc.Close         Set oDoc = CATIA.documents.Open(sInputFileNameV4)         Dim docSel As selection         Set docSel = oDoc.selection         If CATIA.SystemConfiguration.Release < "16" Then             docSel.Search "Name=CAT_1000_1"         Else             docSel.Search "V4Model.MASTER"         End If         docSel.Copy         Dim iPartNumber As String         iPartNumber = Mid(sInputFileName, InStrRev(sInputFileName, CATIA.FileSystem.FileSeparator) + 1)         Set oDoc = CATIA.documents.Add("Part")         Dim iProduct As Product         Set iProduct = oDoc.Product         iProduct.PartNumber = iPartNumber         Set docSel = oDoc.selection         docSel.Add iProduct         docSel.Paste         iProduct.Update         oDoc.SaveAs sInputFileName & ".CATPart"         oDoc.Close         Set oDoc = CATIA.documents.Item(CATIA.documents.Count)         oDoc.Close     End Sub
  So sollte auch dieses Problem behoben sein! (Hoffe ich, habe es in grenzenloser Selbstüberschätzung nicht getestet!    {->Kein CATIA da!} ) @Thomas Harmening:  Danke schön, gern gescheh'n!    
  mfg, Lusilnie
  ------------------
 Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern [Diese Nachricht wurde von Lusilnie am 20. Jan. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP  |  
                      
 | Anzeige:
  Anzeige: (Infos zum Werbeplatz >>)
   |