diff --git a/src/Mod/Fem/App/FemConstraintGear.cpp b/src/Mod/Fem/App/FemConstraintGear.cpp
index cc4a68ca5..ec62a294c 100644
--- a/src/Mod/Fem/App/FemConstraintGear.cpp
+++ b/src/Mod/Fem/App/FemConstraintGear.cpp
@@ -44,15 +44,15 @@ PROPERTY_SOURCE(Fem::ConstraintGear, Fem::ConstraintBearing);
ConstraintGear::ConstraintGear()
{
- ADD_PROPERTY(Diameter,(0));
- ADD_PROPERTY(Force,(0.0));
+ ADD_PROPERTY(Diameter,(100.0));
+ ADD_PROPERTY(Force,(1000.0));
ADD_PROPERTY(ForceAngle,(0.0));
ADD_PROPERTY_TYPE(Direction,(0),"ConstraintGear",(App::PropertyType)(App::Prop_None),
"Element giving direction of gear force");
ADD_PROPERTY(Reversed,(0));
- ADD_PROPERTY_TYPE(DirectionVector,(Base::Vector3f(0,1,0)),"ConstraintGear",App::PropertyType(App::Prop_ReadOnly|App::Prop_Output),
+ ADD_PROPERTY_TYPE(DirectionVector,(Base::Vector3f(1,1,1).Normalize()),"ConstraintGear",App::PropertyType(App::Prop_ReadOnly|App::Prop_Output),
"Direction of gear force");
- naturalDirectionVector = Base::Vector3f(0,1,0);
+ naturalDirectionVector = Base::Vector3f(1,1,1).Normalize();
}
App::DocumentObjectExecReturn *ConstraintGear::execute(void)
diff --git a/src/Mod/Fem/App/FemConstraintPulley.cpp b/src/Mod/Fem/App/FemConstraintPulley.cpp
index 7b83d6b34..4c933b4d9 100644
--- a/src/Mod/Fem/App/FemConstraintPulley.cpp
+++ b/src/Mod/Fem/App/FemConstraintPulley.cpp
@@ -44,8 +44,8 @@ PROPERTY_SOURCE(Fem::ConstraintPulley, Fem::ConstraintGear);
ConstraintPulley::ConstraintPulley()
{
- ADD_PROPERTY(OtherDiameter,(0));
- ADD_PROPERTY(CenterDistance,(0));
+ ADD_PROPERTY(OtherDiameter,(100.0));
+ ADD_PROPERTY(CenterDistance,(500.0));
ADD_PROPERTY(IsDriven,(0));
ADD_PROPERTY(TensionForce,(0.0));
@@ -55,8 +55,10 @@ ConstraintPulley::ConstraintPulley()
"First belt force");
ADD_PROPERTY_TYPE(BeltForce2,(0.0),"ConstraintPulley",App::PropertyType(App::Prop_ReadOnly|App::Prop_Output),
"Second belt force");
- ForceAngle.setValue(90.0);
+ ForceAngle.setValue(00.0);
Diameter.setValue(300.0);
+ // calculate initial values of read-only properties
+ onChanged(&Force);
}
App::DocumentObjectExecReturn *ConstraintPulley::execute(void)
diff --git a/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui b/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui
index e83859004..f45199094 100644
--- a/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui
+++ b/src/Mod/Fem/Gui/TaskFemConstraintBearing.ui
@@ -172,7 +172,7 @@
1
- 0.000000000000000
+ -360.000000000000000
360.000000000000000
diff --git a/src/Mod/Fem/Gui/TaskFemConstraintGear.cpp b/src/Mod/Fem/Gui/TaskFemConstraintGear.cpp
index b7acec743..4f4f3adf9 100644
--- a/src/Mod/Fem/Gui/TaskFemConstraintGear.cpp
+++ b/src/Mod/Fem/Gui/TaskFemConstraintGear.cpp
@@ -100,7 +100,7 @@ TaskFemConstraintGear::TaskFemConstraintGear(ViewProviderFemConstraint *Constrai
ui->spinForce->setMinimum(0);
ui->spinForce->setMaximum(FLOAT_MAX);
ui->spinForce->setValue(force);
- ui->spinForceAngle->setMinimum(0);
+ ui->spinForceAngle->setMinimum(-360);
ui->spinForceAngle->setMaximum(360);
ui->spinForceAngle->setValue(angle);
ui->lineDirection->setText(dir);
diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp b/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp
index cc9fbf04f..f5df20359 100644
--- a/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp
+++ b/src/Mod/Fem/Gui/ViewProviderFemConstraintGear.cpp
@@ -128,6 +128,7 @@ void ViewProviderFemConstraintGear::updateData(const App::Property* prop)
SbVec3f b(base.x, base.y, base.z);
SbVec3f ax(axis.x, axis.y, axis.z);
SbVec3f dir(direction.x, direction.y, direction.z);
+ //Base::Console().Error("DirectionVector: %f, %f, %f\n", direction.x, direction.y, direction.z);
createPlacement(pShapeSep, b, SbRotation(SbVec3f(0,1,0), ax));
pShapeSep->addChild(createCylinder(pcConstraint->Height.getValue() * 0.8, dia/2));