|
a |
|
b/Application/Examples/ShoulderBag/Model/Environment.any |
|
|
1 |
|
|
|
2 |
AnyFolder EnvironmentModel = { |
|
|
3 |
|
|
|
4 |
AnyFixedRefFrame GlobalRef = { |
|
|
5 |
Origin ={0.0,0.1,0.0}; |
|
|
6 |
#include "drawcoorsystem.any" |
|
|
7 |
};//GlobalRef |
|
|
8 |
|
|
|
9 |
// Bag segment |
|
|
10 |
AnySeg Bag = { |
|
|
11 |
Mass = 20; |
|
|
12 |
Jii = {0.2,0.2,1}/10; |
|
|
13 |
r0 = Main.Model.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.r0+{0,0,0.15}; |
|
|
14 |
AnyRefNode StrapFront = { |
|
|
15 |
sRel = {0.1, 0.1, 0}; |
|
|
16 |
}; |
|
|
17 |
AnyRefNode StrapBack = { |
|
|
18 |
sRel = {-0.1, 0.1, 0}; |
|
|
19 |
}; |
|
|
20 |
AnyDrawSurf surf = { |
|
|
21 |
FileName = "../Input/bag"; |
|
|
22 |
RGB = {128,0,0}/256; |
|
|
23 |
ScaleXYZ = {1,1,1}/100; |
|
|
24 |
}; |
|
|
25 |
}; |
|
|
26 |
|
|
|
27 |
// Create via points for the bag strap |
|
|
28 |
Main.Model.BodyModel.Right.ShoulderArm.Seg.Scapula = { |
|
|
29 |
AnyRefNode Strap1 = { |
|
|
30 |
sRel = {-0.05, 0.01, 0.02}; |
|
|
31 |
}; |
|
|
32 |
}; |
|
|
33 |
Main.Model.BodyModel.Right.ShoulderArm.Seg.Clavicula = { |
|
|
34 |
AnyRefNode Strap1 = { |
|
|
35 |
sRel = {0.1, 0.02, -0.01}; |
|
|
36 |
}; |
|
|
37 |
}; |
|
|
38 |
Main.Model.BodyModel.Trunk.SegmentsThorax.ThoraxSeg = { |
|
|
39 |
AnyRefNode Strap1 = { |
|
|
40 |
sRel = {0.1, 0.25, 0.15}; |
|
|
41 |
}; |
|
|
42 |
}; |
|
|
43 |
|
|
|
44 |
// Contact point on the pelvis |
|
|
45 |
Main.Model.BodyModel.Trunk.SegmentsLumbar.PelvisSeg = { |
|
|
46 |
AnyRefNode Bag = { |
|
|
47 |
sRel = {0.0, 0.0, 0.15}; |
|
|
48 |
}; |
|
|
49 |
}; |
|
|
50 |
|
|
|
51 |
// Constrain the bag to only slide up and down on the pelvis |
|
|
52 |
AnyPrismaticJoint PelvisBag = { |
|
|
53 |
AnyRefFrame &Pel = Main.Model.BodyModel.Trunk.SegmentsLumbar.PelvisSeg.Bag; |
|
|
54 |
AnyRefFrame &Bag = .Bag; |
|
|
55 |
Axis = y; |
|
|
56 |
}; |
|
|
57 |
|
|
|
58 |
// Model the strap |
|
|
59 |
AnyKinPLine Strap = { |
|
|
60 |
AnyRefFrame &p1 = .Bag.StrapFront; |
|
|
61 |
AnyRefFrame &p2 = Main.Model.BodyModel.Trunk.SegmentsThorax.ThoraxSeg.Strap1; |
|
|
62 |
AnyRefFrame &p3 = Main.Model.BodyModel.Right.ShoulderArm.Seg.Clavicula.Strap1; |
|
|
63 |
AnyRefFrame &p4 = Main.Model.BodyModel.Right.ShoulderArm.Seg.Scapula.Strap1; |
|
|
64 |
AnyRefFrame &p5 = .Bag.StrapBack; |
|
|
65 |
AnyDrawPLine drw = { |
|
|
66 |
RGB = {128,0,0}/256; |
|
|
67 |
Thickness = 0.01; |
|
|
68 |
}; |
|
|
69 |
}; |
|
|
70 |
|
|
|
71 |
// Strap length driver |
|
|
72 |
AnyKinEqSimpleDriver StrapLength = { |
|
|
73 |
AnyKinPLine &Strap = .Strap; |
|
|
74 |
DriverPos = {0.8}; |
|
|
75 |
DriverVel = {0}; |
|
|
76 |
}; |
|
|
77 |
}; |