designix 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/.eslintignore +17 -0
  2. package/.eslintrc.cjs +24 -0
  3. package/.prettierignore +15 -0
  4. package/.prettierrc +8 -0
  5. package/README.md +27 -0
  6. package/export_svg/base.svg +1 -0
  7. package/export_svg/base_cut.svg +1 -0
  8. package/export_svg/base_hollow.svg +1 -0
  9. package/export_svg/base_top.svg +1 -0
  10. package/export_svg/calculation_of_initAngle2.svg +1 -0
  11. package/export_svg/circles.svg +1 -0
  12. package/export_svg/circles_amplitude-offset.svg +1 -0
  13. package/export_svg/circles_amplitude-scale.svg +1 -0
  14. package/export_svg/circles_angle.svg +1 -0
  15. package/export_svg/default_param_blank.svg +1 -0
  16. package/export_svg/dummy_pole_static.svg +1 -0
  17. package/export_svg/dummy_pole_static_face.svg +1 -0
  18. package/export_svg/gear_addendeum_dedendum_sizes.svg +9 -0
  19. package/export_svg/gear_addendum_and_dedendum.svg +1 -0
  20. package/export_svg/gear_adherence_replaced_by_teeth.svg +1 -0
  21. package/export_svg/gear_base_circle_for_involute.svg +2 -0
  22. package/export_svg/gear_base_left_circle_for_involute.svg +2 -0
  23. package/export_svg/gear_base_right_circle_for_involute.svg +2 -0
  24. package/export_svg/gear_inter_axis_maximum_distance.svg +1 -0
  25. package/export_svg/gear_inter_axis_minimum_distance.svg +1 -0
  26. package/export_svg/gear_large_base_radius.svg +5 -0
  27. package/export_svg/gear_module_and_tooth_thickness.svg +3 -0
  28. package/export_svg/gear_optimum_base_radius.svg +5 -0
  29. package/export_svg/gear_optimum_base_radius_with_longer_inter_axis.svg +5 -0
  30. package/export_svg/gear_right_left_base_circles.svg +1 -0
  31. package/export_svg/gear_small_base_radius.svg +5 -0
  32. package/export_svg/gear_wheel_circles.svg +2 -0
  33. package/export_svg/gears.svg +71 -0
  34. package/export_svg/gears_motion_transmission_via_adherence.svg +1 -0
  35. package/export_svg/heliostat.svg +1 -0
  36. package/export_svg/heliostat2_face_sizing.svg +1 -0
  37. package/export_svg/heliostat2_side_sizing.svg +1 -0
  38. package/export_svg/heliostat_face_sizing.svg +1 -0
  39. package/export_svg/heliostat_overview.svg +1 -0
  40. package/export_svg/heliostat_side.svg +1 -0
  41. package/export_svg/heliostat_side_sizing.svg +1 -0
  42. package/export_svg/involute_of_circle.svg +19 -0
  43. package/export_svg/involute_of_circle_R0.svg +1 -0
  44. package/export_svg/involute_of_circle_Ri1_u0.svg +1 -0
  45. package/export_svg/involute_of_circle_Ri2_u2.svg +1 -0
  46. package/export_svg/left_side_angle_kitchen.svg +1 -0
  47. package/export_svg/negative_involute_of_circle_R0.svg +1 -0
  48. package/export_svg/point_c_position_and_speed_negative.svg +1 -0
  49. package/export_svg/point_c_position_and_speed_positive.svg +1 -0
  50. package/export_svg/pole_rotor.svg +1 -0
  51. package/export_svg/pole_rotor_cut.svg +1 -0
  52. package/export_svg/pole_rotor_ends.svg +1 -0
  53. package/export_svg/pole_stator.svg +3 -0
  54. package/export_svg/pole_stator_E2.svg +3 -0
  55. package/export_svg/pole_stator_bottom.svg +1 -0
  56. package/export_svg/pole_stator_cut.svg +1 -0
  57. package/export_svg/pole_stator_face.svg +1 -0
  58. package/export_svg/pole_stator_right.svg +1 -0
  59. package/export_svg/rake.svg +1 -0
  60. package/export_svg/rake_door.svg +1 -0
  61. package/export_svg/rake_face.svg +1 -0
  62. package/export_svg/rake_side.svg +1 -0
  63. package/export_svg/rake_side_stopper.svg +1 -0
  64. package/export_svg/rake_top.svg +1 -0
  65. package/export_svg/rake_top_stopper.svg +1 -0
  66. package/export_svg/rectangle.svg +1 -0
  67. package/export_svg/rectangle_height.svg +1 -0
  68. package/export_svg/rectangle_width.svg +1 -0
  69. package/export_svg/right_side_angle_kitchen.svg +1 -0
  70. package/export_svg/rod.svg +1 -0
  71. package/export_svg/rod_cut.svg +1 -0
  72. package/export_svg/rod_plate.svg +1 -0
  73. package/export_svg/rod_top.svg +1 -0
  74. package/export_svg/spider.svg +1 -0
  75. package/export_svg/spider_lateral.svg +1 -0
  76. package/export_svg/spider_profile.svg +1 -0
  77. package/export_svg/surface.svg +3 -0
  78. package/export_svg/surface_crenel.svg +1 -0
  79. package/export_svg/surface_extremities.svg +2 -0
  80. package/export_svg/surface_lz.svg +1 -0
  81. package/export_svg/surface_main.svg +1 -0
  82. package/export_svg/surface_power.svg +2 -0
  83. package/export_svg/surface_space_evolution.svg +1 -0
  84. package/export_svg/surface_space_shape.svg +1 -0
  85. package/export_svg/swing.svg +1 -0
  86. package/export_svg/swing_face.svg +1 -0
  87. package/export_svg/swing_side.svg +1 -0
  88. package/export_svg/swing_top.svg +1 -0
  89. package/export_svg/swing_with_rod.svg +1 -0
  90. package/export_svg/trapeze.svg +1 -0
  91. package/export_svg/trapeze_rod.svg +1 -0
  92. package/export_svg/trapeze_side.svg +1 -0
  93. package/export_svg/trapeze_top.svg +1 -0
  94. package/export_svg/verify_contour_1.svg +1 -0
  95. package/export_svg/verify_contour_1_l1.svg +1 -0
  96. package/export_svg/verify_contour_1_r1.svg +1 -0
  97. package/export_svg/verify_line.svg +1 -0
  98. package/export_svg/verify_line_2_l1cx.svg +1 -0
  99. package/export_svg/verify_line_p1x.svg +1 -0
  100. package/export_svg/verify_point.svg +1 -0
  101. package/export_svg/verify_point_p1x.svg +1 -0
  102. package/export_svg/verify_vector_p1x.svg +1 -0
  103. package/package.json +76 -0
  104. package/src/dummy/circles.ts +65 -0
  105. package/src/dummy/pole_static.ts +86 -0
  106. package/src/dummy/rectangle.ts +55 -0
  107. package/src/dummy/svg/circles.svg +288 -0
  108. package/src/dummy/svg/circles_amplitude-offset.svg +109 -0
  109. package/src/dummy/svg/circles_amplitude-scale.svg +122 -0
  110. package/src/dummy/svg/circles_angle.svg +110 -0
  111. package/src/dummy/svg/dummy_pole_static.svg +192 -0
  112. package/src/dummy/svg/dummy_pole_static_face.svg +176 -0
  113. package/src/dummy/svg/rectangle.svg +131 -0
  114. package/src/dummy/svg/rectangle_height.svg +82 -0
  115. package/src/dummy/svg/rectangle_width.svg +81 -0
  116. package/src/gears/gearWheelProfile.test.ts +25 -0
  117. package/src/gears/gearWheelProfile.ts +753 -0
  118. package/src/gears/gear_wheel_wheel.ts +335 -0
  119. package/src/gears/involute.test.ts +21 -0
  120. package/src/gears/involute.ts +113 -0
  121. package/src/gears/simplified_gear_wheel.ts +242 -0
  122. package/src/gears/svg/calculation_of_initAngle2.svg +376 -0
  123. package/src/gears/svg/gear_addendeum_dedendum_sizes.svg +471 -0
  124. package/src/gears/svg/gear_addendum_and_dedendum.svg +269 -0
  125. package/src/gears/svg/gear_adherence_replaced_by_teeth.svg +168 -0
  126. package/src/gears/svg/gear_base_circle_for_involute.svg +376 -0
  127. package/src/gears/svg/gear_base_left_circle_for_involute.svg +556 -0
  128. package/src/gears/svg/gear_base_right_circle_for_involute.svg +516 -0
  129. package/src/gears/svg/gear_inter_axis_maximum_distance.svg +218 -0
  130. package/src/gears/svg/gear_inter_axis_minimum_distance.svg +218 -0
  131. package/src/gears/svg/gear_large_base_radius.svg +199 -0
  132. package/src/gears/svg/gear_module_and_tooth_thickness.svg +319 -0
  133. package/src/gears/svg/gear_optimum_base_radius.svg +232 -0
  134. package/src/gears/svg/gear_optimum_base_radius_with_longer_inter_axis.svg +344 -0
  135. package/src/gears/svg/gear_right_left_base_circles.svg +295 -0
  136. package/src/gears/svg/gear_small_base_radius.svg +163 -0
  137. package/src/gears/svg/gear_wheel_circles.svg +348 -0
  138. package/src/gears/svg/gears.svg +4726 -0
  139. package/src/gears/svg/gears_motion_transmission_via_adherence.svg +178 -0
  140. package/src/gears/svg/involute_of_circle.svg +2745 -0
  141. package/src/gears/svg/involute_of_circle_R0.svg +334 -0
  142. package/src/gears/svg/involute_of_circle_Ri1_u0.svg +297 -0
  143. package/src/gears/svg/involute_of_circle_Ri2_u2.svg +386 -0
  144. package/src/gears/svg/left_side_angle_kitchen.svg +207 -0
  145. package/src/gears/svg/negative_involute_of_circle_R0.svg +381 -0
  146. package/src/gears/svg/point_c_position_and_speed_negative.svg +343 -0
  147. package/src/gears/svg/point_c_position_and_speed_positive.svg +339 -0
  148. package/src/gears/svg/right_side_angle_kitchen.svg +201 -0
  149. package/src/gears/wheelElements.test.ts +13 -0
  150. package/src/gears/wheelElements.ts +176 -0
  151. package/src/geometrix_verification/svg/verify_contour_1.svg +320 -0
  152. package/src/geometrix_verification/svg/verify_contour_1_l1.svg +102 -0
  153. package/src/geometrix_verification/svg/verify_contour_1_r1.svg +170 -0
  154. package/src/geometrix_verification/svg/verify_line.svg +845 -0
  155. package/src/geometrix_verification/svg/verify_line_2_l1cx.svg +274 -0
  156. package/src/geometrix_verification/svg/verify_line_p1x.svg +261 -0
  157. package/src/geometrix_verification/svg/verify_point.svg +350 -0
  158. package/src/geometrix_verification/svg/verify_point_p1x.svg +258 -0
  159. package/src/geometrix_verification/svg/verify_vector_p1x.svg +282 -0
  160. package/src/geometrix_verification/verify_contour_1.ts +94 -0
  161. package/src/geometrix_verification/verify_contour_2.ts +267 -0
  162. package/src/geometrix_verification/verify_contour_3.ts +409 -0
  163. package/src/geometrix_verification/verify_contour_4.ts +91 -0
  164. package/src/geometrix_verification/verify_exports_1.ts +95 -0
  165. package/src/geometrix_verification/verify_line.ts +76 -0
  166. package/src/geometrix_verification/verify_line_2.ts +76 -0
  167. package/src/geometrix_verification/verify_line_3.ts +64 -0
  168. package/src/geometrix_verification/verify_point.ts +62 -0
  169. package/src/geometrix_verification/verify_point_2.ts +66 -0
  170. package/src/geometrix_verification/verify_vector.ts +70 -0
  171. package/src/heliostat/base.ts +254 -0
  172. package/src/heliostat/heliostat.ts +317 -0
  173. package/src/heliostat/heliostat_2.ts +284 -0
  174. package/src/heliostat/pole_rotor.ts +165 -0
  175. package/src/heliostat/pole_static.ts +275 -0
  176. package/src/heliostat/rake.ts +486 -0
  177. package/src/heliostat/rake_stopper.ts +409 -0
  178. package/src/heliostat/rod.ts +200 -0
  179. package/src/heliostat/spider.ts +238 -0
  180. package/src/heliostat/surface.ts +320 -0
  181. package/src/heliostat/svg/base.svg +1367 -0
  182. package/src/heliostat/svg/base_cut.svg +459 -0
  183. package/src/heliostat/svg/base_hollow.svg +469 -0
  184. package/src/heliostat/svg/base_top.svg +338 -0
  185. package/src/heliostat/svg/heliostat.svg +8013 -0
  186. package/src/heliostat/svg/heliostat2_face_sizing.svg +1386 -0
  187. package/src/heliostat/svg/heliostat2_side_sizing.svg +984 -0
  188. package/src/heliostat/svg/heliostat_face_sizing.svg +1448 -0
  189. package/src/heliostat/svg/heliostat_overview.svg +1552 -0
  190. package/src/heliostat/svg/heliostat_side.svg +1470 -0
  191. package/src/heliostat/svg/heliostat_side_sizing.svg +1128 -0
  192. package/src/heliostat/svg/pole_rotor.svg +592 -0
  193. package/src/heliostat/svg/pole_rotor_cut.svg +287 -0
  194. package/src/heliostat/svg/pole_rotor_ends.svg +336 -0
  195. package/src/heliostat/svg/pole_stator.svg +1945 -0
  196. package/src/heliostat/svg/pole_stator_E2.svg +410 -0
  197. package/src/heliostat/svg/pole_stator_bottom.svg +330 -0
  198. package/src/heliostat/svg/pole_stator_cut.svg +465 -0
  199. package/src/heliostat/svg/pole_stator_face.svg +457 -0
  200. package/src/heliostat/svg/pole_stator_right.svg +357 -0
  201. package/src/heliostat/svg/rake.svg +4691 -0
  202. package/src/heliostat/svg/rake_door.svg +617 -0
  203. package/src/heliostat/svg/rake_face.svg +1211 -0
  204. package/src/heliostat/svg/rake_side.svg +809 -0
  205. package/src/heliostat/svg/rake_side_stopper.svg +596 -0
  206. package/src/heliostat/svg/rake_top.svg +514 -0
  207. package/src/heliostat/svg/rake_top_stopper.svg +565 -0
  208. package/src/heliostat/svg/rod.svg +1314 -0
  209. package/src/heliostat/svg/rod_cut.svg +265 -0
  210. package/src/heliostat/svg/rod_plate.svg +409 -0
  211. package/src/heliostat/svg/rod_top.svg +577 -0
  212. package/src/heliostat/svg/spider.svg +693 -0
  213. package/src/heliostat/svg/spider_lateral.svg +222 -0
  214. package/src/heliostat/svg/spider_profile.svg +429 -0
  215. package/src/heliostat/svg/surface.svg +3577 -0
  216. package/src/heliostat/svg/surface_crenel.svg +1335 -0
  217. package/src/heliostat/svg/surface_extremities.svg +510 -0
  218. package/src/heliostat/svg/surface_lz.svg +182 -0
  219. package/src/heliostat/svg/surface_main.svg +366 -0
  220. package/src/heliostat/svg/surface_power.svg +331 -0
  221. package/src/heliostat/svg/surface_space_evolution.svg +210 -0
  222. package/src/heliostat/svg/surface_space_shape.svg +98 -0
  223. package/src/heliostat/svg/swing.svg +3310 -0
  224. package/src/heliostat/svg/swing_face.svg +902 -0
  225. package/src/heliostat/svg/swing_side.svg +574 -0
  226. package/src/heliostat/svg/swing_top.svg +923 -0
  227. package/src/heliostat/svg/swing_with_rod.svg +547 -0
  228. package/src/heliostat/svg/trapeze.svg +1711 -0
  229. package/src/heliostat/svg/trapeze_rod.svg +122 -0
  230. package/src/heliostat/svg/trapeze_side.svg +361 -0
  231. package/src/heliostat/svg/trapeze_top.svg +1057 -0
  232. package/src/heliostat/swing.ts +246 -0
  233. package/src/heliostat/trapeze.ts +510 -0
  234. package/src/index.ts +33 -0
  235. package/src/svg/default_param_blank.svg +40 -0
  236. package/tsconfig.json +13 -0
  237. package/vitest.config.ts +7 -0
