Upload folder using huggingface_hub
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- .DS_Store +0 -0
- .gitattributes +131 -0
- .gitignore +1 -0
- LICENSE +201 -0
- README.md +56 -0
- assets/.DS_Store +0 -0
- assets/SO-ARM100/.gitignore +1 -0
- assets/SO-ARM100/3DPRINT.md +59 -0
- assets/SO-ARM100/CHANGELOG.md +57 -0
- assets/SO-ARM100/CITATION.cff +29 -0
- assets/SO-ARM100/LICENSE +201 -0
- assets/SO-ARM100/Mini/Mini_SO_100_01g.3mf +3 -0
- assets/SO-ARM100/Mini/Mini_SO_100_01g.STL +3 -0
- assets/SO-ARM100/Mini/readme +5 -0
- assets/SO-ARM100/Optional/4040_Base_Mount/README.md +25 -0
- assets/SO-ARM100/Optional/4040_Base_Mount/step/4040_base_mount.step +0 -0
- assets/SO-ARM100/Optional/4040_Base_Mount/stl/4040_base_mount.stl +3 -0
- assets/SO-ARM100/Optional/Compliant_Gripper/README.md +19 -0
- assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Moving_Jaw_SO101.stl +3 -0
- assets/SO-ARM100/Optional/Compliant_Gripper/stl/Compliant_Wrist_Roll_Follower_SO101.stl +3 -0
- assets/SO-ARM100/Optional/Mount_Helper/README.md +9 -0
- assets/SO-ARM100/Optional/Mount_Helper/stl/mount_helper v2.stl +3 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/README.md +82 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/arm_base.stl +0 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_bottom.stl +0 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_middle.stl +0 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_32x32_UVC_Module/stl/cam_mount_top.stl +0 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/README.md +78 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/arm_base.stl +0 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/cam_mount_bottom.stl +0 -0
- assets/SO-ARM100/Optional/Overhead_Cam_Mount_Webcam/stl/cam_mount_top.stl +0 -0
- assets/SO-ARM100/Optional/Raised_Base/Raised_Base_Extension.stl +0 -0
- assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/README.md +60 -0
- assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/stl/SO-ARM101_camera_wrist_mount.step +1801 -0
- assets/SO-ARM100/Optional/SO101_Wrist_Cam_Hex-Nut_Mount_32x32_UVC_Module/stl/SO-ARM101_camera_wrist_mount.stl +3 -0
- assets/SO-ARM100/Optional/Small_Handle/Small_Leader_Handle.STL +3 -0
- assets/SO-ARM100/Optional/Springy_Trigger/Springy_Trigger.STL +3 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/README.md +56 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO100.stl +3 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_32x32_UVC_Module/stl/Wrist_Cam_Mount_32x32_UVC_Module_SO101.stl +0 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/README.md +12 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/Wrist_Roll_D405_Holder.step +0 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D405/Wrist_Roll_D405_Holder.stl +3 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/README.md +36 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/D435_Vinmooog_adapter.stl +3 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_RealSense_D435/stl/Wrist_cam_mount_RealSense_D435.stl +3 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/README.md +34 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Updated_Wrist_Camera_Insert.stl +3 -0
- assets/SO-ARM100/Optional/Wrist_Cam_Mount_Vinmooog_Webcam/stl/Webcam_Mount_Wrist.stl +3 -0
- 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 |
+

|
| 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 |
+

|
| 15 |
+
|
| 16 |
+
Then click `See Materials & Pricing` button, and on the next page select the material. In our case `PLA+`.
|
| 17 |
+
|
| 18 |
+

|
| 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 |
+

|
| 27 |
+
|
| 28 |
+
Next choose the color, and click `See offers`.
|
| 29 |
+
|
| 30 |
+

|
| 31 |
+
|
| 32 |
+
Finally choose your manufacturer. You can choose manufacturer based on price, delivery date and production location.
|
| 33 |
+
|
| 34 |
+

|
| 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 |
+

|
| 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 |
+

|
| 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 |
+

|
| 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®, 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.
|