merci JeromeP je viens de regarder, c'est ce qu'il me faut.
est-ce que vous auriez une solution pour ne pas avoir à donner les coordonnées X et Y pour la sélection du sommet de la pièce ainsi que la face ? car en fonction de la pièce qui va être insérée les coordonnée ne serons pas pareil et du coup ça ne marche pas.
boolstatus = Part.Extension.SelectByID2("", "VERTEX", 0.0443, 0.0674, 0, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.067, 0.083, 0, True, 2, Nothing, 0)
il faudrait détecter automatiquement un sommet de la pièce ainsi que la face de la pièce insérée automatiquement mais je ne vois pas comment faire.
code de base utilisé.
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim spec As SldWorks.DocumentSpecification
Dim Drawing As SldWorks.DrawingDoc
Dim boolstatus As Boolean
Option Explicit
Sub main()
Set swApp = Application.SldWorks
Set spec = swApp.GetOpenDocSpec("C:\Program Files\SolidWorks Corp\SOLIDWORKS\samples\tutorial\api\cover_datum.sldprt")
Set Part = swApp.OpenDoc7(spec)
Set Drawing = swApp.NewDocument("C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\samples\tutorial\advdrawings\Drawing.drwdot", 2, 0.2794, 0.4318)
Set Part = Drawing
boolstatus = Part.Extension.SelectByID2("Sheet1", "SHEET", 0.39237, 0.5218942019544, 0, False, 0, Nothing, 0)
boolstatus = Part.Create3rdAngleViews2("C:\Program Files\SolidWorks Corp\SOLIDWORKS\samples\tutorial\api\cover_datum.sldprt")
Part.ClearSelection2 True
boolstatus = Part.ActivateView("Drawing View1")
'Select a vertex in the drawing view to be the origin of all datums in the table
'All XLOC and YLOC table column values will be relative to this datum origin
boolstatus = Part.Extension.SelectByID2("", "VERTEX", 0.117324728174898, 0.108554228680764, -500.0075, True, 1, Nothing, 0)
'Select a face that contains the holes that will be annotated in the table
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.090728339186173, 0.119052803281577, -500.0075, True, 2, Nothing, 0)
Dim myView As Object
Set myView = Part.SelectionManager.GetSelectedObjectsDrawingView2(1, -1)
Dim myHoleTable As Object
'Insert a hole table
'anchored with its top left corner at x-coordinate = 0.07m and y-coordinate = 0.175m,
'with starting datum tag "A",
'using hole table template: standard hole table--letters.sldholtbt
Set myHoleTable = myView.InsertHoleTable2(False, 0.153019881817662, -3.77259107537343E-02, 1, "A", "C:\Program Files\SolidWorks Corp\SOLIDWORKS\lang\english\standard hole table--letters.sldholtbt")
Part.ClearSelection2 True
boolstatus = Part.ActivateSheet("Sheet1")
End Sub