Hallo ihr alle
Ich bin ein Anfänger in SW und interessiere mich für die Erstellung von Makros für die Trajektorienkonstruktion.
Ich versuche, den Werdegang eines industriellen Strickgarns so originalgetreu wie möglich nachzubilden. Die Trajektorie verläuft durch 4 Punkte und für ihre Konstruktion werden Linien und Splines verwendet.
Dank der Makroaufzeichnung war ich in der Lage, das Skript abzurufen, das zum Erstellen von Punkten, zum Erstellen von Linien sowie zum Erstellen von Splines erforderlich war.
Ich muss jedoch die Kontrolle über die Tangenten des Start- und Endpunkts (die berechnet werden) haben. Leider sehe ich, wenn ich die Makroaufzeichnung verwende und den Spline mit Tangentenantrieb aufbaue, keine neue "Funktion".
Ist es möglich, diese Funktion wiederherzustellen?
Hier ist das Speicherskript, das ich nach der manuellen Erstellung erhalten habe (es sind wahrscheinlich noch einige unnötige Zeilen übrig):
Partielle Klasse SolidWorksMacro
Öffentlicher Sub main()
Dim swDoc As ModelDoc2 = Nichts
Dim swPart As PartDoc = Nichts
Dim swDrawing As DrawingDoc = Nichts
Dim swAssembly As AssemblyDoc = Nichts
Dim boolstatus Als boolescher Wert = falsch
Dim longstatus als Ganzzahl = 0
Longwarnings als Ganzzahl = 0 dimmen
swDoc = CType(swApp.ActiveDoc,ModelDoc2)
swDoc.SketchManager.Insert3DSketch(wahr)
'
Dim skSegment As SketchSegment = Nichts
skSegment = CType(swDoc.SketchManager.CreateLine(0,000000, 0,000000, 0,000000, -0,002000, 0,004000, -0,000500),SketchSegment)
swDoc.SetPickMode()
swDoc.ClearSelection2(wahr)
'
Dim pointArray As Array = Nichts
Dim-Punkte(8) Ass Doppel
Punkte(0) = -0,002
Punkte(1) = 0,004
Punkte(2) = -0,0005
Punkte(3) = 0,004
Punkte(4) = 0,008
Punkte(5) = -0,0015
Punkte(6) = 0,016
Punkte(7) = 0,009
Punkte(8) = -0,002
pointArray = Punkte
skSegment = CType(swDoc.SketchManager.CreateSpline(pointArray),SketchSegment)
boolstatus = swDoc.Extension.SelectByID2("Spline1", "SKETCHSEGMENT", 0.0, 0.0, 0, Falsch, 0, Nichts, 0)
swDoc.ShowNamedView2("*Links", 3)
swDoc.ClearSelection2(wahr)
swDoc.EditUndo2(1)
boolstatus = swDoc.Extension.SelectByID2("Spline1", "SKETCHSEGMENT", 0.007000000000000000062, 0.0060299676105561159, -0.0010150801486359592, false, 0, Nichts, 0)
swDoc.ShowNamedView2("*Gesicht", 1)
swDoc.ShowNamedView2("*Links", 3)
swDoc.ClearSelection2(wahr)
swDoc.EditUndo2(1)
boolstatus = swDoc.Extension.SelectByID2("Spline1", "SKETCHSEGMENT", 0.00699999999999999999994, 0.0049025748626198599, -0.00080798849755920818, false, 0, Nichts, 0)
swDoc.ShowNamedView2("*Gesicht", 1)
swDoc.ClearSelection2(wahr)
swDoc.SketchManager.Insert3DSketch(wahr)
Ende Sub
''' <Zusammenfassung>
''' Die Variable SldWorks swApp ist Ihnen vorab zugewiesen.
''' </Zusammenfassung>
Öffentliche swApp als SldWorks
End-Klasse
Danke noch einmal