@@ -0,0 +1,163 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="347.8252"
6
+ height="343.86182"
7
+ viewBox="0 0 92.02875 90.980104"
8
+ version="1.1"
9
+ id="svg5"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs2">
14
+ <rect
15
+ x="390.74844"
16
+ y="4224.1782"
17
+ width="91.063988"
18
+ height="51.489384"
19
+ id="rect2987-94-4" />
20
+ <rect
21
+ x="390.74844"
22
+ y="4224.1782"
23
+ width="91.063988"
24
+ height="51.489384"
25
+ id="rect2987-9-4-4" />
26
+ <rect
27
+ x="87.432091"
28
+ y="4197.7158"
29
+ width="325.44913"
30
+ height="51.350037"
31
+ id="rect3273-0-3" />
32
+ <rect
33
+ x="95.77552"
34
+ y="4893.9912"
35
+ width="240.78052"
36
+ height="89.137581"
37
+ id="rect7562-8" />
38
+ </defs>
39
+ <g
40
+ id="layer1"
41
+ transform="translate(-19.014345,-1338.4104)">
42
+ <rect
43
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583"
44
+ id="rect3329-3-6"
45
+ width="91.764175"
46
+ height="90.715446"
47
+ x="19.146637"
48
+ y="1338.5427" />
49
+ <circle
50
+ style="fill:none;stroke:#800000;stroke-width:0.264583"
51
+ id="path2237-3-3-6-8"
52
+ cx="51.23114"
53
+ cy="1369.2124"
54
+ r="23.860231" />
55
+ <circle
56
+ style="fill:none;stroke:#0000ff;stroke-width:0.264583"
57
+ id="path2237-6-6-6-1-8"
58
+ cx="51.23114"
59
+ cy="1369.2124"
60
+ r="28.572924" />
61
+ <circle
62
+ style="fill:none;stroke:#800000;stroke-width:0.264583"
63
+ id="path2237-9-0-7-0-4"
64
+ cx="87.510941"
65
+ cy="1369.2124"
66
+ r="12.41958" />
67
+ <circle
68
+ style="fill:none;stroke:#0000ff;stroke-width:0.264582"
69
+ id="path2237-6-1-6-5-6-3"
70
+ cx="87.510941"
71
+ cy="1369.2124"
72
+ r="20.666595" />
73
+ <path
74
+ style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
75
+ d="M 51.231133,1369.2123 H 87.510951"
76
+ id="path2048-3-1" />
77
+ <path
78
+ style="fill:none;stroke:#aa0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
79
+ d="M 51.231133,1369.2123 32.426162,1354.5262"
80
+ id="path2881-1-4" />
81
+ <path
82
+ style="fill:none;stroke:#aa0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
83
+ d="m 87.510951,1369.2123 8.91262,-8.6493"
84
+ id="path2885-5-9" />
85
+ <text
86
+ xml:space="preserve"
87
+ transform="matrix(0.26458333,0,0,0.26458333,-69.102663,243.18804)"
88
+ id="text2985-76-2"
89
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2987-94-4);display:inline"><tspan
90
+ x="390.74805"
91
+ y="4237.1543"
92
+ id="tspan7753">pr1</tspan></text>
93
+ <text
94
+ xml:space="preserve"
95
+ transform="matrix(0.26458333,0,0,0.26458333,-16.858027,241.401)"
96
+ id="text2985-1-3-0"
97
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2987-9-4-4);display:inline"><tspan
98
+ x="390.74805"
99
+ y="4237.1543"
100
+ id="tspan7755">pr2</tspan></text>
101
+ <text
102
+ xml:space="preserve"
103
+ transform="matrix(0.26458333,0,0,0.26458333,-2.8275765,313.23159)"
104
+ id="text3271-4-6"
105
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3273-0-3);display:inline"><tspan
106
+ x="87.431641"
107
+ y="4210.6914"
108
+ id="tspan7757">small base radius</tspan></text>
109
+ <circle
110
+ style="fill:none;stroke:#00ccff;stroke-width:0.264582"
111
+ id="path6214-2-5-8"
112
+ cx="51.23114"
113
+ cy="1369.2124"
114
+ r="10.540597" />
115
+ <circle
116
+ style="fill:none;stroke:#00ccff;stroke-width:0.264582"
117
+ id="path6214-2-5-2-9"
118
+ cx="87.510948"
119
+ cy="1369.2124"
120
+ r="5.4110503" />
121
+ <path
122
+ style="fill:none;stroke:#ff0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
123
+ d="m 55.996011,1359.8133 29.35689,14.4112"
124
+ id="path7475-9" />
125
+ <text
126
+ xml:space="preserve"
127
+ transform="matrix(0.26458333,0,0,0.26458333,-2.7904215,107.11934)"
128
+ id="text7560-7"
129
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect7562-8);display:inline"><tspan
130
+ x="95.775391"
131
+ y="4906.9688"
132
+ id="tspan7759">- brr1 closed to 0
133
+ </tspan><tspan
134
+ x="95.775391"
135
+ y="4925.3023"
136
+ id="tspan7761">- brr2 closed to 0
137
+ </tspan><tspan
138
+ x="95.775391"
139
+ y="4943.6358"
140
+ id="tspan7763">- ppa closed to PI/2
141
+ </tspan><tspan
142
+ x="95.775391"
143
+ y="4961.9693"
144
+ id="tspan7765">- brr1/brr2=pr1/pr2=N1/N2
145
+ </tspan></text>
146
+ <path
147
+ style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
148
+ d="m 51.346772,1369.0199 4.470762,-9.2238"
149
+ id="path7475-9-1" />
150
+ <path
151
+ style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
152
+ d="m 85.133246,1374.1179 2.377702,-4.9055"
153
+ id="path7475-9-1-7" />
154
+ <path
155
+ style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
156
+ d="m 84.27985,1373.6529 0.339352,-0.8867 0.885634,0.4451"
157
+ id="path8849" />
158
+ <path
159
+ style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
160
+ d="m 55.415587,1360.719 0.85276,0.4036 0.433829,-0.8683"
161
+ id="path8851" />
162
+ </g>
163
+ </svg>
@@ -0,0 +1,348 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="462.47311"
6
+ height="317.91653"
7
+ viewBox="0 0 122.36268 84.115415"
8
+ version="1.1"
9
+ id="svg5"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs2">
14
+ <rect
15
+ x="180.66573"
16
+ y="3048.3296"
17
+ width="50.664906"
18
+ height="26.309055"
19
+ id="rect1465" />
20
+ <rect
21
+ x="185.45236"
22
+ y="3043.8333"
23
+ width="75.808075"
24
+ height="30.844858"
25
+ id="rect1459" />
26
+ <rect
27
+ x="190.86606"
28
+ y="3033.2937"
29
+ width="53.077961"
30
+ height="23.584785"
31
+ id="rect1453" />
32
+ <rect
33
+ x="323.0361"
34
+ y="3151.5869"
35
+ width="56.238857"
36
+ height="39.623833"
37
+ id="rect1447" />
38
+ <rect
39
+ x="402.38129"
40
+ y="3149.5688"
41
+ width="45.600647"
42
+ height="17.603889"
43
+ id="rect1441" />
44
+ <rect
45
+ x="98.409676"
46
+ y="3366.6411"
47
+ width="177.67082"
48
+ height="34.953468"
49
+ id="rect18195" />
50
+ <rect
51
+ x="417.92419"
52
+ y="3140.9067"
53
+ width="33.524715"
54
+ height="26.402315"
55
+ id="rect18135" />
56
+ <rect
57
+ x="374.69153"
58
+ y="3135.0776"
59
+ width="40.571407"
60
+ height="25.352194"
61
+ id="rect18127" />
62
+ <rect
63
+ x="343.88614"
64
+ y="3133.064"
65
+ width="34.961456"
66
+ height="28.500315"
67
+ id="rect18119" />
68
+ <rect
69
+ x="359.91824"
70
+ y="3136.8774"
71
+ width="37.626499"
72
+ height="19.542509"
73
+ id="rect18111" />
74
+ <rect
75
+ x="360.34442"
76
+ y="3134.6189"
77
+ width="38.679745"
78
+ height="21.906794"
79
+ id="rect18103" />
80
+ <rect
81
+ x="27.098698"
82
+ y="3199.5461"
83
+ width="199.70078"
84
+ height="43.778751"
85
+ id="rect18083" />
86
+ <rect
87
+ x="18.208244"
88
+ y="3149.5061"
89
+ width="184.30273"
90
+ height="58.517208"
91
+ id="rect18077" />
92
+ <rect
93
+ x="24.771572"
94
+ y="3113.2986"
95
+ width="184.9809"
96
+ height="41.386597"
97
+ id="rect18071" />
98
+ <rect
99
+ x="22.472319"
100
+ y="3054.2285"
101
+ width="194.4845"
102
+ height="43.091297"
103
+ id="rect18065" />
104
+ <rect
105
+ x="26.7271"
106
+ y="3009.8738"
107
+ width="293.93774"
108
+ height="86.781792"
109
+ id="rect18059" />
110
+ </defs>
111
+ <g
112
+ id="layer1"
113
+ transform="translate(-21.850426,-799.3595)">
114
+ <rect
115
+ style="opacity:1;fill:#ffffff;stroke:#ffffff;stroke-width:0.264583"
116
+ id="rect18191"
117
+ width="122.09809"
118
+ height="83.850815"
119
+ x="21.982716"
120
+ y="799.49176" />
121
+ <circle
122
+ style="fill:none;stroke:#00ccff;stroke-width:0.264582"
123
+ id="path6214-2"
124
+ cx="103.89605"
125
+ cy="839.10815"
126
+ r="27.979338" />
127
+ <circle
128
+ style="fill:none;stroke:#b3b3b3;stroke-width:0.264583"
129
+ id="path6214-2-0"
130
+ cx="103.89605"
131
+ cy="839.10822"
132
+ r="22.447908" />
133
+ <circle
134
+ style="fill:none;stroke:#008000;stroke-width:0.264583"
135
+ id="path6214-2-6"
136
+ cx="103.89605"
137
+ cy="839.10822"
138
+ r="24.765713" />
139
+ <circle
140
+ style="fill:none;stroke:#d40000;stroke-width:0.264583"
141
+ id="path6214-2-6-1"
142
+ cx="103.89605"
143
+ cy="839.10822"
144
+ r="30.920267" />
145
+ <circle
146
+ style="fill:none;stroke:#0000ff;stroke-width:0.264583"
147
+ id="path6214-2-6-5"
148
+ cx="103.89605"
149
+ cy="839.10815"
150
+ r="36.725174" />
151
+ <text
152
+ xml:space="preserve"
153
+ transform="matrix(0.26458333,0,0,0.26458333,20.306421,19.421556)"
154
+ id="text18057"
155
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18059);display:inline;fill:#0000ff"><tspan
156
+ x="26.726562"
157
+ y="3022.8496"
158
+ id="tspan4321">addendum circle</tspan></text>
159
+ <text
160
+ xml:space="preserve"
161
+ transform="matrix(0.26458333,0,0,0.26458333,21.383007,17.205707)"
162
+ id="text18063"
163
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18065);display:inline;fill:#aa0000"><tspan
164
+ x="22.472656"
165
+ y="3067.2051"
166
+ id="tspan4323">primitive circle</tspan></text>
167
+ <text
168
+ xml:space="preserve"
169
+ transform="matrix(0.26458333,0,0,0.26458333,20.148065,9.5338225)"
170
+ id="text18069"
171
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18071);display:inline;fill:#00aad4"><tspan
172
+ x="24.771484"
173
+ y="3126.2754"
174
+ id="tspan4325">base circle right
175
+ </tspan><tspan
176
+ x="24.771484"
177
+ y="3144.6089"
178
+ id="tspan4327">base circle left</tspan></text>
179
+ <text
180
+ xml:space="preserve"
181
+ transform="matrix(0.26458333,0,0,0.26458333,18.879577,10.536038)"
182
+ id="text18075"
183
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18077);display:inline;fill:#008000"><tspan
184
+ x="18.208984"
185
+ y="3162.4825"
186
+ id="tspan4329">dedendum circle</tspan></text>
187
+ <text
188
+ xml:space="preserve"
189
+ transform="matrix(0.26458333,0,0,0.26458333,25.851575,5.2624884)"
190
+ id="text18081"
191
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18083);display:inline;fill:#666666"><tspan
192
+ x="27.099609"
193
+ y="3212.5235"
194
+ id="tspan4331">bottom circle</tspan></text>
195
+ <path
196
+ style="fill:none;stroke:#0000ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
197
+ d="m 60.473759,819.47955 9.702789,4.18714"
198
+ id="path18087" />
199
+ <path
200
+ style="fill:none;stroke:#aa0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
201
+ d="m 56.90726,828.4216 16.255092,3.20826 v 0"
202
+ id="path18089" />
203
+ <path
204
+ style="fill:none;stroke:#00ccff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
205
+ d="m 54.264956,838.1127 20.734105,2.12"
206
+ id="path18091" />
207
+ <path
208
+ style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
209
+ d="m 56.488178,846.16561 22.315189,-2.59315"
210
+ id="path18093" />
211
+ <path
212
+ style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
213
+ d="m 59.035238,854.18961 23.297141,-7.16555"
214
+ id="path18095" />
215
+ <path
216
+ style="fill:none;stroke:#000000;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
217
+ d="m 90.275271,821.32608 c 0,0 0.91702,-1.12556 0.978882,-1.80813 0.04026,-0.44418 -0.242726,-0.86064 -0.415086,-1.27199 -0.426301,-1.0174 -1.182015,-1.889 -1.522707,-2.93817 -0.317652,-0.97822 -0.444782,-2.02256 -0.46056,-3.05094 -0.02165,-1.41119 0.113315,-2.84763 0.503267,-4.20404 0.32973,-1.14694 1.527315,-3.23805 1.527315,-3.23805 l 2.401426,-0.84124 c 0,0 1.607858,0.79598 2.247801,1.40533 0.969943,0.92358 1.629975,2.13559 2.294198,3.2986 0.506957,0.88765 0.959277,1.81631 1.278751,2.78732 0.344161,1.04604 0.323439,2.19027 0.674401,3.23405 0.159479,0.4743 0.307981,0.9851 0.643681,1.35618 0.29351,0.32444 1.12359,0.67839 1.12359,0.67839 l 3.51703,-0.0353 c 0,0 0.60908,-0.53841 0.85291,-0.86029 0.30948,-0.40854 0.56924,-0.86124 0.75798,-1.33774 0.40745,-1.02868 0.41566,-2.18219 0.78501,-3.22516 0.33333,-0.94124 0.7585,-1.85697 1.28121,-2.70775 0.65606,-1.06783 1.41364,-2.08937 2.30495,-2.97042 0.71055,-0.70238 2.38913,-1.80999 2.38913,-1.80999 l 3.02913,0.91406 c 0,0 0.73493,1.53164 0.86981,2.3587 0.22504,1.37985 0.0171,2.80158 -0.12566,4.19235 -0.0993,0.9674 -0.20094,1.94998 -0.50696,2.87306 -0.34407,1.03787 -1.0694,1.91476 -1.47262,2.93111 -0.13309,0.33547 -0.29248,0.67705 -0.3094,1.03756 -0.0288,0.61402 0.35917,1.80877 0.35917,1.80877"
218
+ id="path18097" />
219
+ <path
220
+ style="fill:none;stroke:#0000ff;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
221
+ d="m 82.727496,809.11219 3.293049,4.88919"
222
+ id="path18099" />
223
+ <text
224
+ xml:space="preserve"
225
+ transform="matrix(0.26458333,0,0,0.26458333,-15.935557,-18.58923)"
226
+ id="text18101"
227
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18103);display:inline;fill:#0000ff"><tspan
228
+ x="360.34375"
229
+ y="3147.5957"
230
+ id="tspan4333">ah</tspan></text>
231
+ <path
232
+ style="fill:none;stroke:#0000ff;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
233
+ d="m 89.033387,812.4882 8.836055,-3.41442"
234
+ id="path18107" />
235
+ <text
236
+ xml:space="preserve"
237
+ transform="matrix(0.26458333,0,0,0.26458333,-3.038958,-19.462727)"
238
+ id="text18109"
239
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18111);display:inline;fill:#0000ff"><tspan
240
+ x="359.91797"
241
+ y="3149.8535"
242
+ id="tspan4335">at</tspan></text>
243
+ <path
244
+ style="fill:none;stroke:#008000;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
245
+ d="m 98.315435,809.11925 10.082485,-0.18679"
246
+ id="path18115" />
247
+ <text
248
+ xml:space="preserve"
249
+ transform="matrix(0.26458333,0,0,0.26458333,10.288398,-19.881195)"
250
+ id="text18117"
251
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18119);display:inline;fill:#008000"><tspan
252
+ x="343.88672"
253
+ y="3146.041"
254
+ id="tspan4337">dt</tspan></text>
255
+ <path
256
+ style="fill:none;stroke:#008000;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
257
+ d="m 120.43841,813.22682 -2.84242,4.85697"
258
+ id="path18123" />
259
+ <text
260
+ xml:space="preserve"
261
+ transform="matrix(0.26458333,0,0,0.26458333,19.922058,-14.587674)"
262
+ id="text18125"
263
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18127);display:inline;fill:#008000"><tspan
264
+ x="374.69141"
265
+ y="3148.0547"
266
+ id="tspan4339">dh</tspan></text>
267
+ <path
268
+ style="fill:none;stroke:#999999;stroke-width:0.529167;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
269
+ d="m 122.24583,825.88477 1.6846,-1.16665"
270
+ id="path18131" />
271
+ <text
272
+ xml:space="preserve"
273
+ transform="matrix(0.26458333,0,0,0.26458333,7.600444,-5.188046)"
274
+ id="text18133"
275
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18135);display:inline;fill:#999999"><tspan
276
+ x="417.92383"
277
+ y="3153.8828"
278
+ id="tspan4341">bh</tspan></text>
279
+ <text
280
+ xml:space="preserve"
281
+ transform="matrix(0.26458333,0,0,0.26458333,-2.95119,-13.680104)"
282
+ id="text18193"
283
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect18195);display:inline"><tspan
284
+ x="98.410156"
285
+ y="3379.6172"
286
+ id="tspan4343">gear-wheel circles</tspan></text>
287
+ <path
288
+ style="fill:none;stroke:#0000ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
289
+ d="m 103.89605,839.1082 36.72517,-5e-5"
290
+ id="path1333" />
291
+ <path
292
+ style="fill:none;stroke:#d40000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
293
+ d="m 103.89605,839.1082 29.86219,8.01949"
294
+ id="path1335" />
295
+ <path
296
+ style="fill:none;stroke:#2ad4ff;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
297
+ d="m 103.89605,839.10815 24.235,13.9824"
298
+ id="path1433" />
299
+ <path
300
+ style="fill:none;stroke:#008000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
301
+ d="m 103.89605,839.1082 16.7528,18.15943"
302
+ id="path1435" />
303
+ <path
304
+ style="fill:none;stroke:#999999;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
305
+ d="m 103.89605,839.1082 6.54955,21.4712"
306
+ id="path1437" />
307
+ <text
308
+ xml:space="preserve"
309
+ transform="matrix(0.26458333,0,0,0.26458333,12.483139,1.4787803)"
310
+ id="text1439"
311
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1441);display:inline;fill:#0000ff"><tspan
312
+ x="402.38086"
313
+ y="3162.545"
314
+ id="tspan4345">ar</tspan></text>
315
+ <text
316
+ xml:space="preserve"
317
+ transform="matrix(0.26458333,0,0,0.26458333,34.026129,5.1924366)"
318
+ id="text1445"
319
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1447);display:inline;fill:#d40000"><tspan
320
+ x="323.03516"
321
+ y="3164.5625"
322
+ id="tspan4347">pr</tspan></text>
323
+ <text
324
+ xml:space="preserve"
325
+ transform="matrix(0.26458333,0,0,0.26458333,67.749224,41.551168)"
326
+ id="text1451"
327
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1453);display:inline;fill:#00ccff"><tspan
328
+ x="190.86523"
329
+ y="3046.2696"
330
+ id="tspan4349">brr</tspan></text>
331
+ <text
332
+ xml:space="preserve"
333
+ transform="matrix(0.26458333,0,0,0.26458333,66.927128,43.406312)"
334
+ id="text1457"
335
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1459);display:inline;fill:#008000"><tspan
336
+ x="185.45312"
337
+ y="3056.8106"
338
+ id="tspan4351">dr</tspan></text>
339
+ <text
340
+ xml:space="preserve"
341
+ transform="matrix(0.26458333,0,0,0.26458333,61.42929,46.486748)"
342
+ id="text1463"
343
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1465);display:inline;fill:#999999"><tspan
344
+ x="180.66602"
345
+ y="3061.3067"
346
+ id="tspan4353">br</tspan></text>
347
+ </g>
348
+ </svg>