| |
| KISTERS 3DViewStation: 3D-Visualisierung für After Sales, Service und Ersatzteile, eine Pressemitteilung
|
Autor
|
Thema: cgr, wrl, stl in CATPart konvertieren (94019 mal gelesen)
|
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 21. Dez. 2006 07:38 <-- editieren / zitieren --> Unities abgeben:
Liebe CATIA-Gemeinde, heute habe ich für Euch kurz vor Weihnachten noch einen aus meiner Trickkiste. Wer schon immer Wissen wollte, wie man aus einer cgr-Datei ein CATPart generiert, dem kann hiermit geholfen werden. Dazu ist folgende Vorgehensweise erforderlich: 1. cgr-Datei als V4-Modell exportieren 2. V4-Modell nach CATPart migrieren Wie Euch sicherlich bekannt ist, kann man auch wrl- und stl-Dateien in ein CATProduct als Komponente einbauen und das ganze Produkt als cgr-Datei abspeichern. Somit lassen sich diese Formate auch in ein CATPart überführen. Das hört sich doch einfach an, oder? Von diesen zwei Schritten ist mit Sicherheit der erste Schritt der schwierigste. Wer eine cgr-Datei öffnet bzw. in ein CATProduct integriert, wird vegebens unter "Datei Speichern unter..." das Format *.model finden. Denn interaktiv geht das nicht. Aber mit diesen wenigen Codezeilen als Script ausgeführt, erhält man ein wunderschönes V4-Modell, welches aus lauter *POL-Elementen (POLY SURF) besteht und diese lassen sich ohne Probleme nach V5 konvertieren. So hier nun die Scriptzeilen: Sub CATMain() sInputFile = CATIA.FileSelectionBox(".cgr-Datei auswählen", "*.cgr", CatFileSelectionModeOpen) Dim oDoc As Document Set oDoc = CATIA.Documents.Read(sInputFile) oDoc.ExportData sInputFile + ".model", "model" oDoc.Close End Sub Nun noch das V4-model öffnen, die *POL-Elemente oder den ganzen *MASTER auswählen und in ein CATPart kopieren.
So nun wünsche ich noch viel Spaß beim Probieren, einen fleißigen Weihnachtsmann und einen guten Rutsch ins neue Jahr. Euer Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
predy Mitglied Industriedesigner
Beiträge: 777 Registriert: 05.07.2003 CATIA V5R16 SP5 64Bit Windows XP Pro X64 Edition 2x Intel Xeon 3.6GHz 4GB RAM Nvidia Quadro FX 3450/4000 SDI 256MB
|
erstellt am: 21. Dez. 2006 08:31 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
cwillmann Mitglied PLM-Berater
Beiträge: 1487 Registriert: 17.03.2001
|
erstellt am: 21. Dez. 2006 08:48 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
smodo1977 Mitglied
Beiträge: 263 Registriert: 28.07.2006
|
erstellt am: 21. Dez. 2006 08:52 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo, ich bekomme folgende Fehlermeldung. Muß natürlich sagen, dass ich von der Programmierung keine Ahnung habe. (Gibts hierfür ne gute Lektüre?) Wär super, wenn du das Makro einstellen könntest. Ist es stark, wenn es so funktioniert. Gruß Smodo [Diese Nachricht wurde von smodo1977 am 21. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Str Mitglied
Beiträge: 119 Registriert: 17.01.2001
|
erstellt am: 21. Dez. 2006 09:14 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX12
|
erstellt am: 21. Dez. 2006 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
hmm, du meinst sicherliche anstelle Catpart ein Mesh erzeugen @smodo1977 , da du unter XP arbeitest, gibt es kein sichern als .model -das geht nur unter Unix - oder sollte das über Macro etwa doch gehen? ohne den Umweg über V4 zu gehen, geht es aber auch! [Diese Nachricht wurde von Thomas Harmening am 21. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 21. Dez. 2006 09:41 <-- editieren / zitieren --> Unities abgeben:
@smodo1977: Wie Str schon schrieb, müssen die Skriptzeilen in eine Datei "Name.CATScript" hineinkopiert werden oder in der *.catvbs-datei alle Dim-Zeilen löschen. @Thomas Harmening: Seit wann kann man unter WINDOWS keine model-Files erzeugen und wie wandelt man cgr-Dateien in CATParts um, ohne den "Umweg" über V4 zu gehen? Gruß Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
smodo1977 Mitglied
Beiträge: 263 Registriert: 28.07.2006
|
erstellt am: 21. Dez. 2006 10:08 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
jkaestle Mitglied
Beiträge: 1091 Registriert: 08.02.2002 WIN XP 64 CATIA V5 R19SP3
|
erstellt am: 21. Dez. 2006 10:16 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX12
|
erstellt am: 21. Dez. 2006 10:30 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Ein CGR oder mehrere CGRs in ein Product verbauen Im DMU-Optimizer Vereinfachung/Simplification auswählen, die CGR-Producte auswählen, die Tessiliert werden sollen (Genauigkeit sollte auf kleiner als .001 sein - das Ergebnis sollte nahe an die ursprüngliche Anzahl der Dreiecke kommen - speichern als *.Stl Ein leeres Part erzeugen und im DigitizedShapeEditor wieder als Cloud einlesen = Mesh ich arbeite unter der DC-Umgebung - soweit ich weiss, geht es da nicht unter XP mittels save as ein .model zu erzeugen (R14)(R16) [Diese Nachricht wurde von Thomas Harmening am 21. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 21. Dez. 2006 11:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, ja da gebe ich Dir recht, dass man über das stl-Format wieder CATParts erzeugen kann. Aber es entsteht hier eine Punktewolke, die allgemein nicht einfach in Flächengeometrie zurückzuführen ist und man benötigt eine extra Lizenz. Gruß Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX12
|
erstellt am: 21. Dez. 2006 11:38 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
---aber es entstehen hier eine Punktewolke--- Hallo Steffen, ähm, und was sind dann bitte *POL Daten für mich sind *POL daten = facettierte Punktewolken = Mesh, kann man mit Mesh nichts anfangen, dann kann man auch mit den *Pol daten nichts anfangen. !oder gehen *Pol-Daten einfacher in Flächengeometrien umzuwandeln? und wenn ja - gehe ich da anders vor als bei den Meshes? oder anders ausgedrückt - nach der einbindung der *POL in V5 -wie ist da die Elementkennung? Mesh? gruss thomas [Diese Nachricht wurde von Thomas Harmening am 21. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 21. Dez. 2006 11:52 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, *POL-Elemente werden bei der Migration zu V5-Flächenelementen. Man wird damit zwar nicht sehr viel machen können, da diese natürlich die Dreiecksform der Facettierung annehmen. Aber man hat zumindestens mal etwas, was man anfassen kann. Hier spielt auch das Thema "KnowHow-Schutz" eine Rolle. Komplexe Konstruktionen werden über den DMU-Optimizer entkernt und als Hülle nach cgr gespeichert. Solange man sich im DMU-Umfeld von CATIA-V5 aufhält, kann man mit diesem Format wunderbar leben. Was ist aber mit anderen Systemen (CATIA V4, Pro/E, Solid XXX, ...)? Da ist cgr eine Sackgasse. Aber mit der Wandlung nach .model oder .CATPart stehen wieder alle Wege offen (IGES, STEP, VDAFS, ...) Übrigens: Werden stl-Daten direkt in CATIA V4 eingelesen, entstehen ähnlich wie in V5 *FEM-Elemente. Diese lassen sich weder im DMU-Navigator visualisieren noch geschickt als Geometrie weiterverarbeiten. Gruß Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX12
|
erstellt am: 21. Dez. 2006 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo Steffen, unter R14 habe ich nie Flächen bekommen beim einbinden der *POL in ein Catpart - und unter R16 noch nie ausprobiert. das mit dem 'Knowhow-Schutz' ist so eine Sache - denke da reicht es die Daten mittels CatallPart isoliert in einem Neuen Part entstehen zu lassen - so sind wenigstens die Flächen weiterverarbeitbar und die weiteren Wege (IGES, step, VDA) stehen auch noch offen gruss thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen Hohmann Mitglied
Beiträge: 446 Registriert: 06.03.2002
|
erstellt am: 21. Dez. 2006 12:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, KnowHow-Schutz gibt es in unterschiedlichen Ausprägungen. 1. Entfernen der Intelligenz (Formel, Regeln, Parameter löschen) 2. Entfernen der Konstruktionshistorie (Verdummen von Geoemtrie) 3. Entkernen von komplexen Konstruktionen (Hüllengenerator) 4. Entfernen der exakten mathematischen Beschreibung (Triangulieren der Oberfläche, keine exakten Messungen mehr möglich) Deine Methode entspricht der 2.Ausprägung und ist bei sensiblen Teilen nicht ausreichend. Gruß Steffen 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: 17. Jan. 2007 13:42 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Zitat: Original erstellt von Steffen Hohmann: Liebe CATIA-Gemeinde, . . .So hier nun die Scriptzeilen: Sub CATMain() sInputFile = CATIA.FileSelectionBox(".cgr-Datei auswählen", "*.cgr", CatFileSelectionModeOpen) Dim oDoc As Document Set oDoc = CATIA.Documents.Read(sInputFile) oDoc.ExportData sInputFile + ".model", "model" oDoc.Close End Sub . . . Euer Steffen
mal ne Frage an jemanden der so was kann. Kann man in das Script noch den Dienstprogrammaufruf MigrateV4ToV5 einbauen? Dann wäre die Parterstellung komplett automatisiert. ------------------ 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: 1486 Registriert: 13.07.2005
|
erstellt am: 18. Jan. 2007 00:48 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo allerseits, o.k., es ist zwar noch nicht Ostern, doch hier mal, wie von "kri" gewünscht, die zusätzlichen Scriptzeilen zum CATPart-Erstellen. Allerdings nur prinzipiell, ohne Gewähr usw. und mit dem Hinweis, dass das Ganze auch nicht in allen Umgebungen und Einstellungen läuft! D.h. wenn eine Migration V4 zu V5 per Utillities nicht funktioniert, funktioniert es auch nicht per Script. Weitere Einstellungen/Hinweise: -unter General-Compatibility-Save_As_V4_Model muss bei Windows-Nutzung der "Initial_Path" leer sein -unter Infrastructure-PartInfrastructure sollte der manuelle Input der "PartNumber" oder das "Show New Dialog" deaktiviert sein -die hemmenden Einstellungen in der DC-Umgebung, die das Importieren der *POL ins CATPART verhindern, habe ich noch nicht gefunden... Hier der erweiterte (Steffen Hohmann-)Code (auch als Anhang): 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 oDoc As document Set oDoc = CATIA.documents.Read(sInputFile) oDoc.ExportData sInputFileName & ".model", "model" oDoc.Close Set oDoc = CATIA.documents.Open(sInputFileName & ".model") Dim docSel As selection Set docSel = oDoc.selection docSel.Search "Name=CAT_1000_1" 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 |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 18. Jan. 2007 20:38 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo allerseits, da noch keine Aufschreie wegen Fehler gekommen sind, beuge ich dem vor und "update" 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 oDoc As document Set oDoc = CATIA.documents.Read(sInputFile) oDoc.ExportData sInputFileName & ".model", "model" oDoc.Close Set oDoc = CATIA.documents.Open(sInputFileName & ".model") 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
Bei verschiedenen CATIA-Versionen scheint es aber trotzdem nicht zu funktionieren. Der im letzten Beitrag geschilderte Problemfall des "Initial_Path" ist validiert. Manchmal hilft auch noch, das Setting "GeometrybV4ToV5.CATSettings" zu löschen. Für DC-Umgebung: Unter R16 läuft es, eventuell mit den geschilderten "Tricks", doch unter R14 scheint es keinen Weg zu geben, CATIA zu überzeugen, die "*POL" in das Part einzufügen! 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: 19. Jan. 2007 13:18 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
@ Lusilnie, super funzt. Es gibt allerdings eine Einschränkung auf die ich hinweisen möchte (ist glaub ich eine V4 Limitierung). Das Input-*.cgr darf max. 80 Zeichen haben. Da das entstehende *.model (1. Step) auf 80 Zeichen limitiert ist und der Dateiname des entstehenden *.model gegebenenfalls auf 80 Zeichen gekürzt wird, läuft die Catpartkonvertierung (2. Step) aus dem Model nicht durch, da die Routine nicht den richtigen Model-Namen findet (wurde ja auf 80 Zeichen gekürzt). Also Notfalls *.cgr kopieren und im Explorer den Filenamen kürzen. Dann Script ausfüren und alles wird gut. ------------------ 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 |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX12
|
erstellt am: 19. Jan. 2007 22:16 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
very nice, habe nun mal V5 ohne DC umgebung gestartet - und bin ganz erstaunt das so ein *POL Datensatz als mit 3 Kanten beschriebene Fläche(n)ankommt - das ist deutlich angenehmer als die Geometrie als Mesh zu bekommen... ich werde mal das mit einem Abtastdatensatz noch versuchen, den ich damals unter R14 über das Produkt neu tesselieren as Stl... musste @ Lusilnie, schön gemacht Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 20. Jan. 2007 01:01 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
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 |
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: Nur für Steffen Hohmann
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 |
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: Nur für Steffen Hohmann
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 |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 22. Jan. 2007 21:10 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
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 |
stahly Mitglied CAX-Koordinator
Beiträge: 1016 Registriert: 29.07.2002 ...
|
erstellt am: 23. Jan. 2007 07:05 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
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: Nur für Steffen Hohmann
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 |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 23. Jan. 2007 20:49 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
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 |
zhawler Mitglied Dipl.Ing.
Beiträge: 2 Registriert: 08.01.2008
|
erstellt am: 08. Jan. 2008 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
zhawler Mitglied Dipl.Ing.
Beiträge: 2 Registriert: 08.01.2008
|
erstellt am: 10. Jan. 2008 06:34 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo Habe 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 |
Martin K Mitglied Konstrukteur, CAD Administrator
Beiträge: 141 Registriert: 24.01.2002 Windows 10 CATIA V5-6R2032 SP03
|
erstellt am: 12. Mrz. 2008 12:39 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo Steffen Das 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 |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 13. Mrz. 2008 00:28 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo Martin K, ich bin zwar nicht "Steffen", antworte aber trotzdem. Die Funktionalität in: 'sInputFile = CATIA.FileSelectionBox("cgr-Datei auswählen", "/tmp/*.cgr", CatFileSelectionModeOpen)' bezieht sich nur auf die Dateiendung und funktioniert sicher (?) auch nur im "Windo..". Aus meiner Erfahrung wird die Dateierweiterung z.B. in AIX nicht ausgewertet. (Danke DassaultSystemes!!!!!) Allerdings funktioniert auch im Windows nur die Typ-Auswahl "*.cgr". Einen Pfad ala "/tmp/*.cgr" kann ich auch dort nicht auswählen, bedeutet: Ich habe keinen Einfluß auf die Wahl des Verzeichnisses, da ich hier keine Vorauswahl treffen kann! (ODER???) 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 |
Martin K Mitglied Konstrukteur, CAD Administrator
Beiträge: 141 Registriert: 24.01.2002 Windows 10 CATIA V5-6R2032 SP03
|
erstellt am: 13. Mrz. 2008 08:11 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
Mäxchen1988 Mitglied
Beiträge: 11 Registriert: 12.12.2008 V5R18
|
erstellt am: 18. Dez. 2008 15:57 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
hi ich hab mal ne frage zu diesem Makro: gibt es eine möglichkeit die Genauigkeit beim umwandeln zu erhöhen? links im bild ist die Kugel (d=3mm) aus der .cgr datei und rechts ist das original CatPart. ------------------ MFG Mäxchen Wofür ist eigentlich der lustige rote Knopf gut??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3724 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 18. Dez. 2008 16:09 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hi Maxchen. Weiß nun nicht, obs das ist, was du suchst, aber versuche mal VOR der cgr generierung den Anzeigegenauigkeitswert raufzudrehen. Dann wirst du auch ein anderes cgr-Ergebnis bekommen. gruß, Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Dez. 2008 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Servus AFAIK ist durch das cgr vorgegeben, wie facettiert die Fläche ist. Vielleicht haben die Einstellungen zur Darstellungsqualität (Leistung) einen Einfluss auf den Tesalierungsgrad beim Erstellen der cgr-Datei. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3724 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 18. Dez. 2008 16:12 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
Mäxchen1988 Mitglied
Beiträge: 11 Registriert: 12.12.2008 V5R18
|
erstellt am: 18. Dez. 2008 16:20 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3724 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 18. Dez. 2008 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
Mäxchen1988 Mitglied
Beiträge: 11 Registriert: 12.12.2008 V5R18
|
erstellt am: 18. Dez. 2008 16:28 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3724 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 18. Dez. 2008 16:30 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
Mäxchen1988 Mitglied
Beiträge: 11 Registriert: 12.12.2008 V5R18
|
erstellt am: 18. Dez. 2008 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Ich brauchs für ein projekt das wir begonnen haben und da haben wir ca 2500 teile im cgr format. da ist von ca 1,5m*1m bis hin zu 5mm*d=2,5mm alles dabei... die großen sind eh nicht das problem aber der teufel liegt im deteil ------------------ MFG Mäxchen Wofür ist eigentlich der lustige rote Knopf gut??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 18. Dez. 2008 17:08 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Servus Warum wollt ihr den die cgr-Files konvertieren? Wollt ihr diese noch modifizieren, dann muss man diese sowieso nachmodelieren. CGRs kann man doch auch in Baugruppen einfügen (zum positionieren: cgr in Dummy-Baugruppe einbauen, leeres Part einfügen (für Ebenen zur Positionieren, und diese Baugruppe in de Konstruktion einsetzen) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mäxchen1988 Mitglied
Beiträge: 11 Registriert: 12.12.2008 V5R18
|
erstellt am: 19. Dez. 2008 08:06 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
teilweise, das wird dann viel arbeit werden... Ich hatte gehoft das ich die erhaltenen flächen verbinden und dann schließen kann um so einen volumskörper zu erhalten aber das wird zu ungenau ------------------ MFG Mäxchen Wofür ist eigentlich der lustige rote Knopf gut??? [Diese Nachricht wurde von Mäxchen1988 am 19. Dez. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Em Ily Mitglied Studentin
Beiträge: 9 Registriert: 25.03.2009 CatiaV5R17
|
erstellt am: 25. Mrz. 2009 23:38 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Ich habe versucht stl zu konvertieren, aber bei mir kommt schon in der ersten zeile die beschwerde von catia: Kompilierungsfehler.....Anweisungsende erwartet: Dim sInputFile As string. Ich habe so überhaupt keine ahnung vom programmieren, aber muss unbedingt die stl daten konvertieren. Kann mir da jmd weiterhelfen???? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 26. Mrz. 2009 00:50 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo Em Ily, hast Du das Script als "*.CATScript" gespeichert oder als "*.catvbs"? Die "Zeilen" müssen als "*.CATScript" gespeichert werden, so sind sie auch konzipiert! Bitte gib mal noch ein paar Einzelheiten an. Mit den paar Informationen ist es schwer, das Problem schnell einzugrenzen! [Edit] Äähh, natürlich musst Du auch die 2.Zeile ändern, wenn Du ".stl" konvertieren willst! Du musst die ".cgr" in ".stl" ändern! Nehme ich zumindest an, probiert habe ich es noch nicht! [/Edit] mfg, Lusilnie
------------------ Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!
frei nach größeren Geistern [Diese Nachricht wurde von Lusilnie am 26. Mrz. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Em Ily Mitglied Studentin
Beiträge: 9 Registriert: 25.03.2009 CatiaV5R17
|
erstellt am: 15. Mai. 2009 19:02 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Hallo, sorry wegen der späten Antwort.Hab leider soviel um die Ohren im Moment! Zuviel Stress... Naja ich hab es probiert, aber ich bekomme jetzt die Fehlermeldung bezüglich folgender Zeile : oDoc.ExportData sInputFileNameV5, "model" und zwar lautet die meldung: Datei .model existiert nicht, oder kein Zugriff Ich bin so frustiert
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 15. Mai. 2009 19:09 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
Em Ily Mitglied Studentin
Beiträge: 9 Registriert: 25.03.2009 CatiaV5R17
|
erstellt am: 15. Mai. 2009 19:48 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
|
bgrittmann Moderator Konstrukteur
Beiträge: 12005 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 15. Mai. 2009 20:01 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Servus Wie gehst du vor? Soweit ich es jetzt (beim überfliegen verstanden) hab: -> stl-File in Baugruppe einbauen -> Save as cgr -> Makro ausführen Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Em Ily Mitglied Studentin
Beiträge: 9 Registriert: 25.03.2009 CatiaV5R17
|
erstellt am: 15. Mai. 2009 20:27 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen Hohmann
Vielen Dank für deine Hilfe, das ist echt unglaublich nett. Also : Ich habe STl Files, die ich in Catia importiere. Das Makro habe ich von .cgr auf . stl geändert. Es sieht folgendermaßen aus: Dim sInputFile As String sInputFile = CATIA.FileSelectionBox(".stl-Datei auswaehlen", "*.stl", 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 sInputFileNameV5, "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 Beschwerde kommt bezüglich dieser Zeile: oDoc.ExportData sInputFileNameV5, "model" Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |