| |
| CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min |
| |
| KISTERS 3DViewStation - Der Schlüssel zur Einsparung von CAD-Lizenzen, eine Pressemitteilung
|
Autor
|
Thema: Sketch Elemente zu Construction setzen (335 mal gelesen)
|
Sylas Mitglied
Beiträge: 349 Registriert: 19.11.2012 Dell Precision T3500 Intel Xeon W3550 @ 3,07 GHz 12 GB RAM CATIA V5 R28
|
erstellt am: 04. Aug. 2023 17:44 <-- editieren / zitieren --> Unities abgeben:
Halo Zusammen! Ich versuche gerade ein kleines Macro schreiben, welches Benutzer-selektierte Elemente von dem / zu dem Construction Elemente (bzw. Geometrical Elemente) unter Skizze dort oder zuruck setzt: Code: Sub CATMain()Dim odSel As Selection Dim oSel Dim InputObjectType(0) As Variant Dim oElement As Geometry2D Set odSel = CATIA.ActiveDocument.Selection Set oSel = odSel InputObjectType(0) = "AnyObject" Result = oSel.SelectElement3(InputObjectType, "Choose geometry", True, CATMultiSelTriggWhenUserValidatesSelection, True) For i = 1 To oSel.Count Set oElement = oSel.Item(1).Value Select Case oElement.Construction Case True oElement.Construction = False Case False oElement.Construction = True End Select Next MsgBox ("Done!") End Sub
Varscheinlicht funktioniert das nur wenn ich will vom Geo zum Construction setzten, aber ander Weg - nicht Kannst mir jemand sagen, was habe ich Falsch gemacht? Danke im Voraus Lucas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lionel Hutz Mitglied
Beiträge: 451 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 07. Aug. 2023 07:48 <-- editieren / zitieren --> Unities abgeben: Nur für Sylas
Ohne die Case-Abfrage kann man hin- und herschalten. Code: Sub CATMain() Dim odSel As Selection Dim oSel Dim InputObjectType(0) As Variant Dim oElement As Geometry2DSet odSel = CATIA.ActiveDocument.Selection Set oSel = odSel InputObjectType(0) = "AnyObject" Result = oSel.SelectElement3(InputObjectType, "Choose geometry", True, CATMultiSelTriggWhenUserValidatesSelection, True) For i = 1 To oSel.Count Set oElement = oSel.Item(1).Value ' Select Case oElement.Construction ' Case True ' oElement.Construction = False ' Case False oElement.Construction = True ' End Select Next MsgBox ("Done!") End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lionel Hutz Mitglied
Beiträge: 451 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 07. Aug. 2023 08:03 <-- editieren / zitieren --> Unities abgeben: Nur für Sylas
|
Sylas Mitglied
Beiträge: 349 Registriert: 19.11.2012 Dell Precision T3500 Intel Xeon W3550 @ 3,07 GHz 12 GB RAM CATIA V5 R28
|
erstellt am: 07. Aug. 2023 09:45 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Lionel Hutz: So geht es
Code: oElement.Construction = not(oElement.Construction)
Hallo Lionel Danke für deine Antwort, aber das funktioniert bei mir nicht Zudem, Ich habe bemerkt, dass das Makro tritt zum Case "True" ein nicht Wo kann das Grund liegen? Gruß Lucas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lionel Hutz Mitglied
Beiträge: 451 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 07. Aug. 2023 09:57 <-- editieren / zitieren --> Unities abgeben: Nur für Sylas
|
Sylas Mitglied
Beiträge: 349 Registriert: 19.11.2012 Dell Precision T3500 Intel Xeon W3550 @ 3,07 GHz 12 GB RAM CATIA V5 R28
|
erstellt am: 07. Aug. 2023 10:08 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Lionel Hutz: Hast du die Case-Abfrage weg gelassen?
Ja :)
Code: Sub CATMain()Dim odSel As Selection Dim oSel Dim InputObjectType(0) As Variant Dim oElement As Geometry2D Set odSel = CATIA.ActiveDocument.Selection Set oSel = odSel InputObjectType(0) = "AnyObject" Result = oSel.SelectElement3(InputObjectType, "Choose geometry", True, CATMultiSelTriggWhenUserValidatesSelection, True) For i = 1 To oSel.Count Set oElement = oSel.Item(1).Value 'Select Case oElement.Construction 'Case True oElement.Construction = Not (oElement.Construction) 'Case False ' oElement.Construction = True 'End Select Next MsgBox ("Done!") End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lionel Hutz Mitglied
Beiträge: 451 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 07. Aug. 2023 10:11 <-- editieren / zitieren --> Unities abgeben: Nur für Sylas
Ich habe gerade rum gespielt. (Die MsgBox habe ich raus genommen) Multiselection funktioniert nicht, bei einem selektierten Element funktioniert es. Edit: Funktioniert nur mit einem vorselektierten Element. [Diese Nachricht wurde von Lionel Hutz am 07. Aug. 2023 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lionel Hutz Mitglied
Beiträge: 451 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 07. Aug. 2023 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für Sylas
|
Sylas Mitglied
Beiträge: 349 Registriert: 19.11.2012 Dell Precision T3500 Intel Xeon W3550 @ 3,07 GHz 12 GB RAM CATIA V5 R28
|
erstellt am: 07. Aug. 2023 12:21 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Lionel Hutz: Ich habe gerade rum gespielt. (Die MsgBox habe ich raus genommen) Multiselection funktioniert nicht, bei einem selektierten Element funktioniert es.Edit: Funktioniert nur mit einem vorselektierten Element. [Diese Nachricht wurde von Lionel Hutz am 07. Aug. 2023 editiert.]
Bei mir auch mit Vorselektion funktioniert es nicht das ist seltsam Leider funct es nur in einem Richtung... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lionel Hutz Mitglied
Beiträge: 451 Registriert: 26.03.2014 CATIA V5 R26
|
erstellt am: 07. Aug. 2023 12:25 <-- editieren / zitieren --> Unities abgeben: Nur für Sylas
Code: Sub CATMain() Dim odSel As Selection Dim oSel Dim InputObjectType(0) As Variant Dim oElement As Geometry2DSet odSel = CATIA.ActiveDocument.Selection Set oSel = odSel InputObjectType(0) = "AnyObject" Result = oSel.SelectElement3(InputObjectType, "Choose geometry", True, CATMultiSelTriggWhenUserValidatesSelection, True) For i = 1 To oSel.Count Set oElement = oSel.Item(i).Value 'Hier fehlte das i oElement.Construction = not(oElement.Construction) Next 'MsgBox ("Done!") End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |