Makroauswahl einer benannten Fläche eines Teils in einer Baugruppe

Um eine Abhängigkeit hinzufügen zu können, muss ich in einem Makro eine benannte Fläche eines Teils in einer Baugruppe auswählen, ich habe etwas wie unten, aber es funktioniert nicht

' boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PLANE", 0, 0, 0, True, 1, Nichts, swSelectOptionDefault)

Kann mir jemand helfen?

Vielen Dank im Voraus

AF

 

Hallo, kennen Sie den Namen des Stücks?

Ja

Es ist: col_60-1

ASS ist der Name der Baugruppe

Der Name des Gesichts ist: Fond

Ich habe gerade gesehen, dass Ihre Zeile mit einem Apostroph beginnt: Es sollte entfernt werden, weil es das Zeichen für Kommentare ist und es nicht weiß, was danach geschrieben wird!

   ' boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PLANE", 0, 0, 0, True, 1, Nichts, swSelectOptionDefault)

=>

 boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PLANE", 0, 0, 0, True, 1, Nichts, swSelectOptionDefault)

Richtig

aber es war ein Versuch, der nicht funktioniert,  also hatte ich es in die Kommentare geschrieben

CDLT

 

Ist der Kerl gut?

Sie geben eine Ebene "PLANE" an, während Sie von einer Fläche "FLÄCHE" sprechen

http://help.solidworks.com/2015/English/api/swconst/SOLIDWORKS.Interop.swconst~SOLIDWORKS.Interop.swconst.swSelectType_e.html

Auch hier interessante Informationen:

http://help.solidworks.com/2015/English/api/sldworksapi/Get_Component_Face_By_Name_Example_VB.htm

 

Tatsächlich sagen sie hier, dass diese Anweisung nicht funktioniert und dass Sie GetEntityByName und dann Select4 verwenden müssen

https://forum.solidworks.com/thread/62936

Ein Beispiel für diese GetEntityByName-Anweisung :

http://help.solidworks.com/2014/English/api/sldworksapi/Get_Component_Name_From_Selected_Entity_Example_VB.htm

Ok, ich werde mir das alles ansehen

Aber mein Ziel ist es nicht, dass der Mensch eingreift

CDLT

1 „Gefällt mir“

Mit GetEntityByName  kann von menschlichem Eingreifen keine Rede sein! Und ich denke, es wird besser funktionieren als "SelectByID2".

In der Tat liegt die Lösung in diesem Beispiel:

http://help.solidworks.com/2015/English/api/sldworksapi /Get_Component_Face_By_Name_Example_VB.htm

Ich habe einen Teil meines Programms angehängt

CDLT


select_component_face_by_name_example_vba.txt

Und das Programm funktioniert jetzt?

Wenn nicht, welche Zeile ist fehlerhaft und was ist der Fehler?

Ja, ich war mir nicht klar

Der Programmtipp funktioniert

Vielen Dank

AF