Wybrać część, aby dodać notatkę VBA SolidWorks

Witam

Chcę dodać notatkę za pomocą makra związanego z właściwością komponentu, do którego jest dołączona w rysunku SolidWorks.

Próbowałem użyć metody rejestracji SolidWorks, ale wygenerowany kod nie działa dla mnie. Dzieje się tak, ponieważ wybiera część na podstawie jej współrzędnych i jeśli chcę zastosować to makro do innego rysunku, w którym znajduje się część, nie działa, jeśli część nie jest umieszczona w ten sam sposób na arkuszu.

Oto kod wygenerowany przez SolidWorks:

Dim swApp As Object

Przyciemnij część jako obiekt
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Ustaw swApp = _
Aplikacja.SldWorks

Ustaw część = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.418950851731392, 0.261697604464967, -499.977072134691, False, 0, Nic, 0)

Przyciemnij moją notatkę jako obiekt
Przyciemnij moją adnotację jako obiekt
Dim myTextFormat As Object
Ustaw myNote = Part.InsertNote("$PRPMODEL:""Punkt orientacyjny""")
Jeśli nie, MyNote jest niczym, to
   myNote.LockPosition = Fałsz
   myNote.Angle = 0
   boolstatus = mojaNote.SetBalloon(0, 0)
   Ustaw myAnnotation = myNote.GetAnnotation()
   Jeśli nie, moja adnotacja to nic
      longstatus = myAnnotation.SetLeader3(swLeaderStyle_e.swSTRAIGHT, 0, Prawda, Fałsz, Fałsz, Fałsz)
      boolstatus = myAnnotation.SetPosition(0.304559076486096, 0.311886588479215, 0)
      boolstatus = myAnnotation.SetTextFormat(0, Prawda, mójFormatTekst)
   Zakończ jeżeli:
Zakończ jeżeli:
Part.ClearSelection2 Prawda
Part.WindowPrzerysowanie
Koniec subwoofera

 

Próbowałem zastąpić boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.418950851731392, 0.261697604464967, -499.977072134691, False, 0, Nic, 0)

przez

boolstatus = Part.Extension.SelectByID2("Part2-1", "KOMPONENT", 0.418950851731392, 0.261697604464967, -499.977072134691, Fałsz, 0, Nic, 0)

Ale to nie działa.

Czy ktoś zna rozwiązanie?

Dziękuję

Witam

Proponuję pomysł; Ale jeśliwyświetlisz początki i ponownie zrobisz makro z haczykiem początku elementu, to nie zadziała??? Jestem nowy w makrach....

Witaj manu67,

Dziękuję za odpowiedź, która prawie działa.

Pierwotnie dodałem swoją notatkę, nagrywając moje makro, które daje mi linię kodu odpowiadającą temu, czego chciałem, tj. część jest wybierana według jej nazwy, a nie według współrzędnych.

Z drugiej strony działa tylko z częściami bez konfiguracji. Chcę to zrobić ze skonfigurowanymi częściami.

Witam

Czy przejrzenie notatki, którą umieściłeś w bibliotece, nie byłoby najłatwiejsze?

Oto procedura w załączonym pliku

Mam nadzieję, że ci pomogłem.


note_en_bibliotheque.docx

Ostatecznie nie był to problem konfiguracji, ale języka w pomieszczeniu. Mam pobraną część, która jest w języku angielskim, więc pochodzenie nazywa się "Origin". Dlatego makro nie macrch dla tej części.

@fliard: dziękuję za odpowiedź, zachowam wskazówkę, która może mi się później przydać. Z drugiej strony dla tej aplikacji nie odpowiada to temu, czego oczekuję, ponieważ mam już makro, które dodaje wymiary i uzupełniam je, aby dodać notatki. Poza tym nuty, które dodaję, nie zawsze znajdują się na tym samym utworze.

Miłego dnia :)

Witam

Czy można na przykład zaksięgować działające makro w pliku tekstowym?

Dziękuję!

W załączeniu znajduje się makro, które działa


macronote.txt

Witam

dziękuję za wybranie mnie jako najlepszej odpowiedzi, ale nie sądzę, żebym był dla ciebie bardzo pomocny, ale dziękuję...