Autor
|
Thema: gleiche StartCommands - verschiedene Befehle (639 mal gelesen)
|
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 27. Okt. 2008 08:59 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, einige StartCommands haben in CATIA den selben "Command-String" aber unterschiedliche Befehle hinterlegt. Das macht es unmöglich, gezielt den einen oder den anderen Befehl ansprechen zu können. Bsp im PartDesign: "AllBodies" --> Shows all bodies. "AllBodies" --> Hides all bodies. Beide "StartCommands" sind identisch, ausgeführt wird immer einer davon (In diesem Fall der "Hide all bodies") Eine Möglichkeit ist es, über den UserAlias die Commands zu unterscheiden. Dazu müssten aber die Settings angepasst werden. Ich suche eine Möglichkeit die Commands ohne Änderung der Settings eindeutig ansprechen zu können. Gruß CAMiCADse 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: 27. Okt. 2008 09:07 <-- editieren / zitieren --> Unities abgeben: Nur für CAMiCADse
Hallo, ich glaube, dass du dir da selbst etwas programmieren musst. Die Funktion ist doch soweit ich weis abhängig von dem Eigenschaftswert, auf das es sich bezieht. Sprich, wenn es nicht sichtbar ist, dann wirkt die Funktion "Shows all bodies" und so weiter. Hier könnte ich mir vorstellen, den Pool der Elemente auf ihren Eigenschaftswerte abzufragen und darauf zu reagieren. Wenn eines der Elemente Sichtbar ist und du z.B. alles Sichtbar machen möchtest, dann musst du den Command halt 2mal ausführen. ------------------ MFG Rick Schulz Konfuzius sprach: "Wer sich das Alte noch einmal vor Augen führt, um das Neue zu verstehen, der kann anderen ein Lehrer sein."
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. 2008 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für CAMiCADse
Hallo CAMiCADse, in der Install-Struktur unter ....intel_a\resources\msgcatalog findest du eine Datei mit Namen CATPrtDefaultHeader.CATNls Wenn du diese z.B. mit WordPad öffnest und nach dem String "Hides all bodies" suchst wirst du zwei Blöcke dazu finden: CATPrtDefaultHeader.HSolids und CATPrtDefaultHeader.SSolids Beide haben den Title (sprich den CatiaStartCommand) "Hides all bodies". D.h. es ist so, wie du vermutest hast: gleicher Command-String mit unterschiedlichen hinterlegten Befehlen. An der Tatsache das immer das "Hide" ausgeführt wird wirst du nicht viel ändern können. Allerdings kannst du das ganze auch einfach richtig programmieren (sprich ohne StartCommand): Language="VBSCRIPT" Sub CATMain() Set oAD = CATIA.ActiveDocument Set oPart = oAD.Part Set oBodies = oPart.Bodies Set oSel = oAD.Selection Set oVis = oSel.VisProperties oSel.Clear For i = 1 to oBodies.Count oSel.Add(oBodies.Item(i)) Next oVis.SetShow catVisPropertyShowAttr '-- oder catVisPropertyNoShowAttr oSel.Clear End Sub Gruß TomTom ------------------ tomtom1972 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 27. Okt. 2008 18:17 <-- editieren / zitieren --> Unities abgeben:
Hallo TomTom, das mit dem Show/HideAllBodies sollte nur als Bsp dienen, es geht mir allg. um das Problem gezielt eindeutige Startcommands absetzen zu können. Aber dein Tipp mit der Datei war super! Ich hab mir die CATPrtDefaultHeader.CATNls angeschaut und etwas rumprobiert: ---> CATPrtDefaultHeader.HSolids.Title="All Bodies"; Anstatt den Title_String (hier:"All Bodies") zu nehmen, kann man auch das "interne Kommando" (hier:HSolids) verwenden. Damit klappts! Um beim Bsp zu bleiben:
Code: CATIA.StartCommand("HSolids") CATIA.StartCommand("SSolids")
Das kam mir dann irgendwie bekannt vor und siehe da......hier erst vor kurzem angesprochen worden. Hab nur nicht gerafft, dass das auch mein Problem löst
Gruß CAMiCADse 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: 29. Okt. 2008 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für CAMiCADse
|
CAMiCADse Mitglied
Beiträge: 177 Registriert: 17.02.2006 V5,R19,SP9
|
erstellt am: 12. Nov. 2008 13:03 <-- editieren / zitieren --> Unities abgeben:
Hallo, das klappt leider nicht mit Commands im Drafting!? Ich hab schon alle möglichen Dateien durchsucht, kann die IDs für Startcommands im Drawing aber nicht finden. z.B. gibt es das Command "Create", das sowohl für "PositionalLink" als auch für "OrientationLink" steht. Weiß jemand ob, bzw. wo die ID's dafür hinterlegt sind? Gruß CAMiCADse
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |