| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | KISTERS 3DViewStation: Schnelligkeit und Präzision in dem neuen JT-Importer, eine Pressemitteilung
|
Autor
|
Thema: Part wird in Product eingefügt, aber nicht angezeigt (1029 mal gelesen)
|
Ex-Mitglied

|
erstellt am: 09. Mai. 2006 20:54 <-- editieren / zitieren -->
Hallo zusammen, ich arbeite gerade an einem Makro, mit dem automatisch CATParts in ein Produkt eingefügt werden. Das Einfügen funktioniert auch fast problemlos. Fast deshalb, weil das CATPart zwar im Baum auftaucht, aberr nicht dargestellt wird. Damit die Geometrie erschient, muß ich das Makro beenden, eine Funktion aufrufen, um wieder in CATIA arbeiten zu können und in das Part reinwechseln. Meine Vorstellung ist aber, daß die Geometrie mit dem Einfügen des Parts in den Baum erscheint. Leider habe ich dazu im Forum auch nichts gefunden (hab 60 Seiten Beitragslisten durchsucht). Gibt es irgendeine Möglichkeit, daß die Geometrie gleich erscheint? Mein Code: arrayOfVariantOfBSTR1(0) = "C:\Temp\" & Replace(PartName(1), ".zip", "") products1Variant.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All" Produkt.AddShapeRepresentation "C:\Temp\", Replace(PartName(1), ".zip", ""), catRep3D, True Produkt.ActivateDefaultShape Ich vermute, eine Anweisung fehlt hier noch. Könnt ihr mir einen Tippp geben?
Viele Grüße, CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
AlexE78 Mitglied Ing.

 Beiträge: 49 Registriert: 29.08.2005
|
erstellt am: 10. Mai. 2006 11:05 <-- editieren / zitieren --> Unities abgeben:         
Guten Morgen, ich verwende für das Einfügen von Geometrie (oChild) in ein Produkt/Komponente (oParent) folgende Funktionen: 1) oParent.Products.AddComponentsFromFiles array(filename), "All" set oChild = oParent.Products.Item(oParent.Products.Count) oChild.ActivateDefaultShape 2) set oChild = oParent.Products.AddNewProduct(partnumber) oChild.AddMasterShapeRepresentation(filename) oChild.ActivateDefaultShape 1) funktioniert für alles, 2) sollte nicht für .CATParts verwendet werden, da sonst das umschalten in den DESIGN-Mode nicht klappt.
mfg Alex Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 11. Mai. 2006 20:04 <-- editieren / zitieren -->
Hallo Alex, danke für den Tipp. Bei mir funktioniert es leider noch nicht. Bei genauer Überprüfung meines Kodes hab ich festgestellt, daß da noch etwas durcheinander ist. Ich muß jetzt erstmal sehen, daß das in Ordnung kommt. Viele Grüße,
CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
Lusilnie Mitglied
   
 Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 15. Mai. 2006 23:37 <-- editieren / zitieren --> Unities abgeben:         
Hallo CEROG, konnte dein Problem bisher nicht validieren, bin aber heute über folgenden Parameter gestolpert: CATIA.RefreshDisplay Ist der in Deinem Script zufällig auf "False" gestellt? Dann kannst Du keine Visualisierung bekommen! Sagt so zumindest die Hilfe! Bloß so als Idee ... 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 |
Ex-Mitglied

|
erstellt am: 16. Mai. 2006 05:45 <-- editieren / zitieren -->
|
Ex-Mitglied

|
erstellt am: 23. Mai. 2006 20:52 <-- editieren / zitieren -->
Hallo zusammen, ich komme einfach nicht weiter. Abgesehen davon daß ich es nicht hinbekomme, daß die Geometrie angezeigt wird, tritt nach Umstellung auf VB ein weiteres Problem auf. Ich bekomme die Fehlermeldung: Function or interface marked as restricted, or the function uses an Automation type not supported in Visual Basic. Mein Problem: ich brauche alles in VB. Mein Code:
Code:
Private Sub Komponente_einfuegen() Dim ProduktDokument As ProductDocument Dim Producte As Products Dim Produkt As Product Dim arrayOfVariantOfBSTR1(0) ' As Variant Set ProduktDokument1 = CATIA.ActiveDocument Set Produkt = ProduktDokument1.Product Set Produkte = Produkt.Products arrayOfVariantOfBSTR1(0) = "C:\Temp\" & Replace(PartName(1), ".zip", "") products1Variant.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All" products1Variant.ActivateDefaultShape End Sub
Kann mir hier jemand einen Tipp geben, wie ich hier weiter komme? Viele Grüße, CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
Bobby_Joe2001 Mitglied Konstrukteur

 Beiträge: 81 Registriert: 15.01.2006
|
erstellt am: 23. Mai. 2006 21:12 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von CEROG: Hallo zusammen,ich komme einfach nicht weiter. Abgesehen davon daß ich es nicht hinbekomme, daß die Geometrie angezeigt wird, tritt nach Umstellung auf VB ein weiteres Problem auf. Ich bekomme die Fehlermeldung: Function or interface marked as restricted, or the function uses an Automation type not supported in Visual Basic. Mein Problem: ich brauche alles in VB. Mein Code:
Code:
Private Sub Komponente_einfuegen() Dim ProduktDokument As ProductDocument Dim Producte As Products Dim Produkt As Product Dim arrayOfVariantOfBSTR1(0) ' As Variant Set ProduktDokument1 = CATIA.ActiveDocument Set Produkt = ProduktDokument1.Product Set Produkte = Produkt.Products arrayOfVariantOfBSTR1(0) = "C:\Temp\" & Replace(PartName(1), ".zip", "") products1Variant.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All" products1Variant.ActivateDefaultShape End Sub
Kann mir hier jemand einen Tipp geben, wie ich hier weiter komme? Viele Grüße, CEROG
Leicht abgeändert. Jetzt funktionierts bei mir einwandfrei. Code:
Private Sub Komponente_einfuegen() Dim ProduktDokument As ProductDocument Dim Producte As Products Dim Produkt As Product Dim arrayOfVariantOfBSTR1(0) ' As Variant Set ProduktDokument1 = CATIA.ActiveDocument Set Produkt = ProduktDokument1.Product Set Produkte = Produkt.Products arrayOfVariantOfBSTR1(0) = "C:\Temp\" & Replace(PartName(1), ".zip", "") Produkte.AddComponentsFromFiles arrayOfVariantOfBSTR1, "All" Produkte.Item(Produkte.Count).ActivateDefaultShape End Sub
Gruß Bobby ------------------ Du musst die Leute einmal richtig ärgern, dann wirst du endlich ernst genommen. Konrad Adenauer [Diese Nachricht wurde von Bobby_Joe2001 am 23. Mai. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 24. Mai. 2006 20:09 <-- editieren / zitieren -->
Hallo Bobby-Joe, mit VBScript wird die Datei zwar in das Produkt eingefügt, aber die Geometrie nicht dargestellt. Erst nach einem Doppelklick erscheint sie. Ich arbeite mit dem Cache-System. Vielleicht liegt es ja daran. Wenn ich den gleichen Code in mein VB-Code einfüge, bekomme ich die Fehlermeldung, das die Methode Item fehlgeschlagen ist. Hier wird anscheinend das Einfügen nicht durchgeführt. Das muß ich mir genauer anschauen. Viele Grüße, CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
Legat Mitglied

 Beiträge: 30 Registriert: 18.05.2006
|
erstellt am: 27. Mai. 2006 10:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo CEROG, ist nur eine Vermutung: Wenn Du im CACHE arbeitest wird das Part beim Einfügen nicht geladen. Wenn Du nun auf dieses Part über Products.item(...) zugreifen möchtest, geht dies genau aus diesem Grund nicht, da es kein Product sondern ein Part ist (und nicht angeladen ist)! Mein Vorschlag: Das Part zuerst in einem neuen Fenster anladen und dieses dann in das Product einfügen. Geht? Gruß Legat Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 30. Mai. 2006 21:07 <-- editieren / zitieren -->
|
Lusilnie Mitglied
   
 Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 30. Mai. 2006 23:35 <-- editieren / zitieren --> Unities abgeben:         
Hallo CEROG, noch eine Anmerkung: Wenn Du das Ganze auch mit CACHE-System erfolgreich abarbeiten willst, hilft bei mir oft ein Umschalten des Workbenches: von AssemblyDesign in ProductStructur und wieder in AssemblyDesign! Dann werden noch Daten nachgeladen, ohne daß die Parts in den DesignMode gesetzt werden. Dann funktionieren auch die diversen Makro-Routinen. 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 |
Ex-Mitglied

|
erstellt am: 31. Mai. 2006 05:19 <-- editieren / zitieren -->
|
Lusilnie Mitglied
   
 Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 31. Mai. 2006 20:54 <-- editieren / zitieren --> Unities abgeben:         
Hallo CEROG, neugierige Frage: Hast Du eine bestimmte Einstellung oder einen bestimmten Parameter benutzt/gesetzt? Und läuft es auch nach einem Neustart von CATIA? 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 |
Ex-Mitglied

|
erstellt am: 31. Mai. 2006 21:04 <-- editieren / zitieren -->
|
Ex-Mitglied

|
erstellt am: 06. Jun. 2006 06:02 <-- editieren / zitieren -->
Hallo zusammen, @Lusilnie: Es funktioniert bei mir inzwischen nach Legats Methode. Wichtig scheint dabei zu sein, das Fenster mit dem einzelnen Part Bei Einbau in das Product offen zu lassen. Viele Grüße, CEROG ------------------ Inoffizielle Linux-Hilfeseite Meine Firma |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |