Makro — dodawanie notatki o części na rysunku

Witam
Tworzę makro. Mam widok z zespołem i chcę wskazać jeden z elementów, aby dodać dołączoną do niego notatkę z linkiem do właściwości

Udało mi się już przejść przez drzewo komponentów części, które znajdują się w widoku, i udaje mi się uzyskać
swComp powiedział:
i mieć nazwę z . Name2 lub ścieżka .getPathName
i udaje mi się też wymienić ciała/twarze

Udaje mi się też dodać notatkę na temat mojego wzroku

Nie mogę wybrać elementu, do którego chcę dołączyć notatkę. Próbuję z .select4 i innymi funkcjami, które znalazłem, ale niemożliwe. To jest tak naprawdę łącznik między utworem a nutą, której nie mogę wydobyć

Z góry dziękuję
Cédric powiedział:

Witam

Dlaczego po prostu nie zrobić biblioteki notatek, tak jak ja, ponieważ i tak będziesz musiał wybrać swój element, aby go dołączyć, a następnie przeciągnij i upuść i to wszystko.

3 polubienia

dziękuję, ale mam już biblioteki, to, co chcę zrobić, to automatycznie dodawać notatki do utworów

Oto kod, którego obecnie używam. Dobrze zaznacza utwór, tworzy notatkę, ale nie jest dołączona do zaznaczenia

Dim swApp As Object
Dim swModel As SldWorks.ModelDoc2
Dim swSelMgr As SldWorks.SelectionMgr
Dim boolstatus As Boolean
Dim swModelDocExt As SldWorks.ModelDocExtension

Sub main()

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swModelDocExt = swModel.Extension
    Set swSelMgr = swModel.SelectionManager
    Set swComp = swSelMgr.GetSelectedObject6(1, -1)
   
    boolstatus = swModel.ActivateView("Vue de mise en plan4")
    boolstatus = swModel.Extension.SelectByID2("Tuy entree huile 49477-23@Vue de mise en plan4/Pipe_1-Tuy entree huile 49477-1@Tuy entree huile 49477/3inSchedule10_2^Pipe_1-Tuy entree huile 49477-3@Pipe_1-Tuy entree huile 49477", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
    Debug.Print boolstatus
    
    Dim myNote As Object
    Set myNote = swModel.InsertNote("Lg= $PRPMODEL:""Longueur"" mm")
End Sub

Witam;
Zobacz Pomoc API:
https://help.solidworks.com/2022/english/api/sldworksapi/Attach_Annotation_to_Entity_Example_VB.htm?verRedirect=1

a dokładniej: SetAttachedEntities

Pozdrowienia.

1 polubienie