@@ -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
{
@@ -45,47 +38,101 @@ ConstraintRigidBody::ConstraintRigidBody()
45
38
" ConstraintRigidBody" ,
46
39
App::Prop_Output,
47
40
" Reference node position" );
48
- ADD_PROPERTY_TYPE (Displacement,
49
- (0.0 , 0.0 , 0.0 ),
41
+ // ADD_PROPERTY_TYPE(Displacement,
42
+ // (0.0, 0.0, 0.0),
43
+ // "ConstraintRigidBody",
44
+ // App::Prop_Output,
45
+ // "Reference node displacement");
46
+ ADD_PROPERTY_TYPE (ConstraintPlacement,
47
+ (Base::Placement ()),
50
48
" ConstraintRigidBody" ,
51
49
App::Prop_Output,
52
- " Reference node displacement" );
53
- ADD_PROPERTY_TYPE (Rotation,
54
- (Base::Rotation (0.0 , 0.0 , 0.0 , 0.0 )),
50
+ " Reference node applied placement" );
51
+ // ADD_PROPERTY_TYPE(Rotation,
52
+ // (Base::Rotation(0.0, 0.0, 0.0, 1.0)),
53
+ // "ConstraintRigidBody",
54
+ // App::Prop_Output,
55
+ // "Reference node rotation");
56
+ // ADD_PROPERTY_TYPE(Force, (0.0), "ConstraintRigidBody", App::Prop_Output, "Applied force");
57
+ // ADD_PROPERTY_TYPE(ForceDirection,
58
+ // (0.0, 0.0, 0.0),
59
+ // "ConstraintRigidBody",
60
+ // App::Prop_Output,
61
+ // "Direction of applied force");
62
+ // ADD_PROPERTY_TYPE(Moment, (0.0), "ConstraintRigidBody", App::Prop_Output, "Applied moment");
63
+ ADD_PROPERTY_TYPE (ForceX,
64
+ (0.0 ),
55
65
" ConstraintRigidBody" ,
56
66
App::Prop_Output,
57
- " 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 ),
67
+ " Applied force in X direction" );
68
+ ADD_PROPERTY_TYPE (ForceY,
69
+ (0.0 ),
61
70
" ConstraintRigidBody" ,
62
71
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 ),
72
+ " Applied force in Y direction" );
73
+ ADD_PROPERTY_TYPE (ForceZ,
74
+ (0.0 ),
67
75
" ConstraintRigidBody" ,
68
76
App::Prop_Output,
69
- " Direction of applied moment" );
70
- ADD_PROPERTY_TYPE (FreeTranslationalMode,
77
+ " Applied force in Z direction" );
78
+ ADD_PROPERTY_TYPE (MomentX,
79
+ (0.0 ),
80
+ " ConstraintRigidBody" ,
81
+ App::Prop_Output,
82
+ " Applied moment in X direction" );
83
+ ADD_PROPERTY_TYPE (MomentY,
84
+ (0.0 ),
85
+ " ConstraintRigidBody" ,
86
+ App::Prop_Output,
87
+ " Applied moment in Y direction" );
88
+ ADD_PROPERTY_TYPE (MomentZ,
89
+ (0.0 ),
90
+ " ConstraintRigidBody" ,
91
+ App::Prop_Output,
92
+ " Applied moment in Z direction" );
93
+ // ADD_PROPERTY_TYPE(Moment, (0.0), "ConstraintRigidBody", App::Prop_Output, "Applied moment");
94
+ // ADD_PROPERTY_TYPE(MomentDirection,
95
+ // (0.0, 0.0, 0.0),
96
+ // "ConstraintRigidBody",
97
+ // App::Prop_Output,
98
+ // "Direction of applied moment");
99
+ ADD_PROPERTY_TYPE (XTranslationalMode,
100
+ (" Free" ),
101
+ " ConstraintRigidBody" ,
102
+ App::Prop_Output,
103
+ " X-direction displacement/force mode" );
104
+ ADD_PROPERTY_TYPE (YTranslationalMode,
105
+ (" Free" ),
106
+ " ConstraintRigidBody" ,
107
+ App::Prop_Output,
108
+ " Y-direction displacement/force mode" );
109
+ ADD_PROPERTY_TYPE (ZTranslationalMode,
110
+ (" Free" ),
111
+ " ConstraintRigidBody" ,
112
+ App::Prop_Output,
113
+ " Z-direction displacement/force mode" );
114
+ ADD_PROPERTY_TYPE (XRotationalMode,
71
115
(" None" ),
72
116
" ConstraintRigidBody" ,
73
117
App::Prop_Output,
74
- " Free displacement/force mode" );
75
- ADD_PROPERTY_TYPE (FreeRotationalMode ,
118
+ " X-direction rotation/moment mode" );
119
+ ADD_PROPERTY_TYPE (YRotationalMode ,
76
120
(" None" ),
77
121
" ConstraintRigidBody" ,
78
122
App::Prop_Output,
79
- " Free rotation/moment mode" );
80
- ADD_PROPERTY_TYPE (LoadMode ,
81
- (" Displacement-Rotation " ),
123
+ " Y-direction rotation/moment mode" );
124
+ ADD_PROPERTY_TYPE (ZRotationalMode ,
125
+ (" None " ),
82
126
" ConstraintRigidBody" ,
83
127
App::Prop_Output,
84
- " Load/boundary condition mode" );
128
+ " Z-direction rotation/moment mode" );
85
129
86
- FreeTranslationalMode.setEnums (freeModeEnum);
87
- FreeRotationalMode.setEnums (freeModeEnum);
88
- LoadMode.setEnums (loadModeEnum);
130
+ XTranslationalMode.setEnums (boundaryModeEnum);
131
+ YTranslationalMode.setEnums (boundaryModeEnum);
132
+ ZTranslationalMode.setEnums (boundaryModeEnum);
133
+ XRotationalMode.setEnums (boundaryModeEnum);
134
+ YRotationalMode.setEnums (boundaryModeEnum);
135
+ ZRotationalMode.setEnums (boundaryModeEnum);
89
136
}
90
137
91
138
App::DocumentObjectExecReturn* ConstraintRigidBody::execute ()
0 commit comments