Makro wybiera nazwaną powierzchnię części w zespole

Aby móc dodać wiązanie, w makrze muszę wybrać nazwaną powierzchnię części w złożeniu, mam coś takiego jak poniżej, ale to nie działa

' boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, swSelectOptionDefault)

Czy ktoś może mi pomóc?

Z góry dziękuję

AF

 

Cześć, czy znasz nazwę tej sztuki?

Tak

To jest: col_60-1

ASS to nazwa zespołu

imię twarzy to: Fond

Właśnie zauważyłem, że twoja linijka zaczyna się od apostrofu: powinna zostać usunięta, ponieważ jest to znak do komentarzy i nie wie, co jest napisane po nim!

   ' boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, swSelectOptionDefault)

=>

 boolstat = swModelDocExt.SelectByID2("Fond@col_60-1@ass", "PŁASZCZYZNA", 0, 0, 0, Prawda, 1, Nic, swSelectOptionDefault)

Poprawny

ale to była próba, która nie działa,  więc umieściłem ją w komentarzach

CDLT powiedział:

 

Czy facet jest dobry?

Wskazujesz płaszczyznę "PŁASZCZYZNA", podczas gdy mówisz o twarzy "TWARZ"

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

Interesujące informacje również tutaj:

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

 

W rzeczywistości tutaj mówią, że ta instrukcja nie działa i że musisz użyć GetEntityByName, a następnie Select4 

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

Przykład tej instrukcji GetEntityByName:

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

Ok, zajmę się tym wszystkim

Ale moim celem nie jest interwencja człowieka

CDLT powiedział:

1 polubienie

Dzięki GetEntityByName  nie ma mowy o interwencji człowieka! I myślę, że będzie działać lepiej niż "SelectByID2".

Rzeczywiście, rozwiązanie jest w tym przykładzie:

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

Załączyłem część mojego programu

CDLT powiedział:


select_component_face_by_name_example_vba.txt

A program teraz działa?

Jeśli nie, który wiersz jest błędny i na czym polega błąd?

Tak, nie wyraziłem się jasno

Końcówka programu działa

Dziękuję

AF