@@ -29,14 +29,7 @@ using namespace Fem;
29
29
30
30
PROPERTY_SOURCE (Fem::ConstraintRigidBody, Fem::Constraint)
31
31
32
- const char* ConstraintRigidBody::loadModeEnum[] = {" Displacement-Rotation" ,
33
- " Force-Moment" ,
34
- " Displacement-Moment" ,
35
- " Force-Rotation" ,
36
- nullptr };
37
-
38
- const char * ConstraintRigidBody::freeModeEnum[] =
39
- {" None" , " X" , " Y" , " Z" , " XY" , " XZ" , " YZ" , " All" , nullptr };
32
+ const char* ConstraintRigidBody::boundaryModeEnum[] = {" Free" , " Constraint" , " Load" , nullptr };
40
33
41
34
ConstraintRigidBody::ConstraintRigidBody ()
42
35
{
@@ -51,41 +44,77 @@ ConstraintRigidBody::ConstraintRigidBody()
51
44
App::Prop_Output,
52
45
" Reference node displacement" );
53
46
ADD_PROPERTY_TYPE (Rotation,
54
- (Base::Rotation (0.0 , 0.0 , 0.0 , 0 .0 )),
47
+ (Base::Rotation (0.0 , 0.0 , 0.0 , 1 .0 )),
55
48
" ConstraintRigidBody" ,
56
49
App::Prop_Output,
57
50
" Reference node rotation" );
58
- ADD_PROPERTY_TYPE (Force, (0.0 ), " ConstraintRigidBody" , App::Prop_Output, " Applied force" );
59
- ADD_PROPERTY_TYPE (ForceDirection,
60
- (0.0 , 0.0 , 0.0 ),
51
+ ADD_PROPERTY_TYPE (ForceX,
52
+ (0.0 ),
61
53
" ConstraintRigidBody" ,
62
54
App::Prop_Output,
63
- " Direction of applied force" );
64
- ADD_PROPERTY_TYPE (Moment, (0.0 ), " ConstraintRigidBody" , App::Prop_Output, " Applied moment" );
65
- ADD_PROPERTY_TYPE (MomentDirection,
66
- (0.0 , 0.0 , 0.0 ),
55
+ " Applied force in X direction" );
56
+ ADD_PROPERTY_TYPE (ForceY,
57
+ (0.0 ),
58
+ " ConstraintRigidBody" ,
59
+ App::Prop_Output,
60
+ " Applied force in Y direction" );
61
+ ADD_PROPERTY_TYPE (ForceZ,
62
+ (0.0 ),
63
+ " ConstraintRigidBody" ,
64
+ App::Prop_Output,
65
+ " Applied force in Z direction" );
66
+ ADD_PROPERTY_TYPE (MomentX,
67
+ (0.0 ),
68
+ " ConstraintRigidBody" ,
69
+ App::Prop_Output,
70
+ " Applied moment in X direction" );
71
+ ADD_PROPERTY_TYPE (MomentY,
72
+ (0.0 ),
67
73
" ConstraintRigidBody" ,
68
74
App::Prop_Output,
69
- " Direction of applied moment" );
70
- ADD_PROPERTY_TYPE (FreeTranslationalMode,
75
+ " Applied moment in Y direction" );
76
+ ADD_PROPERTY_TYPE (MomentZ,
77
+ (0.0 ),
78
+ " ConstraintRigidBody" ,
79
+ App::Prop_Output,
80
+ " Applied moment in Z direction" );
81
+ ADD_PROPERTY_TYPE (TranslationalModeX,
82
+ (" Free" ),
83
+ " ConstraintRigidBody" ,
84
+ App::Prop_Output,
85
+ " X-direction displacement/force mode" );
86
+ ADD_PROPERTY_TYPE (TranslationalModeY,
87
+ (" Free" ),
88
+ " ConstraintRigidBody" ,
89
+ App::Prop_Output,
90
+ " Y-direction displacement/force mode" );
91
+ ADD_PROPERTY_TYPE (TranslationalModeZ,
92
+ (" Free" ),
93
+ " ConstraintRigidBody" ,
94
+ App::Prop_Output,
95
+ " Z-direction displacement/force mode" );
96
+ ADD_PROPERTY_TYPE (RotationalModeX,
71
97
(" None" ),
72
98
" ConstraintRigidBody" ,
73
99
App::Prop_Output,
74
- " Free displacement/force mode" );
75
- ADD_PROPERTY_TYPE (FreeRotationalMode ,
100
+ " X-direction rotation/moment mode" );
101
+ ADD_PROPERTY_TYPE (RotationalModeY ,
76
102
(" None" ),
77
103
" ConstraintRigidBody" ,
78
104
App::Prop_Output,
79
- " Free rotation/moment mode" );
80
- ADD_PROPERTY_TYPE (LoadMode ,
81
- (" Displacement-Rotation " ),
105
+ " Y-direction rotation/moment mode" );
106
+ ADD_PROPERTY_TYPE (RotationalModeZ ,
107
+ (" None " ),
82
108
" ConstraintRigidBody" ,
83
109
App::Prop_Output,
84
- " Load/boundary condition mode" );
110
+ " Z-direction rotation/moment mode" );
85
111
86
- FreeTranslationalMode.setEnums (freeModeEnum);
87
- FreeRotationalMode.setEnums (freeModeEnum);
88
- LoadMode.setEnums (loadModeEnum);
112
+ TranslationalModeX.setEnums (boundaryModeEnum);
113
+ TranslationalModeY.setEnums (boundaryModeEnum);
114
+ TranslationalModeZ.setEnums (boundaryModeEnum);
115
+ RotationalModeX.setEnums (boundaryModeEnum);
116
+ RotationalModeY.setEnums (boundaryModeEnum);
117
+ RotationalModeZ.setEnums (boundaryModeEnum);
89
118
}
90
119
91
120
App::DocumentObjectExecReturn* ConstraintRigidBody::execute ()
0 commit comments