Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Sketch Elemente zu Construction setzen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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



Sehen Sie sich das Profil von Sylas an!   Senden Sie eine Private Message an Sylas  Schreiben Sie einen Gästebucheintrag für Sylas

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Lionel Hutz an!   Senden Sie eine Private Message an Lionel Hutz  Schreiben Sie einen Gästebucheintrag für Lionel Hutz

Beiträge: 451
Registriert: 26.03.2014

CATIA V5 R26

erstellt am: 07. Aug. 2023 07:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sylas 10 Unities + Antwort hilfreich

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 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


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lionel Hutz
Mitglied



Sehen Sie sich das Profil von Lionel Hutz an!   Senden Sie eine Private Message an Lionel Hutz  Schreiben Sie einen Gästebucheintrag für Lionel Hutz

Beiträge: 451
Registriert: 26.03.2014

CATIA V5 R26

erstellt am: 07. Aug. 2023 08:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sylas 10 Unities + Antwort hilfreich

So geht es
Code:
oElement.Construction = not(oElement.Construction)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sylas
Mitglied



Sehen Sie sich das Profil von Sylas an!   Senden Sie eine Private Message an Sylas  Schreiben Sie einen Gästebucheintrag für Sylas

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Lionel Hutz an!   Senden Sie eine Private Message an Lionel Hutz  Schreiben Sie einen Gästebucheintrag für Lionel Hutz

Beiträge: 451
Registriert: 26.03.2014

CATIA V5 R26

erstellt am: 07. Aug. 2023 09:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sylas 10 Unities + Antwort hilfreich

Hast du die Case-Abfrage weg gelassen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sylas
Mitglied



Sehen Sie sich das Profil von Sylas an!   Senden Sie eine Private Message an Sylas  Schreiben Sie einen Gästebucheintrag für Sylas

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Lionel Hutz an!   Senden Sie eine Private Message an Lionel Hutz  Schreiben Sie einen Gästebucheintrag für Lionel Hutz

Beiträge: 451
Registriert: 26.03.2014

CATIA V5 R26

erstellt am: 07. Aug. 2023 10:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sylas 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von Lionel Hutz an!   Senden Sie eine Private Message an Lionel Hutz  Schreiben Sie einen Gästebucheintrag für Lionel Hutz

Beiträge: 451
Registriert: 26.03.2014

CATIA V5 R26

erstellt am: 07. Aug. 2023 11:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sylas 10 Unities + Antwort hilfreich

Wie wäre es damit:
Code:
    Set oElement = oSel.Item(i).Value

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Sylas
Mitglied



Sehen Sie sich das Profil von Sylas an!   Senden Sie eine Private Message an Sylas  Schreiben Sie einen Gästebucheintrag für Sylas

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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



Sehen Sie sich das Profil von Lionel Hutz an!   Senden Sie eine Private Message an Lionel Hutz  Schreiben Sie einen Gästebucheintrag für Lionel Hutz

Beiträge: 451
Registriert: 26.03.2014

CATIA V5 R26

erstellt am: 07. Aug. 2023 12:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Sylas 10 Unities + Antwort hilfreich

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(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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz