Autor
|
Thema: Problem beim Umbenennen von Instance Names (11784 mal gelesen)
|
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 27. Okt. 2005 15:26 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe momentan ein (gewaltiges) Problem beim Umbenennen von Instance Namen, wenn Kontext-Links auf Publizierte Elemente in den umzubenennenden Parts referenziert sind. Kurios dabei ist: funktioniert manuell, funktioniert mit CATScript, funktioniert nicht mit Visual Basic. Die Referenzen in "External References" werden beim Umbenennen der Instance Namen von CATIA automatisch geändert, wenn mit CATScript (und manuell) durchgeführt, mit VB aber eben nicht. Der Quellcode ist 100 % identisch. Wir haben bereits einen Call an IBM/Dassault gesendet, aber für gewöhnlich dauert das ewig - falls überhaupt was dabei rauskommt. Eine ausführliche Doku des Problems mit CATScript, VB6.0 Projekt und kompillierter exe sowie Beschreibung (in engl.) und Beispielmodelle sind gezippt im Anhang. Das Problem ist auf eine Mini-Struktur reduziert. Die Strukturen, die ich umbenennen (nicht nur die Instance Namen, sondern auch Part Numebrs, auf File Names etc.) enthalten mehrere 100 Modelle und sind zudem verschachtelt, d.h. eine CATScript-Lösung bringt mich nicht weiter. Meine Hoffnung ist, das irgendjemand das gleiche Problem hat/hatte und mir vieleicht weiterhelfen kann - für eine Idee wäre ich dankbar. Danke und Gruss TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 27. Okt. 2005 15:28 <-- editieren / zitieren --> Unities abgeben:
|
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 01. Nov. 2005 12:28 <-- editieren / zitieren --> Unities abgeben:
Hallo, Ich habe ein Antwort von IBM erhalten: Mein Problem wurde als PMR: 89255,025,724 an Dassault weitergeleitet. Ich denke, es handelt sich um einen Bug. Ich habe einen Workaround gefunden. Falls jemand mit dem gleichen Problem zu kämpfen hat, melde er/sie sich. TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Filippo Mitglied CAx-Systemverwalter
Beiträge: 168 Registriert: 09.11.2003
|
erstellt am: 01. Nov. 2005 18:47 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
|
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 02. Nov. 2005 05:56 <-- editieren / zitieren --> Unities abgeben:
Hallo, danke fuer die Antwort. Das das Umbenennen des PartNumbers keine Probleme mit sich bringt weiss ich. Wir konstruieren Betriebsmittel für die Automobilindustrie, hier im speziellen Fall für Daimler Chrysler, und alle Modelle werden dahingehend per Q-Checker überprüft, ob Filename, Partnumber und Instancename identisch sind. Die Syntax der Benennung ist vorgegeben. Ändert nun also einer unserer Planer beispielsweise eine Stationsnummer (die in der Bennennung jedes Modells der Station enthalten ist), dann kann ich eben ein paar hundert V5 Modelle umbenennen. Weiterhin dürfen die Referenzen aller Links nur auf Publizierte Elemente verweisen, und das sind auch mehr als hundert. Und dann hatte ich mich eben mit o.g. Bug zu plagen .... Ist aber wie gesagt gelöst. Gruss TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 06. Apr. 2006 07:06 <-- editieren / zitieren --> Unities abgeben:
Hallo, falls es für jemanden von Interesse ist: Ich habe eine abschliessende Antwort von Dassault/IBM erhalten. Die Lösung meines Problems habe ich hier beschrieben: http://www.coe.org/forums/messageview.cfm?catid=10&threadid=7669 Gruss Tom THIS PROBLEM IS PERMANENT RESTRICTION IN CATIA. This functionality is not available in batch mode. Use CATScript only. Die komplette Antwort. Dear Customer, The APAR which was associated to your problem has now closed. ***** APAR HD46312 has been closed Permanent Restriction for PMR 89255,025,724 ***** Detailed closing description as given in the APAR: ---------------------------------------------------------------- -- APAR SUBMITTOR PAGE -- ---------------------------------------------------------------- REGRESSION= ERROR DESCRIPTION: Renaming the instance name of a part by script is different when doing it via CATScript or Visual Basic. . The external References are not updated. . Scenario : . The following adjustments in Tools Options are important: . - Tools Options > General > Infrastructure > Part Infrastructure > General (see pic. 1) - Tools Options > General > Infrastructure > Product Structure > Nodes Customization (see pic. 2) . 1. product1.CATProduct is loaded in Catia (is Root), see pic. 3 2. Start Macro1.CATScript 3. The Macro renames the instance name of part1 (part1.1) to ?renamed.1? 4. The External Reference in part2 is renamed automatically by Catia (see pic. 4) . . 5. Close and load the product1.CATProduct again (see pic 3) or click undo button until the instance name ?renamed.1? is renamed back to the original (part1.1) 6. Start the Visual Basic Application. The source code is identic to the Macro1.CATScript source code 7. Result is shown in pic.5. . The External Reference in part2 is still the old one and NOT renamed. Collapse the node of External References (pic. 6) and expand it again (pic 7.) 8. Save, close and load the product1.CATProduct again (see pic. 8). The External Reference in part2 is destroyed (the Link is shown in the Desk as Link with :No Status) . LOCAL FIX: none ---------------------------------------------------------------- -- APAR RESPONDER PAGE -- ---------------------------------------------------------------- PROBLEM CONCLUSION: THIS PROBLEM IS PERMANENT RESTRICTION IN CATIA. This functionality is not available in batch mode. Use CATScript only. . TEMPORARY FIX: none COMMENTS: CIRCUMVENTION: None None MESSAGE TO SUBMITTER: This closing code indicates that no solution can be delivered on the reported level of CATIA/ENOVIA. You may contact our associated IBM PLM Marketing Domain Leader to raise an Enhancement Request (ERD). This cannot be done through a Problem Report (PMR). Kind regards IBM Worldwide PLM Technical Support
------------------ tomtom1972
[Diese Nachricht wurde von tomtom1972 am 06. Apr. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
walterwerner Mitglied
Beiträge: 21 Registriert: 30.10.2004
|
erstellt am: 13. Jan. 2009 17:37 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
|
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 13. Jan. 2009 17:49 <-- editieren / zitieren --> Unities abgeben:
Hallo, geht weder in VB noch in VB.net (da .net CATIA ja immer noch nur über die COM-Schnittstelle anspricht). Wird laut Aussage von Dassaul auch nie (!!) über VB gehen. Wie beschrieben während der Laufzeit vom VB-Script ein CATScript ausführen. Läuft einwandfrei. Gruß TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
walterwerner Mitglied
Beiträge: 21 Registriert: 30.10.2004
|
erstellt am: 13. Jan. 2009 18:02 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Zitat: Original erstellt von tomtom1972:
Wie beschrieben während der Laufzeit vom VB-Script ein CATScript ausführen. Läuft einwandfrei.Gruß TomTom
Also Du meinst, die Oberfläche kann ich in VB bzw. VB.NET machen und wenn ich z.B. ein Button auf der Oberfläche drücke, muss der Code für den Button ein CATScript starten, das die Umbenennung durchführt? MfG Walter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 14. Jan. 2009 06:49 <-- editieren / zitieren --> Unities abgeben:
Hallo walterwerner, in etwa so. Allerdings mache ich grundsätzlich soviel wie möglich in VB und rufe dann nur den Code-Schnipsel, welcher nur im CATScript läuft, auf. In diesem Fall setze ich das so um: Die Function zum Umbenennen des Instanznamens aus dem VB6 Script (oItem ist die Instanz (also das .Product) des CATParts oder CATProducts in der Struktur, welche umbenannt werden soll, sName ist der neue Instanzname ohne .Index Code: Function FUNC_Rename_BugFix(oItem, sName) On Error Resume Next Err.Clear '--- ist das Father-Product des umzubenennenden Parts/Products das Root? If TypeName(oItem.Parent.Parent.Parent.Parent) = "Application" Then Set oFather = Catia.Documents.Item(oItem.Parent.Parent.ReferenceProduct.Parent.Name) Else Set oFather = Catia.Documents.Item(oItem.Parent.Parent.Parent.Parent.ReferenceProduct.Parent.Name) End If Dim aObject1(2) Set aObject1(0) = oItem Set aObject1(1) = oFather aObject1(2) = sName '--- das aufzurufende CATScript liegt entweder (wie hier) im Ordner der kompillierten VB.exe oder wird während der Laufzeit des VB-Scripts als FileStream in einen verfügbaren Ordner (z.B. Temp) geschrieben, aufgerufen und wieder gelöscht Catia.SystemService.ExecuteScript App.Path, catScriptLibraryTypeDirectory, "InstRename_BugFix.CATScript", "CATMain", aObject1 If Err.Number <> 0 Then MsgBox "Problem beim Ausführen des InstRename_BugFix.CATScript. " & vbLf & " Abbruch.", 16, "Unbekannter Fehler." Else On Error GoTo 0 End If End Function
Das CATScript: Code: Sub CATMain(oItem, oFather, sName) If oItem.Name = oFather.Name Then Set oProd = Catia.Documents.Item((oItem).Parent.Parent.ReferenceProduct.Parent.Name) Set oItem = oProd.Product.Products.Item(oItem.Name) ElseIf oItem.Name <> oFather.Name Then Set oProd = oFather.Item(oItem.Parent.Parent.PartNumber) Set oItem = oProd.Products.Item(oItem.Name) End if '--- der kleinst Möglich Index (z.B. .1) für die Instanz On Error Resume Next Dim k as Integer Do k = k + 1 Err.Clear oItem.Name = sName& "." & k Loop Until Err.Number = 0 On Error Goto 0 End Sub
Hoffe das hilft dir weiter. Gruß TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
walterwerner Mitglied
Beiträge: 21 Registriert: 30.10.2004
|
erstellt am: 14. Jan. 2009 07:53 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
|
MrSaxophone Mitglied
Beiträge: 9 Registriert: 27.02.2008
|
erstellt am: 23. Mrz. 2009 09:05 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Hallo zusammen, auch ich kämpfe gerade mit den Instance-Names. Die Ausgangslage ist in etwa dieselbe, unser Kunde erwartet Filename, Part Name und Instance-Name gleich nach vorgegebenem Pattern, das aber von unserer Benennung abweicht. Zusätzlich holen wir unsere Daten aus Smarteam. Bis zum umbenennen der Instance-Namen funktioniert alles prima, danach gehen allerdings teilweise Constraints verloren. (Eine Komponente wird als "disconnected" angezeigt). Hattet ihr so ein Problem auch schon mal? Übrigens: Wir haben einen anderen Workaround gefunden für das in diesem Thread genannte instance-name problem: Wenn ich jedes enthaltene Product in eigenem Fenster öffne, den Instance-Name per VB ändere und speichere, dann bleibt die Änderung erhalten. Bis hierher hat es funktioniert.... Hattet ihr mit dem CATScript Workaround irgendwelche Probleme mit Constraints? Wenn nein, dann versuch ich es mal damit. Vielen Dank für eure Hilfe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 23. Mrz. 2009 14:34 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
|
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 24. Mrz. 2009 10:14 <-- editieren / zitieren --> Unities abgeben:
Hallo, In diesem Thread ging es ursprünglich einmal um die Problematik des Umbenennens von Instanznamen mit VB6 (oder .net) und dem dabei (immer noch, R18) auftretenden, oben beschriebenen Bug. @K.Siebert: Das das in CATScript geht, ist klar. Das ist jedoch ein ganz anderes Thema. @MrSaxophone: Sofern du Links hast die über das RootProduct (oder zumindest über eine Knoten überhalb des Products laufen, welches du neu in einem eigenen Fenster öffnetst) sind diese beim Umbenennen des Instanznamens (in einem eigenen Fenster) sowieso alle kaputt. Sofern du diese Links nicht hast, hat es mit dem ursprünglichen Thema nix zu tun .... Gruß ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MrSaxophone Mitglied
Beiträge: 9 Registriert: 27.02.2008
|
erstellt am: 27. Mrz. 2009 15:40 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Hallo zusammen, ich bin zu einer Lösung meines Problems gekommen! Tatsächlich war es auch für meine gebrochenen Constraints die gleiche Ursache wie bereits von tomtom1972 berichtet! Wenn ich die Umbenennung innerhalb eines Scripts mache, das in CATIA läuft, funktioniert alles problemlos. Ich konnte allerdings keine Unterschiede feststellen, ob ich es als CATScript, oder catvba mache! Beides funktioniert gleich gut. Sobald ich allerdings ein externes VB Projekt verwende, das die CATIA API per COM anspricht, habe ich wieder das Problem. Jedenfalls hat uns dieser Beitrag sehr weitergeholfen!!!! Vielen Dank dafür!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tobiley Mitglied Masterstudent
Beiträge: 59 Registriert: 15.02.2010 Win XP CatiaV5 R17, R18, R19 HD2-Lizenz VB2008
|
erstellt am: 11. Apr. 2011 21:46 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Hallo ich habe ein Programm mit VB.NET geschrieben welches eine komplette Baugruppe umbenennt also z.B. die Teilenummer bei allen Bauteilen ändert. Den Instance-Namen nenne ich auch mittels eines CATScripts wie von tomtom1972 beschrieben um. Das Problem ist das CATIA die einzelnen Dateien zum speichern komplett lädt und so der benötigte Arbeitsspeicher bei großen Baugruppen immer größer wird bis dieser vollläuft. Um das zuverhindern lade ich jedes Bauteil nach dem Speichervorgang in den Visualization_Mode. Das klappt auch eigentlich ganz gut. Bis auf die Tatsache, dass die Im Bild umrandetet Parameter ihre Verknüpfung zu dem "Arbeitspart" darüber verlieren. Dies geschieht nicht wenn ich den Befehl mit Visualization-Mode weglasse. Aus diesem Grund habe ich mir gedacht das ich "nur" das CATProduct (und damit erst dann die einzelnen CATParts) welches die einzelnen CATParts beinhaltet in den Visualization_Mode lade wenn alle einzelenen CATParts umbenannt sind. Dadurch sollten sich meiner Meinung nach die Links anpassen können. Tun sie jedoch nicht. Weiß jmd. zufällig einen Lösungsansatz? Vielen Dnak für eure Hilfe! CODE mit Visualization_Mode bei allen Bauteilen:
Code: Sub SUB_SCAN(ByVal oProducts, ByVal UebergabeName, ByVal auftragsnummer) Dim oProductsUebergabe As Products Dim pos As Integer Dim n As Integer Dim NeuerName As String Dim Pfad As String For i = 1 To oProducts.Count If oProducts.Item(i).Products.Count > 0 Then oProductsUebergabe = oProducts.Item(i).Products SUB_SCAN(oProductsUebergabe, UebergabeName, auftragsnummer) '------Umbenennen-------- pos = 0 n = 0 Do pos = Strings.InStr(pos + 1, oProducts.Item(i).PartNumber, "_") n = n + 1 Loop Until n = 2 NeuerName = UebergabeName & "_" & Strings.Mid(oProducts.Item(i).PartNumber, pos + 1) If oProducts.Item(i).PartNumber <> "Formteile" And oProducts.Item(i).PartNumber <> "Rohlinge" Then oProducts.Item(i).PartNumber = NeuerName Istrename_Bugfix(oProducts.Item(i), NeuerName) '-------Speichern---------- Dim loeschFile As String loeschFile = oProducts.Item(i).ReferenceProduct.Parent.Fullname pos = Strings.InStrRev(oProducts.Item(i).ReferenceProduct.Parent.Fullname, "\") Pfad = Strings.Left(oProducts.Item(i).ReferenceProduct.Parent.Fullname, pos) Catia.DisplayFileAlerts = False Try oProducts.Item(i).ReferenceProduct.Parent.saveas(Pfad & NeuerName) Catch ex As Exception End Try Catia.DisplayFileAlerts = True oProducts.Item(i).ApplyWorkMode(CatWorkModeType.VISUALIZATION_MODE) System.IO.File.Delete(loeschFile) End If Else pos = 0 n = 0 Do oProducts.item(i).ApplyWorkMode(CatWorkModeType.DEFAULT_MODE) pos = Strings.InStr(pos + 1, oProducts.Item(i).PartNumber, "_") n = n + 1 Loop Until n = 2 NeuerName = UebergabeName & "_" & Strings.Mid(oProducts.Item(i).PartNumber, pos + 1) If oProducts.Item(i).PartNumber <> "Formteile" And oProducts.Item(i).PartNumber <> "Rohlinge" Then oProducts.Item(i).PartNumber = NeuerName Istrename_Bugfix(oProducts.Item(i), NeuerName) '-------Speichern---------- Dim loeschFile As String loeschFile = oProducts.Item(i).ReferenceProduct.Parent.Fullname pos = Strings.InStrRev(oProducts.Item(i).ReferenceProduct.Parent.Fullname, "\") Pfad = Strings.Left(oProducts.Item(i).ReferenceProduct.Parent.Fullname, pos) Catia.DisplayFileAlerts = False Try oProducts.Item(i).ReferenceProduct.Parent.saveas(Pfad & NeuerName) Catch ex As Exception End Try Catia.DisplayFileAlerts = True oProducts.Item(i).ApplyWorkMode(CatWorkModeType.VISUALIZATION_MODE) System.IO.File.Delete(loeschFile) End If End If Next End Sub
CODE indem nur das ZSB in den Visualization_Mode geladen wird: Code: Sub SUB_SCAN(ByVal oProducts, ByVal UebergabeName, ByVal auftragsnummer) Dim oProductsUebergabe As Products Dim pos As Integer Dim n As Integer Dim NeuerName As String Dim Pfad As String For i = 1 To oProducts.Count If oProducts.Item(i).Products.Count > 0 Then oProductsUebergabe = oProducts.Item(i).Products SUB_SCAN(oProductsUebergabe, UebergabeName, auftragsnummer) '------Umbenennen-------- pos = 0 n = 0 Do pos = Strings.InStr(pos + 1, oProducts.Item(i).PartNumber, "_") n = n + 1 Loop Until n = 2 NeuerName = UebergabeName & "_" & Strings.Mid(oProducts.Item(i).PartNumber, pos + 1) If oProducts.Item(i).PartNumber <> "Formteile" And oProducts.Item(i).PartNumber <> "Rohlinge" Then oProducts.Item(i).PartNumber = NeuerName Istrename_Bugfix(oProducts.Item(i), NeuerName) '-------Speichern---------- Dim loeschFile As String loeschFile = oProducts.Item(i).ReferenceProduct.Parent.Fullname pos = Strings.InStrRev(oProducts.Item(i).ReferenceProduct.Parent.Fullname, "\") Pfad = Strings.Left(oProducts.Item(i).ReferenceProduct.Parent.Fullname, pos) Catia.DisplayFileAlerts = False Try oProducts.Item(i).ReferenceProduct.Parent.saveas(Pfad & NeuerName) Catch ex As Exception End Try Catia.DisplayFileAlerts = True If Strings.InStr(oProducts.Item(i).PartNumber, "ZSB") <> 0 Then oProducts.Item(i).ApplyWorkMode(CatWorkModeType.VISUALIZATION_MODE) End If System.IO.File.Delete(loeschFile) End If Else pos = 0 n = 0 Do oProducts.item(i).ApplyWorkMode(CatWorkModeType.DEFAULT_MODE) pos = Strings.InStr(pos + 1, oProducts.Item(i).PartNumber, "_") n = n + 1 Loop Until n = 2 NeuerName = UebergabeName & "_" & Strings.Mid(oProducts.Item(i).PartNumber, pos + 1) If oProducts.Item(i).PartNumber <> "Formteile" And oProducts.Item(i).PartNumber <> "Rohlinge" Then oProducts.Item(i).PartNumber = NeuerName Istrename_Bugfix(oProducts.Item(i), NeuerName) '-------Speichern---------- Dim loeschFile As String loeschFile = oProducts.Item(i).ReferenceProduct.Parent.Fullname pos = Strings.InStrRev(oProducts.Item(i).ReferenceProduct.Parent.Fullname, "\") Pfad = Strings.Left(oProducts.Item(i).ReferenceProduct.Parent.Fullname, pos) Catia.DisplayFileAlerts = False Try oProducts.Item(i).ReferenceProduct.Parent.saveas(Pfad & NeuerName) Catch ex As Exception End Try Catia.DisplayFileAlerts = True If Strings.InStr(oProducts.Item(i).PartNumber, "ZSB") <> 0 Then oProducts.Item(i).ApplyWorkMode(CatWorkModeType.VISUALIZATION_MODE) End If System.IO.File.Delete(loeschFile) End If End If Next End Sub
[Diese Nachricht wurde von tobiley am 11. Apr. 2011 editiert.] 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: 11. Apr. 2011 22:41 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Servus Ist das bei allen Parts ein Problem, dass die Verknüpfungen ihre Referenz verlieren? Gemäß dem Bild scheint es ja beim nächsten Part zu funktionieren (oder hat dieses Teile keine Verknüpfung?) Ich vermute, dass es Probleme mit den Komponenten gibt (zB "Formteile"). Auch bei diesen wechselt du in den Visualization_Mode (ggf noch zu früh). Versuch mal durch eine Schleife die Komponenten beim zurückschalten in den Visualization_Mode zu übergehen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 12. Apr. 2011 22:58 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Hallo tobiley, wenn ich Dein Problem richtig verstehe, ist die Lösung dafür der "Standard_Mode". Dies ist ein "Visualization_Mode" mit Zugriff auf Parameter. Er lässt sich nur im Script nutzen, interaktiv ist er nicht einstellbar. 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 |
tobiley Mitglied Masterstudent
Beiträge: 59 Registriert: 15.02.2010 Win XP CatiaV5 R17, R18, R19 HD2-Lizenz VB2008
|
erstellt am: 14. Apr. 2011 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Hallo, danke für eure Antworten! @Lusilnie: In welcher Bibliothek finde ich den Standard_Mode denn in der Eigenschaft "CatWorkModeType" befindet sich dieser bei mir in .NET nicht. Bzw. wie wende ich den Standard_Mode an? Wenn das sonst klappt wäre das natürlich perfekt! @Bernd: Das Problem tritt bei alle CATParts auf! Bei dem Beispiel habe ich das Programm vorher unterbrochen. Wie genau meinst du das mit dem mitgeben kann mir das gerade irgendwie nciht wirklich vorstellen?
Vielen Dank und Grüße Tobias Ist der Standard_Mode der Default_Mode?
[Diese Nachricht wurde von tobiley am 14. Apr. 2011 editiert.] [Diese Nachricht wurde von tobiley am 14. Apr. 2011 editiert.] [Diese Nachricht wurde von tobiley am 14. Apr. 2011 editiert.] [Diese Nachricht wurde von tobiley am 14. Apr. 2011 editiert.] [Diese Nachricht wurde von tobiley am 14. Apr. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tobiley Mitglied Masterstudent
Beiträge: 59 Registriert: 15.02.2010 Win XP CatiaV5 R17, R18, R19 HD2-Lizenz VB2008
|
erstellt am: 14. Apr. 2011 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für tomtom1972
Habe das Problem nun erkannt. Kann es nur leider nicht lösen. Das Problem ist das die Contextual Links nicht automatisch aktualisiert werden bzw. beim umbenennen der Instancenames verloren gehen. Wenn ich das Baugruppen-Product aktiviere und dann auf das Product des CATParts rechtsklicke und dann auf "Components" und dann auf "Define Contextual Links" gehe können die Contextual Links reparierieten bzw. ausgetauscht werden und es muss nur noch einmal geupdatet werden. Kann man dies irgendwie automatisch dürchführen lassen? Wär doch schon ziemlich nervig, das 1000mal machen zu müssen. Laut den Beträgen oben sollte dies ja automatisch passieren wenn man den Instancename mittels eines CATScripts ändert, bei mir komischerweise jedoch nicht. Vielen Dank für eure Hilfe! mfg Tobias [Diese Nachricht wurde von tobiley am 14. Apr. 2011 editiert.] [Diese Nachricht wurde von tobiley am 19. Apr. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |