Autor
|
Thema: Constrains updaten (1209 mal gelesen)
|
LuNo Mitglied Konstrukteur
Beiträge: 16 Registriert: 04.12.2007 CATIA V5R19 SP9 HF78
|
erstellt am: 24. Sep. 2013 10:39 <-- editieren / zitieren --> Unities abgeben:
Ich möchte per Macro alle Product.Constrains updaten, die nicht uptodate sind. Hierbei geht es nur um das Updaten der Lage. Die Componenten/Parts selbst, sollen nicht upgedatet werden. Vereinfacht gesagt, ich möcht per macro folgendes nachstellen: auswahl von Constrains Kontextmenü --> Update das Erkenne, und Selectieren dieser Constrains funtioniert, mit folgendem Code Code: Private Sub ProdUpdate() Dim constr As Constraint Dim OSel As Selection On Error Resume Next Set OSel = SimProd.Parent.Selection If Err <> 0 Then MsgBox "Kann Product nicht updaten" Err.Clear Exit Sub End If OSel.Clear For Each constr In SimProd.Connections("CATIAConstraints") If constr.Status <> catCstStatusOK Then OSel.Add constr End If Next If OSel.Count2 > 0 Then objCATIA.StartCommand ("Update") OSel.Clear End If Set OSel = Nothing End Sub
Probleme bereitet mir StartCommad("Update") da es mehrere Update-Commados gibt. Frage: 1. Wie kann ich / kann ich überhaupt das Updatekommado ansprechen, welches Constrains updatet? 2. Kennt jemand eine Möglichkeit, das Constrainobjekt zu updaten? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 24. Sep. 2013 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für LuNo
Das Part hat eine Update-Methode für Objekte. Ich glaube Part.UpdateObject() Ich vermute, dass das Product eine ähnliche Eigenschaft hat. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LuNo Mitglied Konstrukteur
Beiträge: 16 Registriert: 04.12.2007 CATIA V5R19 SP9 HF78
|
erstellt am: 24. Sep. 2013 13:40 <-- editieren / zitieren --> Unities abgeben:
Habe ich auch gedacht, aber leider nicht für Constrains, dieses ist ja mein Problem, oder ich kann sie nicht finden. in den tiefen von Catia gibt es ein Funktion, sonst könte ich ja nicht über das Kontextmenü die Constrains updaten. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LuNo Mitglied Konstrukteur
Beiträge: 16 Registriert: 04.12.2007 CATIA V5R19 SP9 HF78
|
erstellt am: 24. Sep. 2013 15:47 <-- editieren / zitieren --> Unities abgeben:
wie kann ich das Kommado CATAssembly.AsmCstSolve aus ..\intel_a\resources\msgcatalog\CATAssembly.CATNls ansprechen beim Interakiven updaten der Constrains werden mir die Hilfetexte diese Kommandos angezeit
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Sep. 2013 09:22 <-- editieren / zitieren --> Unities abgeben: Nur für LuNo
|
LuNo Mitglied Konstrukteur
Beiträge: 16 Registriert: 04.12.2007 CATIA V5R19 SP9 HF78
|
erstellt am: 25. Sep. 2013 11:32 <-- editieren / zitieren --> Unities abgeben:
Hallo Erst mal Danke für Euer Beiträge Habe mich gerstern abend noch mal rangesetzt
Zitat: Original erstellt von LuNo: wie kann ich das Kommado CATAssembly.AsmCstSolve aus ..\intel_a\resources\msgcatalog\CATAssembly.CATNls ansprechen beim Interakiven updaten der Constrains werden mir die Hilfetexte diese Kommandos angezeit
Ist der Titel des CATNls-Key's (CATAssembly.AsmCstSolve) eindeutig z.B. "Update AsmCst" in ganzen Catia oder im Workbench eindeutig so lässt sich dieses Kommando auch mit CATIA.StartCommand auslösen. Das funktionier habe ich gesetern abend mal getestet. Das Umbenennen der CATNls-Keys ändert natürlich auch den Eintrag in Interaktiven Kontextmenü. Dieses kann zu Verwirrung bei Usern führen, oder andere programierungen abschießen. Nach jedem Update ist diese Einstellung auch wieder weg. Es ist daher nur ein Workaround. Besser wäre es direckt den CATNls-Key anzusprechen. Aber wie geht das????? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Sep. 2013 11:48 <-- editieren / zitieren --> Unities abgeben: Nur für LuNo
Das ist klar, wenn du dem Kind einen eigenen Identifier gibst, dann kannst du ihn auch ansprechen. Das Problem ist nur, dass die CATNLS somit vom Standard abweicht. Das heist, dass das Programm dann nur auf deinem Rechner läuft oder du überall diese austauschen musst. Das ist sehr fehlerträchtig! Den Key "CATAssembly.AsmCstSolve" kannst du AFAIK nicht direkt ansprechen. Der Dient lediglich der Identifikation von CATIA, zum auslesen der sprachabhängigen Texte. Die CATNLS würde ich nicht verändern. Ich gebe zu, dass ich damit auch schon ordentlich rumgespielt habe, aber für die Produktivumgebung ist das meiner Meinung nach leider nichts. ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
LuNo Mitglied Konstrukteur
Beiträge: 16 Registriert: 04.12.2007 CATIA V5R19 SP9 HF78
|
erstellt am: 25. Sep. 2013 12:28 <-- editieren / zitieren --> Unities abgeben:
Was heißt eigentlich AFAIK ? Das mit der Eindeutigkeit von Kommandos ist ja eigentlich ne Grundvorrausetztung für die Lauffähigkeit und Stabilität von Programierungen. Das heißt ja im Umkehrschluss CATIA.StartCommand(CommandID) ist nur bedingt zur Programierung geeignet da es keine eindeutigen CommandID gibt. in Verschiedenen OEM-Umgebugen führt CATIA.StartCommand("Update") zu verscheinene CatiaFunktionen Das mit der obignen Lösung in einer Produktievumgebung sehe ich genauso wie Rick würde ich mit CAA weiter kommen??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 25. Sep. 2013 12:35 <-- editieren / zitieren --> Unities abgeben: Nur für LuNo
AFAIK = as far as I know / soweit ich weis (demnach auch kann mich auch täuschen ) Ich bin mir ziemlich sicher, dass du via CAA deutlich mehr Möglichkeiten auch in diesem Bereich hast. Startcommand wird über die Alias in den CATNLS definiert. Demnach müssten die jeweiligen OEM´s dann schon eigene CATNLS-Dateien mitliefern. Du kannst den Funktionen zwar auch User Alias zuordnen, die AFAIK in den Settings gespeichert werden, aber ich kann mir kaum vorstellen, dass du damit vorhandene überschreiben kannst. ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |