Koen1995 commited on
Commit
781bda6
·
verified ·
1 Parent(s): dac4c86

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .DS_Store +0 -0
  2. .gitattributes +131 -0
  3. .gitignore +1 -0
  4. LICENSE +201 -0
  5. README.md +56 -0
  6. assets/.DS_Store +0 -0
  7. assets/SO-ARM100/.gitignore +1 -0
  8. assets/SO-ARM100/3DPRINT.md +59 -0
  9. assets/SO-ARM100/CHANGELOG.md +57 -0
  10. assets/SO-ARM100/CITATION.cff +29 -0
  11. assets/SO-ARM100/LICENSE +201 -0
  12. assets/SO-ARM100/Mini/Mini_SO_100_01g.3mf +3 -0
  13. assets/SO-ARM100/Mini/Mini_SO_100_01g.STL +3 -0
  14. assets/SO-ARM100/Mini/readme +5 -0
  15. assets/SO-ARM100/Optional/4040_Base_Mount/README.md +25 -0
  16. assets/SO-ARM100/Optional/4040_Base_Mount/step/4040_base_mount.step +0 -0
  17. assets/SO-ARM100/Optional/4040_Base_Mount/stl/4040_base_mount.stl +3 -0
  18. assets/SO-ARM100/Optional/Compliant_Gripper/README.md +19 -0
  19. assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Moving_Jaw_SO101.stl +3 -0
  20. assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Wrist_Roll_Follower_SO101.stl +3 -0
  21. assets/SO-ARM100/Optional/Mount_Helper/README.md +9 -0
  22. assets/SO-ARM100/Optional/Mount_Helper/stl/mount_helper v2.stl +3 -0
  23. assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/README.md +82 -0
  24. assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/arm_base.stl +0 -0
  25. assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_bottom.stl +0 -0
  26. assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_middle.stl +0 -0
  27. assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_top.stl +0 -0
  28. assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/README.md +78 -0
  29. assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/arm_base.stl +0 -0
  30. assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/cam_mount_bottom.stl +0 -0
  31. assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/cam_mount_top.stl +0 -0
  32. assets/SO-ARM100/Optional/Raised_Base/Raised_Base_Extension.stl +0 -0
  33. assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/README.md +60 -0
  34. assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/stl/SO-ARM101_camera_wrist_mount.step +1801 -0
  35. assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/stl/SO-ARM101_camera_wrist_mount.stl +3 -0
  36. assets/SO-ARM100/Optional/Small_Handle/Small_Leader_Handle.STL +3 -0
  37. assets/SO-ARM100/Optional/Springy_Trigger/Springy_Trigger.STL +3 -0
  38. assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/README.md +56 -0
  39. assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO100.stl +3 -0
  40. assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO101.stl +0 -0
  41. assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/README.md +12 -0
  42. assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/Wrist_Roll_D405_Holder.step +0 -0
  43. assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/Wrist_Roll_D405_Holder.stl +3 -0
  44. assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/README.md +36 -0
  45. assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/D435_Vinmooog_adapter.stl +3 -0
  46. assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/Wrist_cam_mount_RealSense_D435.stl +3 -0
  47. assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/README.md +34 -0
  48. assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Updated_Wrist_Camera_Insert.stl +3 -0
  49. assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Webcam_Mount_Wrist.stl +3 -0
  50. assets/SO-ARM100/Optional/Wrist_Cam_Plug_Mount_32x32_UVC_Module/README.md +56 -0
.DS_Store ADDED
Binary file (6.15 kB). View file
 
.gitattributes CHANGED
@@ -33,3 +33,134 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ assets/SO-ARM100/Mini/Mini_SO_100_01g.3mf filter=lfs diff=lfs merge=lfs -text
37
+ assets/SO-ARM100/Mini/Mini_SO_100_01g.STL filter=lfs diff=lfs merge=lfs -text
38
+ assets/SO-ARM100/Optional/4040_Base_Mount/stl/4040_base_mount.stl filter=lfs diff=lfs merge=lfs -text
39
+ assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Moving_Jaw_SO101.stl filter=lfs diff=lfs merge=lfs -text
40
+ assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Wrist_Roll_Follower_SO101.stl filter=lfs diff=lfs merge=lfs -text
41
+ assets/SO-ARM100/Optional/Mount_Helper/stl/mount_helper[[:space:]]v2.stl filter=lfs diff=lfs merge=lfs -text
42
+ assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/stl/SO-ARM101_camera_wrist_mount.stl filter=lfs diff=lfs merge=lfs -text
43
+ assets/SO-ARM100/Optional/Small_Handle/Small_Leader_Handle.STL filter=lfs diff=lfs merge=lfs -text
44
+ assets/SO-ARM100/Optional/Springy_Trigger/Springy_Trigger.STL filter=lfs diff=lfs merge=lfs -text
45
+ assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO100.stl filter=lfs diff=lfs merge=lfs -text
46
+ assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/Wrist_Roll_D405_Holder.stl filter=lfs diff=lfs merge=lfs -text
47
+ assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/D435_Vinmooog_adapter.stl filter=lfs diff=lfs merge=lfs -text
48
+ assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/Wrist_cam_mount_RealSense_D435.stl filter=lfs diff=lfs merge=lfs -text
49
+ assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Updated_Wrist_Camera_Insert.stl filter=lfs diff=lfs merge=lfs -text
50
+ assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Webcam_Mount_Wrist.stl filter=lfs diff=lfs merge=lfs -text
51
+ assets/SO-ARM100/Optional/Wrist_Cam_Plug_Mount_32x32_UVC_Module/stl/SO-ARM100_Plug_camera.stl filter=lfs diff=lfs merge=lfs -text
52
+ assets/SO-ARM100/STEP/SO101/SO101[[:space:]]Assembly.step filter=lfs diff=lfs merge=lfs -text
53
+ assets/SO-ARM100/STL/SO100/Follower/Print_Follower_Bambu_P1P.3mf filter=lfs diff=lfs merge=lfs -text
54
+ assets/SO-ARM100/STL/SO100/Follower/Print_Follower_SO_ARM100_08k_Ender.STL filter=lfs diff=lfs merge=lfs -text
55
+ assets/SO-ARM100/STL/SO100/Follower/Print_Follower_SO_ARM100_08k_UP_BambuLabA1Mini_part1.STL filter=lfs diff=lfs merge=lfs -text
56
+ assets/SO-ARM100/STL/SO100/Follower/Print_Follower_SO_ARM100_08k_UP_BambuLabA1Mini_part2.STL filter=lfs diff=lfs merge=lfs -text
57
+ assets/SO-ARM100/STL/SO100/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa.STL filter=lfs diff=lfs merge=lfs -text
58
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Base_08q-3.STL filter=lfs diff=lfs merge=lfs -text
59
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Base_08q-5.STL filter=lfs diff=lfs merge=lfs -text
60
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Moving_Jaw_08d-1.STL filter=lfs diff=lfs merge=lfs -text
61
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Rotation_Pitch_08i-1.STL filter=lfs diff=lfs merge=lfs -text
62
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-1.STL filter=lfs diff=lfs merge=lfs -text
63
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-2.STL filter=lfs diff=lfs merge=lfs -text
64
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-3.STL filter=lfs diff=lfs merge=lfs -text
65
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-4.STL filter=lfs diff=lfs merge=lfs -text
66
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Wrist_Roll_08c-1.STL filter=lfs diff=lfs merge=lfs -text
67
+ assets/SO-ARM100/STL/SO100/Individual/Follower/Print_Follower_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Wrist_Roll_Pitch_08i-1.STL filter=lfs diff=lfs merge=lfs -text
68
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Base_08q-3.STL filter=lfs diff=lfs merge=lfs -text
69
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Base_08q-5.STL filter=lfs diff=lfs merge=lfs -text
70
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Rotation_Pitch_08i-1.STL filter=lfs diff=lfs merge=lfs -text
71
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-1.STL filter=lfs diff=lfs merge=lfs -text
72
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-2.STL filter=lfs diff=lfs merge=lfs -text
73
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-3.STL filter=lfs diff=lfs merge=lfs -text
74
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]SO_ARM100_08k-4.STL filter=lfs diff=lfs merge=lfs -text
75
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Trigger_04e-1.STL filter=lfs diff=lfs merge=lfs -text
76
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Wrist_Roll_05m_Leader_02ba-1.STL filter=lfs diff=lfs merge=lfs -text
77
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Wrist_Roll_05m_Leader_02ba-2.STL filter=lfs diff=lfs merge=lfs -text
78
+ assets/SO-ARM100/STL/SO100/Individual/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa[[:space:]]-[[:space:]]Wrist_Roll_Pitch_08i-1.STL filter=lfs diff=lfs merge=lfs -text
79
+ assets/SO-ARM100/STL/SO100/Leader/Print_Leader_Bambu_P1P.3mf filter=lfs diff=lfs merge=lfs -text
80
+ assets/SO-ARM100/STL/SO100/Leader/Print_Leader_SO_ARM100_08k_Ender.STL filter=lfs diff=lfs merge=lfs -text
81
+ assets/SO-ARM100/STL/SO100/Leader/Print_Leader_SO_ARM100_08k_UP_BambuLabA1Mini_part1.STL filter=lfs diff=lfs merge=lfs -text
82
+ assets/SO-ARM100/STL/SO100/Leader/Print_Leader_SO_ARM100_08k_UP_BambuLabA1Mini_part2.STL filter=lfs diff=lfs merge=lfs -text
83
+ assets/SO-ARM100/STL/SO100/Leader/Print_Leader_SO_ARM100_08k_UP_Prusa.STL filter=lfs diff=lfs merge=lfs -text
84
+ assets/SO-ARM100/STL/SO101/Follower/Ender_Follower_SO101.stl filter=lfs diff=lfs merge=lfs -text
85
+ assets/SO-ARM100/STL/SO101/Follower/Prusa_Follower_SO101.stl filter=lfs diff=lfs merge=lfs -text
86
+ assets/SO-ARM100/STL/SO101/Individual/Base_SO101.stl filter=lfs diff=lfs merge=lfs -text
87
+ assets/SO-ARM100/STL/SO101/Individual/Base_motor_holder_SO101.stl filter=lfs diff=lfs merge=lfs -text
88
+ assets/SO-ARM100/STL/SO101/Individual/Handle_SO101.stl filter=lfs diff=lfs merge=lfs -text
89
+ assets/SO-ARM100/STL/SO101/Individual/Motor_holder_SO101_Base.stl filter=lfs diff=lfs merge=lfs -text
90
+ assets/SO-ARM100/STL/SO101/Individual/Motor_holder_SO101_Wrist.stl filter=lfs diff=lfs merge=lfs -text
91
+ assets/SO-ARM100/STL/SO101/Individual/Moving_Jaw_SO101.stl filter=lfs diff=lfs merge=lfs -text
92
+ assets/SO-ARM100/STL/SO101/Individual/Rotation_Pitch_SO101.stl filter=lfs diff=lfs merge=lfs -text
93
+ assets/SO-ARM100/STL/SO101/Individual/SO101[[:space:]]Assembly.stl filter=lfs diff=lfs merge=lfs -text
94
+ assets/SO-ARM100/STL/SO101/Individual/Trigger_SO101.stl filter=lfs diff=lfs merge=lfs -text
95
+ assets/SO-ARM100/STL/SO101/Individual/Under_arm_SO101.stl filter=lfs diff=lfs merge=lfs -text
96
+ assets/SO-ARM100/STL/SO101/Individual/Upper_arm_SO101.stl filter=lfs diff=lfs merge=lfs -text
97
+ assets/SO-ARM100/STL/SO101/Individual/Wrist_Roll_Follower_SO101.stl filter=lfs diff=lfs merge=lfs -text
98
+ assets/SO-ARM100/STL/SO101/Individual/Wrist_Roll_Pitch_SO101.stl filter=lfs diff=lfs merge=lfs -text
99
+ assets/SO-ARM100/STL/SO101/Individual/Wrist_Roll_SO101.stl filter=lfs diff=lfs merge=lfs -text
100
+ assets/SO-ARM100/STL/SO101/Leader/Ender_Leader_SO101.stl filter=lfs diff=lfs merge=lfs -text
101
+ assets/SO-ARM100/STL/SO101/Leader/Prusa_Leader_SO101.stl filter=lfs diff=lfs merge=lfs -text
102
+ assets/SO-ARM100/Simulation/SO100/assets/Base.stl filter=lfs diff=lfs merge=lfs -text
103
+ assets/SO-ARM100/Simulation/SO100/assets/Base_Motor.stl filter=lfs diff=lfs merge=lfs -text
104
+ assets/SO-ARM100/Simulation/SO100/assets/Fixed_Jaw.stl filter=lfs diff=lfs merge=lfs -text
105
+ assets/SO-ARM100/Simulation/SO100/assets/Fixed_Jaw_Motor.stl filter=lfs diff=lfs merge=lfs -text
106
+ assets/SO-ARM100/Simulation/SO100/assets/Lower_Arm.stl filter=lfs diff=lfs merge=lfs -text
107
+ assets/SO-ARM100/Simulation/SO100/assets/Lower_Arm_Motor.stl filter=lfs diff=lfs merge=lfs -text
108
+ assets/SO-ARM100/Simulation/SO100/assets/Moving_Jaw.stl filter=lfs diff=lfs merge=lfs -text
109
+ assets/SO-ARM100/Simulation/SO100/assets/Rotation_Pitch.stl filter=lfs diff=lfs merge=lfs -text
110
+ assets/SO-ARM100/Simulation/SO100/assets/Rotation_Pitch_Motor.stl filter=lfs diff=lfs merge=lfs -text
111
+ assets/SO-ARM100/Simulation/SO100/assets/Upper_Arm.stl filter=lfs diff=lfs merge=lfs -text
112
+ assets/SO-ARM100/Simulation/SO100/assets/Upper_Arm_Motor.stl filter=lfs diff=lfs merge=lfs -text
113
+ assets/SO-ARM100/Simulation/SO100/assets/Wrist_Pitch_Roll.stl filter=lfs diff=lfs merge=lfs -text
114
+ assets/SO-ARM100/Simulation/SO100/assets/Wrist_Pitch_Roll_Motor.stl filter=lfs diff=lfs merge=lfs -text
115
+ assets/SO-ARM100/Simulation/SO100/so100.rrd filter=lfs diff=lfs merge=lfs -text
116
+ assets/SO-ARM100/Simulation/SO101/assets/base_motor_holder_so101_v1.stl filter=lfs diff=lfs merge=lfs -text
117
+ assets/SO-ARM100/Simulation/SO101/assets/base_so101_v2.stl filter=lfs diff=lfs merge=lfs -text
118
+ assets/SO-ARM100/Simulation/SO101/assets/motor_holder_so101_base_v1.stl filter=lfs diff=lfs merge=lfs -text
119
+ assets/SO-ARM100/Simulation/SO101/assets/motor_holder_so101_wrist_v1.stl filter=lfs diff=lfs merge=lfs -text
120
+ assets/SO-ARM100/Simulation/SO101/assets/moving_jaw_so101_v1.stl filter=lfs diff=lfs merge=lfs -text
121
+ assets/SO-ARM100/Simulation/SO101/assets/rotation_pitch_so101_v1.stl filter=lfs diff=lfs merge=lfs -text
122
+ assets/SO-ARM100/Simulation/SO101/assets/sts3215_03a_no_horn_v1.stl filter=lfs diff=lfs merge=lfs -text
123
+ assets/SO-ARM100/Simulation/SO101/assets/sts3215_03a_v1.stl filter=lfs diff=lfs merge=lfs -text
124
+ assets/SO-ARM100/Simulation/SO101/assets/under_arm_so101_v1.stl filter=lfs diff=lfs merge=lfs -text
125
+ assets/SO-ARM100/Simulation/SO101/assets/upper_arm_so101_v1.stl filter=lfs diff=lfs merge=lfs -text
126
+ assets/SO-ARM100/Simulation/SO101/assets/wrist_roll_follower_so101_v1.stl filter=lfs diff=lfs merge=lfs -text
127
+ assets/SO-ARM100/Simulation/SO101/assets/wrist_roll_pitch_so101_v2.stl filter=lfs diff=lfs merge=lfs -text
128
+ assets/SO-ARM100/media/3dprinting/craftcloud1.png filter=lfs diff=lfs merge=lfs -text
129
+ assets/SO-ARM100/media/3dprinting/craftcloud2.png filter=lfs diff=lfs merge=lfs -text
130
+ assets/SO-ARM100/media/3dprinting/craftcloud3.png filter=lfs diff=lfs merge=lfs -text
131
+ assets/SO-ARM100/media/3dprinting/craftcloud4.png filter=lfs diff=lfs merge=lfs -text
132
+ assets/SO-ARM100/media/3dprinting/craftcloud5.png filter=lfs diff=lfs merge=lfs -text
133
+ assets/SO-ARM100/media/3dprinting/pcb_way.png filter=lfs diff=lfs merge=lfs -text
134
+ assets/SO-ARM100/media/3dprinting/pcb_way2.png filter=lfs diff=lfs merge=lfs -text
135
+ assets/SO-ARM100/media/3dprinting/pcb_way3.png filter=lfs diff=lfs merge=lfs -text
136
+ assets/SO-ARM100/media/4040_base_mount.jpg filter=lfs diff=lfs merge=lfs -text
137
+ assets/SO-ARM100/media/4040_base_mount_print_orientation.png filter=lfs diff=lfs merge=lfs -text
138
+ assets/SO-ARM100/media/4040_base_mount_side.jpg filter=lfs diff=lfs merge=lfs -text
139
+ assets/SO-ARM100/media/Leader_And_Follower_SO100.jpg filter=lfs diff=lfs merge=lfs -text
140
+ assets/SO-ARM100/media/Raised_Base.jpeg filter=lfs diff=lfs merge=lfs -text
141
+ assets/SO-ARM100/media/SO101_Follower.webp filter=lfs diff=lfs merge=lfs -text
142
+ assets/SO-ARM100/media/SO101_Leader.webp filter=lfs diff=lfs merge=lfs -text
143
+ assets/SO-ARM100/media/UVC_cam_mount.jpeg filter=lfs diff=lfs merge=lfs -text
144
+ assets/SO-ARM100/media/UVC_cam_mount_plugin.jpg filter=lfs diff=lfs merge=lfs -text
145
+ assets/SO-ARM100/media/UVC_cam_mount_so101.jpg filter=lfs diff=lfs merge=lfs -text
146
+ assets/SO-ARM100/media/Wrist_Cam_Mount_32x32_UVC_module_1.jpg filter=lfs diff=lfs merge=lfs -text
147
+ assets/SO-ARM100/media/Wrist_Cam_Mount_32x32_UVC_module_2.jpg filter=lfs diff=lfs merge=lfs -text
148
+ assets/SO-ARM100/media/cam_mount1.jpg filter=lfs diff=lfs merge=lfs -text
149
+ assets/SO-ARM100/media/cam_mount2.jpg filter=lfs diff=lfs merge=lfs -text
150
+ assets/SO-ARM100/media/d405_mount.jpg filter=lfs diff=lfs merge=lfs -text
151
+ assets/SO-ARM100/media/d405_mount_print_orientation.jpg filter=lfs diff=lfs merge=lfs -text
152
+ assets/SO-ARM100/media/d405_mount_sample_observation.jpg filter=lfs diff=lfs merge=lfs -text
153
+ assets/SO-ARM100/media/d435_mount.jpg filter=lfs diff=lfs merge=lfs -text
154
+ assets/SO-ARM100/media/d435_mount_render.png filter=lfs diff=lfs merge=lfs -text
155
+ assets/SO-ARM100/media/d435_mount_view.png filter=lfs diff=lfs merge=lfs -text
156
+ assets/SO-ARM100/media/d435_to_vinmooog_adapter.jpg filter=lfs diff=lfs merge=lfs -text
157
+ assets/SO-ARM100/media/mount_helper.png filter=lfs diff=lfs merge=lfs -text
158
+ assets/SO-ARM100/media/overhead_cam_32x32_module.png filter=lfs diff=lfs merge=lfs -text
159
+ assets/SO-ARM100/media/overhead_cam_one_follower.png filter=lfs diff=lfs merge=lfs -text
160
+ assets/SO-ARM100/media/overhead_cam_step1a.jpg filter=lfs diff=lfs merge=lfs -text
161
+ assets/SO-ARM100/media/overhead_cam_step1b.jpg filter=lfs diff=lfs merge=lfs -text
162
+ assets/SO-ARM100/media/overhead_cam_step2.jpg filter=lfs diff=lfs merge=lfs -text
163
+ assets/SO-ARM100/media/overhead_cam_step3.jpg filter=lfs diff=lfs merge=lfs -text
164
+ assets/SO-ARM100/media/overhead_cam_two_followers.png filter=lfs diff=lfs merge=lfs -text
165
+ assets/SO-ARM100/media/so100_urdf.png filter=lfs diff=lfs merge=lfs -text
166
+ assets/media/output.gif filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ **__pycache__**
LICENSE ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
README.md ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Basic sO101 simulation environment.
2
+
3
+ ![output.gif](assets/media/output.gif)
4
+
5
+ Implements a SO-101 robotic arm simulaltion environment for the [EnvHub](https://huggingface.co/docs/lerobot/envhub).
6
+
7
+ - Observation is a `np.ndarray.shape = 640, 480`.
8
+ - Action is a `np.ndarray.shape = 6` where each element represents the joint control.
9
+ - Reward is the euclidian distance between the gripper and the red block, which it needs to minimize.
10
+
11
+
12
+
13
+ ## Basic usage
14
+
15
+ ```python
16
+ SO101Env(
17
+ urdf_path=Path("assets/SO-ARM100/Simulation/SO101/scene_with_cube.xml"),
18
+ width=640,
19
+ height=480)
20
+ env = gym.make(
21
+ "base-sO101-env-v0",
22
+ )
23
+ try:
24
+ obs, _ = env.reset()
25
+ for i in range(10):
26
+ action = env.action_space.sample()
27
+ obs, reward, terminated, truncated, info = env.step(action)
28
+ if terminated or truncated:
29
+ break
30
+ finally:
31
+ env.close()
32
+
33
+ ```
34
+
35
+ ### Assets
36
+ All robot files are from [SO-ARM100](https://github.com/TheRobotStudio/SO-ARM100)
37
+ ```bib
38
+ @software{Knight_Standard_Open_SO-100,
39
+ author = {Knight, Rob and Kooijmans, Pepijn and Cadene, Remi and Alibert, Simon and Aractingi, Michel and Aubakirova, Dana and Zouitine, Adil and Martino, Russi and Palma, Steven and Pascal, Caroline and Wolf, Thomas},
40
+ title = {{Standard Open SO-100 \& SO-101 Arms}},
41
+ url = {https://github.com/TheRobotStudio/SO-ARM100}
42
+ }
43
+ ```
44
+
45
+ [MuJoCo library used](https://github.com/google-deepmind/mujoco)
46
+ ```bib
47
+ @inproceedings{todorov2012mujoco,
48
+ title={MuJoCo: A physics engine for model-based control},
49
+ author={Todorov, Emanuel and Erez, Tom and Tassa, Yuval},
50
+ booktitle={2012 IEEE/RSJ International Conference on Intelligent Robots and Systems},
51
+ pages={5026--5033},
52
+ year={2012},
53
+ organization={IEEE},
54
+ doi={10.1109/IROS.2012.6386109}
55
+ }
56
+ ```
assets/.DS_Store ADDED
Binary file (6.15 kB). View file
 
assets/SO-ARM100/.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ .DS_Store
assets/SO-ARM100/3DPRINT.md ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 3D Printing Services
2
+
3
+ There are different ways to get your parts 3D printed, below are the options and which one to choose. We will add more services once we verify them. If you tried another service please let us know so we can add it here. Additionaly SeeedStudio also sells the 3D printed parts only: [SO-ARM100 3D-Printed Enclosure](https://www.seeedstudio.com/SO-ARM100-3D-printed-Enclosure-p-6409.html).
4
+
5
+ - [Europe](#craftcloud3d) (Craftcloud3d) :fr: :de: :uk: :it: :es:
6
+ - [US](#craftcloud3d) (Craftcloud3d) :us:
7
+ - [China](#pcbway) (PCBWay) :cn:
8
+
9
+ ### [Craftcloud3d](https://craftcloud3d.com)
10
+ **PCBWay** ships worldwide and has partners in different countries that produce the parts. This makes it flexible, although pricing can vary.
11
+
12
+ To get your parts made you can go to [craftcloud3d.com](https://craftcloud3d.com/upload) and upload all files inside these two folders (25 files in total): `stl_files_for_3dprinting/Individual/Follower` and `stl_files_for_3dprinting/Individual/Leader` here:
13
+
14
+ ![Craftcloud3d](./media/3dprinting/craftcloud1.png)
15
+
16
+ Then click `See Materials & Pricing` button, and on the next page select the material. In our case `PLA+`.
17
+
18
+ ![Craftcloud3d](./media/3dprinting/craftcloud2.png)
19
+
20
+ Click `Select Material` button and you then have to select the finish. Here choose:
21
+ - `Finish` = Standard
22
+ - `Infill` = 20% (If you don't see the infill options, wait until the price is calculated)
23
+
24
+ And click `Select Finish` to move to the next page.
25
+
26
+ ![Craftcloud3d](./media/3dprinting/craftcloud3.png)
27
+
28
+ Next choose the color, and click `See offers`.
29
+
30
+ ![Craftcloud3d](./media/3dprinting/craftcloud4.png)
31
+
32
+ Finally choose your manufacturer. You can choose manufacturer based on price, delivery date and production location.
33
+
34
+ ![Craftcloud3d](./media/3dprinting/craftcloud5.png)
35
+
36
+ And thats it, once the parts arrive you are ready to assemble your SO100!
37
+
38
+ ### [PCBWay](pcbway.com)
39
+ **PCBWay** ships worldwide but outside of China import taxes should be paid. This makes it more expensive to order here.
40
+
41
+ To get your parts made you can go to [pcbway.com](https://www.pcbway.com/rapid-prototyping/manufacture/?type=2) and upload these two files `stl_files_for_3dprinting/Leader/Print_Leader_SO_ARM100_08k_Ender.STL` and `stl_files_for_3dprinting/Follower/Print_Follower_SO_ARM100_08k_Ender.STL` here:
42
+
43
+ ![PCBWay](./media/3dprinting/pcb_way.png)
44
+
45
+ Then select the following settings:
46
+ - `Quantity` = 1 for both (Or more if you need more).
47
+ - `Design Units` = mm
48
+ - `Material` -> Custom material -> and type `PLA+`
49
+ - `Product Desc` -> DIY Entertainment -> Robot components
50
+ - `Other special requests` = 'FDM, 20% infill' (And you can specify the color you want)
51
+
52
+ This tells PCBWay we want to use [FDM](https://www.hubs.com/knowledge-base/what-is-fdm-3d-printing/) 3D printing process with 20% infill. You don't need to change the rest of the options. And once you verified everything you can click `Submit`.
53
+
54
+ ![PCBWay](./media/3dprinting/pcb_way2.png)
55
+
56
+ Now the parts will be verified and you will be given a final quotation with shipping costs. The pricing can vary but our experience was that the total for both a leader and a follower was around ~95,- dollars. You can have contact with PCBWay via their online portal.
57
+
58
+ ![PCBWay](./media/3dprinting/pcb_way3.png)
59
+
assets/SO-ARM100/CHANGELOG.md ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## [v0.1.13] - 2025-01-27
2
+ - Uploaded individual step files in one folder
3
+
4
+ ## [v0.1.12] - 2024-10-01
5
+ - Uploaded URDF for early draft of 7DOF SO-Arm to allow modelling to begin.
6
+
7
+ ## [v0.1.11] - 2024-10-01
8
+ - Reverted Waveshare mounting design to earlier version.
9
+ - Replaced CAD for Solidworks as zip: Version SO_5DOF_ARM100_08k
10
+ - Replaced stl files for leader and follower arms: Version SO_5DOF_ARM100_08k
11
+
12
+ ## [v0.1.10] - 2024-09-30
13
+ - 2 last bug fixes!
14
+ - Replaced CAD for Solidworks as zip: Version SO_5DOF_ARM100_08k
15
+ - Replaced stl files for leader and follower arms: Version SO_5DOF_ARM100_08k
16
+
17
+ ## [v0.1.9] - 2024-09-30
18
+ - Replaced CAD for Solidworks as zip: Version SO_5DOF_ARM100_08k
19
+ - Replaced stl files for leader and follower arms: Version SO_5DOF_ARM100_08k
20
+
21
+ ## [v0.1.8] - 2024-09-30
22
+ - Uploaded CAD for Solidworks as zip: Version SO_5DOF_ARM100_08j
23
+ - Both follower and leader in a single assembly.
24
+ - Uploaded Alternative Leader Controllers with smaller sizes and sprung trigger.
25
+
26
+ ## [v0.1.7] - 2024-09-27
27
+ - Added stl files for leader and follower arms: Version SO_5DOF_ARM100_08j
28
+ - Ready-to-print trays with max print areas for Ender (218mmx218mm) and Prusa/Up (202.5mm x 247.5mm).
29
+
30
+ ## [v0.1.6] - 2024-09-25
31
+ - Added URDF for SO_5DOF_ARM100_8j
32
+ - Added link to URDF viewer at bottom of Readme
33
+
34
+ ## [v0.1.5] - 2024-08-06
35
+ - Updated read.me with clearer instructions related to the new stl files.
36
+
37
+ ## [v0.1.4] - 2024-08-01
38
+ - Deleted previous stl files for the arm
39
+ - Uploaded 2 stl files arranged with all parts for follower and all parts for leader as a single tray of parts with all orientations correct.
40
+ - Uploaded gauges for lego.
41
+
42
+ ## [v0.1.3] - 2024-07-18
43
+ - Uploaded Gauge_tight_1
44
+
45
+ ## [v0.1.2] - 2024-07-18
46
+ - Uploaded Gauge_0
47
+
48
+ ## [v0.1.1] - 2024-05-17
49
+ - Changed filenames
50
+ - Fix removable jaw `Tip_c`
51
+
52
+
53
+ ## [v0.1.0] - 2024-05-16
54
+ ### Changed
55
+ - **Print_SO_ARM100_05c - Moving_Jaw_04f-1**: Updated the servo attachment faces to retain parts during assembly.
56
+ - **Print_SO_ARM100_05c - Removable_Jaws_01e-1**: Clearances added to allow attachment lateral freedom at the end of the jaws - i.e. they can be screwed in the middle or to the sides.
57
+ - **Print_SO_ARM100_05c - Wrist_Roll_Pitch_04c-1**: Updated the servo attachment faces to retain parts during assembly.
assets/SO-ARM100/CITATION.cff ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ cff-version: 1.2.0
2
+ date-released: 2024
3
+ message: "If you use this hardware, please cite it as below."
4
+ title: "Standard Open SO-100 & SO-101 Arms"
5
+ url: "https://github.com/TheRobotStudio/SO-ARM100"
6
+ address: "Online"
7
+ authors:
8
+ - family-names: "Knight"
9
+ given-names: "Rob"
10
+ - family-names: "Kooijmans"
11
+ given-names: "Pepijn"
12
+ - family-names: "Cadene"
13
+ given-names: "Remi"
14
+ - family-names: "Alibert"
15
+ given-names: "Simon"
16
+ - family-names: "Aractingi"
17
+ given-names: "Michel"
18
+ - family-names: "Aubakirova"
19
+ given-names: "Dana"
20
+ - family-names: "Zouitine"
21
+ given-names: "Adil"
22
+ - family-names: "Martino"
23
+ given-names: "Russi"
24
+ - family-names: "Palma"
25
+ given-names: "Steven"
26
+ - family-names: "Pascal"
27
+ given-names: "Caroline"
28
+ - family-names: Wolf
29
+ given-names: Thomas
assets/SO-ARM100/LICENSE ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
assets/SO-ARM100/Mini/Mini_SO_100_01g.3mf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2bf12db70722319cc6c070642900d010012d31e880eb715e38a20dc2544f75ad
3
+ size 596445
assets/SO-ARM100/Mini/Mini_SO_100_01g.STL ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6f0c6e950161db9cc54866561bfc20fc8e382e4c57143c34642063cca8081a32
3
+ size 2167184
assets/SO-ARM100/Mini/readme ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ This is an experiment in printing the entire SO-Arm as a single piece that can then articulate once the supports are removed.
2
+ The clearances are only 0.2mm between all parts which has proven to be ok in test pieces, but I find hard to believe will work on the whole thing.
3
+ I shall know by tomorrow morning whether it will move after printing on a Bambu A1, with a 0.4mm brass nozzle, 0.2mm layer thickness with supports above 30degrees in light green PLA+.
4
+ Yes, the colour of PLA effects the end result. Probably due to subtle chemical differences in the dyes but I've no clear hard evidence or research to support this guess.
5
+ I'd welcome any feedback on different machines and settings and whether the finished print can be made to move freely with the present clearance between parts.
assets/SO-ARM100/Optional/4040_Base_Mount/README.md ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## Base Mount for 4040 Aluminum Profiles
2
+
3
+ <p align="left">
4
+ <img src="../../media/4040_base_mount.jpg" width="300" />
5
+ <img src="../../media/4040_base_mount_side.jpg" width="300" />
6
+ </p>
7
+
8
+ This 3D-printed adapter allows you to securely attach your **SO-100 base** to standard **40×40 mm aluminum extrusion profiles** (8.2 mm slot width).
9
+ Perfect for building a sturdy, modular platform for your robotic arm.
10
+
11
+ - 📦 [Download STL](./stl/4040_base_mount.stl)
12
+ - 📐 [Download STEP](./step/4040_base_mount.step)
13
+
14
+ ### 🛠 Assembly Instructions
15
+
16
+ - Use **1 × M4×16 mm bolt** and **1 × M4 T-nut (8 mm slot)** to attach the adapter to the aluminum profile.
17
+ - Use **4 × M4×30 mm bolts** and **4 × M4 wing nuts** to secure the **SO-100 base** to the mount.
18
+ > The holes are 5 mm in diameter, so M5 hardware can also be used.
19
+
20
+ ### 🖨 Suggested Print Orientation
21
+
22
+ For optimal strength, print the part in the orientation shown below.
23
+ > Supports are required.
24
+
25
+ <img src="../../media/4040_base_mount_print_orientation.png" width="600" />
assets/SO-ARM100/Optional/4040_Base_Mount/step/4040_base_mount.step ADDED
The diff for this file is too large to render. See raw diff
 
assets/SO-ARM100/Optional/4040_Base_Mount/stl/4040_base_mount.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ec3c5623977073b0e9d3244d51f77d71927c65f091a14fa8071fcec73ac88ea9
3
+ size 1484784
assets/SO-ARM100/Optional/Compliant_Gripper/README.md ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Compliant Gripper Guide for the SO-101 Arm
2
+
3
+ <img src="https://github.com/user-attachments/assets/26de0b8c-8bd6-4651-867f-1358532e2cc6" width="500">
4
+
5
+ The compliant gripper is a modification of the original rigid gripper that is printed out of a flexible material (TPU). It uses a hollowed-out design with internal ribs to flexibly conform to the objects it grasps, thereby reducing the contact force exerted on the object. This gripper is ideal for objects with difficult geometries or fragile components (e.g., fruit) as it reduces the control precision required to safely manipulate objects.
6
+
7
+ ## Printing Instructions
8
+ The demo compliant gripper was printed with a Bambu Lab printer using a flexible thermoplastic polyurethane (TPU) filament with Shore hardness of 95A. Printer settings included 20% and support generation. The supports were manually removed with flush cutters after printing concluded.
9
+
10
+ Not all printers are capable of printing with flexible filaments like TPU. Some printers may require modifications like upgraded printer heads. Printing with TPU may result in longer print times and often requires additional post-processing due to the difficulties in removing the support material.
11
+
12
+
13
+ ## Installation Instructions (SO-101)
14
+ No modifications to the robot assembly process or installation are required with the compliant gripper. The external geometry is identical to the original gripper, outside of the removal of some holes and the addition of the cavities/ ribs.
15
+
16
+ Simply print [Compliant_Moving_Jaw_SO101.stl](stl/Compliant_Moving_Jaw_SO101.stl) and [Compliant_Wrist_Roll_Follower_SO101.stl](stl/Compliant_Wrist_Roll_Follower_SO101.stl) using TPU 95A and install as normal.
17
+
18
+ ## Further details
19
+ This design was created during the June 2025 Hugging Face LeRobot Hackathon by Zach Tabor and Caitlin Freeman from Memphis, TN. The design is loosely inspired from a common compliant gripper design that relies on the Fin Ray Effect&reg;, a concept that was popularized by Festo and used in their compliant grippers.
assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Moving_Jaw_SO101.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8bfc815bea4bc5aedcc4ca91f92dd1d94d58257f344853eb02e574fa75b48f7e
3
+ size 586484
assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Wrist_Roll_Follower_SO101.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d32dd612664b3746d194e90e576349f66c9da631e7b5f79ef6d6579c191ba366
3
+ size 651784
assets/SO-ARM100/Optional/Mount_Helper/README.md ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ # Helper piece to mount your so100
2
+
3
+ Inserting the rectangular hollow pieces can be quite difficult.
4
+
5
+ To make it easier to assemble, we propose this helper piece that will allow you to push with ease.
6
+
7
+ Here's a short video of how to use it.
8
+
9
+ <video src="https://github.com/user-attachments/assets/e1095e7a-b974-4ff0-b3d9-2820359dface"></video>
assets/SO-ARM100/Optional/Mount_Helper/stl/mount_helper v2.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6b952e588c88913d9a5c58dcfe3fdf190ca4567b87c623bdd5f4e7e34585f994
3
+ size 389084
assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/README.md ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Overhead Camera (32x32 Camera Module) Installation Guide for SO-100/101
2
+ <img height="200" src="../../media/overhead_cam_32x32_module.png" />
3
+ <img height="400" src="../../media/overhead_cam_two_followers.png" />
4
+ <img height="400" src="../../media/overhead_cam_one_follower.png" />
5
+
6
+ ## Overview
7
+ This guide provides step-by-step instructions for installing an **Overhead Camera** on the SO-100/101 robot using a **32x32 Camera Module** and a 3D-printed **Arm Base** and **Camera Mount**.
8
+
9
+
10
+ ## Related Designs
11
+ * [Overhead Camera w/ Webcam Installation Guide](../Overhead_Cam_Mount_Webcam/README.md)
12
+
13
+ ## Design Goals
14
+
15
+ 1. Ensure consistent data across SO-100 arm users through standardized camera positioning and arm spacing (for bi-manual case).
16
+ 2. Provide an overhead view of entire manipulation space.
17
+ 3. Support both single follower arm and double follower ("bi-manual") arm setups.
18
+
19
+
20
+ ## Required Components
21
+ - **Camera Module** (1) - A 32mm x 32mm camera module. This is the [tested / recommended model](https://www.amazon.com/dp/B0CLRJZG8D), but many types are available.
22
+ - **3D-printed parts**
23
+ - [Arm Base](stl/arm_base.stl) (1 per follower arm)
24
+ - [Camera Mount Bottom](stl/cam_mount_bottom.stl) (1)
25
+ - [Camera Mount Middle](stl/cam_mount_middle.stl) (1)
26
+ - [Camera Mount Top](stl/cam_mount_top.stl) (1)
27
+ - **M2 Screws** (16) - these are the smaller screws that came with your Feetech servos.
28
+
29
+
30
+ <img height="200" alt="Screenshot 2025-03-04 at 7 43 33 PM" src="https://github.com/user-attachments/assets/18099e1d-754c-4877-871f-9113a0dff062" />
31
+
32
+ ## Assembly Instructions
33
+
34
+ ### Step 1: Attach the **Camera Module** onto the **Mount Top**
35
+
36
+ 1. Push the **Camera Module** lens through the hole in **Camera Mount Top**.
37
+ </br><img height="250" src="../../media/overhead_cam_step1a.jpg" />
38
+
39
+ 2. Use 4 screws to secure the **Camera Module** to the **Mount Top**.
40
+ </br><img height="250" src="../../media/overhead_cam_step1b.jpg" />
41
+
42
+ ### Step 2: Attach the **Mount Middle** to the **Mount Top**.
43
+
44
+ 1. Push the **Mount Middle** into the **Mount Top**.
45
+ 2. Secure with 4 screws.
46
+ </br><img height="250" src="../../media/overhead_cam_step2.jpg" />
47
+
48
+ ### Step 3: Attach the **Mount Bottom** to the **Mount Middle**.
49
+
50
+ 1. Push the **Mount Bottom** into the **Mount Middle**.
51
+ 2. Secure with 4 screws.
52
+ </br><img height="250" src="../../media/overhead_cam_step3.jpg" />
53
+
54
+ ### Step 4: Attach the **Arm Base** to the **Mount Bottom**.
55
+ <img height="250" src="https://github.com/user-attachments/assets/732977ac-dd4a-4289-9d9c-8752c0369ff0"/></br>
56
+ 1. Push the **Arm Base** into the joint lines on the side of the **Mount Bottom**. (Repeat if you have 2 follower arms.)
57
+ ### Step 5: Attach the **Follower arm** to the **Arm Base**.
58
+ <img height="250" src="https://github.com/user-attachments/assets/24b4c0ce-e62b-4fd6-963c-09448e7ae6f9" /></br>
59
+ 1. Align the bottom of the **Follower arm** with the top of the **Arm Base**. (Repeat if you have 2 follower arms.)
60
+ 2. If you use clamps to hold down your **Follower arm**, clamp in the same way you've done before, and it will hold down the camera mount.
61
+
62
+ ### Step 6: Configure Software
63
+ 1. In your software, add your overhead cam, including setting its resolution and FPS.
64
+ - **Common Settings**:
65
+ - FPS: 30
66
+ - Resolution: 640 x 480, or 1280 x 720 if your workspace is wider.
67
+ 2. Look at the video feed from your newly installed camera (On Mac, you can also use *QuickTime*->*New Movie Recording* to see this feed). You should be able to see the workspace of the arm(s). Set the screen resolution wider if you need to see more of the workspace.
68
+
69
+ <img height="300" alt="Screenshot 2025-04-12 at 4 48 35 PM" src="https://github.com/user-attachments/assets/a0aded4e-6abf-4d19-a514-6d4be90ebe1b" />
70
+ <img height="300" alt="Screenshot 2025-04-12 at 4 52 09 PM" src="https://github.com/user-attachments/assets/d33287bd-0263-4a03-b7d9-54e360ef5a36" /></br>
71
+
72
+ ### Step 7: (Optional) Add Gripper Cameras
73
+ <img height="250" src="https://github.com/user-attachments/assets/8e8fbf60-f62e-4d8c-8451-3ca5a864497c"/></br>
74
+ 1. For optimal training data, add [**Gripper Cameras**](../Wrist_Cam_Mount_32x32_UVC_Module) designed specifically alongside this camera mount setup.
75
+
76
+
77
+
78
+ ## Acknowledgements
79
+
80
+ - Conor McGartoll
81
+ - Philip Fung
82
+
assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/arm_base.stl ADDED
Binary file (86.9 kB). View file
 
assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_bottom.stl ADDED
Binary file (48.7 kB). View file
 
assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_middle.stl ADDED
Binary file (57 kB). View file
 
assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_top.stl ADDED
Binary file (69.7 kB). View file
 
assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/README.md ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Overhead Camera (Webcam) Installation Guide for SO-100/101
2
+ <img height="200" alt="Screenshot 2025-04-12 at 2 52 49 PM" src="../../media/overhead_cam_webcam.jpg" />
3
+ <img height="400" alt="Screenshot 2025-04-12 at 2 52 49 PM" src="https://github.com/user-attachments/assets/a652e133-8672-448d-baa0-bdd494a0a515" />
4
+ <img height="400" alt="Screenshot 2025-04-12 at 2 53 09 PM" src="https://github.com/user-attachments/assets/050387cb-b701-47ed-bfb9-dabd29689272" />
5
+ <img height="400" alt="Screenshot 2025-04-12 at 2 47 38 PM" src="https://github.com/user-attachments/assets/519d884d-dcb6-42a4-bff4-927858672f8b" />
6
+
7
+ ## Overview
8
+ This guide provides step-by-step instructions for installing an **Overhead Camera** on the SO-100 robot using a **Web Camera** and a 3D-printed **Arm Base** and **Camera Mount**.
9
+
10
+ ## Related Designs
11
+ * [Overhead Camera w/ 32x32 Camera Module](../Overhead_Cam_Mount_32x32_UVC_Module/README.md)
12
+
13
+
14
+ ## Design Goals
15
+
16
+ 1. Ensure consistent data across SO-100 arm users through standardized camera positioning and arm spacing (bi-manual).
17
+ 2. Provide overhead view of entire manipulation space.
18
+ 3. Support both single follower arm and double follower ("bi-manual") arm setups.
19
+
20
+
21
+ ## Required Components
22
+ - **Web Camera** (1) - this is the [recommended model](https://www.amazon.com/dp/B082X91MPP).
23
+ - **3D-printed parts**
24
+ - [Arm Base](stl/arm_base.stl) (1 per follower arm)
25
+ - [Camera Mount Bottom](stl/cam_mount_bottom.stl) (1)
26
+ - [Camera Mount Top](stl/cam_mount_top.stl) (1)
27
+ - **M2 Screws** (8) - these are the smaller screws that came with your Feetech servos.
28
+
29
+
30
+ <img height="200" alt="Screenshot 2025-03-04 at 7 43 33 PM" src="https://github.com/user-attachments/assets/18099e1d-754c-4877-871f-9113a0dff062" />
31
+
32
+ ## Assembly Instructions
33
+ ### Step 1: Remove the existing base from the **Webcam**
34
+ <img height="250" src="https://github.com/user-attachments/assets/89226328-16bf-41e2-b2e2-260352597b61" /> </br>
35
+ Take the **Webcam** out of its package, and:
36
+ 1. Remove the soft plastic cover from the joint.
37
+ 2. Unscrew/remove the screw in the joint.
38
+ 3. Remove the base from the camera module.
39
+
40
+
41
+ ### Step 2: Attach the **Webcam** onto the **Camera Mount Top**
42
+ <img height="250" src="https://github.com/user-attachments/assets/051ebe6b-9548-47a0-81f7-df60a1ea5fad" /> </br>
43
+
44
+ 1. Push the **Webcam** into the **Camera Mount Top** by aligning the round joint holes.
45
+ 2. Place the hex bolt into the hexagon shaped-hole and screw **M2 screw** into the opposite hole of the **Camera Mount Top** round joint.
46
+ ### Step 3: Attach the **Camera Mount Top** to the **Camera Mount Bottom**.
47
+ <img height="250" src="https://github.com/user-attachments/assets/434e4423-bf8a-4a36-95fb-d3c4283381a9" />
48
+
49
+
50
+ 1. Push the **Camera Mount Top** into the **Camera Mount Bottom** by aligning the linear joint lines on the bottom of **Camera Mount Top** with the top of the **Camera Mount Bottom**.
51
+ 2. Screw an **M2 screw** into each of the 4 holes in the linear joint.
52
+ ### Step 4: Attach the **Arm Base** to the **Camera Mount Bottom**.
53
+ <img height="250" src="https://github.com/user-attachments/assets/732977ac-dd4a-4289-9d9c-8752c0369ff0"/></br>
54
+ 1. Push the **Arm Base** into the joint lines on the side of the **Camera Mount Bottom**. (Repeat if you have 2 follower arms.)
55
+ ### Step 5: Attach the **SO-100 follower arm** to the **Arm Base**.
56
+ <img height="250" src="https://github.com/user-attachments/assets/24b4c0ce-e62b-4fd6-963c-09448e7ae6f9" /></br>
57
+ 1. Align the bottom of the **SO-100 follower arm** with the top of the **Arm Base**. (Repeat if you have 2 follower arms.)
58
+ 2. If you use clamps to hold down your **SO-100 follower arm**, clamp in the same way you've done before, and it will hold down the camera mount.
59
+
60
+ ### Step 6: Configure Software
61
+ 1. In your software, add your overhead cam, including setting its resolution and FPS.
62
+ - **Note**: You will likely want to set your resolution to *640 x 480* and FPS to *30* even if the camera module's max resolution/frame rate is higher or wider, as most models work with lower resolutions and any higher will just be data bloat. This camera mount was specifically designed for 640 x 480 resolution and width.
63
+ 2. Look at the video feed from your newly installed camera (On Mac, you can also use *QuickTime*->*New Movie Recording* to see this feed). You should be able to see the workspace of the arm(s).
64
+
65
+ <img height="300" alt="Screenshot 2025-04-12 at 4 48 35 PM" src="https://github.com/user-attachments/assets/a0aded4e-6abf-4d19-a514-6d4be90ebe1b" />
66
+ <img height="300" alt="Screenshot 2025-04-12 at 4 52 09 PM" src="https://github.com/user-attachments/assets/d33287bd-0263-4a03-b7d9-54e360ef5a36" /></br>
67
+
68
+ ### Step 7: (Optional) Add Gripper Cameras
69
+ <img height="250" src="https://github.com/user-attachments/assets/8e8fbf60-f62e-4d8c-8451-3ca5a864497c"/></br>
70
+ 1. For optimal training data, add [**Gripper Cameras**](../Wrist_Cam_Mount_32x32_UVC_Module) designed specifically alongside this camera mount setup.
71
+
72
+
73
+ ## Acknowledgements
74
+
75
+ - Conor Mc Gartoll
76
+ - Design and R & D
77
+ - Philip Fung
78
+ - R & D
assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/arm_base.stl ADDED
Binary file (86.9 kB). View file
 
assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/cam_mount_bottom.stl ADDED
Binary file (48.7 kB). View file
 
assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/cam_mount_top.stl ADDED
Binary file (47.7 kB). View file
 
assets/SO-ARM100/Optional/Raised_Base/Raised_Base_Extension.stl ADDED
Binary file (68.3 kB). View file
 
assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/README.md ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Hex-Nut Recess Wrist Camera (MF) Installation Guide for SO-101
2
+
3
+ <img width="300" src="https://github.com/user-attachments/assets/ef919565-230d-43b4-8363-feb26f23967c" />
4
+ <img width="300" src="https://github.com/user-attachments/assets/ae01ce6a-a953-4787-b792-7a17e8091094" />
5
+
6
+ ## Overview
7
+ This guide provides step-by-step instructions for installing a **Wrist Camera** (alternate "McGartoll-Fung" design) on the SO-101 robot using a **Camera Module** and a 3D-printed **Hex-Nut Recess Camera Adapter**.
8
+
9
+ This adapts the [Wrist Camera (MF) UVC Module](../Wrist_Cam_Mount_32x32_UVC_Module/) and [Wrist Camera (MF) UVC Plug‑on Module](../Wrist_Cam_Mount_32x32_UVC_Module/).
10
+
11
+ ## Comparison to Main Design
12
+ #### Advantages:
13
+ - adapted to use the hex-nut recesses on the wrist of the SO-101 follower arm
14
+
15
+ #### Disadvantages:
16
+ - still requires adaption to the new camera
17
+ - requires two screws and two nuts which are not included with the servos
18
+ - not backwards-compatible to the SO-100
19
+
20
+ ## Required Components
21
+ ### Hardware:
22
+ - **USB Camera Module** (1) - this is the [recommended model](https://www.amazon.com/innomaker-Computer-Raspberry-Support-Windows/dp/B0CNCSFQC1/ref=pd_lpo_d_sccl_3/132-7372155-9780230?pd_rd_w=eYz4L&content-id=amzn1.sym.4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_p=4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_r=XC3EXZRSSXKDB1G0Z5D7&pd_rd_wg=1wTpn&pd_rd_r=932b1976-9ac7-4cef-9774-f0f9c3acb804&pd_rd_i=B0CNCSFQC1&psc=1), but any 32mm x 32mm USB camera module with min 720p / 30 fps spec will likely work
23
+ - [3D-printed Hex-Nut Recess Camera Adapter](stl/SO-ARM101_camera_wrist_mount.stl) (1)
24
+ - I recommend printing it as oriented in the STL using tree supports. 40% infill is recommended to increase sturdiness and avoid wobbling
25
+ - **M2 Screws** (4) - these are the smaller screws that came with your Feetech servos.
26
+ - **M3 x 8mm Screws** (2)
27
+ - **M3 Hex Nuts** (2)
28
+
29
+
30
+ <img height="200" alt="Screenshot 2025-03-04 at 7 43 33 PM" src="https://github.com/user-attachments/assets/18099e1d-754c-4877-871f-9113a0dff062" />
31
+
32
+ ## Assembly Instructions
33
+ ### Step 1: Attach the Adapter to the Gripper
34
+
35
+ 1. 3D print the **Hex-Nut Recess Camera Adapter**.
36
+
37
+ 2. Remove Motor 6, you can leave the [Moving Jaw](../../STL/SO101/Individual/Moving_Jaw_SO101.stl) attached.
38
+
39
+ 3. Insert the hex nuts into the recesses in the [Wrist Roll Element](../../STL/SO101/Individual/Wrist_Roll_Follower_SO101.stl).
40
+
41
+ <img width="300" src="https://github.com/user-attachments/assets/68f34831-eeb1-4e90-83a2-4e204a94ac51" />
42
+
43
+ 4. Reattach Motor 6, secure it with its original M2 screws again.
44
+
45
+ 5. Secure the adapter with the two M3 screws.
46
+
47
+
48
+
49
+ ### Step 2: Install the Camera
50
+ 1. Take out the **Camera Module**.
51
+ 2. Align the 4 holes of the **Camera Module** with the **Camera Adapter**, and attach using 4 **M2 Screws**.
52
+
53
+ <img width="300" src="https://github.com/user-attachments/assets/baea05ba-2865-4d41-8a53-0ca6ef2b73fe" />
54
+
55
+
56
+ ### Step 3: Configure Software and Adjust Focus
57
+ 1. In your software, set your resolution and FPS.
58
+ - **Note**: You will likely want to set your resolution to *640 x 480* and FPS to *30* even if the camera module's max resolution/frame rate is higher, as most models work with lower resolutions and any higher will just be data bloat.
59
+ 2. Turn on your arm. Look at the video feed from your newly installed camera (On Mac, you can also use *QuickTime*->*New Movie Recording* to see this feed).
60
+ - **Note**: The focus on the camera is manual and will look very blurry initially. Adjust the focus by twisting the lens counterclockwise or clockwise until the video feed is clear.
assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/stl/SO-ARM101_camera_wrist_mount.step ADDED
@@ -0,0 +1,1801 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ISO-10303-21;
2
+ HEADER;
3
+ /* Generated by software containing ST-Developer
4
+ * from STEP Tools, Inc. (www.steptools.com)
5
+ */
6
+
7
+ FILE_DESCRIPTION(
8
+ /* description */ (''),
9
+ /* implementation_level */ '2;1');
10
+
11
+ FILE_NAME(
12
+ /* name */ 'SO-ARM101_Camera_Wrist_Mount.step.step',
13
+ /* time_stamp */ '2025-05-18T20:18:45+02:00',
14
+ /* author */ (''),
15
+ /* organization */ (''),
16
+ /* preprocessor_version */ 'ST-DEVELOPER v20.1',
17
+ /* originating_system */ 'Autodesk Translation Framework v14.4.0.0',
18
+ /* authorisation */ '');
19
+
20
+ FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 3 1 1 }'));
21
+ ENDSEC;
22
+
23
+ DATA;
24
+ #10=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#13),#1704);
25
+ #11=SHAPE_REPRESENTATION_RELATIONSHIP('SRR','None',#1711,#12);
26
+ #12=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#14),#1703);
27
+ #13=STYLED_ITEM('',(#1720),#14);
28
+ #14=MANIFOLD_SOLID_BREP('so101_wrist_cam_mount',#1012);
29
+ #15=ELLIPSE('',#1035,1.11609635672944,1.);
30
+ #16=ELLIPSE('',#1048,1.11609635672944,1.);
31
+ #17=ELLIPSE('',#1076,1.11609635672944,1.);
32
+ #18=ELLIPSE('',#1079,1.11609635672944,1.);
33
+ #19=FACE_BOUND('',#120,.T.);
34
+ #20=FACE_BOUND('',#121,.T.);
35
+ #21=FACE_BOUND('',#122,.T.);
36
+ #22=FACE_BOUND('',#133,.T.);
37
+ #23=FACE_BOUND('',#134,.T.);
38
+ #24=FACE_BOUND('',#135,.T.);
39
+ #25=FACE_BOUND('',#136,.T.);
40
+ #26=FACE_BOUND('',#137,.T.);
41
+ #27=FACE_BOUND('',#150,.T.);
42
+ #28=FACE_BOUND('',#151,.T.);
43
+ #29=FACE_BOUND('',#170,.T.);
44
+ #30=FACE_BOUND('',#171,.T.);
45
+ #31=FACE_BOUND('',#172,.T.);
46
+ #32=FACE_BOUND('',#173,.T.);
47
+ #33=FACE_BOUND('',#174,.T.);
48
+ #34=FACE_BOUND('',#181,.T.);
49
+ #35=FACE_BOUND('',#184,.T.);
50
+ #36=PLANE('',#1029);
51
+ #37=PLANE('',#1036);
52
+ #38=PLANE('',#1045);
53
+ #39=PLANE('',#1053);
54
+ #40=PLANE('',#1054);
55
+ #41=PLANE('',#1062);
56
+ #42=PLANE('',#1068);
57
+ #43=PLANE('',#1071);
58
+ #44=PLANE('',#1073);
59
+ #45=PLANE('',#1078);
60
+ #46=PLANE('',#1082);
61
+ #47=PLANE('',#1085);
62
+ #48=PLANE('',#1094);
63
+ #49=PLANE('',#1095);
64
+ #50=PLANE('',#1096);
65
+ #51=PLANE('',#1097);
66
+ #52=PLANE('',#1098);
67
+ #53=PLANE('',#1099);
68
+ #54=PLANE('',#1100);
69
+ #55=PLANE('',#1101);
70
+ #56=PLANE('',#1102);
71
+ #57=PLANE('',#1103);
72
+ #58=PLANE('',#1104);
73
+ #59=PLANE('',#1105);
74
+ #60=PLANE('',#1106);
75
+ #61=PLANE('',#1107);
76
+ #62=PLANE('',#1108);
77
+ #63=PLANE('',#1111);
78
+ #64=PLANE('',#1114);
79
+ #65=PLANE('',#1118);
80
+ #66=FACE_OUTER_BOUND('',#118,.T.);
81
+ #67=FACE_OUTER_BOUND('',#119,.T.);
82
+ #68=FACE_OUTER_BOUND('',#123,.T.);
83
+ #69=FACE_OUTER_BOUND('',#124,.T.);
84
+ #70=FACE_OUTER_BOUND('',#125,.T.);
85
+ #71=FACE_OUTER_BOUND('',#126,.T.);
86
+ #72=FACE_OUTER_BOUND('',#127,.T.);
87
+ #73=FACE_OUTER_BOUND('',#128,.T.);
88
+ #74=FACE_OUTER_BOUND('',#129,.T.);
89
+ #75=FACE_OUTER_BOUND('',#130,.T.);
90
+ #76=FACE_OUTER_BOUND('',#131,.T.);
91
+ #77=FACE_OUTER_BOUND('',#132,.T.);
92
+ #78=FACE_OUTER_BOUND('',#138,.T.);
93
+ #79=FACE_OUTER_BOUND('',#139,.T.);
94
+ #80=FACE_OUTER_BOUND('',#140,.T.);
95
+ #81=FACE_OUTER_BOUND('',#141,.T.);
96
+ #82=FACE_OUTER_BOUND('',#142,.T.);
97
+ #83=FACE_OUTER_BOUND('',#143,.T.);
98
+ #84=FACE_OUTER_BOUND('',#144,.T.);
99
+ #85=FACE_OUTER_BOUND('',#145,.T.);
100
+ #86=FACE_OUTER_BOUND('',#146,.T.);
101
+ #87=FACE_OUTER_BOUND('',#147,.T.);
102
+ #88=FACE_OUTER_BOUND('',#148,.T.);
103
+ #89=FACE_OUTER_BOUND('',#149,.T.);
104
+ #90=FACE_OUTER_BOUND('',#152,.T.);
105
+ #91=FACE_OUTER_BOUND('',#153,.T.);
106
+ #92=FACE_OUTER_BOUND('',#154,.T.);
107
+ #93=FACE_OUTER_BOUND('',#155,.T.);
108
+ #94=FACE_OUTER_BOUND('',#156,.T.);
109
+ #95=FACE_OUTER_BOUND('',#157,.T.);
110
+ #96=FACE_OUTER_BOUND('',#158,.T.);
111
+ #97=FACE_OUTER_BOUND('',#159,.T.);
112
+ #98=FACE_OUTER_BOUND('',#160,.T.);
113
+ #99=FACE_OUTER_BOUND('',#161,.T.);
114
+ #100=FACE_OUTER_BOUND('',#162,.T.);
115
+ #101=FACE_OUTER_BOUND('',#163,.T.);
116
+ #102=FACE_OUTER_BOUND('',#164,.T.);
117
+ #103=FACE_OUTER_BOUND('',#165,.T.);
118
+ #104=FACE_OUTER_BOUND('',#166,.T.);
119
+ #105=FACE_OUTER_BOUND('',#167,.T.);
120
+ #106=FACE_OUTER_BOUND('',#168,.T.);
121
+ #107=FACE_OUTER_BOUND('',#169,.T.);
122
+ #108=FACE_OUTER_BOUND('',#175,.T.);
123
+ #109=FACE_OUTER_BOUND('',#176,.T.);
124
+ #110=FACE_OUTER_BOUND('',#177,.T.);
125
+ #111=FACE_OUTER_BOUND('',#178,.T.);
126
+ #112=FACE_OUTER_BOUND('',#179,.T.);
127
+ #113=FACE_OUTER_BOUND('',#180,.T.);
128
+ #114=FACE_OUTER_BOUND('',#182,.T.);
129
+ #115=FACE_OUTER_BOUND('',#183,.T.);
130
+ #116=FACE_OUTER_BOUND('',#185,.T.);
131
+ #117=FACE_OUTER_BOUND('',#186,.T.);
132
+ #118=EDGE_LOOP('',(#656,#657,#658,#659));
133
+ #119=EDGE_LOOP('',(#660,#661,#662,#663,#664,#665,#666,#667));
134
+ #120=EDGE_LOOP('',(#668));
135
+ #121=EDGE_LOOP('',(#669));
136
+ #122=EDGE_LOOP('',(#670));
137
+ #123=EDGE_LOOP('',(#671,#672,#673,#674));
138
+ #124=EDGE_LOOP('',(#675,#676,#677,#678,#679,#680,#681,#682,#683,#684,#685,
139
+ #686,#687,#688,#689,#690,#691,#692));
140
+ #125=EDGE_LOOP('',(#693,#694,#695,#696,#697,#698,#699,#700));
141
+ #126=EDGE_LOOP('',(#701,#702,#703,#704));
142
+ #127=EDGE_LOOP('',(#705,#706,#707,#708));
143
+ #128=EDGE_LOOP('',(#709,#710,#711,#712));
144
+ #129=EDGE_LOOP('',(#713,#714,#715,#716));
145
+ #130=EDGE_LOOP('',(#717,#718,#719,#720,#721,#722,#723,#724,#725,#726,#727,
146
+ #728,#729,#730,#731,#732,#733,#734));
147
+ #131=EDGE_LOOP('',(#735,#736,#737,#738));
148
+ #132=EDGE_LOOP('',(#739,#740,#741,#742));
149
+ #133=EDGE_LOOP('',(#743,#744,#745,#746,#747,#748,#749,#750,#751,#752,#753,
150
+ #754));
151
+ #134=EDGE_LOOP('',(#755));
152
+ #135=EDGE_LOOP('',(#756));
153
+ #136=EDGE_LOOP('',(#757));
154
+ #137=EDGE_LOOP('',(#758));
155
+ #138=EDGE_LOOP('',(#759,#760,#761,#762));
156
+ #139=EDGE_LOOP('',(#763,#764,#765,#766));
157
+ #140=EDGE_LOOP('',(#767,#768,#769,#770));
158
+ #141=EDGE_LOOP('',(#771,#772,#773,#774));
159
+ #142=EDGE_LOOP('',(#775,#776,#777,#778));
160
+ #143=EDGE_LOOP('',(#779,#780,#781,#782));
161
+ #144=EDGE_LOOP('',(#783,#784,#785,#786));
162
+ #145=EDGE_LOOP('',(#787,#788,#789,#790));
163
+ #146=EDGE_LOOP('',(#791,#792,#793,#794));
164
+ #147=EDGE_LOOP('',(#795,#796,#797,#798,#799,#800,#801,#802));
165
+ #148=EDGE_LOOP('',(#803,#804,#805,#806));
166
+ #149=EDGE_LOOP('',(#807,#808,#809,#810));
167
+ #150=EDGE_LOOP('',(#811));
168
+ #151=EDGE_LOOP('',(#812));
169
+ #152=EDGE_LOOP('',(#813,#814,#815,#816,#817,#818,#819,#820));
170
+ #153=EDGE_LOOP('',(#821,#822,#823,#824));
171
+ #154=EDGE_LOOP('',(#825,#826,#827,#828));
172
+ #155=EDGE_LOOP('',(#829,#830,#831,#832));
173
+ #156=EDGE_LOOP('',(#833,#834,#835,#836));
174
+ #157=EDGE_LOOP('',(#837,#838,#839,#840));
175
+ #158=EDGE_LOOP('',(#841,#842,#843,#844));
176
+ #159=EDGE_LOOP('',(#845,#846,#847,#848));
177
+ #160=EDGE_LOOP('',(#849,#850,#851,#852));
178
+ #161=EDGE_LOOP('',(#853,#854,#855,#856));
179
+ #162=EDGE_LOOP('',(#857,#858,#859,#860));
180
+ #163=EDGE_LOOP('',(#861,#862,#863,#864));
181
+ #164=EDGE_LOOP('',(#865,#866,#867,#868));
182
+ #165=EDGE_LOOP('',(#869,#870,#871,#872));
183
+ #166=EDGE_LOOP('',(#873,#874,#875,#876));
184
+ #167=EDGE_LOOP('',(#877,#878,#879,#880));
185
+ #168=EDGE_LOOP('',(#881,#882,#883,#884));
186
+ #169=EDGE_LOOP('',(#885,#886,#887,#888));
187
+ #170=EDGE_LOOP('',(#889));
188
+ #171=EDGE_LOOP('',(#890));
189
+ #172=EDGE_LOOP('',(#891));
190
+ #173=EDGE_LOOP('',(#892));
191
+ #174=EDGE_LOOP('',(#893,#894,#895,#896,#897,#898,#899,#900,#901,#902,#903,
192
+ #904));
193
+ #175=EDGE_LOOP('',(#905,#906,#907,#908));
194
+ #176=EDGE_LOOP('',(#909,#910,#911,#912));
195
+ #177=EDGE_LOOP('',(#913,#914,#915,#916));
196
+ #178=EDGE_LOOP('',(#917));
197
+ #179=EDGE_LOOP('',(#918,#919,#920,#921));
198
+ #180=EDGE_LOOP('',(#922));
199
+ #181=EDGE_LOOP('',(#923));
200
+ #182=EDGE_LOOP('',(#924,#925,#926,#927));
201
+ #183=EDGE_LOOP('',(#928));
202
+ #184=EDGE_LOOP('',(#929));
203
+ #185=EDGE_LOOP('',(#930,#931,#932,#933));
204
+ #186=EDGE_LOOP('',(#934,#935,#936,#937));
205
+ #187=LINE('',#1419,#284);
206
+ #188=LINE('',#1422,#285);
207
+ #189=LINE('',#1425,#286);
208
+ #190=LINE('',#1427,#287);
209
+ #191=LINE('',#1429,#288);
210
+ #192=LINE('',#1431,#289);
211
+ #193=LINE('',#1433,#290);
212
+ #194=LINE('',#1435,#291);
213
+ #195=LINE('',#1436,#292);
214
+ #196=LINE('',#1448,#293);
215
+ #197=LINE('',#1451,#294);
216
+ #198=LINE('',#1455,#295);
217
+ #199=LINE('',#1459,#296);
218
+ #200=LINE('',#1463,#297);
219
+ #201=LINE('',#1467,#298);
220
+ #202=LINE('',#1471,#299);
221
+ #203=LINE('',#1475,#300);
222
+ #204=LINE('',#1479,#301);
223
+ #205=LINE('',#1483,#302);
224
+ #206=LINE('',#1484,#303);
225
+ #207=LINE('',#1486,#304);
226
+ #208=LINE('',#1488,#305);
227
+ #209=LINE('',#1489,#306);
228
+ #210=LINE('',#1495,#307);
229
+ #211=LINE('',#1499,#308);
230
+ #212=LINE('',#1502,#309);
231
+ #213=LINE('',#1505,#310);
232
+ #214=LINE('',#1508,#311);
233
+ #215=LINE('',#1509,#312);
234
+ #216=LINE('',#1514,#313);
235
+ #217=LINE('',#1518,#314);
236
+ #218=LINE('',#1522,#315);
237
+ #219=LINE('',#1526,#316);
238
+ #220=LINE('',#1530,#317);
239
+ #221=LINE('',#1532,#318);
240
+ #222=LINE('',#1534,#319);
241
+ #223=LINE('',#1536,#320);
242
+ #224=LINE('',#1539,#321);
243
+ #225=LINE('',#1541,#322);
244
+ #226=LINE('',#1543,#323);
245
+ #227=LINE('',#1545,#324);
246
+ #228=LINE('',#1547,#325);
247
+ #229=LINE('',#1549,#326);
248
+ #230=LINE('',#1551,#327);
249
+ #231=LINE('',#1553,#328);
250
+ #232=LINE('',#1555,#329);
251
+ #233=LINE('',#1557,#330);
252
+ #234=LINE('',#1559,#331);
253
+ #235=LINE('',#1560,#332);
254
+ #236=LINE('',#1570,#333);
255
+ #237=LINE('',#1572,#334);
256
+ #238=LINE('',#1574,#335);
257
+ #239=LINE('',#1576,#336);
258
+ #240=LINE('',#1577,#337);
259
+ #241=LINE('',#1579,#338);
260
+ #242=LINE('',#1581,#339);
261
+ #243=LINE('',#1583,#340);
262
+ #244=LINE('',#1590,#341);
263
+ #245=LINE('',#1593,#342);
264
+ #246=LINE('',#1596,#343);
265
+ #247=LINE('',#1599,#344);
266
+ #248=LINE('',#1602,#345);
267
+ #249=LINE('',#1604,#346);
268
+ #250=LINE('',#1610,#347);
269
+ #251=LINE('',#1613,#348);
270
+ #252=LINE('',#1617,#349);
271
+ #253=LINE('',#1621,#350);
272
+ #254=LINE('',#1625,#351);
273
+ #255=LINE('',#1630,#352);
274
+ #256=LINE('',#1631,#353);
275
+ #257=LINE('',#1632,#354);
276
+ #258=LINE('',#1635,#355);
277
+ #259=LINE('',#1636,#356);
278
+ #260=LINE('',#1639,#357);
279
+ #261=LINE('',#1640,#358);
280
+ #262=LINE('',#1643,#359);
281
+ #263=LINE('',#1644,#360);
282
+ #264=LINE('',#1647,#361);
283
+ #265=LINE('',#1648,#362);
284
+ #266=LINE('',#1651,#363);
285
+ #267=LINE('',#1652,#364);
286
+ #268=LINE('',#1655,#365);
287
+ #269=LINE('',#1656,#366);
288
+ #270=LINE('',#1659,#367);
289
+ #271=LINE('',#1660,#368);
290
+ #272=LINE('',#1663,#369);
291
+ #273=LINE('',#1664,#370);
292
+ #274=LINE('',#1667,#371);
293
+ #275=LINE('',#1668,#372);
294
+ #276=LINE('',#1671,#373);
295
+ #277=LINE('',#1672,#374);
296
+ #278=LINE('',#1674,#375);
297
+ #279=LINE('',#1681,#376);
298
+ #280=LINE('',#1685,#377);
299
+ #281=LINE('',#1692,#378);
300
+ #282=LINE('',#1698,#379);
301
+ #283=LINE('',#1700,#380);
302
+ #284=VECTOR('',#1128,10.);
303
+ #285=VECTOR('',#1131,10.);
304
+ #286=VECTOR('',#1134,10.);
305
+ #287=VECTOR('',#1135,10.);
306
+ #288=VECTOR('',#1136,10.);
307
+ #289=VECTOR('',#1137,10.);
308
+ #290=VECTOR('',#1138,10.);
309
+ #291=VECTOR('',#1139,10.);
310
+ #292=VECTOR('',#1140,10.);
311
+ #293=VECTOR('',#1153,10.);
312
+ #294=VECTOR('',#1156,10.);
313
+ #295=VECTOR('',#1159,10.);
314
+ #296=VECTOR('',#1162,10.);
315
+ #297=VECTOR('',#1165,10.);
316
+ #298=VECTOR('',#1168,10.);
317
+ #299=VECTOR('',#1171,10.);
318
+ #300=VECTOR('',#1174,10.);
319
+ #301=VECTOR('',#1177,10.);
320
+ #302=VECTOR('',#1182,10.);
321
+ #303=VECTOR('',#1183,10.);
322
+ #304=VECTOR('',#1184,10.);
323
+ #305=VECTOR('',#1185,10.);
324
+ #306=VECTOR('',#1186,10.);
325
+ #307=VECTOR('',#1193,10.);
326
+ #308=VECTOR('',#1198,10.);
327
+ #309=VECTOR('',#1201,10.);
328
+ #310=VECTOR('',#1204,10.);
329
+ #311=VECTOR('',#1207,10.);
330
+ #312=VECTOR('',#1208,10.);
331
+ #313=VECTOR('',#1213,10.);
332
+ #314=VECTOR('',#1216,10.);
333
+ #315=VECTOR('',#1219,10.);
334
+ #316=VECTOR('',#1222,10.);
335
+ #317=VECTOR('',#1225,10.);
336
+ #318=VECTOR('',#1228,10.);
337
+ #319=VECTOR('',#1231,10.);
338
+ #320=VECTOR('',#1234,10.);
339
+ #321=VECTOR('',#1235,10.);
340
+ #322=VECTOR('',#1236,10.);
341
+ #323=VECTOR('',#1237,10.);
342
+ #324=VECTOR('',#1238,10.);
343
+ #325=VECTOR('',#1239,10.);
344
+ #326=VECTOR('',#1240,10.);
345
+ #327=VECTOR('',#1241,10.);
346
+ #328=VECTOR('',#1242,10.);
347
+ #329=VECTOR('',#1243,10.);
348
+ #330=VECTOR('',#1244,10.);
349
+ #331=VECTOR('',#1245,10.);
350
+ #332=VECTOR('',#1246,10.);
351
+ #333=VECTOR('',#1257,10.);
352
+ #334=VECTOR('',#1260,10.);
353
+ #335=VECTOR('',#1263,10.);
354
+ #336=VECTOR('',#1266,10.);
355
+ #337=VECTOR('',#1267,10.);
356
+ #338=VECTOR('',#1270,10.);
357
+ #339=VECTOR('',#1273,10.);
358
+ #340=VECTOR('',#1276,10.);
359
+ #341=VECTOR('',#1285,10.);
360
+ #342=VECTOR('',#1288,10.);
361
+ #343=VECTOR('',#1291,10.);
362
+ #344=VECTOR('',#1294,10.);
363
+ #345=VECTOR('',#1297,10.);
364
+ #346=VECTOR('',#1300,10.);
365
+ #347=VECTOR('',#1307,10.);
366
+ #348=VECTOR('',#1310,1.);
367
+ #349=VECTOR('',#1315,0.999999999999997);
368
+ #350=VECTOR('',#1320,0.999999999999997);
369
+ #351=VECTOR('',#1325,1.);
370
+ #352=VECTOR('',#1330,10.);
371
+ #353=VECTOR('',#1331,10.);
372
+ #354=VECTOR('',#1332,10.);
373
+ #355=VECTOR('',#1335,10.);
374
+ #356=VECTOR('',#1336,10.);
375
+ #357=VECTOR('',#1339,10.);
376
+ #358=VECTOR('',#1340,10.);
377
+ #359=VECTOR('',#1343,10.);
378
+ #360=VECTOR('',#1344,10.);
379
+ #361=VECTOR('',#1347,10.);
380
+ #362=VECTOR('',#1348,10.);
381
+ #363=VECTOR('',#1351,10.);
382
+ #364=VECTOR('',#1352,10.);
383
+ #365=VECTOR('',#1355,10.);
384
+ #366=VECTOR('',#1356,10.);
385
+ #367=VECTOR('',#1359,10.);
386
+ #368=VECTOR('',#1360,10.);
387
+ #369=VECTOR('',#1363,10.);
388
+ #370=VECTOR('',#1364,10.);
389
+ #371=VECTOR('',#1367,10.);
390
+ #372=VECTOR('',#1368,10.);
391
+ #373=VECTOR('',#1371,10.);
392
+ #374=VECTOR('',#1372,10.);
393
+ #375=VECTOR('',#1375,10.);
394
+ #376=VECTOR('',#1386,1.7);
395
+ #377=VECTOR('',#1391,2.7);
396
+ #378=VECTOR('',#1400,2.7);
397
+ #379=VECTOR('',#1409,1.65);
398
+ #380=VECTOR('',#1412,1.65);
399
+ #381=CIRCLE('',#1027,1.);
400
+ #382=CIRCLE('',#1028,1.);
401
+ #383=CIRCLE('',#1030,1.65);
402
+ #384=CIRCLE('',#1031,1.65);
403
+ #385=CIRCLE('',#1032,1.7);
404
+ #386=CIRCLE('',#1034,1.);
405
+ #387=CIRCLE('',#1037,1.);
406
+ #388=CIRCLE('',#1038,1.);
407
+ #389=CIRCLE('',#1039,1.);
408
+ #390=CIRCLE('',#1040,1.);
409
+ #391=CIRCLE('',#1041,1.);
410
+ #392=CIRCLE('',#1042,1.);
411
+ #393=CIRCLE('',#1043,1.);
412
+ #394=CIRCLE('',#1044,1.);
413
+ #395=CIRCLE('',#1047,1.);
414
+ #396=CIRCLE('',#1050,1.);
415
+ #397=CIRCLE('',#1052,1.);
416
+ #398=CIRCLE('',#1055,1.);
417
+ #399=CIRCLE('',#1056,1.);
418
+ #400=CIRCLE('',#1057,1.);
419
+ #401=CIRCLE('',#1058,1.);
420
+ #402=CIRCLE('',#1059,1.);
421
+ #403=CIRCLE('',#1060,1.);
422
+ #404=CIRCLE('',#1063,1.);
423
+ #405=CIRCLE('',#1064,0.999999999999996);
424
+ #406=CIRCLE('',#1065,0.999999999999996);
425
+ #407=CIRCLE('',#1066,1.);
426
+ #408=CIRCLE('',#1077,1.);
427
+ #409=CIRCLE('',#1081,1.);
428
+ #410=CIRCLE('',#1083,2.7);
429
+ #411=CIRCLE('',#1084,2.7);
430
+ #412=CIRCLE('',#1087,1.);
431
+ #413=CIRCLE('',#1089,0.999999999999996);
432
+ #414=CIRCLE('',#1091,0.999999999999996);
433
+ #415=CIRCLE('',#1093,1.);
434
+ #416=CIRCLE('',#1110,1.7);
435
+ #417=CIRCLE('',#1113,2.7);
436
+ #418=CIRCLE('',#1115,1.65);
437
+ #419=CIRCLE('',#1117,2.7);
438
+ #420=CIRCLE('',#1119,1.65);
439
+ #421=VERTEX_POINT('',#1415);
440
+ #422=VERTEX_POINT('',#1416);
441
+ #423=VERTEX_POINT('',#1418);
442
+ #424=VERTEX_POINT('',#1420);
443
+ #425=VERTEX_POINT('',#1424);
444
+ #426=VERTEX_POINT('',#1426);
445
+ #427=VERTEX_POINT('',#1428);
446
+ #428=VERTEX_POINT('',#1430);
447
+ #429=VERTEX_POINT('',#1432);
448
+ #430=VERTEX_POINT('',#1434);
449
+ #431=VERTEX_POINT('',#1437);
450
+ #432=VERTEX_POINT('',#1439);
451
+ #433=VERTEX_POINT('',#1441);
452
+ #434=VERTEX_POINT('',#1444);
453
+ #435=VERTEX_POINT('',#1446);
454
+ #436=VERTEX_POINT('',#1450);
455
+ #437=VERTEX_POINT('',#1452);
456
+ #438=VERTEX_POINT('',#1454);
457
+ #439=VERTEX_POINT('',#1456);
458
+ #440=VERTEX_POINT('',#1458);
459
+ #441=VERTEX_POINT('',#1460);
460
+ #442=VERTEX_POINT('',#1462);
461
+ #443=VERTEX_POINT('',#1464);
462
+ #444=VERTEX_POINT('',#1466);
463
+ #445=VERTEX_POINT('',#1468);
464
+ #446=VERTEX_POINT('',#1470);
465
+ #447=VERTEX_POINT('',#1472);
466
+ #448=VERTEX_POINT('',#1474);
467
+ #449=VERTEX_POINT('',#1476);
468
+ #450=VERTEX_POINT('',#1478);
469
+ #451=VERTEX_POINT('',#1482);
470
+ #452=VERTEX_POINT('',#1485);
471
+ #453=VERTEX_POINT('',#1487);
472
+ #454=VERTEX_POINT('',#1491);
473
+ #455=VERTEX_POINT('',#1493);
474
+ #456=VERTEX_POINT('',#1497);
475
+ #457=VERTEX_POINT('',#1501);
476
+ #458=VERTEX_POINT('',#1503);
477
+ #459=VERTEX_POINT('',#1507);
478
+ #460=VERTEX_POINT('',#1511);
479
+ #461=VERTEX_POINT('',#1513);
480
+ #462=VERTEX_POINT('',#1515);
481
+ #463=VERTEX_POINT('',#1517);
482
+ #464=VERTEX_POINT('',#1519);
483
+ #465=VERTEX_POINT('',#1521);
484
+ #466=VERTEX_POINT('',#1523);
485
+ #467=VERTEX_POINT('',#1525);
486
+ #468=VERTEX_POINT('',#1527);
487
+ #469=VERTEX_POINT('',#1529);
488
+ #470=VERTEX_POINT('',#1537);
489
+ #471=VERTEX_POINT('',#1538);
490
+ #472=VERTEX_POINT('',#1540);
491
+ #473=VERTEX_POINT('',#1542);
492
+ #474=VERTEX_POINT('',#1544);
493
+ #475=VERTEX_POINT('',#1546);
494
+ #476=VERTEX_POINT('',#1548);
495
+ #477=VERTEX_POINT('',#1550);
496
+ #478=VERTEX_POINT('',#1552);
497
+ #479=VERTEX_POINT('',#1554);
498
+ #480=VERTEX_POINT('',#1556);
499
+ #481=VERTEX_POINT('',#1558);
500
+ #482=VERTEX_POINT('',#1561);
501
+ #483=VERTEX_POINT('',#1563);
502
+ #484=VERTEX_POINT('',#1565);
503
+ #485=VERTEX_POINT('',#1567);
504
+ #486=VERTEX_POINT('',#1586);
505
+ #487=VERTEX_POINT('',#1588);
506
+ #488=VERTEX_POINT('',#1592);
507
+ #489=VERTEX_POINT('',#1594);
508
+ #490=VERTEX_POINT('',#1598);
509
+ #491=VERTEX_POINT('',#1600);
510
+ #492=VERTEX_POINT('',#1605);
511
+ #493=VERTEX_POINT('',#1607);
512
+ #494=VERTEX_POINT('',#1612);
513
+ #495=VERTEX_POINT('',#1616);
514
+ #496=VERTEX_POINT('',#1620);
515
+ #497=VERTEX_POINT('',#1624);
516
+ #498=VERTEX_POINT('',#1628);
517
+ #499=VERTEX_POINT('',#1629);
518
+ #500=VERTEX_POINT('',#1634);
519
+ #501=VERTEX_POINT('',#1638);
520
+ #502=VERTEX_POINT('',#1642);
521
+ #503=VERTEX_POINT('',#1646);
522
+ #504=VERTEX_POINT('',#1650);
523
+ #505=VERTEX_POINT('',#1654);
524
+ #506=VERTEX_POINT('',#1658);
525
+ #507=VERTEX_POINT('',#1662);
526
+ #508=VERTEX_POINT('',#1666);
527
+ #509=VERTEX_POINT('',#1670);
528
+ #510=VERTEX_POINT('',#1679);
529
+ #511=VERTEX_POINT('',#1684);
530
+ #512=VERTEX_POINT('',#1688);
531
+ #513=VERTEX_POINT('',#1691);
532
+ #514=VERTEX_POINT('',#1695);
533
+ #515=EDGE_CURVE('',#421,#422,#381,.T.);
534
+ #516=EDGE_CURVE('',#422,#423,#187,.T.);
535
+ #517=EDGE_CURVE('',#423,#424,#382,.F.);
536
+ #518=EDGE_CURVE('',#424,#421,#188,.T.);
537
+ #519=EDGE_CURVE('',#425,#424,#189,.T.);
538
+ #520=EDGE_CURVE('',#426,#425,#190,.T.);
539
+ #521=EDGE_CURVE('',#426,#427,#191,.T.);
540
+ #522=EDGE_CURVE('',#428,#427,#192,.T.);
541
+ #523=EDGE_CURVE('',#429,#428,#193,.T.);
542
+ #524=EDGE_CURVE('',#430,#429,#194,.T.);
543
+ #525=EDGE_CURVE('',#421,#430,#195,.T.);
544
+ #526=EDGE_CURVE('',#431,#431,#383,.T.);
545
+ #527=EDGE_CURVE('',#432,#432,#384,.T.);
546
+ #528=EDGE_CURVE('',#433,#433,#385,.T.);
547
+ #529=EDGE_CURVE('',#434,#428,#386,.T.);
548
+ #530=EDGE_CURVE('',#427,#435,#15,.F.);
549
+ #531=EDGE_CURVE('',#435,#434,#196,.T.);
550
+ #532=EDGE_CURVE('',#434,#436,#197,.T.);
551
+ #533=EDGE_CURVE('',#437,#436,#387,.T.);
552
+ #534=EDGE_CURVE('',#437,#438,#198,.T.);
553
+ #535=EDGE_CURVE('',#439,#438,#388,.T.);
554
+ #536=EDGE_CURVE('',#439,#440,#199,.T.);
555
+ #537=EDGE_CURVE('',#441,#440,#389,.T.);
556
+ #538=EDGE_CURVE('',#441,#442,#200,.T.);
557
+ #539=EDGE_CURVE('',#443,#442,#390,.T.);
558
+ #540=EDGE_CURVE('',#443,#444,#201,.T.);
559
+ #541=EDGE_CURVE('',#445,#444,#391,.T.);
560
+ #542=EDGE_CURVE('',#445,#446,#202,.T.);
561
+ #543=EDGE_CURVE('',#447,#446,#392,.T.);
562
+ #544=EDGE_CURVE('',#447,#448,#203,.T.);
563
+ #545=EDGE_CURVE('',#449,#448,#393,.T.);
564
+ #546=EDGE_CURVE('',#449,#450,#204,.T.);
565
+ #547=EDGE_CURVE('',#429,#450,#394,.T.);
566
+ #548=EDGE_CURVE('',#451,#422,#205,.T.);
567
+ #549=EDGE_CURVE('',#436,#451,#206,.T.);
568
+ #550=EDGE_CURVE('',#452,#435,#207,.T.);
569
+ #551=EDGE_CURVE('',#453,#452,#208,.T.);
570
+ #552=EDGE_CURVE('',#423,#453,#209,.T.);
571
+ #553=EDGE_CURVE('',#454,#453,#395,.T.);
572
+ #554=EDGE_CURVE('',#452,#455,#16,.T.);
573
+ #555=EDGE_CURVE('',#455,#454,#210,.T.);
574
+ #556=EDGE_CURVE('',#451,#456,#396,.T.);
575
+ #557=EDGE_CURVE('',#456,#437,#211,.T.);
576
+ #558=EDGE_CURVE('',#438,#457,#212,.T.);
577
+ #559=EDGE_CURVE('',#457,#458,#397,.T.);
578
+ #560=EDGE_CURVE('',#458,#439,#213,.T.);
579
+ #561=EDGE_CURVE('',#459,#458,#214,.T.);
580
+ #562=EDGE_CURVE('',#440,#459,#215,.T.);
581
+ #563=EDGE_CURVE('',#460,#430,#398,.T.);
582
+ #564=EDGE_CURVE('',#460,#461,#216,.T.);
583
+ #565=EDGE_CURVE('',#462,#461,#399,.T.);
584
+ #566=EDGE_CURVE('',#462,#463,#217,.T.);
585
+ #567=EDGE_CURVE('',#464,#463,#400,.T.);
586
+ #568=EDGE_CURVE('',#464,#465,#218,.T.);
587
+ #569=EDGE_CURVE('',#466,#465,#401,.T.);
588
+ #570=EDGE_CURVE('',#466,#467,#219,.T.);
589
+ #571=EDGE_CURVE('',#468,#467,#402,.T.);
590
+ #572=EDGE_CURVE('',#468,#469,#220,.T.);
591
+ #573=EDGE_CURVE('',#459,#469,#403,.T.);
592
+ #574=EDGE_CURVE('',#457,#456,#221,.T.);
593
+ #575=EDGE_CURVE('',#469,#441,#222,.T.);
594
+ #576=EDGE_CURVE('',#442,#468,#223,.T.);
595
+ #577=EDGE_CURVE('',#470,#471,#224,.T.);
596
+ #578=EDGE_CURVE('',#471,#472,#225,.T.);
597
+ #579=EDGE_CURVE('',#472,#473,#226,.T.);
598
+ #580=EDGE_CURVE('',#473,#474,#227,.T.);
599
+ #581=EDGE_CURVE('',#474,#475,#228,.T.);
600
+ #582=EDGE_CURVE('',#475,#476,#229,.T.);
601
+ #583=EDGE_CURVE('',#476,#477,#230,.T.);
602
+ #584=EDGE_CURVE('',#477,#478,#231,.T.);
603
+ #585=EDGE_CURVE('',#478,#479,#232,.T.);
604
+ #586=EDGE_CURVE('',#479,#480,#233,.T.);
605
+ #587=EDGE_CURVE('',#480,#481,#234,.T.);
606
+ #588=EDGE_CURVE('',#481,#470,#235,.T.);
607
+ #589=EDGE_CURVE('',#482,#482,#404,.T.);
608
+ #590=EDGE_CURVE('',#483,#483,#405,.T.);
609
+ #591=EDGE_CURVE('',#484,#484,#406,.T.);
610
+ #592=EDGE_CURVE('',#485,#485,#407,.T.);
611
+ #593=EDGE_CURVE('',#467,#443,#236,.T.);
612
+ #594=EDGE_CURVE('',#444,#466,#237,.T.);
613
+ #595=EDGE_CURVE('',#465,#445,#238,.T.);
614
+ #596=EDGE_CURVE('',#446,#464,#239,.T.);
615
+ #597=EDGE_CURVE('',#463,#447,#240,.T.);
616
+ #598=EDGE_CURVE('',#448,#462,#241,.T.);
617
+ #599=EDGE_CURVE('',#461,#449,#242,.T.);
618
+ #600=EDGE_CURVE('',#450,#460,#243,.T.);
619
+ #601=EDGE_CURVE('',#486,#426,#17,.T.);
620
+ #602=EDGE_CURVE('',#425,#487,#408,.T.);
621
+ #603=EDGE_CURVE('',#487,#486,#244,.T.);
622
+ #604=EDGE_CURVE('',#488,#486,#245,.T.);
623
+ #605=EDGE_CURVE('',#489,#488,#18,.T.);
624
+ #606=EDGE_CURVE('',#455,#489,#246,.T.);
625
+ #607=EDGE_CURVE('',#488,#490,#247,.T.);
626
+ #608=EDGE_CURVE('',#490,#491,#409,.T.);
627
+ #609=EDGE_CURVE('',#491,#489,#248,.T.);
628
+ #610=EDGE_CURVE('',#491,#454,#249,.T.);
629
+ #611=EDGE_CURVE('',#492,#492,#410,.T.);
630
+ #612=EDGE_CURVE('',#493,#493,#411,.T.);
631
+ #613=EDGE_CURVE('',#487,#490,#250,.T.);
632
+ #614=EDGE_CURVE('',#485,#494,#251,.T.);
633
+ #615=EDGE_CURVE('',#494,#494,#412,.T.);
634
+ #616=EDGE_CURVE('',#484,#495,#252,.T.);
635
+ #617=EDGE_CURVE('',#495,#495,#413,.T.);
636
+ #618=EDGE_CURVE('',#483,#496,#253,.T.);
637
+ #619=EDGE_CURVE('',#496,#496,#414,.T.);
638
+ #620=EDGE_CURVE('',#482,#497,#254,.T.);
639
+ #621=EDGE_CURVE('',#497,#497,#415,.T.);
640
+ #622=EDGE_CURVE('',#498,#499,#255,.T.);
641
+ #623=EDGE_CURVE('',#471,#498,#256,.T.);
642
+ #624=EDGE_CURVE('',#470,#499,#257,.T.);
643
+ #625=EDGE_CURVE('',#499,#500,#258,.T.);
644
+ #626=EDGE_CURVE('',#481,#500,#259,.T.);
645
+ #627=EDGE_CURVE('',#500,#501,#260,.T.);
646
+ #628=EDGE_CURVE('',#480,#501,#261,.T.);
647
+ #629=EDGE_CURVE('',#501,#502,#262,.T.);
648
+ #630=EDGE_CURVE('',#479,#502,#263,.T.);
649
+ #631=EDGE_CURVE('',#502,#503,#264,.T.);
650
+ #632=EDGE_CURVE('',#478,#503,#265,.T.);
651
+ #633=EDGE_CURVE('',#503,#504,#266,.T.);
652
+ #634=EDGE_CURVE('',#477,#504,#267,.T.);
653
+ #635=EDGE_CURVE('',#504,#505,#268,.T.);
654
+ #636=EDGE_CURVE('',#476,#505,#269,.T.);
655
+ #637=EDGE_CURVE('',#505,#506,#270,.T.);
656
+ #638=EDGE_CURVE('',#475,#506,#271,.T.);
657
+ #639=EDGE_CURVE('',#506,#507,#272,.T.);
658
+ #640=EDGE_CURVE('',#474,#507,#273,.T.);
659
+ #641=EDGE_CURVE('',#507,#508,#274,.T.);
660
+ #642=EDGE_CURVE('',#473,#508,#275,.T.);
661
+ #643=EDGE_CURVE('',#508,#509,#276,.T.);
662
+ #644=EDGE_CURVE('',#472,#509,#277,.T.);
663
+ #645=EDGE_CURVE('',#509,#498,#278,.T.);
664
+ #646=EDGE_CURVE('',#510,#510,#416,.T.);
665
+ #647=EDGE_CURVE('',#510,#433,#279,.T.);
666
+ #648=EDGE_CURVE('',#493,#511,#280,.T.);
667
+ #649=EDGE_CURVE('',#511,#511,#417,.T.);
668
+ #650=EDGE_CURVE('',#512,#512,#418,.T.);
669
+ #651=EDGE_CURVE('',#492,#513,#281,.T.);
670
+ #652=EDGE_CURVE('',#513,#513,#419,.T.);
671
+ #653=EDGE_CURVE('',#514,#514,#420,.T.);
672
+ #654=EDGE_CURVE('',#512,#432,#282,.T.);
673
+ #655=EDGE_CURVE('',#514,#431,#283,.T.);
674
+ #656=ORIENTED_EDGE('',*,*,#515,.T.);
675
+ #657=ORIENTED_EDGE('',*,*,#516,.T.);
676
+ #658=ORIENTED_EDGE('',*,*,#517,.T.);
677
+ #659=ORIENTED_EDGE('',*,*,#518,.T.);
678
+ #660=ORIENTED_EDGE('',*,*,#518,.F.);
679
+ #661=ORIENTED_EDGE('',*,*,#519,.F.);
680
+ #662=ORIENTED_EDGE('',*,*,#520,.F.);
681
+ #663=ORIENTED_EDGE('',*,*,#521,.T.);
682
+ #664=ORIENTED_EDGE('',*,*,#522,.F.);
683
+ #665=ORIENTED_EDGE('',*,*,#523,.F.);
684
+ #666=ORIENTED_EDGE('',*,*,#524,.F.);
685
+ #667=ORIENTED_EDGE('',*,*,#525,.F.);
686
+ #668=ORIENTED_EDGE('',*,*,#526,.T.);
687
+ #669=ORIENTED_EDGE('',*,*,#527,.T.);
688
+ #670=ORIENTED_EDGE('',*,*,#528,.T.);
689
+ #671=ORIENTED_EDGE('',*,*,#529,.T.);
690
+ #672=ORIENTED_EDGE('',*,*,#522,.T.);
691
+ #673=ORIENTED_EDGE('',*,*,#530,.T.);
692
+ #674=ORIENTED_EDGE('',*,*,#531,.T.);
693
+ #675=ORIENTED_EDGE('',*,*,#529,.F.);
694
+ #676=ORIENTED_EDGE('',*,*,#532,.T.);
695
+ #677=ORIENTED_EDGE('',*,*,#533,.F.);
696
+ #678=ORIENTED_EDGE('',*,*,#534,.T.);
697
+ #679=ORIENTED_EDGE('',*,*,#535,.F.);
698
+ #680=ORIENTED_EDGE('',*,*,#536,.T.);
699
+ #681=ORIENTED_EDGE('',*,*,#537,.F.);
700
+ #682=ORIENTED_EDGE('',*,*,#538,.T.);
701
+ #683=ORIENTED_EDGE('',*,*,#539,.F.);
702
+ #684=ORIENTED_EDGE('',*,*,#540,.T.);
703
+ #685=ORIENTED_EDGE('',*,*,#541,.F.);
704
+ #686=ORIENTED_EDGE('',*,*,#542,.T.);
705
+ #687=ORIENTED_EDGE('',*,*,#543,.F.);
706
+ #688=ORIENTED_EDGE('',*,*,#544,.T.);
707
+ #689=ORIENTED_EDGE('',*,*,#545,.F.);
708
+ #690=ORIENTED_EDGE('',*,*,#546,.T.);
709
+ #691=ORIENTED_EDGE('',*,*,#547,.F.);
710
+ #692=ORIENTED_EDGE('',*,*,#523,.T.);
711
+ #693=ORIENTED_EDGE('',*,*,#516,.F.);
712
+ #694=ORIENTED_EDGE('',*,*,#548,.F.);
713
+ #695=ORIENTED_EDGE('',*,*,#549,.F.);
714
+ #696=ORIENTED_EDGE('',*,*,#532,.F.);
715
+ #697=ORIENTED_EDGE('',*,*,#531,.F.);
716
+ #698=ORIENTED_EDGE('',*,*,#550,.F.);
717
+ #699=ORIENTED_EDGE('',*,*,#551,.F.);
718
+ #700=ORIENTED_EDGE('',*,*,#552,.F.);
719
+ #701=ORIENTED_EDGE('',*,*,#553,.T.);
720
+ #702=ORIENTED_EDGE('',*,*,#551,.T.);
721
+ #703=ORIENTED_EDGE('',*,*,#554,.T.);
722
+ #704=ORIENTED_EDGE('',*,*,#555,.T.);
723
+ #705=ORIENTED_EDGE('',*,*,#533,.T.);
724
+ #706=ORIENTED_EDGE('',*,*,#549,.T.);
725
+ #707=ORIENTED_EDGE('',*,*,#556,.T.);
726
+ #708=ORIENTED_EDGE('',*,*,#557,.T.);
727
+ #709=ORIENTED_EDGE('',*,*,#535,.T.);
728
+ #710=ORIENTED_EDGE('',*,*,#558,.T.);
729
+ #711=ORIENTED_EDGE('',*,*,#559,.T.);
730
+ #712=ORIENTED_EDGE('',*,*,#560,.T.);
731
+ #713=ORIENTED_EDGE('',*,*,#560,.F.);
732
+ #714=ORIENTED_EDGE('',*,*,#561,.F.);
733
+ #715=ORIENTED_EDGE('',*,*,#562,.F.);
734
+ #716=ORIENTED_EDGE('',*,*,#536,.F.);
735
+ #717=ORIENTED_EDGE('',*,*,#515,.F.);
736
+ #718=ORIENTED_EDGE('',*,*,#525,.T.);
737
+ #719=ORIENTED_EDGE('',*,*,#563,.F.);
738
+ #720=ORIENTED_EDGE('',*,*,#564,.T.);
739
+ #721=ORIENTED_EDGE('',*,*,#565,.F.);
740
+ #722=ORIENTED_EDGE('',*,*,#566,.T.);
741
+ #723=ORIENTED_EDGE('',*,*,#567,.F.);
742
+ #724=ORIENTED_EDGE('',*,*,#568,.T.);
743
+ #725=ORIENTED_EDGE('',*,*,#569,.F.);
744
+ #726=ORIENTED_EDGE('',*,*,#570,.T.);
745
+ #727=ORIENTED_EDGE('',*,*,#571,.F.);
746
+ #728=ORIENTED_EDGE('',*,*,#572,.T.);
747
+ #729=ORIENTED_EDGE('',*,*,#573,.F.);
748
+ #730=ORIENTED_EDGE('',*,*,#561,.T.);
749
+ #731=ORIENTED_EDGE('',*,*,#559,.F.);
750
+ #732=ORIENTED_EDGE('',*,*,#574,.T.);
751
+ #733=ORIENTED_EDGE('',*,*,#556,.F.);
752
+ #734=ORIENTED_EDGE('',*,*,#548,.T.);
753
+ #735=ORIENTED_EDGE('',*,*,#573,.T.);
754
+ #736=ORIENTED_EDGE('',*,*,#575,.T.);
755
+ #737=ORIENTED_EDGE('',*,*,#537,.T.);
756
+ #738=ORIENTED_EDGE('',*,*,#562,.T.);
757
+ #739=ORIENTED_EDGE('',*,*,#575,.F.);
758
+ #740=ORIENTED_EDGE('',*,*,#572,.F.);
759
+ #741=ORIENTED_EDGE('',*,*,#576,.F.);
760
+ #742=ORIENTED_EDGE('',*,*,#538,.F.);
761
+ #743=ORIENTED_EDGE('',*,*,#577,.T.);
762
+ #744=ORIENTED_EDGE('',*,*,#578,.T.);
763
+ #745=ORIENTED_EDGE('',*,*,#579,.T.);
764
+ #746=ORIENTED_EDGE('',*,*,#580,.T.);
765
+ #747=ORIENTED_EDGE('',*,*,#581,.T.);
766
+ #748=ORIENTED_EDGE('',*,*,#582,.T.);
767
+ #749=ORIENTED_EDGE('',*,*,#583,.T.);
768
+ #750=ORIENTED_EDGE('',*,*,#584,.T.);
769
+ #751=ORIENTED_EDGE('',*,*,#585,.T.);
770
+ #752=ORIENTED_EDGE('',*,*,#586,.T.);
771
+ #753=ORIENTED_EDGE('',*,*,#587,.T.);
772
+ #754=ORIENTED_EDGE('',*,*,#588,.T.);
773
+ #755=ORIENTED_EDGE('',*,*,#589,.T.);
774
+ #756=ORIENTED_EDGE('',*,*,#590,.T.);
775
+ #757=ORIENTED_EDGE('',*,*,#591,.T.);
776
+ #758=ORIENTED_EDGE('',*,*,#592,.T.);
777
+ #759=ORIENTED_EDGE('',*,*,#539,.T.);
778
+ #760=ORIENTED_EDGE('',*,*,#576,.T.);
779
+ #761=ORIENTED_EDGE('',*,*,#571,.T.);
780
+ #762=ORIENTED_EDGE('',*,*,#593,.T.);
781
+ #763=ORIENTED_EDGE('',*,*,#593,.F.);
782
+ #764=ORIENTED_EDGE('',*,*,#570,.F.);
783
+ #765=ORIENTED_EDGE('',*,*,#594,.F.);
784
+ #766=ORIENTED_EDGE('',*,*,#540,.F.);
785
+ #767=ORIENTED_EDGE('',*,*,#541,.T.);
786
+ #768=ORIENTED_EDGE('',*,*,#594,.T.);
787
+ #769=ORIENTED_EDGE('',*,*,#569,.T.);
788
+ #770=ORIENTED_EDGE('',*,*,#595,.T.);
789
+ #771=ORIENTED_EDGE('',*,*,#543,.T.);
790
+ #772=ORIENTED_EDGE('',*,*,#596,.T.);
791
+ #773=ORIENTED_EDGE('',*,*,#567,.T.);
792
+ #774=ORIENTED_EDGE('',*,*,#597,.T.);
793
+ #775=ORIENTED_EDGE('',*,*,#597,.F.);
794
+ #776=ORIENTED_EDGE('',*,*,#566,.F.);
795
+ #777=ORIENTED_EDGE('',*,*,#598,.F.);
796
+ #778=ORIENTED_EDGE('',*,*,#544,.F.);
797
+ #779=ORIENTED_EDGE('',*,*,#565,.T.);
798
+ #780=ORIENTED_EDGE('',*,*,#599,.T.);
799
+ #781=ORIENTED_EDGE('',*,*,#545,.T.);
800
+ #782=ORIENTED_EDGE('',*,*,#598,.T.);
801
+ #783=ORIENTED_EDGE('',*,*,#599,.F.);
802
+ #784=ORIENTED_EDGE('',*,*,#564,.F.);
803
+ #785=ORIENTED_EDGE('',*,*,#600,.F.);
804
+ #786=ORIENTED_EDGE('',*,*,#546,.F.);
805
+ #787=ORIENTED_EDGE('',*,*,#547,.T.);
806
+ #788=ORIENTED_EDGE('',*,*,#600,.T.);
807
+ #789=ORIENTED_EDGE('',*,*,#563,.T.);
808
+ #790=ORIENTED_EDGE('',*,*,#524,.T.);
809
+ #791=ORIENTED_EDGE('',*,*,#601,.T.);
810
+ #792=ORIENTED_EDGE('',*,*,#520,.T.);
811
+ #793=ORIENTED_EDGE('',*,*,#602,.T.);
812
+ #794=ORIENTED_EDGE('',*,*,#603,.T.);
813
+ #795=ORIENTED_EDGE('',*,*,#601,.F.);
814
+ #796=ORIENTED_EDGE('',*,*,#604,.F.);
815
+ #797=ORIENTED_EDGE('',*,*,#605,.F.);
816
+ #798=ORIENTED_EDGE('',*,*,#606,.F.);
817
+ #799=ORIENTED_EDGE('',*,*,#554,.F.);
818
+ #800=ORIENTED_EDGE('',*,*,#550,.T.);
819
+ #801=ORIENTED_EDGE('',*,*,#530,.F.);
820
+ #802=ORIENTED_EDGE('',*,*,#521,.F.);
821
+ #803=ORIENTED_EDGE('',*,*,#605,.T.);
822
+ #804=ORIENTED_EDGE('',*,*,#607,.T.);
823
+ #805=ORIENTED_EDGE('',*,*,#608,.T.);
824
+ #806=ORIENTED_EDGE('',*,*,#609,.T.);
825
+ #807=ORIENTED_EDGE('',*,*,#555,.F.);
826
+ #808=ORIENTED_EDGE('',*,*,#606,.T.);
827
+ #809=ORIENTED_EDGE('',*,*,#609,.F.);
828
+ #810=ORIENTED_EDGE('',*,*,#610,.T.);
829
+ #811=ORIENTED_EDGE('',*,*,#611,.T.);
830
+ #812=ORIENTED_EDGE('',*,*,#612,.T.);
831
+ #813=ORIENTED_EDGE('',*,*,#602,.F.);
832
+ #814=ORIENTED_EDGE('',*,*,#519,.T.);
833
+ #815=ORIENTED_EDGE('',*,*,#517,.F.);
834
+ #816=ORIENTED_EDGE('',*,*,#552,.T.);
835
+ #817=ORIENTED_EDGE('',*,*,#553,.F.);
836
+ #818=ORIENTED_EDGE('',*,*,#610,.F.);
837
+ #819=ORIENTED_EDGE('',*,*,#608,.F.);
838
+ #820=ORIENTED_EDGE('',*,*,#613,.F.);
839
+ #821=ORIENTED_EDGE('',*,*,#592,.F.);
840
+ #822=ORIENTED_EDGE('',*,*,#614,.T.);
841
+ #823=ORIENTED_EDGE('',*,*,#615,.F.);
842
+ #824=ORIENTED_EDGE('',*,*,#614,.F.);
843
+ #825=ORIENTED_EDGE('',*,*,#591,.F.);
844
+ #826=ORIENTED_EDGE('',*,*,#616,.T.);
845
+ #827=ORIENTED_EDGE('',*,*,#617,.F.);
846
+ #828=ORIENTED_EDGE('',*,*,#616,.F.);
847
+ #829=ORIENTED_EDGE('',*,*,#590,.F.);
848
+ #830=ORIENTED_EDGE('',*,*,#618,.T.);
849
+ #831=ORIENTED_EDGE('',*,*,#619,.F.);
850
+ #832=ORIENTED_EDGE('',*,*,#618,.F.);
851
+ #833=ORIENTED_EDGE('',*,*,#589,.F.);
852
+ #834=ORIENTED_EDGE('',*,*,#620,.T.);
853
+ #835=ORIENTED_EDGE('',*,*,#621,.F.);
854
+ #836=ORIENTED_EDGE('',*,*,#620,.F.);
855
+ #837=ORIENTED_EDGE('',*,*,#622,.F.);
856
+ #838=ORIENTED_EDGE('',*,*,#623,.F.);
857
+ #839=ORIENTED_EDGE('',*,*,#577,.F.);
858
+ #840=ORIENTED_EDGE('',*,*,#624,.T.);
859
+ #841=ORIENTED_EDGE('',*,*,#625,.F.);
860
+ #842=ORIENTED_EDGE('',*,*,#624,.F.);
861
+ #843=ORIENTED_EDGE('',*,*,#588,.F.);
862
+ #844=ORIENTED_EDGE('',*,*,#626,.T.);
863
+ #845=ORIENTED_EDGE('',*,*,#627,.F.);
864
+ #846=ORIENTED_EDGE('',*,*,#626,.F.);
865
+ #847=ORIENTED_EDGE('',*,*,#587,.F.);
866
+ #848=ORIENTED_EDGE('',*,*,#628,.T.);
867
+ #849=ORIENTED_EDGE('',*,*,#629,.F.);
868
+ #850=ORIENTED_EDGE('',*,*,#628,.F.);
869
+ #851=ORIENTED_EDGE('',*,*,#586,.F.);
870
+ #852=ORIENTED_EDGE('',*,*,#630,.T.);
871
+ #853=ORIENTED_EDGE('',*,*,#631,.F.);
872
+ #854=ORIENTED_EDGE('',*,*,#630,.F.);
873
+ #855=ORIENTED_EDGE('',*,*,#585,.F.);
874
+ #856=ORIENTED_EDGE('',*,*,#632,.T.);
875
+ #857=ORIENTED_EDGE('',*,*,#633,.F.);
876
+ #858=ORIENTED_EDGE('',*,*,#632,.F.);
877
+ #859=ORIENTED_EDGE('',*,*,#584,.F.);
878
+ #860=ORIENTED_EDGE('',*,*,#634,.T.);
879
+ #861=ORIENTED_EDGE('',*,*,#635,.F.);
880
+ #862=ORIENTED_EDGE('',*,*,#634,.F.);
881
+ #863=ORIENTED_EDGE('',*,*,#583,.F.);
882
+ #864=ORIENTED_EDGE('',*,*,#636,.T.);
883
+ #865=ORIENTED_EDGE('',*,*,#637,.F.);
884
+ #866=ORIENTED_EDGE('',*,*,#636,.F.);
885
+ #867=ORIENTED_EDGE('',*,*,#582,.F.);
886
+ #868=ORIENTED_EDGE('',*,*,#638,.T.);
887
+ #869=ORIENTED_EDGE('',*,*,#639,.F.);
888
+ #870=ORIENTED_EDGE('',*,*,#638,.F.);
889
+ #871=ORIENTED_EDGE('',*,*,#581,.F.);
890
+ #872=ORIENTED_EDGE('',*,*,#640,.T.);
891
+ #873=ORIENTED_EDGE('',*,*,#641,.F.);
892
+ #874=ORIENTED_EDGE('',*,*,#640,.F.);
893
+ #875=ORIENTED_EDGE('',*,*,#580,.F.);
894
+ #876=ORIENTED_EDGE('',*,*,#642,.T.);
895
+ #877=ORIENTED_EDGE('',*,*,#643,.F.);
896
+ #878=ORIENTED_EDGE('',*,*,#642,.F.);
897
+ #879=ORIENTED_EDGE('',*,*,#579,.F.);
898
+ #880=ORIENTED_EDGE('',*,*,#644,.T.);
899
+ #881=ORIENTED_EDGE('',*,*,#645,.F.);
900
+ #882=ORIENTED_EDGE('',*,*,#644,.F.);
901
+ #883=ORIENTED_EDGE('',*,*,#578,.F.);
902
+ #884=ORIENTED_EDGE('',*,*,#623,.T.);
903
+ #885=ORIENTED_EDGE('',*,*,#595,.F.);
904
+ #886=ORIENTED_EDGE('',*,*,#568,.F.);
905
+ #887=ORIENTED_EDGE('',*,*,#596,.F.);
906
+ #888=ORIENTED_EDGE('',*,*,#542,.F.);
907
+ #889=ORIENTED_EDGE('',*,*,#615,.T.);
908
+ #890=ORIENTED_EDGE('',*,*,#617,.T.);
909
+ #891=ORIENTED_EDGE('',*,*,#619,.T.);
910
+ #892=ORIENTED_EDGE('',*,*,#621,.T.);
911
+ #893=ORIENTED_EDGE('',*,*,#622,.T.);
912
+ #894=ORIENTED_EDGE('',*,*,#625,.T.);
913
+ #895=ORIENTED_EDGE('',*,*,#627,.T.);
914
+ #896=ORIENTED_EDGE('',*,*,#629,.T.);
915
+ #897=ORIENTED_EDGE('',*,*,#631,.T.);
916
+ #898=ORIENTED_EDGE('',*,*,#633,.T.);
917
+ #899=ORIENTED_EDGE('',*,*,#635,.T.);
918
+ #900=ORIENTED_EDGE('',*,*,#637,.T.);
919
+ #901=ORIENTED_EDGE('',*,*,#639,.T.);
920
+ #902=ORIENTED_EDGE('',*,*,#641,.T.);
921
+ #903=ORIENTED_EDGE('',*,*,#643,.T.);
922
+ #904=ORIENTED_EDGE('',*,*,#645,.T.);
923
+ #905=ORIENTED_EDGE('',*,*,#557,.F.);
924
+ #906=ORIENTED_EDGE('',*,*,#574,.F.);
925
+ #907=ORIENTED_EDGE('',*,*,#558,.F.);
926
+ #908=ORIENTED_EDGE('',*,*,#534,.F.);
927
+ #909=ORIENTED_EDGE('',*,*,#603,.F.);
928
+ #910=ORIENTED_EDGE('',*,*,#613,.T.);
929
+ #911=ORIENTED_EDGE('',*,*,#607,.F.);
930
+ #912=ORIENTED_EDGE('',*,*,#604,.T.);
931
+ #913=ORIENTED_EDGE('',*,*,#646,.F.);
932
+ #914=ORIENTED_EDGE('',*,*,#647,.T.);
933
+ #915=ORIENTED_EDGE('',*,*,#528,.F.);
934
+ #916=ORIENTED_EDGE('',*,*,#647,.F.);
935
+ #917=ORIENTED_EDGE('',*,*,#646,.T.);
936
+ #918=ORIENTED_EDGE('',*,*,#612,.F.);
937
+ #919=ORIENTED_EDGE('',*,*,#648,.T.);
938
+ #920=ORIENTED_EDGE('',*,*,#649,.T.);
939
+ #921=ORIENTED_EDGE('',*,*,#648,.F.);
940
+ #922=ORIENTED_EDGE('',*,*,#649,.F.);
941
+ #923=ORIENTED_EDGE('',*,*,#650,.F.);
942
+ #924=ORIENTED_EDGE('',*,*,#611,.F.);
943
+ #925=ORIENTED_EDGE('',*,*,#651,.T.);
944
+ #926=ORIENTED_EDGE('',*,*,#652,.T.);
945
+ #927=ORIENTED_EDGE('',*,*,#651,.F.);
946
+ #928=ORIENTED_EDGE('',*,*,#652,.F.);
947
+ #929=ORIENTED_EDGE('',*,*,#653,.F.);
948
+ #930=ORIENTED_EDGE('',*,*,#650,.T.);
949
+ #931=ORIENTED_EDGE('',*,*,#654,.T.);
950
+ #932=ORIENTED_EDGE('',*,*,#527,.F.);
951
+ #933=ORIENTED_EDGE('',*,*,#654,.F.);
952
+ #934=ORIENTED_EDGE('',*,*,#653,.T.);
953
+ #935=ORIENTED_EDGE('',*,*,#655,.T.);
954
+ #936=ORIENTED_EDGE('',*,*,#526,.F.);
955
+ #937=ORIENTED_EDGE('',*,*,#655,.F.);
956
+ #938=CYLINDRICAL_SURFACE('',#1026,1.);
957
+ #939=CYLINDRICAL_SURFACE('',#1033,1.);
958
+ #940=CYLINDRICAL_SURFACE('',#1046,1.);
959
+ #941=CYLINDRICAL_SURFACE('',#1049,1.);
960
+ #942=CYLINDRICAL_SURFACE('',#1051,1.);
961
+ #943=CYLINDRICAL_SURFACE('',#1061,1.);
962
+ #944=CYLINDRICAL_SURFACE('',#1067,1.);
963
+ #945=CYLINDRICAL_SURFACE('',#1069,1.);
964
+ #946=CYLINDRICAL_SURFACE('',#1070,1.);
965
+ #947=CYLINDRICAL_SURFACE('',#1072,1.);
966
+ #948=CYLINDRICAL_SURFACE('',#1074,1.);
967
+ #949=CYLINDRICAL_SURFACE('',#1075,1.);
968
+ #950=CYLINDRICAL_SURFACE('',#1080,1.);
969
+ #951=CYLINDRICAL_SURFACE('',#1086,1.);
970
+ #952=CYLINDRICAL_SURFACE('',#1088,0.999999999999996);
971
+ #953=CYLINDRICAL_SURFACE('',#1090,0.999999999999996);
972
+ #954=CYLINDRICAL_SURFACE('',#1092,1.);
973
+ #955=CYLINDRICAL_SURFACE('',#1109,1.7);
974
+ #956=CYLINDRICAL_SURFACE('',#1112,2.7);
975
+ #957=CYLINDRICAL_SURFACE('',#1116,2.7);
976
+ #958=CYLINDRICAL_SURFACE('',#1120,1.65);
977
+ #959=CYLINDRICAL_SURFACE('',#1121,1.65);
978
+ #960=ADVANCED_FACE('',(#66),#938,.T.);
979
+ #961=ADVANCED_FACE('',(#67,#19,#20,#21),#36,.T.);
980
+ #962=ADVANCED_FACE('',(#68),#939,.T.);
981
+ #963=ADVANCED_FACE('',(#69),#37,.T.);
982
+ #964=ADVANCED_FACE('',(#70),#38,.T.);
983
+ #965=ADVANCED_FACE('',(#71),#940,.F.);
984
+ #966=ADVANCED_FACE('',(#72),#941,.T.);
985
+ #967=ADVANCED_FACE('',(#73),#942,.T.);
986
+ #968=ADVANCED_FACE('',(#74),#39,.T.);
987
+ #969=ADVANCED_FACE('',(#75),#40,.T.);
988
+ #970=ADVANCED_FACE('',(#76),#943,.F.);
989
+ #971=ADVANCED_FACE('',(#77,#22,#23,#24,#25,#26),#41,.T.);
990
+ #972=ADVANCED_FACE('',(#78),#944,.T.);
991
+ #973=ADVANCED_FACE('',(#79),#42,.T.);
992
+ #974=ADVANCED_FACE('',(#80),#945,.T.);
993
+ #975=ADVANCED_FACE('',(#81),#946,.T.);
994
+ #976=ADVANCED_FACE('',(#82),#43,.T.);
995
+ #977=ADVANCED_FACE('',(#83),#947,.F.);
996
+ #978=ADVANCED_FACE('',(#84),#44,.T.);
997
+ #979=ADVANCED_FACE('',(#85),#948,.T.);
998
+ #980=ADVANCED_FACE('',(#86),#949,.T.);
999
+ #981=ADVANCED_FACE('',(#87),#45,.F.);
1000
+ #982=ADVANCED_FACE('',(#88),#950,.T.);
1001
+ #983=ADVANCED_FACE('',(#89,#27,#28),#46,.T.);
1002
+ #984=ADVANCED_FACE('',(#90),#47,.F.);
1003
+ #985=ADVANCED_FACE('',(#91),#951,.F.);
1004
+ #986=ADVANCED_FACE('',(#92),#952,.F.);
1005
+ #987=ADVANCED_FACE('',(#93),#953,.F.);
1006
+ #988=ADVANCED_FACE('',(#94),#954,.F.);
1007
+ #989=ADVANCED_FACE('',(#95),#48,.F.);
1008
+ #990=ADVANCED_FACE('',(#96),#49,.F.);
1009
+ #991=ADVANCED_FACE('',(#97),#50,.F.);
1010
+ #992=ADVANCED_FACE('',(#98),#51,.F.);
1011
+ #993=ADVANCED_FACE('',(#99),#52,.F.);
1012
+ #994=ADVANCED_FACE('',(#100),#53,.F.);
1013
+ #995=ADVANCED_FACE('',(#101),#54,.F.);
1014
+ #996=ADVANCED_FACE('',(#102),#55,.F.);
1015
+ #997=ADVANCED_FACE('',(#103),#56,.F.);
1016
+ #998=ADVANCED_FACE('',(#104),#57,.F.);
1017
+ #999=ADVANCED_FACE('',(#105),#58,.F.);
1018
+ #1000=ADVANCED_FACE('',(#106),#59,.F.);
1019
+ #1001=ADVANCED_FACE('',(#107,#29,#30,#31,#32,#33),#60,.T.);
1020
+ #1002=ADVANCED_FACE('',(#108),#61,.T.);
1021
+ #1003=ADVANCED_FACE('',(#109),#62,.T.);
1022
+ #1004=ADVANCED_FACE('',(#110),#955,.T.);
1023
+ #1005=ADVANCED_FACE('',(#111),#63,.T.);
1024
+ #1006=ADVANCED_FACE('',(#112),#956,.F.);
1025
+ #1007=ADVANCED_FACE('',(#113,#34),#64,.T.);
1026
+ #1008=ADVANCED_FACE('',(#114),#957,.F.);
1027
+ #1009=ADVANCED_FACE('',(#115,#35),#65,.T.);
1028
+ #1010=ADVANCED_FACE('',(#116),#958,.F.);
1029
+ #1011=ADVANCED_FACE('',(#117),#959,.F.);
1030
+ #1012=CLOSED_SHELL('',(#960,#961,#962,#963,#964,#965,#966,#967,#968,#969,
1031
+ #970,#971,#972,#973,#974,#975,#976,#977,#978,#979,#980,#981,#982,#983,#984,
1032
+ #985,#986,#987,#988,#989,#990,#991,#992,#993,#994,#995,#996,#997,#998,#999,
1033
+ #1000,#1001,#1002,#1003,#1004,#1005,#1006,#1007,#1008,#1009,#1010,#1011));
1034
+ #1013=DERIVED_UNIT_ELEMENT(#1015,1.);
1035
+ #1014=DERIVED_UNIT_ELEMENT(#1706,-3.);
1036
+ #1015=(
1037
+ MASS_UNIT()
1038
+ NAMED_UNIT(*)
1039
+ SI_UNIT(.KILO.,.GRAM.)
1040
+ );
1041
+ #1016=DERIVED_UNIT((#1013,#1014));
1042
+ #1017=MEASURE_REPRESENTATION_ITEM('density measure',
1043
+ POSITIVE_RATIO_MEASURE(7850.),#1016);
1044
+ #1018=PROPERTY_DEFINITION_REPRESENTATION(#1023,#1020);
1045
+ #1019=PROPERTY_DEFINITION_REPRESENTATION(#1024,#1021);
1046
+ #1020=REPRESENTATION('material name',(#1022),#1703);
1047
+ #1021=REPRESENTATION('density',(#1017),#1703);
1048
+ #1022=DESCRIPTIVE_REPRESENTATION_ITEM('Steel','Steel');
1049
+ #1023=PROPERTY_DEFINITION('material property','material name',#1713);
1050
+ #1024=PROPERTY_DEFINITION('material property','density of part',#1713);
1051
+ #1025=AXIS2_PLACEMENT_3D('',#1413,#1122,#1123);
1052
+ #1026=AXIS2_PLACEMENT_3D('',#1414,#1124,#1125);
1053
+ #1027=AXIS2_PLACEMENT_3D('',#1417,#1126,#1127);
1054
+ #1028=AXIS2_PLACEMENT_3D('',#1421,#1129,#1130);
1055
+ #1029=AXIS2_PLACEMENT_3D('',#1423,#1132,#1133);
1056
+ #1030=AXIS2_PLACEMENT_3D('',#1438,#1141,#1142);
1057
+ #1031=AXIS2_PLACEMENT_3D('',#1440,#1143,#1144);
1058
+ #1032=AXIS2_PLACEMENT_3D('',#1442,#1145,#1146);
1059
+ #1033=AXIS2_PLACEMENT_3D('',#1443,#1147,#1148);
1060
+ #1034=AXIS2_PLACEMENT_3D('',#1445,#1149,#1150);
1061
+ #1035=AXIS2_PLACEMENT_3D('',#1447,#1151,#1152);
1062
+ #1036=AXIS2_PLACEMENT_3D('',#1449,#1154,#1155);
1063
+ #1037=AXIS2_PLACEMENT_3D('',#1453,#1157,#1158);
1064
+ #1038=AXIS2_PLACEMENT_3D('',#1457,#1160,#1161);
1065
+ #1039=AXIS2_PLACEMENT_3D('',#1461,#1163,#1164);
1066
+ #1040=AXIS2_PLACEMENT_3D('',#1465,#1166,#1167);
1067
+ #1041=AXIS2_PLACEMENT_3D('',#1469,#1169,#1170);
1068
+ #1042=AXIS2_PLACEMENT_3D('',#1473,#1172,#1173);
1069
+ #1043=AXIS2_PLACEMENT_3D('',#1477,#1175,#1176);
1070
+ #1044=AXIS2_PLACEMENT_3D('',#1480,#1178,#1179);
1071
+ #1045=AXIS2_PLACEMENT_3D('',#1481,#1180,#1181);
1072
+ #1046=AXIS2_PLACEMENT_3D('',#1490,#1187,#1188);
1073
+ #1047=AXIS2_PLACEMENT_3D('',#1492,#1189,#1190);
1074
+ #1048=AXIS2_PLACEMENT_3D('',#1494,#1191,#1192);
1075
+ #1049=AXIS2_PLACEMENT_3D('',#1496,#1194,#1195);
1076
+ #1050=AXIS2_PLACEMENT_3D('',#1498,#1196,#1197);
1077
+ #1051=AXIS2_PLACEMENT_3D('',#1500,#1199,#1200);
1078
+ #1052=AXIS2_PLACEMENT_3D('',#1504,#1202,#1203);
1079
+ #1053=AXIS2_PLACEMENT_3D('',#1506,#1205,#1206);
1080
+ #1054=AXIS2_PLACEMENT_3D('',#1510,#1209,#1210);
1081
+ #1055=AXIS2_PLACEMENT_3D('',#1512,#1211,#1212);
1082
+ #1056=AXIS2_PLACEMENT_3D('',#1516,#1214,#1215);
1083
+ #1057=AXIS2_PLACEMENT_3D('',#1520,#1217,#1218);
1084
+ #1058=AXIS2_PLACEMENT_3D('',#1524,#1220,#1221);
1085
+ #1059=AXIS2_PLACEMENT_3D('',#1528,#1223,#1224);
1086
+ #1060=AXIS2_PLACEMENT_3D('',#1531,#1226,#1227);
1087
+ #1061=AXIS2_PLACEMENT_3D('',#1533,#1229,#1230);
1088
+ #1062=AXIS2_PLACEMENT_3D('',#1535,#1232,#1233);
1089
+ #1063=AXIS2_PLACEMENT_3D('',#1562,#1247,#1248);
1090
+ #1064=AXIS2_PLACEMENT_3D('',#1564,#1249,#1250);
1091
+ #1065=AXIS2_PLACEMENT_3D('',#1566,#1251,#1252);
1092
+ #1066=AXIS2_PLACEMENT_3D('',#1568,#1253,#1254);
1093
+ #1067=AXIS2_PLACEMENT_3D('',#1569,#1255,#1256);
1094
+ #1068=AXIS2_PLACEMENT_3D('',#1571,#1258,#1259);
1095
+ #1069=AXIS2_PLACEMENT_3D('',#1573,#1261,#1262);
1096
+ #1070=AXIS2_PLACEMENT_3D('',#1575,#1264,#1265);
1097
+ #1071=AXIS2_PLACEMENT_3D('',#1578,#1268,#1269);
1098
+ #1072=AXIS2_PLACEMENT_3D('',#1580,#1271,#1272);
1099
+ #1073=AXIS2_PLACEMENT_3D('',#1582,#1274,#1275);
1100
+ #1074=AXIS2_PLACEMENT_3D('',#1584,#1277,#1278);
1101
+ #1075=AXIS2_PLACEMENT_3D('',#1585,#1279,#1280);
1102
+ #1076=AXIS2_PLACEMENT_3D('',#1587,#1281,#1282);
1103
+ #1077=AXIS2_PLACEMENT_3D('',#1589,#1283,#1284);
1104
+ #1078=AXIS2_PLACEMENT_3D('',#1591,#1286,#1287);
1105
+ #1079=AXIS2_PLACEMENT_3D('',#1595,#1289,#1290);
1106
+ #1080=AXIS2_PLACEMENT_3D('',#1597,#1292,#1293);
1107
+ #1081=AXIS2_PLACEMENT_3D('',#1601,#1295,#1296);
1108
+ #1082=AXIS2_PLACEMENT_3D('',#1603,#1298,#1299);
1109
+ #1083=AXIS2_PLACEMENT_3D('',#1606,#1301,#1302);
1110
+ #1084=AXIS2_PLACEMENT_3D('',#1608,#1303,#1304);
1111
+ #1085=AXIS2_PLACEMENT_3D('',#1609,#1305,#1306);
1112
+ #1086=AXIS2_PLACEMENT_3D('',#1611,#1308,#1309);
1113
+ #1087=AXIS2_PLACEMENT_3D('',#1614,#1311,#1312);
1114
+ #1088=AXIS2_PLACEMENT_3D('',#1615,#1313,#1314);
1115
+ #1089=AXIS2_PLACEMENT_3D('',#1618,#1316,#1317);
1116
+ #1090=AXIS2_PLACEMENT_3D('',#1619,#1318,#1319);
1117
+ #1091=AXIS2_PLACEMENT_3D('',#1622,#1321,#1322);
1118
+ #1092=AXIS2_PLACEMENT_3D('',#1623,#1323,#1324);
1119
+ #1093=AXIS2_PLACEMENT_3D('',#1626,#1326,#1327);
1120
+ #1094=AXIS2_PLACEMENT_3D('',#1627,#1328,#1329);
1121
+ #1095=AXIS2_PLACEMENT_3D('',#1633,#1333,#1334);
1122
+ #1096=AXIS2_PLACEMENT_3D('',#1637,#1337,#1338);
1123
+ #1097=AXIS2_PLACEMENT_3D('',#1641,#1341,#1342);
1124
+ #1098=AXIS2_PLACEMENT_3D('',#1645,#1345,#1346);
1125
+ #1099=AXIS2_PLACEMENT_3D('',#1649,#1349,#1350);
1126
+ #1100=AXIS2_PLACEMENT_3D('',#1653,#1353,#1354);
1127
+ #1101=AXIS2_PLACEMENT_3D('',#1657,#1357,#1358);
1128
+ #1102=AXIS2_PLACEMENT_3D('',#1661,#1361,#1362);
1129
+ #1103=AXIS2_PLACEMENT_3D('',#1665,#1365,#1366);
1130
+ #1104=AXIS2_PLACEMENT_3D('',#1669,#1369,#1370);
1131
+ #1105=AXIS2_PLACEMENT_3D('',#1673,#1373,#1374);
1132
+ #1106=AXIS2_PLACEMENT_3D('',#1675,#1376,#1377);
1133
+ #1107=AXIS2_PLACEMENT_3D('',#1676,#1378,#1379);
1134
+ #1108=AXIS2_PLACEMENT_3D('',#1677,#1380,#1381);
1135
+ #1109=AXIS2_PLACEMENT_3D('',#1678,#1382,#1383);
1136
+ #1110=AXIS2_PLACEMENT_3D('',#1680,#1384,#1385);
1137
+ #1111=AXIS2_PLACEMENT_3D('',#1682,#1387,#1388);
1138
+ #1112=AXIS2_PLACEMENT_3D('',#1683,#1389,#1390);
1139
+ #1113=AXIS2_PLACEMENT_3D('',#1686,#1392,#1393);
1140
+ #1114=AXIS2_PLACEMENT_3D('',#1687,#1394,#1395);
1141
+ #1115=AXIS2_PLACEMENT_3D('',#1689,#1396,#1397);
1142
+ #1116=AXIS2_PLACEMENT_3D('',#1690,#1398,#1399);
1143
+ #1117=AXIS2_PLACEMENT_3D('',#1693,#1401,#1402);
1144
+ #1118=AXIS2_PLACEMENT_3D('',#1694,#1403,#1404);
1145
+ #1119=AXIS2_PLACEMENT_3D('',#1696,#1405,#1406);
1146
+ #1120=AXIS2_PLACEMENT_3D('',#1697,#1407,#1408);
1147
+ #1121=AXIS2_PLACEMENT_3D('',#1699,#1410,#1411);
1148
+ #1122=DIRECTION('axis',(0.,0.,1.));
1149
+ #1123=DIRECTION('refdir',(1.,0.,0.));
1150
+ #1124=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1151
+ #1125=DIRECTION('ref_axis',(0.707106781186548,0.707106781186547,1.57009245868377E-16));
1152
+ #1126=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1153
+ #1127=DIRECTION('ref_axis',(0.707106781186548,0.707106781186547,1.57009245868377E-16));
1154
+ #1128=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1155
+ #1129=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1156
+ #1130=DIRECTION('ref_axis',(0.707106781186548,0.707106781186547,1.57009245868377E-16));
1157
+ #1131=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1158
+ #1132=DIRECTION('center_axis',(1.,-1.50724952169436E-33,-3.34676624568066E-49));
1159
+ #1133=DIRECTION('ref_axis',(1.50724952169436E-33,1.,2.22044604925031E-16));
1160
+ #1134=DIRECTION('',(-1.50724952169436E-33,-1.,-2.22044604925031E-16));
1161
+ #1135=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1162
+ #1136=DIRECTION('',(-1.35046540794304E-33,-0.895979987722886,0.44409442869743));
1163
+ #1137=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1164
+ #1138=DIRECTION('',(1.50724952169436E-33,1.,2.22044604925031E-16));
1165
+ #1139=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1166
+ #1140=DIRECTION('',(-1.50724952169436E-33,-1.,-2.22044604925031E-16));
1167
+ #1141=DIRECTION('center_axis',(-1.,1.50724952169436E-33,3.34676624568066E-49));
1168
+ #1142=DIRECTION('ref_axis',(-1.26161707343768E-16,-1.,-2.22044604925031E-16));
1169
+ #1143=DIRECTION('center_axis',(-1.,1.50724952169436E-33,3.34676624568066E-49));
1170
+ #1144=DIRECTION('ref_axis',(-1.26161707343768E-16,-1.,-2.22044604925031E-16));
1171
+ #1145=DIRECTION('center_axis',(-1.,1.50724952169436E-33,3.34676624568066E-49));
1172
+ #1146=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1173
+ #1147=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1174
+ #1148=DIRECTION('ref_axis',(0.707106781186547,0.707106781186548,1.57009245868378E-16));
1175
+ #1149=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1176
+ #1150=DIRECTION('ref_axis',(0.707106781186547,0.707106781186548,1.57009245868378E-16));
1177
+ #1151=DIRECTION('center_axis',(-3.14708846711261E-17,-0.44409442869743,
1178
+ -0.895979987722886));
1179
+ #1152=DIRECTION('ref_axis',(2.48684402993328E-16,0.895979987722886,-0.44409442869743));
1180
+ #1153=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1181
+ #1154=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1182
+ #1155=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1183
+ #1156=DIRECTION('',(-1.,-1.29526019539602E-15,-2.87605538361827E-31));
1184
+ #1157=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1185
+ #1158=DIRECTION('ref_axis',(-0.19509032201613,0.98078528040323,2.17778080103421E-16));
1186
+ #1159=DIRECTION('',(-0.923879532511286,-0.382683432365092,-8.49727915508617E-17));
1187
+ #1160=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1188
+ #1161=DIRECTION('ref_axis',(-0.555570233019603,0.831469612302545,1.84623341570888E-16));
1189
+ #1162=DIRECTION('',(-0.707106781186549,-0.707106781186546,-1.57009245868377E-16));
1190
+ #1163=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1191
+ #1164=DIRECTION('ref_axis',(0.173648177666932,-0.984807753012208,-2.18671248444703E-16));
1192
+ #1165=DIRECTION('',(-0.906307787036649,0.422618261740701,9.38401049623173E-17));
1193
+ #1166=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1194
+ #1167=DIRECTION('ref_axis',(-0.34202014332567,0.939692620785908,2.08653676733374E-16));
1195
+ #1168=DIRECTION('',(-0.422618261740692,-0.906307787036653,-2.01240754513033E-16));
1196
+ #1169=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1197
+ #1170=DIRECTION('ref_axis',(-0.939692620785906,-0.342020143325677,-7.59437276011524E-17));
1198
+ #1171=DIRECTION('',(0.906307787036649,-0.4226182617407,-9.38401049623172E-17));
1199
+ #1172=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1200
+ #1173=DIRECTION('ref_axis',(0.173648177666933,-0.984807753012208,-2.18671248444703E-16));
1201
+ #1174=DIRECTION('',(0.707106781186547,0.707106781186548,1.57009245868378E-16));
1202
+ #1175=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1203
+ #1176=DIRECTION('ref_axis',(-0.38268343236509,0.923879532511287,2.05142465794791E-16));
1204
+ #1177=DIRECTION('',(1.,3.70074341541719E-16,8.2173010960522E-32));
1205
+ #1178=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1206
+ #1179=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,-1.57009245868378E-16));
1207
+ #1180=DIRECTION('center_axis',(-1.29526019539602E-15,1.,2.22044604925031E-16));
1208
+ #1181=DIRECTION('ref_axis',(-1.,-1.29526019539602E-15,-2.87605538361827E-31));
1209
+ #1182=DIRECTION('',(1.,1.29526019539602E-15,2.87605538361827E-31));
1210
+ #1183=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1211
+ #1184=DIRECTION('',(1.,1.29526019539602E-15,-6.77123071355564E-16));
1212
+ #1185=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1213
+ #1186=DIRECTION('',(-1.,-1.29526019539602E-15,-2.87605538361827E-31));
1214
+ #1187=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1215
+ #1188=DIRECTION('ref_axis',(0.707106781186548,-0.707106781186548,-1.57009245868377E-16));
1216
+ #1189=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1217
+ #1190=DIRECTION('ref_axis',(0.707106781186548,-0.707106781186548,-1.57009245868377E-16));
1218
+ #1191=DIRECTION('center_axis',(3.14708846711261E-17,0.44409442869743,0.895979987722886));
1219
+ #1192=DIRECTION('ref_axis',(0.,-0.895979987722886,0.44409442869743));
1220
+ #1193=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1221
+ #1194=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1222
+ #1195=DIRECTION('ref_axis',(-0.19509032201613,0.98078528040323,2.17778080103421E-16));
1223
+ #1196=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1224
+ #1197=DIRECTION('ref_axis',(-0.19509032201613,0.98078528040323,2.17778080103421E-16));
1225
+ #1198=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1226
+ #1199=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1227
+ #1200=DIRECTION('ref_axis',(-0.555570233019603,0.831469612302545,1.84623341570888E-16));
1228
+ #1201=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1229
+ #1202=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1230
+ #1203=DIRECTION('ref_axis',(-0.555570233019603,0.831469612302545,1.84623341570888E-16));
1231
+ #1204=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1232
+ #1205=DIRECTION('center_axis',(-0.707106781186546,0.707106781186549,1.57009245868378E-16));
1233
+ #1206=DIRECTION('ref_axis',(-0.707106781186549,-0.707106781186546,-1.57009245868377E-16));
1234
+ #1207=DIRECTION('',(0.707106781186549,0.707106781186546,1.57009245868377E-16));
1235
+ #1208=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1236
+ #1209=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1237
+ #1210=DIRECTION('ref_axis',(0.,1.,2.22044604925031E-16));
1238
+ #1211=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1239
+ #1212=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,-1.57009245868378E-16));
1240
+ #1213=DIRECTION('',(-1.,-3.70074341541719E-16,-8.2173010960522E-32));
1241
+ #1214=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1242
+ #1215=DIRECTION('ref_axis',(-0.38268343236509,0.923879532511287,2.05142465794791E-16));
1243
+ #1216=DIRECTION('',(-0.707106781186547,-0.707106781186548,-1.57009245868378E-16));
1244
+ #1217=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1245
+ #1218=DIRECTION('ref_axis',(0.173648177666933,-0.984807753012208,-2.18671248444703E-16));
1246
+ #1219=DIRECTION('',(-0.906307787036649,0.4226182617407,9.38401049623172E-17));
1247
+ #1220=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1248
+ #1221=DIRECTION('ref_axis',(-0.939692620785906,-0.342020143325677,-7.59437276011524E-17));
1249
+ #1222=DIRECTION('',(0.422618261740692,0.906307787036653,2.01240754513033E-16));
1250
+ #1223=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1251
+ #1224=DIRECTION('ref_axis',(-0.34202014332567,0.939692620785908,2.08653676733374E-16));
1252
+ #1225=DIRECTION('',(0.906307787036649,-0.422618261740701,-9.38401049623173E-17));
1253
+ #1226=DIRECTION('center_axis',(0.,2.22044604925031E-16,-1.));
1254
+ #1227=DIRECTION('ref_axis',(0.173648177666932,-0.984807753012208,-2.18671248444703E-16));
1255
+ #1228=DIRECTION('',(0.923879532511286,0.382683432365092,8.49727915508617E-17));
1256
+ #1229=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1257
+ #1230=DIRECTION('ref_axis',(0.173648177666932,-0.984807753012208,-2.18671248444703E-16));
1258
+ #1231=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1259
+ #1232=DIRECTION('center_axis',(0.422618261740701,0.906307787036649,2.01240754513032E-16));
1260
+ #1233=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623173E-17));
1261
+ #1234=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1262
+ #1235=DIRECTION('',(8.04963018052129E-16,-1.53315814924238E-16,-1.));
1263
+ #1236=DIRECTION('',(0.906307787036649,-0.422618261740701,9.11970658085435E-17));
1264
+ #1237=DIRECTION('',(8.04963018052128E-16,-5.974050247743E-16,1.));
1265
+ #1238=DIRECTION('',(0.906307787036649,-0.422618261740701,4.49377731158275E-17));
1266
+ #1239=DIRECTION('',(1.25775471570645E-15,-8.08545260939513E-16,1.));
1267
+ #1240=DIRECTION('',(-0.906307787036649,0.422618261740701,-4.61271407350261E-16));
1268
+ #1241=DIRECTION('',(8.04963018052128E-16,-5.974050247743E-16,1.));
1269
+ #1242=DIRECTION('',(-0.906307787036649,0.422618261740701,9.38401049623173E-17));
1270
+ #1243=DIRECTION('',(8.04963018052129E-16,-1.53315814924238E-16,-1.));
1271
+ #1244=DIRECTION('',(-0.906307787036649,0.422618261740701,-4.61271407350261E-16));
1272
+ #1245=DIRECTION('',(5.03101886282581E-16,-1.25556574807622E-17,-1.));
1273
+ #1246=DIRECTION('',(0.906307787036649,-0.422618261740701,4.49377731158275E-17));
1274
+ #1247=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1275
+ #1248=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1276
+ #1249=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1277
+ #1250=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1278
+ #1251=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1279
+ #1252=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1280
+ #1253=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1281
+ #1254=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1282
+ #1255=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1283
+ #1256=DIRECTION('ref_axis',(-0.34202014332567,0.939692620785908,2.08653676733374E-16));
1284
+ #1257=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1285
+ #1258=DIRECTION('center_axis',(-0.906307787036653,0.422618261740692,9.38401049623154E-17));
1286
+ #1259=DIRECTION('ref_axis',(-0.422618261740692,-0.906307787036653,-2.01240754513033E-16));
1287
+ #1260=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1288
+ #1261=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1289
+ #1262=DIRECTION('ref_axis',(-0.939692620785906,-0.342020143325677,-7.59437276011524E-17));
1290
+ #1263=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1291
+ #1264=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1292
+ #1265=DIRECTION('ref_axis',(0.173648177666933,-0.984807753012208,-2.18671248444703E-16));
1293
+ #1266=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1294
+ #1267=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1295
+ #1268=DIRECTION('center_axis',(0.707106781186548,-0.707106781186547,-1.57009245868377E-16));
1296
+ #1269=DIRECTION('ref_axis',(0.707106781186547,0.707106781186548,1.57009245868378E-16));
1297
+ #1270=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1298
+ #1271=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1299
+ #1272=DIRECTION('ref_axis',(-0.38268343236509,0.923879532511287,2.05142465794791E-16));
1300
+ #1273=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1301
+ #1274=DIRECTION('center_axis',(3.70074341541719E-16,-1.,-2.22044604925031E-16));
1302
+ #1275=DIRECTION('ref_axis',(1.,3.70074341541719E-16,8.2173010960522E-32));
1303
+ #1276=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1304
+ #1277=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1305
+ #1278=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,-1.57009245868378E-16));
1306
+ #1279=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1307
+ #1280=DIRECTION('ref_axis',(0.707106781186547,0.707106781186548,1.57009245868378E-16));
1308
+ #1281=DIRECTION('center_axis',(-3.14708846711261E-17,-0.44409442869743,
1309
+ -0.895979987722886));
1310
+ #1282=DIRECTION('ref_axis',(1.86513302244996E-16,0.895979987722886,-0.44409442869743));
1311
+ #1283=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1312
+ #1284=DIRECTION('ref_axis',(0.707106781186547,0.707106781186548,1.57009245868378E-16));
1313
+ #1285=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1314
+ #1286=DIRECTION('center_axis',(-3.14708846711261E-17,-0.44409442869743,
1315
+ -0.895979987722886));
1316
+ #1287=DIRECTION('ref_axis',(6.34938901259561E-17,0.895979987722886,-0.44409442869743));
1317
+ #1288=DIRECTION('',(1.,6.12323399573677E-17,-6.54744821381479E-17));
1318
+ #1289=DIRECTION('center_axis',(-3.14708846711261E-17,-0.44409442869743,
1319
+ -0.895979987722886));
1320
+ #1290=DIRECTION('ref_axis',(-1.86513302244996E-16,0.895979987722886,-0.44409442869743));
1321
+ #1291=DIRECTION('',(6.48741920852161E-17,0.895979987722886,-0.44409442869743));
1322
+ #1292=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1323
+ #1293=DIRECTION('ref_axis',(-0.707106781186547,0.707106781186548,1.57009245868377E-16));
1324
+ #1294=DIRECTION('',(0.,2.22044604925031E-16,-1.));
1325
+ #1295=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1326
+ #1296=DIRECTION('ref_axis',(-0.707106781186547,0.707106781186548,1.57009245868377E-16));
1327
+ #1297=DIRECTION('',(0.,-2.22044604925031E-16,1.));
1328
+ #1298=DIRECTION('center_axis',(-1.,7.24058494320754E-17,1.60773282314065E-32));
1329
+ #1299=DIRECTION('ref_axis',(-7.24058494320754E-17,-1.,-2.22044604925031E-16));
1330
+ #1300=DIRECTION('',(-7.24058494320754E-17,-1.,-2.22044604925031E-16));
1331
+ #1301=DIRECTION('center_axis',(1.,-7.24058494320754E-17,-1.60773282314065E-32));
1332
+ #1302=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1333
+ #1303=DIRECTION('center_axis',(1.,-7.24058494320754E-17,-1.60773282314065E-32));
1334
+ #1304=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1335
+ #1305=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1336
+ #1306=DIRECTION('ref_axis',(1.,0.,0.));
1337
+ #1307=DIRECTION('',(-1.,-6.12323399573677E-17,-1.35963107344689E-32));
1338
+ #1308=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1339
+ #1309=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1340
+ #1310=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1341
+ #1311=DIRECTION('center_axis',(0.4226182617407,0.90630778703665,2.01240754513032E-16));
1342
+ #1312=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1343
+ #1313=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1344
+ #1314=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1345
+ #1315=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1346
+ #1316=DIRECTION('center_axis',(0.4226182617407,0.90630778703665,2.01240754513032E-16));
1347
+ #1317=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1348
+ #1318=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1349
+ #1319=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1350
+ #1320=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1351
+ #1321=DIRECTION('center_axis',(0.4226182617407,0.90630778703665,2.01240754513032E-16));
1352
+ #1322=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1353
+ #1323=DIRECTION('center_axis',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1354
+ #1324=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1355
+ #1325=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1356
+ #1326=DIRECTION('center_axis',(0.4226182617407,0.90630778703665,2.01240754513032E-16));
1357
+ #1327=DIRECTION('ref_axis',(-0.906307787036649,0.422618261740701,9.38401049623174E-17));
1358
+ #1328=DIRECTION('center_axis',(-0.906307787036649,0.422618261740701,-7.94338314737808E-16));
1359
+ #1329=DIRECTION('ref_axis',(8.04963018052129E-16,-1.53315814924238E-16,
1360
+ -1.));
1361
+ #1330=DIRECTION('',(-8.04963018052129E-16,1.53315814924238E-16,1.));
1362
+ #1331=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1363
+ #1332=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1364
+ #1333=DIRECTION('center_axis',(1.25775471570645E-16,1.63394539323583E-16,
1365
+ -1.));
1366
+ #1334=DIRECTION('ref_axis',(0.906307787036649,-0.4226182617407,4.49377731158275E-17));
1367
+ #1335=DIRECTION('',(-0.906307787036649,0.4226182617407,-4.49377731158276E-17));
1368
+ #1336=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1369
+ #1337=DIRECTION('center_axis',(-0.906307787036649,0.422618261740701,-4.61271407350261E-16));
1370
+ #1338=DIRECTION('ref_axis',(5.03101886282581E-16,-1.25556574807621E-17,
1371
+ -1.));
1372
+ #1339=DIRECTION('',(-5.03101886282581E-16,1.2555657480762E-17,1.));
1373
+ #1340=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1374
+ #1341=DIRECTION('center_axis',(-5.0310188628258E-16,1.25556574807622E-17,
1375
+ 1.));
1376
+ #1342=DIRECTION('ref_axis',(-0.906307787036653,0.422618261740694,-4.61271407350262E-16));
1377
+ #1343=DIRECTION('',(0.906307787036649,-0.4226182617407,4.61271407350261E-16));
1378
+ #1344=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1379
+ #1345=DIRECTION('center_axis',(-0.906307787036649,0.422618261740701,-7.94338314737808E-16));
1380
+ #1346=DIRECTION('ref_axis',(8.04963018052129E-16,-1.53315814924238E-16,
1381
+ -1.));
1382
+ #1347=DIRECTION('',(-8.04963018052129E-16,1.53315814924238E-16,1.));
1383
+ #1348=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1384
+ #1349=DIRECTION('center_axis',(0.,-2.22044604925031E-16,1.));
1385
+ #1350=DIRECTION('ref_axis',(-0.906307787036653,0.422618261740693,9.38401049623155E-17));
1386
+ #1351=DIRECTION('',(0.906307787036649,-0.4226182617407,-9.38401049623172E-17));
1387
+ #1352=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1388
+ #1353=DIRECTION('center_axis',(0.906307787036649,-0.422618261740701,-9.82018524662442E-16));
1389
+ #1354=DIRECTION('ref_axis',(1.69108506042372E-15,1.30288982750764E-15,1.));
1390
+ #1355=DIRECTION('',(-8.04963018052128E-16,5.974050247743E-16,-1.));
1391
+ #1356=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1392
+ #1357=DIRECTION('center_axis',(-5.0310188628258E-16,1.25556574807622E-17,
1393
+ 1.));
1394
+ #1358=DIRECTION('ref_axis',(-0.906307787036653,0.422618261740694,-4.61271407350262E-16));
1395
+ #1359=DIRECTION('',(0.906307787036649,-0.4226182617407,4.61271407350261E-16));
1396
+ #1360=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1397
+ #1361=DIRECTION('center_axis',(0.906307787036649,-0.422618261740701,-1.48161888574376E-15));
1398
+ #1362=DIRECTION('ref_axis',(4.51017769173374E-15,6.16629831957527E-15,1.));
1399
+ #1363=DIRECTION('',(-1.25775471570645E-15,8.08545260939513E-16,-1.));
1400
+ #1364=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1401
+ #1365=DIRECTION('center_axis',(1.25775471570645E-16,1.63394539323583E-16,
1402
+ -1.));
1403
+ #1366=DIRECTION('ref_axis',(0.906307787036649,-0.4226182617407,4.49377731158275E-17));
1404
+ #1367=DIRECTION('',(-0.906307787036649,0.4226182617407,-4.49377731158276E-17));
1405
+ #1368=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1406
+ #1369=DIRECTION('center_axis',(0.906307787036649,-0.422618261740701,-9.82018524662442E-16));
1407
+ #1370=DIRECTION('ref_axis',(1.69108506042372E-15,1.30288982750764E-15,1.));
1408
+ #1371=DIRECTION('',(-8.04963018052128E-16,5.974050247743E-16,-1.));
1409
+ #1372=DIRECTION('',(-0.422618261740701,-0.906307787036649,-2.01240754513032E-16));
1410
+ #1373=DIRECTION('center_axis',(1.67700628760861E-16,1.43844517456433E-16,
1411
+ -1.));
1412
+ #1374=DIRECTION('ref_axis',(0.906307787036649,-0.4226182617407,9.11970658085435E-17));
1413
+ #1375=DIRECTION('',(-0.906307787036649,0.4226182617407,-9.11970658085435E-17));
1414
+ #1376=DIRECTION('center_axis',(-0.4226182617407,-0.90630778703665,-2.01240754513032E-16));
1415
+ #1377=DIRECTION('ref_axis',(0.906307787036649,-0.4226182617407,-9.38401049623172E-17));
1416
+ #1378=DIRECTION('center_axis',(-0.382683432365092,0.923879532511286,2.05142465794791E-16));
1417
+ #1379=DIRECTION('ref_axis',(-0.923879532511286,-0.382683432365092,-8.49727915508617E-17));
1418
+ #1380=DIRECTION('center_axis',(-6.12323399573677E-17,1.,2.22044604925031E-16));
1419
+ #1381=DIRECTION('ref_axis',(-1.,-6.12323399573677E-17,-1.35963107344689E-32));
1420
+ #1382=DIRECTION('center_axis',(1.,0.,0.));
1421
+ #1383=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1422
+ #1384=DIRECTION('center_axis',(1.,-1.50724952169436E-33,-3.34676624568066E-49));
1423
+ #1385=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1424
+ #1386=DIRECTION('',(-1.,0.,0.));
1425
+ #1387=DIRECTION('center_axis',(1.,-1.50724952169436E-33,-3.34676624568066E-49));
1426
+ #1388=DIRECTION('ref_axis',(1.50724952169436E-33,1.,2.22044604925031E-16));
1427
+ #1389=DIRECTION('center_axis',(1.,0.,0.));
1428
+ #1390=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1429
+ #1391=DIRECTION('',(1.,0.,0.));
1430
+ #1392=DIRECTION('center_axis',(1.,-7.08652994441589E-17,-1.57352574179723E-32));
1431
+ #1393=DIRECTION('ref_axis',(-7.08652994441589E-17,-1.,-2.22044604925031E-16));
1432
+ #1394=DIRECTION('center_axis',(-1.,7.08652994441589E-17,1.57352574179723E-32));
1433
+ #1395=DIRECTION('ref_axis',(-7.08652994441589E-17,-1.,-2.22044604925031E-16));
1434
+ #1396=DIRECTION('center_axis',(-1.,7.08652994441589E-17,1.57352574179723E-32));
1435
+ #1397=DIRECTION('ref_axis',(-1.26161707343768E-16,-1.,-2.22044604925031E-16));
1436
+ #1398=DIRECTION('center_axis',(1.,0.,0.));
1437
+ #1399=DIRECTION('ref_axis',(0.,-1.,-2.22044604925031E-16));
1438
+ #1400=DIRECTION('',(1.,0.,0.));
1439
+ #1401=DIRECTION('center_axis',(1.,-7.08652994441589E-17,-1.57352574179723E-32));
1440
+ #1402=DIRECTION('ref_axis',(-7.08652994441589E-17,-1.,-2.22044604925031E-16));
1441
+ #1403=DIRECTION('center_axis',(-1.,7.08652994441589E-17,1.57352574179723E-32));
1442
+ #1404=DIRECTION('ref_axis',(-7.08652994441589E-17,-1.,-2.22044604925031E-16));
1443
+ #1405=DIRECTION('center_axis',(-1.,7.08652994441589E-17,1.57352574179723E-32));
1444
+ #1406=DIRECTION('ref_axis',(-1.26161707343768E-16,-1.,-2.22044604925031E-16));
1445
+ #1407=DIRECTION('center_axis',(1.,-1.26161707343768E-16,-2.80135264638143E-32));
1446
+ #1408=DIRECTION('ref_axis',(-1.26161707343768E-16,-1.,-2.22044604925031E-16));
1447
+ #1409=DIRECTION('',(1.,-1.26161707343768E-16,-2.80135264638143E-32));
1448
+ #1410=DIRECTION('center_axis',(1.,-1.26161707343768E-16,-2.80135264638143E-32));
1449
+ #1411=DIRECTION('ref_axis',(-1.26161707343768E-16,-1.,-2.22044604925031E-16));
1450
+ #1412=DIRECTION('',(1.,-1.26161707343768E-16,-2.80135264638143E-32));
1451
+ #1413=CARTESIAN_POINT('',(0.,0.,0.));
1452
+ #1414=CARTESIAN_POINT('Origin',(-1.,-23.5,3.49999999999999));
1453
+ #1415=CARTESIAN_POINT('',(-3.01449904338871E-32,-23.5,-3.88578058618805E-15));
1454
+ #1416=CARTESIAN_POINT('',(-1.,-22.5,-3.88578058618805E-15));
1455
+ #1417=CARTESIAN_POINT('Origin',(-1.,-23.5,-3.88578058618805E-15));
1456
+ #1418=CARTESIAN_POINT('',(-1.,-22.5,3.49999999999999));
1457
+ #1419=CARTESIAN_POINT('',(-1.,-22.5,3.49999999999999));
1458
+ #1420=CARTESIAN_POINT('',(0.,-23.5,3.49999999999999));
1459
+ #1421=CARTESIAN_POINT('Origin',(-1.,-23.5,3.49999999999999));
1460
+ #1422=CARTESIAN_POINT('',(0.,-23.5,3.49999999999999));
1461
+ #1423=CARTESIAN_POINT('Origin',(-3.46667389989702E-32,-26.5,3.49999999999999));
1462
+ #1424=CARTESIAN_POINT('',(-1.50724952169436E-33,-4.5,3.5));
1463
+ #1425=CARTESIAN_POINT('',(0.,-3.5,3.5));
1464
+ #1426=CARTESIAN_POINT('',(2.46132776428964E-32,-4.5,21.0956521739131));
1465
+ #1427=CARTESIAN_POINT('',(0.,-4.5,3.5));
1466
+ #1428=CARTESIAN_POINT('',(0.,-23.5,30.5130434782609));
1467
+ #1429=CARTESIAN_POINT('',(0.,-20.8299289789972,29.1896169721986));
1468
+ #1430=CARTESIAN_POINT('',(-3.01449904338872E-32,-23.5,35.));
1469
+ #1431=CARTESIAN_POINT('',(0.,-23.5,3.49999999999999));
1470
+ #1432=CARTESIAN_POINT('',(-3.31594894772759E-32,-25.5,35.));
1471
+ #1433=CARTESIAN_POINT('',(0.,-3.50000000000001,35.));
1472
+ #1434=CARTESIAN_POINT('',(-3.31594894772759E-32,-25.5,-4.44089209850063E-15));
1473
+ #1435=CARTESIAN_POINT('',(0.,-25.5,3.49999999999999));
1474
+ #1436=CARTESIAN_POINT('',(0.,-3.5,5.55111512312578E-16));
1475
+ #1437=CARTESIAN_POINT('',(2.08166817117217E-16,-6.5,10.));
1476
+ #1438=CARTESIAN_POINT('Origin',(2.22044604925031E-15,-8.15,10.));
1477
+ #1439=CARTESIAN_POINT('',(2.08166817117217E-16,-6.5,18.1));
1478
+ #1440=CARTESIAN_POINT('Origin',(2.22044604925031E-15,-8.15,18.1));
1479
+ #1441=CARTESIAN_POINT('',(0.,-16.7,6.3));
1480
+ #1442=CARTESIAN_POINT('Origin',(-3.46667389989702E-32,-18.4,6.3));
1481
+ #1443=CARTESIAN_POINT('Origin',(-1.,-23.5,3.49999999999999));
1482
+ #1444=CARTESIAN_POINT('',(-1.,-22.5,35.));
1483
+ #1445=CARTESIAN_POINT('Origin',(-1.,-23.5,35.));
1484
+ #1446=CARTESIAN_POINT('',(-1.,-22.5,30.0173913043478));
1485
+ #1447=CARTESIAN_POINT('Origin',(-1.,-23.5,30.5130434782609));
1486
+ #1448=CARTESIAN_POINT('',(-1.,-22.5,3.49999999999999));
1487
+ #1449=CARTESIAN_POINT('Origin',(-32.2130351032714,-34.3994949366117,35.));
1488
+ #1450=CARTESIAN_POINT('',(-11.8010876326203,-22.5,35.));
1489
+ #1451=CARTESIAN_POINT('',(-12.,-22.5,35.));
1490
+ #1452=CARTESIAN_POINT('',(-12.1837710649854,-22.5761204674887,35.));
1491
+ #1453=CARTESIAN_POINT('Origin',(-11.8010876326203,-23.5,35.));
1492
+ #1454=CARTESIAN_POINT('',(-14.6446560597608,-23.5954524077651,35.));
1493
+ #1455=CARTESIAN_POINT('',(-12.,-22.5,35.));
1494
+ #1456=CARTESIAN_POINT('',(-14.9690794085822,-23.8122251590899,35.));
1495
+ #1457=CARTESIAN_POINT('Origin',(-14.2619726273957,-24.5193319402764,35.));
1496
+ #1458=CARTESIAN_POINT('',(-32.0013120415783,-40.8444577920859,35.));
1497
+ #1459=CARTESIAN_POINT('',(-14.8284271247462,-23.6715728752538,35.));
1498
+ #1460=CARTESIAN_POINT('',(-33.1310370845056,-41.043658797936,35.));
1499
+ #1461=CARTESIAN_POINT('Origin',(-32.7084188227649,-40.1373510108993,35.));
1500
+ #1462=CARTESIAN_POINT('',(-61.7447657201951,-27.7008580067449,35.));
1501
+ #1463=CARTESIAN_POINT('',(-62.6510735072318,-27.2782397450042,35.));
1502
+ #1464=CARTESIAN_POINT('',(-63.0736917689725,-28.1845475320409,35.));
1503
+ #1465=CARTESIAN_POINT('Origin',(-62.1673839819358,-28.6071657937816,35.));
1504
+ #1466=CARTESIAN_POINT('',(-64.003451944802,-30.1784246635215,35.));
1505
+ #1467=CARTESIAN_POINT('',(-64.4260702065427,-31.0847324505581,35.));
1506
+ #1468=CARTESIAN_POINT('',(-63.5197624195061,-31.5073507122988,35.));
1507
+ #1469=CARTESIAN_POINT('Origin',(-63.0971441577654,-30.6010429252622,35.));
1508
+ #1470=CARTESIAN_POINT('',(-32.4335934176446,-46.0030693805674,35.));
1509
+ #1471=CARTESIAN_POINT('',(-31.7989898732233,-46.2989898732233,35.));
1510
+ #1472=CARTESIAN_POINT('',(-31.3038683747173,-45.8038683747173,35.));
1511
+ #1473=CARTESIAN_POINT('Origin',(-32.0109751559039,-45.0967615935308,35.));
1512
+ #1474=CARTESIAN_POINT('',(-12.2928932188135,-26.7928932188135,35.));
1513
+ #1475=CARTESIAN_POINT('',(-12.,-26.5,35.));
1514
+ #1476=CARTESIAN_POINT('',(-11.5857864376269,-26.5,35.));
1515
+ #1477=CARTESIAN_POINT('Origin',(-11.5857864376269,-27.5,35.));
1516
+ #1478=CARTESIAN_POINT('',(-1.,-26.5,35.));
1517
+ #1479=CARTESIAN_POINT('',(-3.46667389989702E-32,-26.5,35.));
1518
+ #1480=CARTESIAN_POINT('Origin',(-1.,-25.5,35.));
1519
+ #1481=CARTESIAN_POINT('Origin',(0.,-22.5,3.49999999999999));
1520
+ #1482=CARTESIAN_POINT('',(-11.8010876326203,-22.5,-3.88578058618805E-15));
1521
+ #1483=CARTESIAN_POINT('',(-12.,-22.5,-3.88578058618805E-15));
1522
+ #1484=CARTESIAN_POINT('',(-11.8010876326203,-22.5,3.49999999999999));
1523
+ #1485=CARTESIAN_POINT('',(-5.,-22.5,30.0173913043478));
1524
+ #1486=CARTESIAN_POINT('',(-2.,-22.5,30.0173913043478));
1525
+ #1487=CARTESIAN_POINT('',(-5.,-22.5,3.49999999999999));
1526
+ #1488=CARTESIAN_POINT('',(-5.,-22.5,3.49999999999999));
1527
+ #1489=CARTESIAN_POINT('',(-7.,-22.5,3.49999999999999));
1528
+ #1490=CARTESIAN_POINT('Origin',(-5.,-21.5,3.5));
1529
+ #1491=CARTESIAN_POINT('',(-4.,-21.5,3.5));
1530
+ #1492=CARTESIAN_POINT('Origin',(-5.,-21.5,3.5));
1531
+ #1493=CARTESIAN_POINT('',(-4.,-21.5,29.5217391304348));
1532
+ #1494=CARTESIAN_POINT('Origin',(-5.,-21.5,29.5217391304348));
1533
+ #1495=CARTESIAN_POINT('',(-4.,-21.5,3.5));
1534
+ #1496=CARTESIAN_POINT('Origin',(-11.8010876326203,-23.5,3.49999999999999));
1535
+ #1497=CARTESIAN_POINT('',(-12.1837710649854,-22.5761204674887,-3.88578058618805E-15));
1536
+ #1498=CARTESIAN_POINT('Origin',(-11.8010876326203,-23.5,-3.88578058618805E-15));
1537
+ #1499=CARTESIAN_POINT('',(-12.1837710649854,-22.5761204674887,3.49999999999999));
1538
+ #1500=CARTESIAN_POINT('Origin',(-14.2619726273957,-24.5193319402764,3.49999999999999));
1539
+ #1501=CARTESIAN_POINT('',(-14.6446560597608,-23.5954524077651,-3.88578058618805E-15));
1540
+ #1502=CARTESIAN_POINT('',(-14.6446560597608,-23.5954524077651,3.49999999999999));
1541
+ #1503=CARTESIAN_POINT('',(-14.9690794085822,-23.8122251590898,-3.88578058618805E-15));
1542
+ #1504=CARTESIAN_POINT('Origin',(-14.2619726273957,-24.5193319402764,-3.88578058618805E-15));
1543
+ #1505=CARTESIAN_POINT('',(-14.9690794085822,-23.8122251590898,3.49999999999999));
1544
+ #1506=CARTESIAN_POINT('Origin',(-14.8284271247462,-23.6715728752538,3.49999999999999));
1545
+ #1507=CARTESIAN_POINT('',(-32.0013120415783,-40.8444577920859,-7.7715611723761E-15));
1546
+ #1508=CARTESIAN_POINT('',(-14.8284271247462,-23.6715728752538,-3.88578058618805E-15));
1547
+ #1509=CARTESIAN_POINT('',(-32.0013120415783,-40.8444577920859,3.49999999999999));
1548
+ #1510=CARTESIAN_POINT('Origin',(-32.2130351032714,-34.3994949366117,-6.10622663543836E-15));
1549
+ #1511=CARTESIAN_POINT('',(-1.,-26.5,-4.44089209850063E-15));
1550
+ #1512=CARTESIAN_POINT('Origin',(-1.,-25.5,-4.44089209850063E-15));
1551
+ #1513=CARTESIAN_POINT('',(-11.5857864376269,-26.5,-4.44089209850063E-15));
1552
+ #1514=CARTESIAN_POINT('',(-3.46667389989702E-32,-26.5,-4.44089209850063E-15));
1553
+ #1515=CARTESIAN_POINT('',(-12.2928932188135,-26.7928932188135,-4.44089209850063E-15));
1554
+ #1516=CARTESIAN_POINT('Origin',(-11.5857864376269,-27.5,-4.9960036108132E-15));
1555
+ #1517=CARTESIAN_POINT('',(-31.3038683747173,-45.8038683747173,-8.88178419700125E-15));
1556
+ #1518=CARTESIAN_POINT('',(-12.,-26.5,-4.44089209850063E-15));
1557
+ #1519=CARTESIAN_POINT('',(-32.4335934176446,-46.0030693805674,-8.88178419700125E-15));
1558
+ #1520=CARTESIAN_POINT('Origin',(-32.0109751559039,-45.0967615935308,-8.88178419700125E-15));
1559
+ #1521=CARTESIAN_POINT('',(-63.5197624195061,-31.5073507122988,-5.55111512312578E-15));
1560
+ #1522=CARTESIAN_POINT('',(-31.7989898732233,-46.2989898732233,-8.88178419700125E-15));
1561
+ #1523=CARTESIAN_POINT('',(-64.003451944802,-30.1784246635215,-5.55111512312578E-15));
1562
+ #1524=CARTESIAN_POINT('Origin',(-63.0971441577654,-30.6010429252622,-5.55111512312578E-15));
1563
+ #1525=CARTESIAN_POINT('',(-63.0736917689725,-28.1845475320409,-4.9960036108132E-15));
1564
+ #1526=CARTESIAN_POINT('',(-64.4260702065427,-31.0847324505581,-5.55111512312578E-15));
1565
+ #1527=CARTESIAN_POINT('',(-61.7447657201951,-27.7008580067449,-4.9960036108132E-15));
1566
+ #1528=CARTESIAN_POINT('Origin',(-62.1673839819358,-28.6071657937816,-4.9960036108132E-15));
1567
+ #1529=CARTESIAN_POINT('',(-33.1310370845056,-41.043658797936,-7.7715611723761E-15));
1568
+ #1530=CARTESIAN_POINT('',(-62.6510735072318,-27.2782397450042,-4.9960036108132E-15));
1569
+ #1531=CARTESIAN_POINT('Origin',(-32.7084188227649,-40.1373510108993,-7.7715611723761E-15));
1570
+ #1532=CARTESIAN_POINT('',(-12.,-22.5,-3.88578058618805E-15));
1571
+ #1533=CARTESIAN_POINT('Origin',(-32.7084188227649,-40.1373510108993,3.49999999999999));
1572
+ #1534=CARTESIAN_POINT('',(-33.1310370845056,-41.043658797936,3.49999999999999));
1573
+ #1535=CARTESIAN_POINT('Origin',(-32.4964335400843,-41.3395792905919,3.49999999999999));
1574
+ #1536=CARTESIAN_POINT('',(-61.7447657201951,-27.7008580067449,3.49999999999999));
1575
+ #1537=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,9.50000000000001));
1576
+ #1538=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,5.00000000000007));
1577
+ #1539=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,6.49999999999999));
1578
+ #1540=CARTESIAN_POINT('',(-44.8548301625482,-35.5767643030202,5.00000000000007));
1579
+ #1541=CARTESIAN_POINT('',(-41.3945552124262,-37.1903170115839,5.00000000000007));
1580
+ #1542=CARTESIAN_POINT('',(-44.8548301625481,-35.5767643030202,9.50000000000001));
1581
+ #1543=CARTESIAN_POINT('',(-44.8548301625482,-35.5767643030201,4.25000000000004));
1582
+ #1544=CARTESIAN_POINT('',(-40.3232912273649,-37.6898556117237,9.50000000000001));
1583
+ #1545=CARTESIAN_POINT('',(-38.6756318513162,-38.458171796806,9.50000000000001));
1584
+ #1546=CARTESIAN_POINT('',(-40.3232912273648,-37.6898556117236,25.5));
1585
+ #1547=CARTESIAN_POINT('',(-40.3232912273649,-37.6898556117237,6.50000000000001));
1586
+ #1548=CARTESIAN_POINT('',(-44.8548301625481,-35.5767643030201,25.5));
1587
+ #1549=CARTESIAN_POINT('',(-36.4098623837246,-39.5147174511578,25.5));
1588
+ #1550=CARTESIAN_POINT('',(-44.8548301625481,-35.5767643030201,30.0000000000001));
1589
+ #1551=CARTESIAN_POINT('',(-44.8548301625481,-35.5767643030202,14.5));
1590
+ #1552=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,30.0000000000001));
1591
+ #1553=CARTESIAN_POINT('',(-38.6756318513162,-38.458171796806,30.0000000000001));
1592
+ #1554=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,25.5));
1593
+ #1555=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,16.75));
1594
+ #1556=CARTESIAN_POINT('',(-54.8242158199513,-30.9279634238725,25.5));
1595
+ #1557=CARTESIAN_POINT('',(-41.3945552124262,-37.1903170115839,25.5));
1596
+ #1558=CARTESIAN_POINT('',(-54.8242158199513,-30.9279634238725,9.50000000000001));
1597
+ #1559=CARTESIAN_POINT('',(-54.8242158199513,-30.9279634238725,14.5));
1598
+ #1560=CARTESIAN_POINT('',(-43.6603246800178,-36.1337713572322,9.50000000000001));
1599
+ #1561=CARTESIAN_POINT('',(-34.4322906116267,-40.4368743130382,31.));
1600
+ #1562=CARTESIAN_POINT('Origin',(-35.3385983986633,-40.0142560512975,31.));
1601
+ #1563=CARTESIAN_POINT('',(-58.9026008616162,-29.0261812460393,4.));
1602
+ #1564=CARTESIAN_POINT('Origin',(-59.8089086486528,-28.6035629842986,4.));
1603
+ #1565=CARTESIAN_POINT('',(-58.9026008616162,-29.0261812460393,31.));
1604
+ #1566=CARTESIAN_POINT('Origin',(-59.8089086486528,-28.6035629842986,31.));
1605
+ #1567=CARTESIAN_POINT('',(-34.4322906116266,-40.4368743130382,4.));
1606
+ #1568=CARTESIAN_POINT('Origin',(-35.3385983986633,-40.0142560512975,4.));
1607
+ #1569=CARTESIAN_POINT('Origin',(-62.1673839819358,-28.6071657937816,3.49999999999999));
1608
+ #1570=CARTESIAN_POINT('',(-63.0736917689725,-28.1845475320409,3.49999999999999));
1609
+ #1571=CARTESIAN_POINT('Origin',(-62.6510735072318,-27.2782397450042,3.49999999999999));
1610
+ #1572=CARTESIAN_POINT('',(-64.003451944802,-30.1784246635215,3.49999999999999));
1611
+ #1573=CARTESIAN_POINT('Origin',(-63.0971441577654,-30.6010429252622,3.49999999999999));
1612
+ #1574=CARTESIAN_POINT('',(-63.5197624195061,-31.5073507122988,3.49999999999999));
1613
+ #1575=CARTESIAN_POINT('Origin',(-32.0109751559039,-45.0967615935308,3.49999999999999));
1614
+ #1576=CARTESIAN_POINT('',(-32.4335934176446,-46.0030693805674,3.49999999999999));
1615
+ #1577=CARTESIAN_POINT('',(-31.3038683747173,-45.8038683747173,3.49999999999999));
1616
+ #1578=CARTESIAN_POINT('Origin',(-31.7989898732233,-46.2989898732233,3.49999999999999));
1617
+ #1579=CARTESIAN_POINT('',(-12.2928932188135,-26.7928932188135,3.49999999999999));
1618
+ #1580=CARTESIAN_POINT('Origin',(-11.5857864376269,-27.5,3.49999999999999));
1619
+ #1581=CARTESIAN_POINT('',(-11.5857864376269,-26.5,3.49999999999999));
1620
+ #1582=CARTESIAN_POINT('Origin',(-4.,-26.5,3.49999999999999));
1621
+ #1583=CARTESIAN_POINT('',(-1.,-26.5,3.49999999999999));
1622
+ #1584=CARTESIAN_POINT('Origin',(-1.,-25.5,3.49999999999999));
1623
+ #1585=CARTESIAN_POINT('Origin',(-1.,-4.5,3.5));
1624
+ #1586=CARTESIAN_POINT('',(-1.,-3.5,20.6));
1625
+ #1587=CARTESIAN_POINT('Origin',(-1.,-4.5,21.095652173913));
1626
+ #1588=CARTESIAN_POINT('',(-1.,-3.5,3.5));
1627
+ #1589=CARTESIAN_POINT('Origin',(-1.,-4.5,3.5));
1628
+ #1590=CARTESIAN_POINT('',(-1.,-3.5,3.5));
1629
+ #1591=CARTESIAN_POINT('Origin',(-4.,-26.5,32.));
1630
+ #1592=CARTESIAN_POINT('',(-3.,-3.5,20.6));
1631
+ #1593=CARTESIAN_POINT('',(-2.,-3.5,20.6));
1632
+ #1594=CARTESIAN_POINT('',(-4.,-4.5,21.095652173913));
1633
+ #1595=CARTESIAN_POINT('Origin',(-3.,-4.5,21.095652173913));
1634
+ #1596=CARTESIAN_POINT('',(-4.,-11.5979573873983,24.6137701833192));
1635
+ #1597=CARTESIAN_POINT('Origin',(-3.,-4.5,3.5));
1636
+ #1598=CARTESIAN_POINT('',(-3.,-3.5,3.5));
1637
+ #1599=CARTESIAN_POINT('',(-3.,-3.5,3.5));
1638
+ #1600=CARTESIAN_POINT('',(-4.,-4.5,3.5));
1639
+ #1601=CARTESIAN_POINT('Origin',(-3.,-4.5,3.5));
1640
+ #1602=CARTESIAN_POINT('',(-4.,-4.5,3.5));
1641
+ #1603=CARTESIAN_POINT('Origin',(-4.,-3.5,3.5));
1642
+ #1604=CARTESIAN_POINT('',(-4.,-3.5,3.5));
1643
+ #1605=CARTESIAN_POINT('',(-4.,-5.45,10.));
1644
+ #1606=CARTESIAN_POINT('Origin',(-4.,-8.15,10.));
1645
+ #1607=CARTESIAN_POINT('',(-4.,-5.45,18.1));
1646
+ #1608=CARTESIAN_POINT('Origin',(-4.,-8.15,18.1));
1647
+ #1609=CARTESIAN_POINT('Origin',(-2.,-15.,3.5));
1648
+ #1610=CARTESIAN_POINT('',(0.,-3.5,3.5));
1649
+ #1611=CARTESIAN_POINT('Origin',(-35.3385983986633,-40.0142560512975,4.));
1650
+ #1612=CARTESIAN_POINT('',(-36.2072873109376,-44.2433670185921,4.));
1651
+ #1613=CARTESIAN_POINT('',(-34.4322906116266,-40.4368743130382,4.));
1652
+ #1614=CARTESIAN_POINT('Origin',(-37.1135950979743,-43.8207487568514,4.));
1653
+ #1615=CARTESIAN_POINT('Origin',(-59.8089086486528,-28.6035629842986,31.));
1654
+ #1616=CARTESIAN_POINT('',(-60.6775975609271,-32.8326739515932,31.));
1655
+ #1617=CARTESIAN_POINT('',(-58.9026008616162,-29.0261812460393,31.));
1656
+ #1618=CARTESIAN_POINT('Origin',(-61.5839053479638,-32.4100556898525,31.));
1657
+ #1619=CARTESIAN_POINT('Origin',(-59.8089086486528,-28.6035629842986,4.));
1658
+ #1620=CARTESIAN_POINT('',(-60.6775975609271,-32.8326739515932,4.));
1659
+ #1621=CARTESIAN_POINT('',(-58.9026008616162,-29.0261812460393,4.));
1660
+ #1622=CARTESIAN_POINT('Origin',(-61.5839053479638,-32.4100556898525,4.));
1661
+ #1623=CARTESIAN_POINT('Origin',(-35.3385983986633,-40.0142560512975,31.));
1662
+ #1624=CARTESIAN_POINT('',(-36.2072873109376,-44.2433670185921,31.));
1663
+ #1625=CARTESIAN_POINT('',(-34.4322906116267,-40.4368743130382,31.));
1664
+ #1626=CARTESIAN_POINT('Origin',(-37.1135950979743,-43.8207487568514,31.));
1665
+ #1627=CARTESIAN_POINT('Origin',(-50.292676884768,-33.041054732576,9.50000000000001));
1666
+ #1628=CARTESIAN_POINT('',(-52.0676735840789,-36.8475474381299,5.00000000000007));
1667
+ #1629=CARTESIAN_POINT('',(-52.0676735840789,-36.8475474381299,9.50000000000001));
1668
+ #1630=CARTESIAN_POINT('',(-52.0676735840789,-36.8475474381299,6.50000000000001));
1669
+ #1631=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,5.00000000000007));
1670
+ #1632=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,9.50000000000001));
1671
+ #1633=CARTESIAN_POINT('Origin',(-54.8242158199513,-30.9279634238725,9.50000000000001));
1672
+ #1634=CARTESIAN_POINT('',(-56.5992125192622,-34.7344561294264,9.50000000000001));
1673
+ #1635=CARTESIAN_POINT('',(-60.5126413629025,-32.9095942899923,9.50000000000001));
1674
+ #1636=CARTESIAN_POINT('',(-54.8242158199513,-30.9279634238725,9.50000000000001));
1675
+ #1637=CARTESIAN_POINT('Origin',(-54.8242158199513,-30.9279634238725,25.5));
1676
+ #1638=CARTESIAN_POINT('',(-56.5992125192622,-34.7344561294264,25.5));
1677
+ #1639=CARTESIAN_POINT('',(-56.5992125192622,-34.7344561294264,14.5));
1678
+ #1640=CARTESIAN_POINT('',(-54.8242158199513,-30.9279634238725,25.5));
1679
+ #1641=CARTESIAN_POINT('Origin',(-50.292676884768,-33.041054732576,25.5));
1680
+ #1642=CARTESIAN_POINT('',(-52.067673584079,-36.8475474381299,25.5));
1681
+ #1643=CARTESIAN_POINT('',(-58.2468718953108,-33.966139944344,25.5));
1682
+ #1644=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,25.5));
1683
+ #1645=CARTESIAN_POINT('Origin',(-50.292676884768,-33.041054732576,30.0000000000001));
1684
+ #1646=CARTESIAN_POINT('',(-52.067673584079,-36.8475474381299,30.0000000000001));
1685
+ #1647=CARTESIAN_POINT('',(-52.067673584079,-36.8475474381299,16.75));
1686
+ #1648=CARTESIAN_POINT('',(-50.292676884768,-33.041054732576,30.0000000000001));
1687
+ #1649=CARTESIAN_POINT('Origin',(-44.8548301625481,-35.5767643030201,30.0000000000001));
1688
+ #1650=CARTESIAN_POINT('',(-46.6298268618591,-39.3832570085741,30.0000000000001));
1689
+ #1651=CARTESIAN_POINT('',(-55.5279485342009,-35.2339947295661,30.0000000000001));
1690
+ #1652=CARTESIAN_POINT('',(-44.8548301625481,-35.5767643030201,30.0000000000001));
1691
+ #1653=CARTESIAN_POINT('Origin',(-44.8548301625481,-35.5767643030201,25.5));
1692
+ #1654=CARTESIAN_POINT('',(-46.6298268618591,-39.3832570085741,25.5));
1693
+ #1655=CARTESIAN_POINT('',(-46.6298268618591,-39.3832570085741,14.5));
1694
+ #1656=CARTESIAN_POINT('',(-44.8548301625481,-35.5767643030201,25.5));
1695
+ #1657=CARTESIAN_POINT('Origin',(-40.3232912273648,-37.6898556117236,25.5));
1696
+ #1658=CARTESIAN_POINT('',(-42.0982879266758,-41.4963483172776,25.5));
1697
+ #1659=CARTESIAN_POINT('',(-53.2621790666093,-36.2905403839179,25.5));
1698
+ #1660=CARTESIAN_POINT('',(-40.3232912273648,-37.6898556117236,25.5));
1699
+ #1661=CARTESIAN_POINT('Origin',(-40.3232912273649,-37.6898556117237,9.50000000000001));
1700
+ #1662=CARTESIAN_POINT('',(-42.0982879266758,-41.4963483172776,9.50000000000001));
1701
+ #1663=CARTESIAN_POINT('',(-42.0982879266758,-41.4963483172776,6.49999999999998));
1702
+ #1664=CARTESIAN_POINT('',(-40.3232912273649,-37.6898556117237,9.50000000000001));
1703
+ #1665=CARTESIAN_POINT('Origin',(-44.8548301625482,-35.5767643030202,9.50000000000001));
1704
+ #1666=CARTESIAN_POINT('',(-46.6298268618591,-39.3832570085741,9.50000000000001));
1705
+ #1667=CARTESIAN_POINT('',(-55.5279485342009,-35.2339947295661,9.50000000000001));
1706
+ #1668=CARTESIAN_POINT('',(-44.8548301625481,-35.5767643030202,9.50000000000001));
1707
+ #1669=CARTESIAN_POINT('Origin',(-44.8548301625482,-35.5767643030202,5.00000000000007));
1708
+ #1670=CARTESIAN_POINT('',(-46.6298268618591,-39.3832570085741,5.00000000000007));
1709
+ #1671=CARTESIAN_POINT('',(-46.6298268618591,-39.3832570085741,4.25000000000002));
1710
+ #1672=CARTESIAN_POINT('',(-44.8548301625482,-35.5767643030202,5.00000000000007));
1711
+ #1673=CARTESIAN_POINT('Origin',(-50.292676884768,-33.041054732576,5.00000000000007));
1712
+ #1674=CARTESIAN_POINT('',(-58.2468718953108,-33.966139944344,5.00000000000007));
1713
+ #1675=CARTESIAN_POINT('Origin',(-64.4260702065427,-31.0847324505581,3.49999999999999));
1714
+ #1676=CARTESIAN_POINT('Origin',(-12.,-22.5,3.49999999999999));
1715
+ #1677=CARTESIAN_POINT('Origin',(0.,-3.5,3.5));
1716
+ #1678=CARTESIAN_POINT('Origin',(0.,-18.4,6.3));
1717
+ #1679=CARTESIAN_POINT('',(2.,-16.7,6.3));
1718
+ #1680=CARTESIAN_POINT('Origin',(2.,-18.4,6.3));
1719
+ #1681=CARTESIAN_POINT('',(0.,-16.7,6.3));
1720
+ #1682=CARTESIAN_POINT('Origin',(2.,-18.4,6.3));
1721
+ #1683=CARTESIAN_POINT('Origin',(-4.,-8.15,18.1));
1722
+ #1684=CARTESIAN_POINT('',(-2.,-5.45,18.1));
1723
+ #1685=CARTESIAN_POINT('',(-4.,-5.45,18.1));
1724
+ #1686=CARTESIAN_POINT('Origin',(-2.,-8.15,18.1));
1725
+ #1687=CARTESIAN_POINT('Origin',(-2.,-8.15,18.1));
1726
+ #1688=CARTESIAN_POINT('',(-2.,-6.5,18.1));
1727
+ #1689=CARTESIAN_POINT('Origin',(-2.,-8.15,18.1));
1728
+ #1690=CARTESIAN_POINT('Origin',(-4.,-8.15,10.));
1729
+ #1691=CARTESIAN_POINT('',(-2.,-5.45,10.));
1730
+ #1692=CARTESIAN_POINT('',(-4.,-5.45,10.));
1731
+ #1693=CARTESIAN_POINT('Origin',(-2.,-8.15,10.));
1732
+ #1694=CARTESIAN_POINT('Origin',(-2.,-8.15,10.));
1733
+ #1695=CARTESIAN_POINT('',(-2.,-6.5,10.));
1734
+ #1696=CARTESIAN_POINT('Origin',(-2.,-8.15,10.));
1735
+ #1697=CARTESIAN_POINT('Origin',(-4.,-8.15,18.1));
1736
+ #1698=CARTESIAN_POINT('',(-4.,-6.5,18.1));
1737
+ #1699=CARTESIAN_POINT('Origin',(-4.,-8.15,10.));
1738
+ #1700=CARTESIAN_POINT('',(-4.,-6.5,10.));
1739
+ #1701=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#1705,
1740
+ 'DISTANCE_ACCURACY_VALUE',
1741
+ 'Maximum model space distance between geometric entities at asserted c
1742
+ onnectivities');
1743
+ #1702=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#1705,
1744
+ 'DISTANCE_ACCURACY_VALUE',
1745
+ 'Maximum model space distance between geometric entities at asserted c
1746
+ onnectivities');
1747
+ #1703=(
1748
+ GEOMETRIC_REPRESENTATION_CONTEXT(3)
1749
+ GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1701))
1750
+ GLOBAL_UNIT_ASSIGNED_CONTEXT((#1705,#1707,#1708))
1751
+ REPRESENTATION_CONTEXT('','3D')
1752
+ );
1753
+ #1704=(
1754
+ GEOMETRIC_REPRESENTATION_CONTEXT(3)
1755
+ GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1702))
1756
+ GLOBAL_UNIT_ASSIGNED_CONTEXT((#1705,#1707,#1708))
1757
+ REPRESENTATION_CONTEXT('','3D')
1758
+ );
1759
+ #1705=(
1760
+ LENGTH_UNIT()
1761
+ NAMED_UNIT(*)
1762
+ SI_UNIT(.MILLI.,.METRE.)
1763
+ );
1764
+ #1706=(
1765
+ LENGTH_UNIT()
1766
+ NAMED_UNIT(*)
1767
+ SI_UNIT($,.METRE.)
1768
+ );
1769
+ #1707=(
1770
+ NAMED_UNIT(*)
1771
+ PLANE_ANGLE_UNIT()
1772
+ SI_UNIT($,.RADIAN.)
1773
+ );
1774
+ #1708=(
1775
+ NAMED_UNIT(*)
1776
+ SI_UNIT($,.STERADIAN.)
1777
+ SOLID_ANGLE_UNIT()
1778
+ );
1779
+ #1709=SHAPE_DEFINITION_REPRESENTATION(#1710,#1711);
1780
+ #1710=PRODUCT_DEFINITION_SHAPE('',$,#1713);
1781
+ #1711=SHAPE_REPRESENTATION('',(#1025),#1703);
1782
+ #1712=PRODUCT_DEFINITION_CONTEXT('part definition',#1717,'design');
1783
+ #1713=PRODUCT_DEFINITION('camera_mount','camera_mount v30',#1714,#1712);
1784
+ #1714=PRODUCT_DEFINITION_FORMATION('',$,#1719);
1785
+ #1715=PRODUCT_RELATED_PRODUCT_CATEGORY('camera_mount v30',
1786
+ 'camera_mount v30',(#1719));
1787
+ #1716=APPLICATION_PROTOCOL_DEFINITION('international standard',
1788
+ 'automotive_design',2009,#1717);
1789
+ #1717=APPLICATION_CONTEXT(
1790
+ 'Core Data for Automotive Mechanical Design Process');
1791
+ #1718=PRODUCT_CONTEXT('part definition',#1717,'mechanical');
1792
+ #1719=PRODUCT('camera_mount','camera_mount v30',$,(#1718));
1793
+ #1720=PRESENTATION_STYLE_ASSIGNMENT((#1721));
1794
+ #1721=SURFACE_STYLE_USAGE(.BOTH.,#1722);
1795
+ #1722=SURFACE_SIDE_STYLE('',(#1723));
1796
+ #1723=SURFACE_STYLE_FILL_AREA(#1724);
1797
+ #1724=FILL_AREA_STYLE('Steel - Satin',(#1725));
1798
+ #1725=FILL_AREA_STYLE_COLOUR('Steel - Satin',#1726);
1799
+ #1726=COLOUR_RGB('Steel - Satin',0.627450980392157,0.627450980392157,0.627450980392157);
1800
+ ENDSEC;
1801
+ END-ISO-10303-21;
assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/stl/SO-ARM101_camera_wrist_mount.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e17a626158951ac8cdf8d960962c1a3c8bf23b64635a02f88b62016fe895cef8
3
+ size 173884
assets/SO-ARM100/Optional/Small_Handle/Small_Leader_Handle.STL ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:73dbdbc40e542adcd08e7c4e75e8cd4086e6b99fb4ff8291c902856a72f8b15a
3
+ size 1138984
assets/SO-ARM100/Optional/Springy_Trigger/Springy_Trigger.STL ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:777d30f931558811b28d6397ec236047b706c00d6f7b7b109662e2defb00e39d
3
+ size 400184
assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/README.md ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Wrist Camera Integrated/One-Piece Installation Guide for SO-100/SO-101
2
+
3
+ <img width="250" src="../../media/Wrist_Cam_Mount_32x32_UVC_module_1.jpg" />
4
+ <img width="250" src="../../media/Wrist_Cam_Mount_32x32_UVC_module_2.jpg" />
5
+
6
+ ## Overview
7
+ This guide provides step-by-step instructions for installing a **Wrist Camera** on the SO-100/SO-101 robots using a **Camera Module** and a 3D-printed **Jaw Replacement Part**.
8
+
9
+ ## Comparison to Main Design
10
+ #### Advantages:
11
+ - smaller
12
+ - fewer parts
13
+ - no additional screws/hardware needed to attach camera
14
+
15
+ #### Disdvantages:
16
+ - requires removal/replacement of existing **Wrist Roll** vs an add-on
17
+
18
+ ## Required Components
19
+ ### Hardware:
20
+ - **USB Camera Module** (1) - this is the [recommended model](https://www.amazon.com/innomaker-Computer-Raspberry-Support-Windows/dp/B0CNCSFQC1/ref=pd_lpo_d_sccl_3/132-7372155-9780230?pd_rd_w=eYz4L&content-id=amzn1.sym.4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_p=4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_r=XC3EXZRSSXKDB1G0Z5D7&pd_rd_wg=1wTpn&pd_rd_r=932b1976-9ac7-4cef-9774-f0f9c3acb804&pd_rd_i=B0CNCSFQC1&psc=1), but any 32mm x 32mm USB camera module with min 720p / 30 fps spec will likely work
21
+ - 3D-printed Wrist Roll Replacement ([SO-100](/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO100.stl), [SO-101](/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO101.stl)) (1)
22
+ - **M2 Screws** (4) - these are the smaller screws that came with your Feetech servos.
23
+
24
+
25
+ <img height="200" alt="Screenshot 2025-03-04 at 7 43 33 PM" src="https://github.com/user-attachments/assets/18099e1d-754c-4877-871f-9113a0dff062" />
26
+
27
+ ## Assembly Instructions
28
+ ### Step 1: Replace the [Wrist Roll](../../STL/SO101/Individual/Wrist_Roll_Follower_SO101.stl) with our new one
29
+ 1. If a [Moving Jaw](../../STL/SO101/Individual/Moving_Jaw_SO101.stl) is already installed on the arm, leave it attached. Remove the gripper servo from the existing Wrist Roll piece by:
30
+ - unscrewing all 6 of **M3 Screws** from the front and back of the servo which attach it to the Wrist Roll piece
31
+ - gently pulling the motor out
32
+ - unscrew the remaining 4 **M3 Screws** holding the Wrist Roll piece to the next servo
33
+
34
+ 2. 3D print the **Wrist Roll Replacement**.
35
+
36
+ 3. Attach the **Wrist Roll Replacement** by doing the reverse of (1).
37
+
38
+
39
+ ### Step 2: Install the Camera
40
+ 1. Take out the **Camera Module**.
41
+ 2. Align the 4 holes of the **Camera Module** with the **Moving Jaw Replacement**, and attach using 4 **M2 Screws**.
42
+
43
+ <img height="300" src="https://github.com/user-attachments/assets/ea5af652-9311-44c7-8ae8-525f42cb4703" />
44
+
45
+
46
+ ### Step 3: Configure Software and Adjust Focus
47
+ 1. In your software, set your resolution and FPS.
48
+ - **Note**: You will likely want to set your resolution to *640 x 480* and FPS to *30* even if the camera module's max resolution/frame rate is higher, as most models work with lower resolutions and any higher will just be data bloat.
49
+ 2. Turn on your arm. Look at the video feed from your newly installed camera (On Mac, you can also use *QuickTime*->*New Movie Recording* to see this feed).
50
+ 3. **Important** - The focus on the camera is manual and will look very blurry initially. Adjust the focus by twisting the lens counterclockwise or clockwise until the video feed is clear.
51
+
52
+ ## Acknowledgements
53
+
54
+ Design & Testing
55
+ - Conor McGartholl
56
+ - Philip Fung
assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO100.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6a371846553b3a772f9bccc546da1d3e0164e9d00d14aa45d26ab34b58c9cf43
3
+ size 244084
assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO101.stl ADDED
The diff for this file is too large to render. See raw diff
 
assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/README.md ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Wrist Camera Mount for Intel® RealSense™ D405
2
+
3
+ <p float="left">
4
+ <img src="../../media/d405_mount.jpg" width="400"/>
5
+ <img src="../../media/d405_mount_sample_observation.jpg" width="400" />
6
+ </p>
7
+
8
+ Use two **DIN 912 M3x6 or M3x8** screws to mount the camera to the wrist.
9
+
10
+ ### Suggested Print Orientation:
11
+ <img src="../../media/d405_mount_print_orientation.jpg" width="600" />
12
+
assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/Wrist_Roll_D405_Holder.step ADDED
The diff for this file is too large to render. See raw diff
 
assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/Wrist_Roll_D405_Holder.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab8a3c5cf151bf812a161a89fd79119f0152f4665421cf6bf4647346cd19917e
3
+ size 723484
assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/README.md ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Wrist Camera Mount for Intel® RealSense™ D435/D435i
2
+
3
+ <img src="../../media/d435_mount.jpg" width="600" />
4
+
5
+ This 3D-printed mount lets you easily attach an Intel® RealSense™ D435 or D435i to the **SO-100 wrist** — no modifications or extra hardware required.
6
+ You can reuse the spare screws included with the Feetech servos.
7
+
8
+ 👉 [Download the STL file](stl/Wrist_cam_mount_RealSense_D435.stl)
9
+
10
+ <img src="../../media/d435_mount_render.png" width="600" />
11
+
12
+ ### Assembly Instructions
13
+
14
+ - Use **5 small screws** to attach the mount to the SO-100 wrist.
15
+ - Use **2 M3*6mm screws** to secure the Intel camera to the mount.
16
+
17
+
18
+ ### Camera Field of View
19
+ <img src="../../media/d435_mount_view.png" width="600" />
20
+
21
+ > 📝 The camera is centered for **depth sensing**, but can also function with **RGB only**.
22
+
23
+
24
+
25
+ ### Suggested Print Orientation
26
+ <img src="../../media/d435_mount_print_orientation.png" width="600" />
27
+
28
+
29
+
30
+ ## Vinmooog Adapter (Optional)
31
+
32
+ You can also use this mount with a **Vinmooog camera** using the adapter below:
33
+
34
+ 👉 [Download the STL file](stl/D435_Vinmooog_adapter.stl)
35
+
36
+ <img src="../../media/d435_to_vinmooog_adapter.jpg" width="600" />
assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/D435_Vinmooog_adapter.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7d6483e1fd49e5e334bc4bfe52bb2508d1accd8fea51000164666db81f7e88ee
3
+ size 333584
assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/Wrist_cam_mount_RealSense_D435.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dfaeb5ccd510e99cd718ecb59a25a1660318db0b403911f363fe5aea0685daed
3
+ size 431084
assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/README.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Wrist Camera Installation Guide for SO100
2
+
3
+ ## Overview
4
+ This guide provides step-by-step instructions for installing a **wrist camera** on the SO100 robot using a **cheap webcam** and 3D-printed mounting parts.
5
+
6
+ ## Required Components
7
+ ### Hardware:
8
+ - [Vinmooog Webcam](https://www.amazon.fr/Vinmooog-equipement-Microphone-Enregistrement-conf%C3%A9rences/dp/B0BG1YJWFN/)
9
+ - **3D-printed parts:**
10
+ - [Modified wirst](Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Updated_Wrist_Camera_Insert.stl) (Print **1x**), not needed for SO-101
11
+ - [Mount](Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Webcam_Mount_Wrist.stl) (Print **1x**)
12
+ - **Fasteners:**
13
+ - 3x **M3 Nut**
14
+ - 1x **M3x12mm bolt**
15
+ - 2x **M3x35mm bolts**
16
+
17
+ ## Assembly Instructions
18
+ ### Step 1: Print and Prepare the Gripper Mount
19
+ 1. 3D print the new **SO100 gripper with camera mount**.
20
+ 2. Insert an **M3 nut** into the dedicated slot in the 3D-printed part.
21
+ 3. Insert the **motor** into the gripper mount and attach the **gripper mechanism**.
22
+
23
+ <img src="../../media/cam_mount1.jpg" width="300" />
24
+
25
+ ### Step 2: Attach the Camera Mount
26
+ 1. Take the **3D-printed camera mount**.
27
+ 2. Use an **M3x12mm bolt** to secure the camera mount to the **gripper mount**, ensuring that it locks into the previously inserted **M3 nut**.
28
+
29
+ ### Step 3: Install the Camera
30
+ 1. Insert the **Vinmooog webcam** into the camera mount.
31
+ 2. Use **two M3x35mm bolts** to secure the camera from the back and insert the nuts in the slots.
32
+
33
+ <img src="../../media/cam_mount2.jpg" width="300" />
34
+
assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Updated_Wrist_Camera_Insert.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:71d1843207160aeb5c81680367785d207b1d4e0e73456f6314212f39f82a2c56
3
+ size 733084
assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Webcam_Mount_Wrist.stl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ec651b10feb3fb35bdf856237e9bb39199485dc54fb6eb296a10403a665e74de
3
+ size 150484
assets/SO-ARM100/Optional/Wrist_Cam_Plug_Mount_32x32_UVC_Module/README.md ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Plug Wrist Camera (MF) Installation Guide for SO-100
2
+
3
+ <img height="300" src="https://github.com/user-attachments/assets/139be1c3-d446-4304-b0f4-c90a996789d6" />
4
+ <img height="300" src="https://github.com/user-attachments/assets/6c2f0f47-9663-4224-ac4e-220d1d71c162" />
5
+
6
+ ## Overview
7
+ This guide provides step-by-step instructions for installing a **Wrist Camera** (alternate "McGartoll-Fung" design) on the SO-100 robot using a **Camera Module** and a 3D-printed **Plug-in Camera adapter**.
8
+
9
+ This an adapatation of [Wrist Camera (MF) UVC Module](../Wrist_Cam_Mount_32x32_UVC_Module/)
10
+
11
+ ## Comparison to Main Design
12
+ #### Advantages:
13
+ - smaller
14
+ - fewer parts
15
+ - no additional screws/hardware needed to attach camera
16
+ - no removal/replacement of existing pieces
17
+ - easy removal/replacement
18
+
19
+ #### Disdvantages:
20
+ - still require to adapt to new camera
21
+
22
+ ## Required Components
23
+ ### Hardware:
24
+ - **USB Camera Module** (1) - this is the [recommended model](https://www.amazon.com/innomaker-Computer-Raspberry-Support-Windows/dp/B0CNCSFQC1/ref=pd_lpo_d_sccl_3/132-7372155-9780230?pd_rd_w=eYz4L&content-id=amzn1.sym.4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_p=4c8c52db-06f8-4e42-8e56-912796f2ea6c&pf_rd_r=XC3EXZRSSXKDB1G0Z5D7&pd_rd_wg=1wTpn&pd_rd_r=932b1976-9ac7-4cef-9774-f0f9c3acb804&pd_rd_i=B0CNCSFQC1&psc=1), but any 32mm x 32mm USB camera module with min 720p / 30 fps spec will likely work
25
+ - [3D-printed Plugin camera attachment](stl/SO-ARM100_Plug_camera.stl) (1)
26
+ - I recommend printing it as oriented in the STL using tree supports. 40% infill is recommended to increase sturdiness and avoid wobbling
27
+ - **M2 Screws** (8) - these are the smaller screws that came with your Feetech servos.
28
+
29
+
30
+ <img height="200" alt="Screenshot 2025-03-04 at 7 43 33 PM" src="https://github.com/user-attachments/assets/18099e1d-754c-4877-871f-9113a0dff062" />
31
+
32
+ ## Assembly Instructions
33
+ ### Step 1: Plug the new camera module to the Gripper
34
+
35
+ 2. 3D print the **Plugin camera attachment**.
36
+
37
+ 3. Attach the **Plugin camera attachment**.
38
+ 1. The hole fit into the [Gripper hole](../../STEP/Follower_specific/Moving_Jaw_08d%20v1.step)
39
+
40
+ 4. Secure it with the M2 screws
41
+
42
+
43
+
44
+
45
+ ### Step 2: Install the Camera
46
+ 1. Take out the **Camera Module**.
47
+ 2. Align the 4 holes of the **Camera Module** with the **Moving Jaw Replacement**, and attach using 4 **M2 Screws**.
48
+
49
+ <img height="300" src="https://github.com/user-attachments/assets/ea5af652-9311-44c7-8ae8-525f42cb4703" />
50
+
51
+
52
+ ### Step 3: Configure Software and Adjust Focus
53
+ 1. In your software, set your resolution and FPS.
54
+ - **Note**: You will likely want to set your resolution to *640 x 480* and FPS to *30* even if the camera module's max resolution/frame rate is higher, as most models work with lower resolutions and any higher will just be data bloat.
55
+ 2. Turn on your arm. Look at the video feed from your newly installed camera (On Mac, you can also use *QuickTime*->*New Movie Recording* to see this feed).
56
+ - **Note**: The focus on the camera is manual and will look very blurry initially. Adjust the focus by twisting the lens counterclockwise or clockwise until the video feed is clear.