@ OBI WAN
Ja, met de meettool kan ik visueel de lengtes, afstanden en coördinaten ophalen die ik op het scherm wil hebben. Maar ik wil er wat berekeningen achter doen om de punten op de baan gelijkmatig te verdelen en dit alles automatisch. Dus ik heb de vba/vbnet functies nodig om het te doen
@ .PL
Ik heb het probleem opgelost met de functies die te vinden zijn in de solidworks API-help (eerste link die ik gaf voor het vbnet en degene die je hebt aangegeven voor de vba). Om de entiteiten te kunnen meten moest ik uit de schets komen met de opdracht:
swDoc.SketchManager.Insert3DSketch(True)
Voor de rest heb ik de juiste entiteit geselecteerd en de functies/commando's gebruikt die in de API-help te vinden zijn:
Voorbeeld voor de meting van een lijn, spline en vervolgens de twee entiteiten:
' Lijnlengte meten
boolstatus = swDoc.Extension.SelectByID2("Line1@Esquisse3D1", "EXTSKETCHSEGMENT", 0.0, 0.0, 0.0, False, 0, Nothing, 0)
swMeasure = swDoc.Extension.CreateMeasure
swMeasure.ArcOption = 0
boolstatus = swMeasure.Calculate(Niets)
Ll = swMeasure.Length
Debug.Print("lijnlengte =" & ll * 1000 & " mm")
swDoc.SketchManager.Insert3DSketch(True)
swDoc.ClearSelection2(Waar)
' Meting lengte spline 1
boolstatus = swDoc.Extension.SelectByID2("Spline1@Esquisse3D1", "EXTSKETCHSEGMENT", 0.0, 0.0, 0.0, False, 0, Nothing, 0)
swMeasure = swDoc.Extension.CreateMeasure
swMeasure.ArcOption = 0
boolstatus = swMeasure.Calculate(Niets)
LS1 = swMeasure.ArcLength
Debug.Print("spline lengte1=" & LS1 * 1000 & " mm")
swDoc.SketchManager.Insert3DSketch(True)
swDoc.ClearSelection2(Waar)
• Meting van de totale lengte van de neutrale mesh-vezel
boolstatus = swDoc.Extension.SelectByID2("Line1@Esquisse3D1", "EXTSKETCHSEGMENT", 0.0, 0.0, 0.0, False, 0, Nothing, 0)
boolstatus = swDoc.Extension.SelectByID2("Spline1@Esquisse3D1", "EXTSKETCHSEGMENT", 0.0, 0.0, 0.0, True, 0, Nothing, 0)
swMeasure = swDoc.Extension.CreateMeasure
swMeasure.ArcOption = 0
boolstatus = swMeasure.Calculate(Niets)
Lt = swMeasure.TotalLength
Debug.Print("Lengte Lt=" & Lt * 1000 & " mm")
Bedankt voor je hulp