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));