Bonjour,
Je souhaite ajouter, via une macro, une note liée à la propriété du composant auquel elle est accrochée dans une mise en plan SolidWorks.
J'ai essayé par la méthode d'enregistrement de SolidWorks mais le code généré ne me convient pas. En effet, il sélectionne la pièce en fonction de ses coordonées et si je souhaite appliquer cette macro sur une autre mise en plan où se trouve la pièce, elle ne marche pas si la pièce n'est pas placée de la même manière sur la feuille.
Voici le code généré pas SolidWorks :
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.418950851731392, 0.261697604464967, -499.977072134691, False, 0, Nothing, 0)
Dim myNote As Object
Dim myAnnotation As Object
Dim myTextFormat As Object
Set myNote = Part.InsertNote("$PRPMODEL:""Repère""")
If Not myNote Is Nothing Then
myNote.LockPosition = False
myNote.Angle = 0
boolstatus = myNote.SetBalloon(0, 0)
Set myAnnotation = myNote.GetAnnotation()
If Not myAnnotation Is Nothing Then
longstatus = myAnnotation.SetLeader3(swLeaderStyle_e.swSTRAIGHT, 0, True, False, False, False)
boolstatus = myAnnotation.SetPosition(0.304559076486096, 0.311886588479215, 0)
boolstatus = myAnnotation.SetTextFormat(0, True, myTextFormat)
End If
End If
Part.ClearSelection2 True
Part.WindowRedraw
End Sub
J'ai essayé de remplacer boolstatus = Part.Extension.SelectByID2("", "EDGE", 0.418950851731392, 0.261697604464967, -499.977072134691, False, 0, Nothing, 0)
par
boolstatus = Part.Extension.SelectByID2("Pièce2-1", "COMPONENT", 0.418950851731392, 0.261697604464967, -499.977072134691, False, 0, Nothing, 0)
mais ça ne marche pas.
Quelqu'un connait-il une solution ?
Merci