Hallo Detlev,
das hatte ich auch schon probiert. Half aber auch nichts. Ich hab jetzt eine Lösung gefunden. Ich setzte einfach die Values in eine
Variable und rechne mit den Variablen und nehme dann weitere variablen um das ergebniss wieder zugeben. hier meine Lösung.#
aber trotzdem danke für deine schnelle Antwort.
Sub
abgleich()
UserForm1.Hide
Set
swApp = _
Application.SldWorks
Set
Part = swApp.ActiveDoc
If
UserForm1.Opt_kafig.Value =
True
Then
X = 2
Part.Parameter(
"D35@Grundskizze"
).SystemValue = X / 1000
ElseIf
UserForm1.Opt_distanzstck.Value =
True
Then
X = 1
Part.Parameter(
"D35@Grundskizze"
).SystemValue = X / 1000
End
If
a1 = UserForm1.durchmesser_bohrungsteilkreis.Value
a2 = UserForm1.gewinde_durchmesser
a3 = UserForm1.durchmesser_dm.Value
a4 = UserForm1.Modul.Value
a5 = UserForm1.durchmesser_DL.Value
a6 = UserForm1.durchmesser_dichtung.Value
a7 = UserForm1.durchmesser_passung.Value
b1 = a1 - a2 - 2
b2 = a1 + a2 + 2
b3 = a5 + 2 * X + 0.5
b4 = a3 - a4 * 2
If
b3 > a7
Then
MsgBox (
"Bitte vergrößern Sie den Passungs-ø, oder verkleinern Sie den DL"
)
UserForm1.Show
ElseIf
a7 > b1
Then
MsgBox (
"Bitte vergrößern Sie den Bohrungsteilkreis-ø, oder verkleinern Sie den Passungs-ø"
)
UserForm1.Show
ElseIf
b2 > a6
Then
MsgBox (
"Bitte vergrößern Sie den Dichtungsanlage-ø, oder verkleinern Sie den Bohrungsteilkreis-ø"
)
UserForm1.Show
ElseIf
a6 > b4
Then
MsgBox (
"Bitte vergrößern Sie den dm, oder verkleinern Sie den Dichtungsanlage-ø"
)
UserForm1.Show
Else
Call
user1
End
If
End
Sub