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,242 @@
1
+ // simplified_gear_wheel.ts
2
+
3
+ import type {
4
+ tParamDef,
5
+ tParamVal,
6
+ tGeom,
7
+ tPageDef,
8
+ tSubInst
9
+ //tSubDesign
10
+ } from 'geometrix';
11
+ //import { contour, contourCircle, figure, degToRad } from 'geometrix';
12
+ import {
13
+ designParam,
14
+ checkGeom,
15
+ prefixLog,
16
+ //contour,
17
+ figure,
18
+ //degToRad,
19
+ //ffix,
20
+ pNumber,
21
+ pCheckbox,
22
+ //pDropdown,
23
+ initGeom,
24
+ //EExtrude,
25
+ EBVolume
26
+ } from 'geometrix';
27
+ //import * as gwHelper from './gearWheelProfile';
28
+ //import * as welem from './wheelElements';
29
+
30
+ // design import
31
+ import { gearWheelWheelDef } from './gear_wheel_wheel';
32
+
33
+ const pDef: tParamDef = {
34
+ partName: 'simplified_gear_wheel',
35
+ params: [
36
+ //pNumber(name, unit, init, min, max, step)
37
+ pNumber('module', 'mm', 10, 0.1, 100, 0.1),
38
+ pNumber('N1', 'scalar', 23, 3, 1000, 1),
39
+ //pNumber('N2', 'scalar', 19, 3, 1000, 1),
40
+ //pNumber('angleCenterCenter', 'degree', 0, -180, 180, 1),
41
+ //pNumber('addInterAxis', 'mm', 0, 0, 100, 0.05),
42
+ pNumber('c1x', 'mm', 0, -200, 200, 1),
43
+ pNumber('c1y', 'mm', 0, -200, 200, 1),
44
+ //pNumber('ah1', 'scalar', 1, 0.1, 2, 0.05),
45
+ //pNumber('dh1', 'scalar', 1, 0.1, 2, 0.05),
46
+ //pNumber('bh1', 'scalar', 0.25, 0.1, 2, 0.05),
47
+ //pNumber('bRound1', 'mm', 2, 0, 50, 0.1),
48
+ //pNumber('ah2', 'scalar', 1, 0.1, 2, 0.05),
49
+ //pNumber('dh2', 'scalar', 1, 0.1, 2, 0.05),
50
+ //pNumber('bh2', 'scalar', 0.25, 0.1, 2, 0.05),
51
+ //pNumber('bRound2', 'mm', 2, 0, 50, 0.1),
52
+ //pNumber('at1', '%', 50, 10, 90, 0.5),
53
+ //pNumber('at2', '%', 50, 10, 90, 0.5),
54
+ //pCheckbox('involSym', true),
55
+ //pDropdown('involROpt', ['Optimum', 'Base-1', 'Base-2', 'PressureAngle', 'FreeBase-12']),
56
+ //pDropdown('involLOpt', ['Optimum', 'Base-1', 'Base-2', 'PressureAngle', 'FreeBase-12']),
57
+ //pNumber('brr1', 'mm', 50, 10, 2000, 0.05),
58
+ //pNumber('brr2', 'mm', 50, 10, 2000, 0.05),
59
+ //pNumber('blr1', 'mm', 50, 10, 2000, 0.05),
60
+ //pNumber('blr2', 'mm', 50, 10, 2000, 0.05),
61
+ //pNumber('involArcPairs1', 'scalar', 2, 1, 40, 1),
62
+ //pNumber('involArcPairs2', 'scalar', 2, 1, 40, 1),
63
+ //pNumber('skinThickness1', 'mm', 0, -3, 3, 0.01),
64
+ //pNumber('skinThickness2', 'mm', 0, -3, 3, 0.01),
65
+ //pNumber('initAngle1', 'degree', 0, -180, 180, 1),
66
+ //pDropdown('gw2Position', ['right', 'left', 'center']),
67
+ pCheckbox('centralAxis', true),
68
+ pNumber('axisRadius', 'mm', 10, 0.1, 200, 0.1),
69
+ pNumber('ribNb', 'scalar', 5, 0, 32, 1),
70
+ pNumber('ribWidth', 'mm', 8, 1, 100, 0.1),
71
+ pNumber('ribHeight', 'mm', 8, 1, 100, 0.1),
72
+ pNumber('ribRound1', 'mm', 2, 0, 20, 0.1),
73
+ pNumber('ribRound2', 'mm', 2, 0, 20, 0.1),
74
+ pCheckbox('hollow', true),
75
+ pNumber('materialHeightExt', 'mm', 20, 1, 200, 0.5),
76
+ pNumber('materialHeightInt', 'mm', 15, 1, 200, 0.5),
77
+ pNumber('spokeNb', 'scalar', 5, 1, 18, 1),
78
+ pNumber('spokeWidth', 'mm', 15, 1, 200, 0.1),
79
+ pNumber('spokeRound', 'mm', 10, 0, 20, 0.1),
80
+ pCheckbox('wheelAxis', true),
81
+ pNumber('wheelHeight', 'mm', 40, 0.1, 400, 0.1),
82
+ pNumber('wheelMidExtra', 'mm', 6, 0, 10, 0.1),
83
+ pNumber('wheelAxisLength', 'mm', 40, 0, 400, 0.1),
84
+ pNumber('wheelAxisRadius', 'mm', 20, 0, 200, 0.1),
85
+ pNumber('wheelMidRadius', 'mm', 60, 0, 200, 0.1),
86
+ pNumber('wheelRadiusExtra', 'mm', 1, 0, 20, 0.1),
87
+ pNumber('wheelAxisExtRound', 'mm', 4, 0, 20, 0.1),
88
+ pNumber('wheelAxisIntRound', 'mm', 0, 0, 20, 0.1),
89
+ pNumber('wheelExtraRound', 'mm', 4, 0, 20, 0.1)
90
+ ],
91
+ paramSvg: {
92
+ module: 'default_param_blank.svg',
93
+ N1: 'default_param_blank.svg',
94
+ //N2: 'default_param_blank.svg',
95
+ //angleCenterCenter: 'default_param_blank.svg',
96
+ //addInterAxis: 'default_param_blank.svg',
97
+ c1x: 'default_param_blank.svg',
98
+ c1y: 'default_param_blank.svg',
99
+ //ah1: 'default_param_blank.svg',
100
+ //dh1: 'default_param_blank.svg',
101
+ //bh1: 'default_param_blank.svg',
102
+ //bRound1: 'default_param_blank.svg',
103
+ //ah2: 'default_param_blank.svg',
104
+ //dh2: 'default_param_blank.svg',
105
+ //bh2: 'default_param_blank.svg',
106
+ //bRound2: 'default_param_blank.svg',
107
+ //at1: 'default_param_blank.svg',
108
+ //at2: 'default_param_blank.svg',
109
+ //involSym: 'default_param_blank.svg',
110
+ //involROpt: 'default_param_blank.svg',
111
+ //involLOpt: 'default_param_blank.svg',
112
+ //brr1: 'default_param_blank.svg',
113
+ //brr2: 'default_param_blank.svg',
114
+ //blr1: 'default_param_blank.svg',
115
+ //blr2: 'default_param_blank.svg',
116
+ //involArcPairs1: 'default_param_blank.svg',
117
+ //skinThickness1: 'default_param_blank.svg',
118
+ //involArcPairs2: 'default_param_blank.svg',
119
+ //skinThickness2: 'default_param_blank.svg',
120
+ //initAngle1: 'default_param_blank.svg',
121
+ //gw2Position: 'default_param_blank.svg',
122
+ centralAxis: 'default_param_blank.svg',
123
+ axisRadius: 'default_param_blank.svg',
124
+ ribNb: 'default_param_blank.svg',
125
+ ribWidth: 'default_param_blank.svg',
126
+ ribHeight: 'default_param_blank.svg',
127
+ ribRound1: 'default_param_blank.svg',
128
+ ribRound2: 'default_param_blank.svg',
129
+ hollow: 'default_param_blank.svg',
130
+ materialHeightExt: 'default_param_blank.svg',
131
+ materialHeightInt: 'default_param_blank.svg',
132
+ spokeNb: 'default_param_blank.svg',
133
+ spokeWidth: 'default_param_blank.svg',
134
+ spokeRound: 'default_param_blank.svg',
135
+ wheelAxis: 'default_param_blank.svg',
136
+ wheelHeight: 'default_param_blank.svg',
137
+ wheelMidExtra: 'default_param_blank.svg',
138
+ wheelAxisLength: 'default_param_blank.svg',
139
+ wheelAxisRadius: 'default_param_blank.svg',
140
+ wheelMidRadius: 'default_param_blank.svg',
141
+ wheelRadiusExtra: 'default_param_blank.svg',
142
+ wheelAxisExtRound: 'default_param_blank.svg',
143
+ wheelAxisIntRound: 'default_param_blank.svg',
144
+ wheelExtraRound: 'default_param_blank.svg'
145
+ },
146
+ sim: {
147
+ tMax: 100,
148
+ tStep: 0.5,
149
+ tUpdate: 500 // every 0.5 second
150
+ }
151
+ };
152
+
153
+ function pGeom(t: number, param: tParamVal): tGeom {
154
+ const rGeome = initGeom(pDef.partName);
155
+ const figOne = figure();
156
+ const figTwo = figure();
157
+ rGeome.logstr += `${rGeome.partName} simTime: ${t}\n`;
158
+ try {
159
+ // sub-design gear_wheel_wheel
160
+ const gearWWParam = designParam(gearWheelWheelDef.pDef);
161
+ gearWWParam.setVal('module', param.module);
162
+ gearWWParam.setVal('N1', param.N1);
163
+ gearWWParam.setVal('c1x', param.c1x);
164
+ gearWWParam.setVal('c1y', param.c1y);
165
+ gearWWParam.setVal('centralAxis', param.centralAxis);
166
+ gearWWParam.setVal('axisRadius', param.axisRadius);
167
+ gearWWParam.setVal('ribNb', param.ribNb);
168
+ gearWWParam.setVal('ribWidth', param.ribWidth);
169
+ gearWWParam.setVal('ribHeight', param.ribHeight);
170
+ gearWWParam.setVal('ribRound1', param.ribRound1);
171
+ gearWWParam.setVal('ribRound2', param.ribRound2);
172
+ gearWWParam.setVal('hollow', param.hollow);
173
+ gearWWParam.setVal('materialHeightExt', param.materialHeightExt);
174
+ gearWWParam.setVal('materialHeightInt', param.materialHeightInt);
175
+ gearWWParam.setVal('spokeNb', param.spokeNb);
176
+ gearWWParam.setVal('spokeWidth', param.spokeWidth);
177
+ gearWWParam.setVal('spokeRound', param.spokeRound);
178
+ gearWWParam.setVal('wheelAxis', param.wheelAxis);
179
+ gearWWParam.setVal('wheelHeight', param.wheelHeight);
180
+ gearWWParam.setVal('wheelMidExtra', param.wheelMidExtra);
181
+ gearWWParam.setVal('wheelAxisLength', param.wheelAxisLength);
182
+ gearWWParam.setVal('wheelAxisRadius', param.wheelAxisRadius);
183
+ gearWWParam.setVal('wheelMidRadius', param.wheelMidRadius);
184
+ gearWWParam.setVal('wheelRadiusExtra', param.wheelRadiusExtra);
185
+ gearWWParam.setVal('wheelAxisExtRound', param.wheelAxisExtRound);
186
+ gearWWParam.setVal('wheelAxisIntRound', param.wheelAxisIntRound);
187
+ gearWWParam.setVal('wheelExtraRound', param.wheelExtraRound);
188
+ const gearWWGeom = gearWheelWheelDef.pGeom(t, gearWWParam.getParamVal());
189
+ checkGeom(gearWWGeom);
190
+ rGeome.logstr += prefixLog(gearWWGeom.logstr, gearWWParam.partName);
191
+ // figures
192
+ figOne.mergeFigure(gearWWGeom.fig.teethProfile);
193
+ figTwo.mergeFigure(gearWWGeom.fig.axisProfile);
194
+ // final figure list
195
+ rGeome.fig = { teethProfile: figOne, axisProfile: figTwo };
196
+ const designName = rGeome.partName;
197
+ rGeome.vol = {
198
+ inherits: [
199
+ {
200
+ outName: `inpax_${designName}_gearWW`,
201
+ subdesign: 'pax_gear_wheel_wheel',
202
+ subgeom: gearWWGeom,
203
+ rotate: [0, 0, 0],
204
+ translate: [0, 0, 0]
205
+ }
206
+ ],
207
+ extrudes: [],
208
+ volumes: [
209
+ {
210
+ outName: `pax_${designName}`,
211
+ boolMethod: EBVolume.eIdentity,
212
+ inList: [`inpax_${designName}_gearWW`]
213
+ }
214
+ ]
215
+ };
216
+ // sub-design
217
+ const subGearWW: tSubInst = {
218
+ partName: gearWWParam.getPartName(),
219
+ dparam: gearWWParam.getDesignParamList(),
220
+ orientation: [0, 0, 0],
221
+ position: [0, 0, 0]
222
+ };
223
+ //console.log(subGearWW);
224
+ rGeome.sub = { gear_wheel_wheel_1: subGearWW };
225
+ // finalize
226
+ rGeome.logstr += 'simplified_gear_wheel draw successfully!\n';
227
+ rGeome.calcErr = false;
228
+ } catch (emsg) {
229
+ rGeome.logstr += emsg as string;
230
+ console.log(emsg as string);
231
+ }
232
+ return rGeome;
233
+ }
234
+
235
+ const simplifiedGearWheelDef: tPageDef = {
236
+ pTitle: 'Simplified gearwheel',
237
+ pDescription: 'One simplified gearwheel without details on teeth-profile',
238
+ pDef: pDef,
239
+ pGeom: pGeom
240
+ };
241
+
242
+ export { simplifiedGearWheelDef };
@@ -0,0 +1,376 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="496.42581"
6
+ height="326.29684"
7
+ viewBox="0 0 131.346 86.332701"
8
+ version="1.1"
9
+ id="svg5"
10
+ inkscape:version="1.2.2 (1:1.2.2+202305151914+b0a8486541)"
11
+ sodipodi:docname="involute_of_circle.svg"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg">
16
+ <sodipodi:namedview
17
+ id="namedview7"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#666666"
20
+ borderopacity="1.0"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ inkscape:document-units="px"
26
+ showgrid="false"
27
+ inkscape:zoom="0.84096521"
28
+ inkscape:cx="196.79768"
29
+ inkscape:cy="2695.1174"
30
+ inkscape:window-width="1366"
31
+ inkscape:window-height="836"
32
+ inkscape:window-x="0"
33
+ inkscape:window-y="0"
34
+ inkscape:window-maximized="1"
35
+ inkscape:current-layer="layer1" />
36
+ <defs
37
+ id="defs2">
38
+ <rect
39
+ x="80.722656"
40
+ y="2905.2812"
41
+ width="219.9375"
42
+ height="34.9375"
43
+ id="rect3755" />
44
+ <rect
45
+ x="241.29466"
46
+ y="2889.1084"
47
+ width="56.8489"
48
+ height="29.965031"
49
+ id="rect3749" />
50
+ <rect
51
+ x="255.32355"
52
+ y="2886.4417"
53
+ width="39.505447"
54
+ height="27.951433"
55
+ id="rect3743" />
56
+ <rect
57
+ x="322.16449"
58
+ y="2788.5667"
59
+ width="29.401554"
60
+ height="23.467106"
61
+ id="rect3737" />
62
+ <rect
63
+ x="205.20529"
64
+ y="2764.6763"
65
+ width="37.560215"
66
+ height="21.079929"
67
+ id="rect3515" />
68
+ <rect
69
+ x="209.5239"
70
+ y="2796.5251"
71
+ width="28.047419"
72
+ height="21.19663"
73
+ id="rect3507" />
74
+ <rect
75
+ x="223.65775"
76
+ y="2762.1863"
77
+ width="28.339514"
78
+ height="20.408731"
79
+ id="rect3501" />
80
+ <rect
81
+ x="215.28928"
82
+ y="2988.8647"
83
+ width="129.62225"
84
+ height="45.223335"
85
+ id="rect3483" />
86
+ <rect
87
+ x="112.51489"
88
+ y="2834.6582"
89
+ width="67.115128"
90
+ height="20.775997"
91
+ id="rect3477" />
92
+ <rect
93
+ x="203.82033"
94
+ y="2850.7834"
95
+ width="159.76208"
96
+ height="25.01298"
97
+ id="rect3421" />
98
+ <rect
99
+ x="203.82033"
100
+ y="2818.7695"
101
+ width="152.98759"
102
+ height="25.34964"
103
+ id="rect3415" />
104
+ </defs>
105
+ <g
106
+ inkscape:label="Layer 1"
107
+ inkscape:groupmode="layer"
108
+ id="layer1"
109
+ transform="translate(-13.030729,-688.99255)">
110
+ <rect
111
+ style="fill:#ffffff;stroke:#ffffff;stroke-width:0.264583"
112
+ id="rect3811"
113
+ width="131.08141"
114
+ height="86.06813"
115
+ x="13.16302"
116
+ y="689.12488" />
117
+ <path
118
+ style="fill:none;stroke:#cccccc;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
119
+ d="m 46.318267,735.69136 60.486013,-0.0399"
120
+ id="path3495" />
121
+ <g
122
+ inkscape:label="Rendered Gears"
123
+ transform="matrix(1.9488966,0,0,1.9520844,46.115894,735.70665)"
124
+ id="g1558"
125
+ style="stroke-width:0.512691">
126
+ <path
127
+ style="fill:none;stroke:#000000;stroke-width:0.135649"
128
+ d="m 12.5603,-1.35297 0.8162,-0.08792 0.8797,0.11985 1.7354,0.75345 v 1.13518 l -1.7354,0.75345 -0.8797,0.11985 -0.8162,-0.08792 -0.3594,1.92272 0.7928,0.21287 0.7771,0.42956 1.346,1.32947 L 14.7067,6.3061 12.8163,6.38178 11.9527,6.17573 11.2233,5.79889 10.1936,7.46194 10.8561,7.94686 11.4255,8.62811 12.2003,10.354 11.4356,11.1929 9.64551,10.5806 8.91463,10.0765 8.37066,9.46165 6.80972,10.6404 7.25225,11.3319 7.53709,12.1728 7.63617,14.0621 6.62,14.5681 5.17201,13.3505 4.67259,12.6164 4.38747,11.8466 2.50611,12.3819 2.66897,13.1865 2.6308,14.0735 2.04069,15.8711 0.91036,15.9758 0,14.3173 l -0.20051,-0.8649 0.01223,-0.8209 -1.94768,-0.1805 -0.13881,0.8092 -0.35603,0.8133 -1.1996,1.463 -1.09184,-0.3107 -0.24977,-1.8753 0.12548,-0.879 0.30793,-0.761 -1.75096,-0.8719 -0.42172,0.7044 -0.62581,0.6298 -1.64708,0.9309 -0.90593,-0.6842 0.44459,-1.8389 0.43452,-0.77426 0.56205,-0.59838 -1.31777,-1.44552 -0.64769,0.50444 -0.8111,0.36123 -1.8721,0.27297 -0.5976,-0.96514 1.0789,-1.55416 0.6849,-0.56503 0.7402,-0.35494 -0.7066,-1.82394 -0.7862,0.23641 -0.8868,0.04384 -1.8443,-0.42174 -0.2085,-1.11585 1.5674,-1.05949 0.8427,-0.27947 0.8185,-0.06356 v -1.95602 l -0.8185,-0.06356 -0.8427,-0.27947 -1.5674,-1.05949 0.2085,-1.11585 1.8443,-0.42174 0.8868,0.04384 0.7862,0.23641 0.7066,-1.82394 -0.7402,-0.35494 -0.6849,-0.56503 -1.0789,-1.55416 0.5976,-0.96514 1.8721,0.27297 0.8111,0.36123 0.64769,0.50444 1.31777,-1.44552 -0.56205,-0.59838 -0.43452,-0.77426 -0.44459,-1.8389 0.90593,-0.6842 1.64708,0.9309 0.62581,0.6298 0.42172,0.7044 1.75096,-0.8719 -0.30793,-0.761 -0.12548,-0.879 0.24977,-1.8753 1.09184,-0.3107 1.1996,1.463 0.35603,0.8133 0.13881,0.8092 1.94768,-0.1805 -0.01223,-0.8209 L 0,-14.3173 l 0.91036,-1.6585 1.13033,0.1047 0.59011,1.7976 0.03817,0.887 -0.16286,0.8046 1.88136,0.5353 0.28512,-0.7698 0.49942,-0.7341 1.44799,-1.2176 1.01617,0.506 -0.09908,1.8893 -0.28484,0.8409 -0.44253,0.6915 1.56094,1.17875 0.54397,-0.61485 0.73088,-0.5041 1.79009,-0.6123 0.7647,0.8389 -0.7748,1.72589 -0.5694,0.68125 -0.6625,0.48492 1.0297,1.66305 0.7294,-0.37684 0.8636,-0.20605 1.8904,0.07568 0.4101,1.05851 -1.346,1.32947 -0.7771,0.42956 -0.7928,0.21287 z"
129
+ id="path1554" />
130
+ <circle
131
+ style="fill:none;stroke:#000000;stroke-width:0.135649"
132
+ id="path1556"
133
+ cx="0"
134
+ cy="0"
135
+ r="2.6458333" />
136
+ </g>
137
+ <g
138
+ inkscape:label="Rendered Gears"
139
+ transform="matrix(1.9488966,0,0,1.9520844,106.80428,735.65148)"
140
+ id="g2785"
141
+ style="stroke-width:0.512691">
142
+ <path
143
+ style="fill:none;stroke:#000000;stroke-width:0.135649"
144
+ d="m 14.2492,-1.39484 0.7159,-0.07008 0.982,0.14351 1.7295,0.74161 v 1.1596 l -1.7295,0.74161 -0.982,0.14351 -0.7159,-0.07008 -0.3192,1.91261 0.7,0.16618 0.8821,0.45456 1.395,1.263 -0.3765,1.09678 -1.8767,0.13984 -0.9753,-0.18309 -0.6544,-0.29875 -0.9228,1.70535 0.608,0.38444 0.6867,0.71634 0.9093,1.6475 -0.7122,0.9151 -1.8204,-0.477 -0.863,-0.4899 -0.5219,-0.49503 -1.42661,1.31333 0.45026,0.561 0.4169,0.9005 0.32515,1.8535 L 9.18278,15.1154 7.61597,14.0731 6.95878,13.3296 6.62587,12.6919 4.85013,13.4708 5.09382,14.1476 5.19574,15.1347 4.90141,16.9933 3.77728,17.278 2.63379,15.7835 2.25363,14.8668 2.14582,14.1556 0.21338,14.3157 0.2241,15.035 0,16.0017 l -0.8819,1.6624 -1.15564,-0.0958 -0.59625,-1.7848 -0.06194,-0.9904 0.12897,-0.7077 -1.87973,-0.4761 -0.22341,0.6838 -0.52584,0.8416 -1.37389,1.2859 -1.06194,-0.4658 0.0156,-1.8817 0.263,-0.9569 0.35177,-0.6275 -1.62331,-1.0605 -0.43334,0.5742 -0.7706,0.6252 -1.71705,0.7702 -0.8531,-0.7854 0.6258,-1.7747 0.5594,-0.8196 0.5365,-0.47932 -1.191,-1.53018 -0.5963,0.40238 -0.9319,0.34112 -1.874,0.17095 -0.552,-1.01985 1.1682,-1.47539 0.7952,-0.59354 0.663,-0.27912 -0.6296,-1.83399 -0.6946,0.18696 -0.9922,0.02007 -1.828,-0.44682 -0.1908,-1.1438 1.5838,-1.01616 0.9449,-0.30317 0.7178,-0.04871 v -1.93906 l -0.7178,-0.04871 -0.9449,-0.30317 -1.5838,-1.01616 0.1908,-1.1438 1.828,-0.44682 0.9922,0.02007 0.6946,0.18696 0.6296,-1.83399 -0.663,-0.27912 -0.7952,-0.59354 -1.1682,-1.47539 0.552,-1.01985 1.874,0.17095 0.9319,0.34112 0.5963,0.40238 1.191,-1.53018 -0.5365,-0.47932 -0.5594,-0.8196 -0.6258,-1.7747 0.8531,-0.7854 1.71705,0.7702 0.7706,0.6252 0.43334,0.5742 1.62331,-1.0605 -0.35177,-0.6275 -0.263,-0.9569 -0.0156,-1.8817 1.06194,-0.4658 1.37389,1.2859 0.52584,0.8416 0.22341,0.6838 1.87973,-0.4761 -0.12897,-0.7077 0.06194,-0.9904 0.59625,-1.7848 1.15564,-0.0958 0.8819,1.6624 0.2241,0.9667 -0.01072,0.7193 1.93244,0.1601 0.10781,-0.7112 0.38016,-0.9167 1.14349,-1.4945 1.12413,0.2847 0.29433,1.8586 -0.10192,0.9871 -0.24369,0.6768 1.77574,0.7789 0.33291,-0.6377 0.65719,-0.7435 1.56681,-1.0423 0.97082,0.6343 -0.32515,1.8535 -0.4169,0.9005 -0.45026,0.561 1.42661,1.31333 0.5219,-0.49503 0.863,-0.4899 1.8204,-0.477 0.7122,0.9151 -0.9093,1.6475 -0.6867,0.71634 -0.608,0.38444 0.9228,1.70535 0.6544,-0.29875 0.9753,-0.18309 1.8767,0.13984 0.3765,1.09678 -1.395,1.263 -0.8821,0.45456 -0.7,0.16618 z"
145
+ id="path2781" />
146
+ <circle
147
+ style="fill:none;stroke:#000000;stroke-width:0.135649"
148
+ id="path2783"
149
+ cx="0"
150
+ cy="0"
151
+ r="2.6458333" />
152
+ </g>
153
+ <ellipse
154
+ style="fill:none;stroke:#008080;stroke-width:0.264583"
155
+ id="path3070"
156
+ cx="46.318268"
157
+ cy="735.69135"
158
+ rx="21.987507"
159
+ ry="22.023472" />
160
+ <ellipse
161
+ style="fill:none;stroke:#008080;stroke-width:0.264583"
162
+ id="path3070-3"
163
+ cx="106.89527"
164
+ cy="735.49335"
165
+ rx="25.288029"
166
+ ry="25.329393" />
167
+ <path
168
+ style="fill:none;stroke:#ffcc00;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
169
+ d="m 63.335377,721.76042 24.14481,29.87442"
170
+ id="path3153"
171
+ sodipodi:nodetypes="cc" />
172
+ <path
173
+ style="fill:none;stroke:#008080;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
174
+ d="M 46.115894,735.70666 63.504926,721.58407"
175
+ id="path3153-6"
176
+ sodipodi:nodetypes="cc" />
177
+ <path
178
+ style="fill:none;stroke:#008080;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
179
+ d="M 87.328596,751.59687 106.94855,735.65404"
180
+ id="path3153-6-7"
181
+ sodipodi:nodetypes="cc" />
182
+ <ellipse
183
+ style="fill:none;stroke:#ffe6d5;stroke-width:0.264583"
184
+ id="path3070-5"
185
+ cx="46.318268"
186
+ cy="735.69135"
187
+ rx="31.308842"
188
+ ry="31.360056" />
189
+ <ellipse
190
+ style="fill:none;stroke:#ffd5d5;stroke-width:0.264583"
191
+ id="path3070-3-3"
192
+ cx="106.89527"
193
+ cy="735.49335"
194
+ rx="34.608765"
195
+ ry="34.665375" />
196
+ <path
197
+ style="fill:none;stroke:#ff0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
198
+ d="m 72.399986,732.90545 5.139704,6.46397"
199
+ id="path3359"
200
+ sodipodi:nodetypes="cc" />
201
+ <text
202
+ xml:space="preserve"
203
+ transform="matrix(0.26458333,0,0,0.26458333,-12.20622,-49.382837)"
204
+ id="text3413"
205
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3415)"><tspan
206
+ x="203.82031"
207
+ y="2831.7461"
208
+ id="tspan4943">action line full</tspan></text>
209
+ <text
210
+ xml:space="preserve"
211
+ transform="matrix(0.26458333,0,0,0.26458333,7.8359705,-63.273987)"
212
+ id="text3419"
213
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3421)"><tspan
214
+ x="203.82031"
215
+ y="2863.7598"
216
+ id="tspan4945">action line restricted</tspan></text>
217
+ <text
218
+ xml:space="preserve"
219
+ transform="matrix(0.26458333,0,0,0.26458333,19.497625,-27.345499)"
220
+ id="text3475"
221
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3477)"><tspan
222
+ x="112.51562"
223
+ y="2847.6348"
224
+ id="tspan4947">brr1</tspan></text>
225
+ <text
226
+ xml:space="preserve"
227
+ transform="matrix(0.26458333,0,0,0.26458333,41.019932,-45.951372)"
228
+ id="text3481"
229
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3483)"><tspan
230
+ x="215.28906"
231
+ y="3001.8418"
232
+ id="tspan4949">brr2</tspan></text>
233
+ <path
234
+ style="fill:none;stroke:#ffcc00;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
235
+ d="m 64.511222,700.51005 2.12736,24.95649"
236
+ id="path3487"
237
+ sodipodi:nodetypes="cc" />
238
+ <path
239
+ style="fill:none;stroke:#ffcc00;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
240
+ d="M 42.215659,700.67561 H 68.709457"
241
+ id="path3489" />
242
+ <path
243
+ style="fill:none;stroke:#ff0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
244
+ d="M 62.115771,695.28724 H 101.67875"
245
+ id="path3491" />
246
+ <path
247
+ style="fill:none;stroke:#ff0000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
248
+ d="M 85.798724,695.17905 73.980928,734.49522"
249
+ id="path3493"
250
+ sodipodi:nodetypes="cc" />
251
+ <path
252
+ style="fill:none;stroke:#37c837;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
253
+ d="m 75.075459,737.6615 -28.959564,-1.95485 22.000028,2.65345"
254
+ id="path3497"
255
+ sodipodi:nodetypes="ccc" />
256
+ <text
257
+ xml:space="preserve"
258
+ transform="matrix(0.26458333,0,0,0.26458333,5.5507234,2.443663)"
259
+ id="text3499"
260
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3501);fill:#d42aff"><tspan
261
+ x="223.6582"
262
+ y="2775.1621"
263
+ id="tspan4951">1</tspan></text>
264
+ <text
265
+ xml:space="preserve"
266
+ transform="matrix(0.26458333,0,0,0.26458333,7.6963966,-2.1144308)"
267
+ id="text3505"
268
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3507);fill:#d42aff"><tspan
269
+ x="209.52344"
270
+ y="2809.502"
271
+ id="tspan4953">2</tspan></text>
272
+ <path
273
+ style="fill:none;stroke:#37c837;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
274
+ d="M 46.29318,735.69691 64.03795,722.6923"
275
+ id="path3511"
276
+ sodipodi:nodetypes="cc" />
277
+ <text
278
+ xml:space="preserve"
279
+ transform="matrix(0.26458333,0,0,0.26458333,4.0677169,-4.7093725)"
280
+ id="text3513"
281
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3515);fill:#d42aff"><tspan
282
+ x="205.20508"
283
+ y="2777.6524"
284
+ id="tspan4955">3</tspan></text>
285
+ <rect
286
+ style="fill:none;stroke:#6600ff;stroke-width:0.264583"
287
+ id="rect3571"
288
+ width="1.1360521"
289
+ height="1.0465273"
290
+ x="63.487186"
291
+ y="722.29895" />
292
+ <rect
293
+ style="fill:none;stroke:#6600ff;stroke-width:0.264583"
294
+ id="rect3571-5"
295
+ width="1.1360521"
296
+ height="1.0465273"
297
+ x="67.265503"
298
+ y="726.90417" />
299
+ <rect
300
+ style="fill:none;stroke:#6600ff;stroke-width:0.264583"
301
+ id="rect3571-5-6"
302
+ width="1.1360521"
303
+ height="1.0465273"
304
+ x="71.244972"
305
+ y="731.71967" />
306
+ <rect
307
+ style="fill:none;stroke:#6600ff;stroke-width:0.264583"
308
+ id="rect3571-5-2"
309
+ width="1.1360521"
310
+ height="1.0465273"
311
+ x="75.170364"
312
+ y="736.80084" />
313
+ <rect
314
+ style="fill:none;stroke:#6600ff;stroke-width:0.264583"
315
+ id="rect3571-5-9"
316
+ width="1.1360521"
317
+ height="1.0465273"
318
+ x="78.847282"
319
+ y="741.20984" />
320
+ <rect
321
+ style="fill:none;stroke:#6600ff;stroke-width:0.264583"
322
+ id="rect3571-5-1"
323
+ width="1.1360521"
324
+ height="1.0465273"
325
+ x="82.472488"
326
+ y="745.71204" />
327
+ <rect
328
+ style="fill:none;stroke:#6600ff;stroke-width:0.264583"
329
+ id="rect3571-5-27"
330
+ width="1.1360521"
331
+ height="1.0465273"
332
+ x="86.139526"
333
+ y="749.98914" />
334
+ <path
335
+ style="fill:none;stroke:#37c837;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
336
+ d="m 86.641238,750.65344 20.163552,-14.9552"
337
+ id="path3731" />
338
+ <path
339
+ style="fill:#37c837;stroke:#37c837;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
340
+ d="M 83.376023,758.6378 106.81268,735.7145"
341
+ id="path3733"
342
+ sodipodi:nodetypes="cc" />
343
+ <text
344
+ xml:space="preserve"
345
+ transform="matrix(0.26458333,0,0,0.26458333,0.42898847,7.7751419)"
346
+ id="text3735"
347
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3737);fill:#d42aff"><tspan
348
+ x="322.16406"
349
+ y="2801.543"
350
+ id="tspan4957">5</tspan></text>
351
+ <text
352
+ xml:space="preserve"
353
+ transform="matrix(0.26458333,0,0,0.26458333,23.935291,-13.665877)"
354
+ id="text3741"
355
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3743);fill:#d42aff"><tspan
356
+ x="255.32422"
357
+ y="2899.418"
358
+ id="tspan4959">6</tspan></text>
359
+ <text
360
+ xml:space="preserve"
361
+ transform="matrix(0.26458333,0,0,0.26458333,-0.35919562,-46.475456)"
362
+ id="text3747"
363
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3749);fill:#d42aff"><tspan
364
+ x="241.29492"
365
+ y="2902.086"
366
+ id="tspan4961">4</tspan></text>
367
+ <text
368
+ xml:space="preserve"
369
+ transform="matrix(0.26458333,0,0,0.26458333,-3.4860921,1.1348145)"
370
+ id="text3753"
371
+ style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect3755)"><tspan
372
+ x="80.722656"
373
+ y="2918.2578"
374
+ id="tspan4963">calculation of initAngle2</tspan></text>
375
+ </g>
376
+ </svg>