Citeren in een macro

Naar mijn mening komt het door uw selectie van de naam van de beoordeling. Als je het meerdere keren hebt geprobeerd, verhoogt SW de schetsnummers, dus als het niet wordt aangeroepen D1@Esquisse1 is de inhoud van mydimension leeg.

1 like

Dus probeer in plaats daarvan dit:

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 likes

Zo niet, probeer macro in een nieuwe kamer!? De schetsen en de namen van de dimensies komen weer terug op nul!?

1 like

Ja @Cyril.f, het lijkt te werken!!

Ik ben de code aan het analyseren, bedankt!

Het is oké, het is wat ik wilde.

Bedankt allemaal voor jullie hulp!!

1 like