Hallo,
zu 1) Hier unser jetziger Quellcode:
Private Sub OK_Click()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.Extension.SelectByID2("Skizze1@Pleuel1-1@Test_api", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSketch
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("D1@Skizze1@Pleuel1-1@Test_api", "DIMENSION", 0.166160640000214, 0.379029650029787, 0.918078154479533, False, 0, Nothing, 0)
Dim myDimension As Object
Set myDimension = Part.Parameter("D1@Skizze1@Pleuel1.Part")
myDimension.SystemValue = pleuel1.Value / 1000
boolstatus = Part.Extension.SelectByID2("D2@Skizze1@Pleuel1-1@Test_api", "DIMENSION", 0.153311920526348, 0.370587907877879, 0.812301661633535, False, 0, Nothing, 0)
Set myDimension = Part.Parameter("D2@Skizze1@Pleuel1.Part")
myDimension.SystemValue = pleuel1.Value / 1000
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Skizze1@Pleuel2-1@Test_api", "SKETCH", 0, 0, 0, False, 0, Nothing, 0)
Part.EditSketch
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("D1@Skizze1@Pleuel2-1@Test_api", "DIMENSION", 0.377932405842386, 0.391214355338317, 0.748474921199576, False, 0, Nothing, 0)
Set myDimension = Part.Parameter("D1@Skizze1@Pleuel2.Part")
myDimension.SystemValue = pleuel2.Value / 1000
boolstatus = Part.Extension.SelectByID2("D2@Skizze1@Pleuel2-1@Test_api", "DIMENSION", 0.233892591499534, 0.373109774115616, 0.715903470128944, False, 0, Nothing, 0)
Set myDimension = Part.Parameter("D2@Skizze1@Pleuel2.Part")
myDimension.SystemValue = pleuel2.Value / 1000
Part.ClearSelection2 True
Part.SketchManager.InsertSketch True
Part.EditAssembly
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.158254725106758, 0.227170374062553, 0.352893520132739, True, 1, Nothing, 0)
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.228146079429763, 0.25654470295251, 0.875231553599122, True, 1, Nothing, 0)
Dim myMate As Object
Set myMate = Part.AddMate3(6, 0, False, 0.504125139342423, 0, 0, 0.001, 0.001, winkel1.Value, winkel1.Value, winkel1.Value, False, longstatus)
Part.ClearSelection2 True
Part.EditRebuild3
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.388615304179723, 0.22694171498739, 0.984528978258766, True, 1, Nothing, 0)
Part.TranslateComponent
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.206555217426796, 0.25826465846751, 0.939387039430585, False, 0, Nothing, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("", "FACE", 0.207829670989042, 0.253865026612004, 0.939387039430585, True, 1, Nothing, 0)
Set myMate = Part.AddMate3(6, 0, False, 6.59028890243529E-02, 0, 0, 0.001, 0.001, winkel2.Value, winkel2.Value, winkel2.Value, False, longstatus)
Part.ClearSelection2 True
Part.EditRebuild3
boolstatus = Part.Extension.SelectByID2("Angle3", "MATE", 0, 0, 0, False, 0, Nothing, 0)
Part.EditDelete
boolstatus = Part.Extension.SelectByID2("Angle4", "MATE", 0, 0, 0, False, 0, Nothing, 0)
Part.EditDelete
End Sub
In dem Macro funktioniert die Längenänderung über das Userform, jedoch funktioniert die Winkeländerung nicht.
Die WInkel in einer Beziehnung zueinandersetzten und diese dann unterdrücken hat bei uns leider nicht funktioniert, dass hatten wir bereits ausprobiert. Das Macro scheint die ausgewählten Flächen für die Winkelbeziehnung nicht sauber zu erkennen.
Wir Probieren auch die Skizzenlinien auszuwählen, um die Pleuel in eine Beziehnung zueinander zusetzten, da das Programm die jeweiligen Skizzenlinien sauber erkennt. Jedoch funktioniert auch das noch nicht.
Wir haben auch versucht durch das einfügen von Ebenen, auf welche sich die Pleuel in ihrer Lage beziehen zu erstellen, jedoch ist es uns nicht möglich, zwei erstellte Ebenen in eine Winkelbeziehnung zueinander zu setzten. Das müsste doch gehen oder ist das nicht möglich in SW?
zu 3)
-Eine Excel-Tabelle mit drei Spalten (Zeit, Alpha, Beta) und vielen Zeilen
-bekannter Pfad á la X:\Service\AllUser\Application\DP_Winkel\Tab1.xls
-dementsprechend ein Array
-kein SPlit (wir wissen auch nicht so genau, was man damit macht?)
zu 4) Im Grunde hatten wir uns eine .exe Datei vorgestellt, jedoch hat sich das ja erübrigt. Unter Visualisierung verstehen wir sowas wie die Userform-Darstellung nur außerhalb von SW.
Mit freundlichen Grüßen
Student789
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP