Meiner Meinung nach kommt es daher, dass Sie den Namen der Bewertung ausgewählt haben. Wenn Sie es mehrmals versucht haben, erhöht SW die Skizzennummern, so dass der Inhalt von mydimension leer ist, wenn es nicht aufgerufen wird, D1@Esquisse1 ist.
1 „Gefällt mir“
Versuchen Sie also stattdessen:
Dim swApp As Object
Dim Part As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim value As Boolean
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
value = swApp.GetUserPreferenceToggle(swUserPreferenceToggle_e.swInputDimValOnCreate)
If value = True Then
boolstatus = swApp.SetUserPreferenceToggle(swUserPreferenceToggle_e.swInputDimValOnCreate, False)
End If
boolstatus = Part.Extension.SelectByID2("Plan de face", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Part.SketchManager.InsertSketch True
Dim skSegment As Object
Set skSegment = Part.SketchManager.CreateLine(0#, 0#, 0#, 0.051925, 0#, 0#)
boolstatus = Part.Extension.SelectByID2("Line1", "SKETCHSEGMENT", 1.97416243507319E-02, -1.20689440993789E-03, 0, False, 0, Nothing, 0)
Dim myDisplayDim As SldWorks.DisplayDimension
Set myDisplayDim = Part.AddDimension2(2.59101957793034E-02, -1.59578260869565E-02, 0)
Dim myDimension As SldWorks.Dimension
Set myDimension = myDisplayDim.GetDimension
myDimension.SystemValue = 0.05
Part.SketchManager.InsertSketch True
boolstatus = swApp.SetUserPreferenceToggle(swUserPreferenceToggle_e.swInputDimValOnCreate, value)
End Sub
2 „Gefällt mir“
Wenn nicht, versuchen Sie es mit dem Makro in einem neuen Raum!? Die Skizzen und die Namen der Bemaßungen werden wieder auf Null stehen!?
1 „Gefällt mir“
Ja @Cyril.f, es scheint zu funktionieren!!
Ich analysiere den Code, danke!
Es ist in Ordnung, es ist das, was ich wollte.
Vielen Dank an alle für Ihre Hilfe!!
1 „Gefällt mir“