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ę