designix 0.5.11 → 0.5.12

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 (239) hide show
  1. package/dist/index.d.ts +59 -0
  2. package/dist/index.js +5669 -0
  3. package/dist/index.js.map +1 -0
  4. package/package.json +6 -1
  5. package/.eslintignore +0 -17
  6. package/.eslintrc.cjs +0 -24
  7. package/.prettierignore +0 -15
  8. package/.prettierrc +0 -8
  9. package/export_svg/base.svg +0 -1
  10. package/export_svg/base_cut.svg +0 -1
  11. package/export_svg/base_hollow.svg +0 -1
  12. package/export_svg/base_top.svg +0 -1
  13. package/export_svg/calculation_of_initAngle2.svg +0 -1
  14. package/export_svg/circles.svg +0 -1
  15. package/export_svg/circles_amplitude-offset.svg +0 -1
  16. package/export_svg/circles_amplitude-scale.svg +0 -1
  17. package/export_svg/circles_angle.svg +0 -1
  18. package/export_svg/default_param_blank.svg +0 -1
  19. package/export_svg/dummy_pole_static.svg +0 -1
  20. package/export_svg/dummy_pole_static_face.svg +0 -1
  21. package/export_svg/gear_addendeum_dedendum_sizes.svg +0 -9
  22. package/export_svg/gear_addendum_and_dedendum.svg +0 -1
  23. package/export_svg/gear_adherence_replaced_by_teeth.svg +0 -1
  24. package/export_svg/gear_base_circle_for_involute.svg +0 -2
  25. package/export_svg/gear_base_left_circle_for_involute.svg +0 -2
  26. package/export_svg/gear_base_right_circle_for_involute.svg +0 -2
  27. package/export_svg/gear_inter_axis_maximum_distance.svg +0 -1
  28. package/export_svg/gear_inter_axis_minimum_distance.svg +0 -1
  29. package/export_svg/gear_large_base_radius.svg +0 -5
  30. package/export_svg/gear_module_and_tooth_thickness.svg +0 -3
  31. package/export_svg/gear_optimum_base_radius.svg +0 -5
  32. package/export_svg/gear_optimum_base_radius_with_longer_inter_axis.svg +0 -5
  33. package/export_svg/gear_right_left_base_circles.svg +0 -1
  34. package/export_svg/gear_small_base_radius.svg +0 -5
  35. package/export_svg/gear_wheel_circles.svg +0 -2
  36. package/export_svg/gears.svg +0 -71
  37. package/export_svg/gears_motion_transmission_via_adherence.svg +0 -1
  38. package/export_svg/heliostat.svg +0 -1
  39. package/export_svg/heliostat2_face_sizing.svg +0 -1
  40. package/export_svg/heliostat2_side_sizing.svg +0 -1
  41. package/export_svg/heliostat_face_sizing.svg +0 -1
  42. package/export_svg/heliostat_overview.svg +0 -1
  43. package/export_svg/heliostat_side.svg +0 -1
  44. package/export_svg/heliostat_side_sizing.svg +0 -1
  45. package/export_svg/involute_of_circle.svg +0 -19
  46. package/export_svg/involute_of_circle_R0.svg +0 -1
  47. package/export_svg/involute_of_circle_Ri1_u0.svg +0 -1
  48. package/export_svg/involute_of_circle_Ri2_u2.svg +0 -1
  49. package/export_svg/left_side_angle_kitchen.svg +0 -1
  50. package/export_svg/negative_involute_of_circle_R0.svg +0 -1
  51. package/export_svg/point_c_position_and_speed_negative.svg +0 -1
  52. package/export_svg/point_c_position_and_speed_positive.svg +0 -1
  53. package/export_svg/pole_rotor.svg +0 -1
  54. package/export_svg/pole_rotor_cut.svg +0 -1
  55. package/export_svg/pole_rotor_ends.svg +0 -1
  56. package/export_svg/pole_stator.svg +0 -3
  57. package/export_svg/pole_stator_E2.svg +0 -3
  58. package/export_svg/pole_stator_bottom.svg +0 -1
  59. package/export_svg/pole_stator_cut.svg +0 -1
  60. package/export_svg/pole_stator_face.svg +0 -1
  61. package/export_svg/pole_stator_right.svg +0 -1
  62. package/export_svg/rake.svg +0 -1
  63. package/export_svg/rake_door.svg +0 -1
  64. package/export_svg/rake_face.svg +0 -1
  65. package/export_svg/rake_side.svg +0 -1
  66. package/export_svg/rake_side_stopper.svg +0 -1
  67. package/export_svg/rake_top.svg +0 -1
  68. package/export_svg/rake_top_stopper.svg +0 -1
  69. package/export_svg/rectangle.svg +0 -1
  70. package/export_svg/rectangle_height.svg +0 -1
  71. package/export_svg/rectangle_width.svg +0 -1
  72. package/export_svg/right_side_angle_kitchen.svg +0 -1
  73. package/export_svg/rod.svg +0 -1
  74. package/export_svg/rod_cut.svg +0 -1
  75. package/export_svg/rod_plate.svg +0 -1
  76. package/export_svg/rod_top.svg +0 -1
  77. package/export_svg/spider.svg +0 -1
  78. package/export_svg/spider_lateral.svg +0 -1
  79. package/export_svg/spider_profile.svg +0 -1
  80. package/export_svg/surface.svg +0 -3
  81. package/export_svg/surface_crenel.svg +0 -1
  82. package/export_svg/surface_extremities.svg +0 -2
  83. package/export_svg/surface_lz.svg +0 -1
  84. package/export_svg/surface_main.svg +0 -1
  85. package/export_svg/surface_power.svg +0 -2
  86. package/export_svg/surface_space_evolution.svg +0 -1
  87. package/export_svg/surface_space_shape.svg +0 -1
  88. package/export_svg/swing.svg +0 -1
  89. package/export_svg/swing_face.svg +0 -1
  90. package/export_svg/swing_side.svg +0 -1
  91. package/export_svg/swing_top.svg +0 -1
  92. package/export_svg/swing_with_rod.svg +0 -1
  93. package/export_svg/trapeze.svg +0 -1
  94. package/export_svg/trapeze_rod.svg +0 -1
  95. package/export_svg/trapeze_side.svg +0 -1
  96. package/export_svg/trapeze_top.svg +0 -1
  97. package/export_svg/verify_contour_1.svg +0 -1
  98. package/export_svg/verify_contour_1_l1.svg +0 -1
  99. package/export_svg/verify_contour_1_r1.svg +0 -1
  100. package/export_svg/verify_line.svg +0 -1
  101. package/export_svg/verify_line_2_l1cx.svg +0 -1
  102. package/export_svg/verify_line_p1x.svg +0 -1
  103. package/export_svg/verify_point.svg +0 -1
  104. package/export_svg/verify_point_p1x.svg +0 -1
  105. package/export_svg/verify_vector_p1x.svg +0 -1
  106. package/src/dummy/circles.ts +0 -65
  107. package/src/dummy/pole_static.ts +0 -86
  108. package/src/dummy/rectangle.ts +0 -55
  109. package/src/dummy/svg/circles.svg +0 -288
  110. package/src/dummy/svg/circles_amplitude-offset.svg +0 -109
  111. package/src/dummy/svg/circles_amplitude-scale.svg +0 -122
  112. package/src/dummy/svg/circles_angle.svg +0 -110
  113. package/src/dummy/svg/dummy_pole_static.svg +0 -192
  114. package/src/dummy/svg/dummy_pole_static_face.svg +0 -176
  115. package/src/dummy/svg/rectangle.svg +0 -131
  116. package/src/dummy/svg/rectangle_height.svg +0 -82
  117. package/src/dummy/svg/rectangle_width.svg +0 -81
  118. package/src/gears/gearWheelProfile.test.ts +0 -25
  119. package/src/gears/gearWheelProfile.ts +0 -753
  120. package/src/gears/gear_wheel_wheel.ts +0 -335
  121. package/src/gears/involute.test.ts +0 -21
  122. package/src/gears/involute.ts +0 -113
  123. package/src/gears/simplified_gear_wheel.ts +0 -242
  124. package/src/gears/svg/calculation_of_initAngle2.svg +0 -376
  125. package/src/gears/svg/gear_addendeum_dedendum_sizes.svg +0 -471
  126. package/src/gears/svg/gear_addendum_and_dedendum.svg +0 -269
  127. package/src/gears/svg/gear_adherence_replaced_by_teeth.svg +0 -168
  128. package/src/gears/svg/gear_base_circle_for_involute.svg +0 -376
  129. package/src/gears/svg/gear_base_left_circle_for_involute.svg +0 -556
  130. package/src/gears/svg/gear_base_right_circle_for_involute.svg +0 -516
  131. package/src/gears/svg/gear_inter_axis_maximum_distance.svg +0 -218
  132. package/src/gears/svg/gear_inter_axis_minimum_distance.svg +0 -218
  133. package/src/gears/svg/gear_large_base_radius.svg +0 -199
  134. package/src/gears/svg/gear_module_and_tooth_thickness.svg +0 -319
  135. package/src/gears/svg/gear_optimum_base_radius.svg +0 -232
  136. package/src/gears/svg/gear_optimum_base_radius_with_longer_inter_axis.svg +0 -344
  137. package/src/gears/svg/gear_right_left_base_circles.svg +0 -295
  138. package/src/gears/svg/gear_small_base_radius.svg +0 -163
  139. package/src/gears/svg/gear_wheel_circles.svg +0 -348
  140. package/src/gears/svg/gears.svg +0 -4726
  141. package/src/gears/svg/gears_motion_transmission_via_adherence.svg +0 -178
  142. package/src/gears/svg/involute_of_circle.svg +0 -2745
  143. package/src/gears/svg/involute_of_circle_R0.svg +0 -334
  144. package/src/gears/svg/involute_of_circle_Ri1_u0.svg +0 -297
  145. package/src/gears/svg/involute_of_circle_Ri2_u2.svg +0 -386
  146. package/src/gears/svg/left_side_angle_kitchen.svg +0 -207
  147. package/src/gears/svg/negative_involute_of_circle_R0.svg +0 -381
  148. package/src/gears/svg/point_c_position_and_speed_negative.svg +0 -343
  149. package/src/gears/svg/point_c_position_and_speed_positive.svg +0 -339
  150. package/src/gears/svg/right_side_angle_kitchen.svg +0 -201
  151. package/src/gears/wheelElements.test.ts +0 -13
  152. package/src/gears/wheelElements.ts +0 -176
  153. package/src/geometrix_verification/svg/verify_contour_1.svg +0 -320
  154. package/src/geometrix_verification/svg/verify_contour_1_l1.svg +0 -102
  155. package/src/geometrix_verification/svg/verify_contour_1_r1.svg +0 -170
  156. package/src/geometrix_verification/svg/verify_line.svg +0 -845
  157. package/src/geometrix_verification/svg/verify_line_2_l1cx.svg +0 -274
  158. package/src/geometrix_verification/svg/verify_line_p1x.svg +0 -261
  159. package/src/geometrix_verification/svg/verify_point.svg +0 -350
  160. package/src/geometrix_verification/svg/verify_point_p1x.svg +0 -258
  161. package/src/geometrix_verification/svg/verify_vector_p1x.svg +0 -282
  162. package/src/geometrix_verification/verify_contour_1.ts +0 -94
  163. package/src/geometrix_verification/verify_contour_2.ts +0 -267
  164. package/src/geometrix_verification/verify_contour_3.ts +0 -409
  165. package/src/geometrix_verification/verify_contour_4.ts +0 -91
  166. package/src/geometrix_verification/verify_exports_1.ts +0 -95
  167. package/src/geometrix_verification/verify_line.ts +0 -76
  168. package/src/geometrix_verification/verify_line_2.ts +0 -76
  169. package/src/geometrix_verification/verify_line_3.ts +0 -64
  170. package/src/geometrix_verification/verify_point.ts +0 -62
  171. package/src/geometrix_verification/verify_point_2.ts +0 -66
  172. package/src/geometrix_verification/verify_vector.ts +0 -70
  173. package/src/heliostat/base.ts +0 -254
  174. package/src/heliostat/heliostat.ts +0 -317
  175. package/src/heliostat/heliostat_2.ts +0 -284
  176. package/src/heliostat/pole_rotor.ts +0 -165
  177. package/src/heliostat/pole_static.ts +0 -275
  178. package/src/heliostat/rake.ts +0 -486
  179. package/src/heliostat/rake_stopper.ts +0 -409
  180. package/src/heliostat/rod.ts +0 -200
  181. package/src/heliostat/spider.ts +0 -238
  182. package/src/heliostat/surface.ts +0 -320
  183. package/src/heliostat/svg/base.svg +0 -1367
  184. package/src/heliostat/svg/base_cut.svg +0 -459
  185. package/src/heliostat/svg/base_hollow.svg +0 -469
  186. package/src/heliostat/svg/base_top.svg +0 -338
  187. package/src/heliostat/svg/heliostat.svg +0 -8013
  188. package/src/heliostat/svg/heliostat2_face_sizing.svg +0 -1386
  189. package/src/heliostat/svg/heliostat2_side_sizing.svg +0 -984
  190. package/src/heliostat/svg/heliostat_face_sizing.svg +0 -1448
  191. package/src/heliostat/svg/heliostat_overview.svg +0 -1552
  192. package/src/heliostat/svg/heliostat_side.svg +0 -1470
  193. package/src/heliostat/svg/heliostat_side_sizing.svg +0 -1128
  194. package/src/heliostat/svg/pole_rotor.svg +0 -592
  195. package/src/heliostat/svg/pole_rotor_cut.svg +0 -287
  196. package/src/heliostat/svg/pole_rotor_ends.svg +0 -336
  197. package/src/heliostat/svg/pole_stator.svg +0 -1945
  198. package/src/heliostat/svg/pole_stator_E2.svg +0 -410
  199. package/src/heliostat/svg/pole_stator_bottom.svg +0 -330
  200. package/src/heliostat/svg/pole_stator_cut.svg +0 -465
  201. package/src/heliostat/svg/pole_stator_face.svg +0 -457
  202. package/src/heliostat/svg/pole_stator_right.svg +0 -357
  203. package/src/heliostat/svg/rake.svg +0 -4691
  204. package/src/heliostat/svg/rake_door.svg +0 -617
  205. package/src/heliostat/svg/rake_face.svg +0 -1211
  206. package/src/heliostat/svg/rake_side.svg +0 -809
  207. package/src/heliostat/svg/rake_side_stopper.svg +0 -596
  208. package/src/heliostat/svg/rake_top.svg +0 -514
  209. package/src/heliostat/svg/rake_top_stopper.svg +0 -565
  210. package/src/heliostat/svg/rod.svg +0 -1314
  211. package/src/heliostat/svg/rod_cut.svg +0 -265
  212. package/src/heliostat/svg/rod_plate.svg +0 -409
  213. package/src/heliostat/svg/rod_top.svg +0 -577
  214. package/src/heliostat/svg/spider.svg +0 -693
  215. package/src/heliostat/svg/spider_lateral.svg +0 -222
  216. package/src/heliostat/svg/spider_profile.svg +0 -429
  217. package/src/heliostat/svg/surface.svg +0 -3577
  218. package/src/heliostat/svg/surface_crenel.svg +0 -1335
  219. package/src/heliostat/svg/surface_extremities.svg +0 -510
  220. package/src/heliostat/svg/surface_lz.svg +0 -182
  221. package/src/heliostat/svg/surface_main.svg +0 -366
  222. package/src/heliostat/svg/surface_power.svg +0 -331
  223. package/src/heliostat/svg/surface_space_evolution.svg +0 -210
  224. package/src/heliostat/svg/surface_space_shape.svg +0 -98
  225. package/src/heliostat/svg/swing.svg +0 -3310
  226. package/src/heliostat/svg/swing_face.svg +0 -902
  227. package/src/heliostat/svg/swing_side.svg +0 -574
  228. package/src/heliostat/svg/swing_top.svg +0 -923
  229. package/src/heliostat/svg/swing_with_rod.svg +0 -547
  230. package/src/heliostat/svg/trapeze.svg +0 -1711
  231. package/src/heliostat/svg/trapeze_rod.svg +0 -122
  232. package/src/heliostat/svg/trapeze_side.svg +0 -361
  233. package/src/heliostat/svg/trapeze_top.svg +0 -1057
  234. package/src/heliostat/swing.ts +0 -246
  235. package/src/heliostat/trapeze.ts +0 -510
  236. package/src/index.ts +0 -33
  237. package/src/svg/default_param_blank.svg +0 -40
  238. package/tsconfig.json +0 -13
  239. package/vitest.config.ts +0 -7
@@ -1,409 +0,0 @@
1
- // verify_contour_3.ts
2
-
3
- import type { tParamDef, tParamVal, tGeom, tPageDef } from 'geometrix';
4
- import { degToRad, contour, figure, pNumber, initGeom } from 'geometrix';
5
-
6
- const pDef: tParamDef = {
7
- partName: 'verify_contour_3',
8
- params: [
9
- //pNumber(name, unit, init, min, max, step)
10
- pNumber('r1', 'mm', 10, 0, 200, 1),
11
- pNumber('r2', 'mm', 10, 0, 200, 1),
12
- pNumber('r3', 'mm', 10, 0, 200, 1),
13
- pNumber('r4', 'mm', 10, 0, 200, 1),
14
- pNumber('r5', 'mm', 10, 0, 200, 1),
15
- pNumber('r6', 'mm', 5, 0, 200, 1)
16
- ],
17
- paramSvg: {
18
- r1: 'verify_contour_1_r1.svg',
19
- r2: 'verify_contour_1_r1.svg',
20
- r3: 'verify_contour_1_r1.svg',
21
- r4: 'verify_contour_1_r1.svg',
22
- r5: 'verify_contour_1_r1.svg',
23
- r6: 'verify_contour_1_r1.svg'
24
- },
25
- sim: {
26
- tMax: 10,
27
- tStep: 0.5,
28
- tUpdate: 500 // every 0.5 second
29
- }
30
- };
31
-
32
- function pGeom(t: number, param: tParamVal): tGeom {
33
- const rGeome = initGeom(pDef.partName);
34
- rGeome.logstr += `${rGeome.partName} simTime: ${t}\n`;
35
- try {
36
- const figOne = figure();
37
- const r1 = param.r1 + t;
38
- const r2 = param.r2 + t;
39
- const r3 = param.r3 + t;
40
- const r4 = param.r4 + t;
41
- const r5 = param.r5 + t;
42
- const r6 = param.r6 + t;
43
- const ctr1 = contour(100, 0)
44
- .addSegStrokeR(30, 200)
45
- .addCornerRounded(r1)
46
- .addSegStrokeR(200, 30)
47
- .addCornerRounded(r1)
48
- .addSegStrokeR(-200, 30)
49
- .addCornerRounded(r1)
50
- .addSegStrokeR(-30, 200)
51
- .addCornerRounded(r1)
52
- .addSegStrokeR(-30, -200)
53
- .addCornerRounded(r1)
54
- .addSegStrokeR(-200, -30)
55
- .addCornerRounded(r1)
56
- .addSegStrokeR(200, -30)
57
- .addCornerRounded(r1)
58
- .closeSegStroke()
59
- .addCornerRounded(r1);
60
- rGeome.logstr += ctr1.check();
61
- figOne.addMain(ctr1);
62
- const l2 = 100;
63
- const ctr2 = contour(300, 0);
64
- for (let i = 0; i < 4; i++) {
65
- const angle = 90 * (1 - i); // turning CW
66
- ctr2.addSegStrokeRP(degToRad(angle), l2)
67
- .addCornerRounded(r2)
68
- .addSegStrokeRP(degToRad(angle - 45), l2)
69
- .addCornerRounded(r2)
70
- .addSegStrokeRP(degToRad(angle + 45), l2)
71
- .addCornerRounded(r2)
72
- .addSegStrokeRP(degToRad(angle), l2)
73
- .addCornerRounded(r2);
74
- }
75
- rGeome.logstr += ctr2.check();
76
- figOne.addMain(ctr2);
77
- const l3 = 100;
78
- const ra3 = 70;
79
- const ctr3 = contour(0, 600).addSegStrokeR(l3, l3);
80
- for (let i = 0; i < 3; i++) {
81
- const large = (i & 0x1) === 0 ? false : true;
82
- const ccw = (i & 0x2) === 0 ? false : true;
83
- //rGeome.logstr += `large ${large} ccw ${ccw}\n`;
84
- ctr3.addSegStrokeR(l3, 0)
85
- .addSegStrokeR(0, l3)
86
- .addCornerRounded(r3)
87
- .addPointR(l3, 0)
88
- .addSegArc(ra3, large, ccw)
89
- .addCornerRounded(r3)
90
- .addSegStrokeR(0, -l3);
91
- }
92
- for (let i = 0; i < 8; i++) {
93
- const sign = (i & 0x4) === 0 ? 1 : -1;
94
- const large = (i & 0x2) === 0 ? false : true;
95
- const ccw = (i & 0x1) === 0 ? false : true;
96
- //rGeome.logstr += `large ${large} ccw ${ccw}\n`;
97
- ctr3.addSegStrokeR(l3, 0)
98
- .addCornerRounded(r3)
99
- .addPointR(l3, 0)
100
- .addSegArc(ra3, large, ccw)
101
- .addCornerRounded(r3)
102
- .addSegStrokeR(l3, 0);
103
- ctr3.addSegStrokeR(l3, (-sign * l3) / 8)
104
- .addCornerRounded(r3)
105
- .addPointR(l3, (sign * l3) / 4 - 3 * t)
106
- .addSegArc(ra3, large, ccw)
107
- .addCornerRounded(r3)
108
- .addSegStrokeR(l3, (-sign * l3) / 8);
109
- }
110
- ctr3.addSegStrokeR(l3, 0).addSegStrokeR(l3, -l3).closeSegStroke();
111
- rGeome.logstr += ctr3.check();
112
- figOne.addMain(ctr3);
113
- const ctr3b = contour(0, 900)
114
- .addCornerRounded(r3)
115
- .addPointR(l3, l3)
116
- .addSegArc(l3, false, true)
117
- .addSegStrokeR(0, 2 * l3)
118
- .addCornerRounded(r3)
119
- .addPointR(l3, -l3)
120
- .addSegArc(l3, false, true)
121
- .addSegStrokeR(l3, 0)
122
- .addCornerRounded(r3)
123
- .addPointR(l3, l3)
124
- .addSegArc(l3, false, false)
125
- .addCornerRounded(r3)
126
- .addSegStrokeR(0, 2 * l3)
127
- .addCornerRounded(r3)
128
- .addPointR(-l3, l3)
129
- .addSegArc(l3, false, false)
130
- .addPointR(l3, l3)
131
- .addSegArc(l3, false, false)
132
- .addCornerRounded(r3)
133
- .addSegStrokeR(0, 3 * l3)
134
- .addCornerRounded(r3)
135
- .addPointR(-l3, -l3)
136
- .addSegArc(l3, false, false)
137
- .addPointR(-l3, l3)
138
- .addSegArc(l3, false, false)
139
- .addCornerRounded(r3)
140
- .addSegStrokeR(0, -3 * l3)
141
- .addCornerRounded(r3)
142
- .addPointR(-l3, l3)
143
- .addSegArc(l3, false, true)
144
- .addSegStrokeR(-l3, 0)
145
- .closeSegStroke();
146
- rGeome.logstr += ctr3b.check();
147
- figOne.addMain(ctr3b);
148
- const l4 = 200;
149
- const ra4 = 180;
150
- const ctr4 = contour(0, 2000)
151
- .addPointR(l4, 0)
152
- .addSegArc(ra4, false, true)
153
- .addCornerRounded(r4)
154
- .addPointR(0, l4)
155
- .addSegArc(ra4, false, true)
156
- .addCornerRounded(r4)
157
- .addPointR(-l4, -l4)
158
- .addSegArc(1.4 * ra4, false, true)
159
- .addCornerRounded(r4);
160
- rGeome.logstr += ctr4.check();
161
- figOne.addMain(ctr4);
162
- const ctr4b = contour(400, 2000)
163
- .addPointR(0, 1.7 * l4)
164
- .addSegArc(2.3 * ra4, false, false)
165
- .addCornerRounded(r4)
166
- .addPointR(l4, -0.7 * l4)
167
- .addSegArc(ra4, false, false)
168
- .addCornerRounded(r4)
169
- .addPointR(-l4, -l4)
170
- .addSegArc(1.4 * ra4, false, false)
171
- .addCornerRounded(r4);
172
- rGeome.logstr += ctr4b.check();
173
- figOne.addMain(ctr4b);
174
- const ctr4c = contour(1000, 2000)
175
- .addPointR(l4, 0)
176
- .addSegArc(0.6 * ra4, true, true)
177
- .addCornerRounded(r4)
178
- .addPointR(0, l4)
179
- .addSegArc(ra4, true, true)
180
- .addCornerRounded(r4)
181
- .addPointR(-l4, -l4)
182
- .addSegArc(1.4 * ra4, true, true)
183
- .addCornerRounded(r4);
184
- rGeome.logstr += ctr4c.check();
185
- figOne.addMain(ctr4c);
186
- const ctr4d = contour(3000, 2000)
187
- .addPointR(0, 1.7 * l4)
188
- .addSegArc(2.3 * ra4, true, false)
189
- .addCornerRounded(r4)
190
- .addPointR(l4, -0.7 * l4)
191
- .addSegArc(ra4, true, false)
192
- .addCornerRounded(r4)
193
- .addPointR(-l4, -l4)
194
- .addSegArc(1.1 * ra4, true, false)
195
- .addCornerRounded(r4);
196
- rGeome.logstr += ctr4d.check();
197
- figOne.addMain(ctr4d);
198
- const l4b = 3 * l4;
199
- const ra4b = 3 * ra4;
200
- const ctr4e = contour(3800, 2000)
201
- .addPointR(l4b, 0)
202
- .addSegArc(ra4b, false, false)
203
- .addCornerRounded(r4)
204
- .addPointR(0, l4b)
205
- .addSegArc(ra4b, false, false)
206
- .addCornerRounded(r4)
207
- .addPointR(-l4b, 0)
208
- .addSegArc(ra4b, false, false)
209
- .addCornerRounded(r4)
210
- .addPointR(0, -l4b)
211
- .addSegArc(ra4b, false, false)
212
- .addCornerRounded(r4);
213
- rGeome.logstr += ctr4e.check();
214
- figOne.addMain(ctr4e);
215
- const ctr4f = contour(4500, 2000)
216
- .addPointR(l4, l4)
217
- .addSegArc(l4, false, false)
218
- .addPointR(l4, -l4)
219
- .addSegArc(l4, false, false)
220
- .addCornerRounded(r4)
221
- .addPointR(-l4, 1.6 * l4)
222
- .addSegArc(1.1 * ra4, false, true)
223
- .addCornerRounded(r4)
224
- .addPointR(-l4, -1.6 * l4)
225
- .addSegArc(1.2 * ra4, false, true)
226
- .addCornerRounded(r4);
227
- rGeome.logstr += ctr4f.check();
228
- figOne.addMain(ctr4f);
229
- const ctr4g = contour(5200, 2000)
230
- .addPointR(l4, 0)
231
- .addSegArc(0.9 * l4, false, false)
232
- .addCornerRounded(r4)
233
- .addPointR(l4, 0)
234
- .addSegArc(0.9 * l4, false, false)
235
- .addCornerRounded(r4)
236
- .addPointR(-2 * l4, 0)
237
- .addSegArc(1.3 * l4, true, true)
238
- .addCornerRounded(r4);
239
- rGeome.logstr += ctr4g.check();
240
- figOne.addMain(ctr4g);
241
- const c099 = 0.999;
242
- const ctr4h = contour(6000, 2000)
243
- .addPointR(2 * l4, 2 * l4)
244
- .addSegArc(1.5 * l4, false, false)
245
- .addCornerRounded(r4)
246
- .addPointR(2 * l4, -2 * l4)
247
- .addSegArc(1.5 * l4, false, false)
248
- .addCornerRounded(r4)
249
- .addPointR(-l4, l4)
250
- .addSegArc(l4, false, true)
251
- .addPointR(-l4, -c099 * l4)
252
- .addSegArc(l4, false, true)
253
- .addCornerRounded(r4)
254
- .addPointR(-l4, c099 * l4)
255
- .addSegArc(l4, false, true)
256
- .addPointR(-l4, -l4)
257
- .addSegArc(l4, false, true)
258
- .addCornerRounded(r4);
259
- rGeome.logstr += ctr4h.check();
260
- figOne.addMain(ctr4h);
261
- const l5 = 200;
262
- const ra5 = 180;
263
- const ctr5 = contour(0, 3000)
264
- .addSegStrokeR(l5, 0)
265
- .addCornerWidened(r5)
266
- .addSegStrokeR(0, l5)
267
- .addCornerWidened(r5)
268
- .closeSegStroke()
269
- .addCornerWidened(r5);
270
- rGeome.logstr += ctr5.check();
271
- figOne.addMain(ctr5);
272
- const ctr5b = contour(400, 3000)
273
- .addSegStrokeR(l5, 0)
274
- .addCornerWidened(r5)
275
- .addPointR(0, l5)
276
- .addSegArc(ra5, false, true)
277
- .addCornerWidened(r5)
278
- .addPointR(-l5, 0)
279
- .addSegArc(ra5, false, false)
280
- .addCornerWidened(r5)
281
- .closeSegStroke()
282
- .addCornerWidened(r5);
283
- rGeome.logstr += ctr5b.check();
284
- figOne.addMain(ctr5b);
285
- const ctr5d = contour(3000, 3000)
286
- .addPointR(0, 1.7 * l5)
287
- .addSegArc(2.3 * ra5, true, false)
288
- .addCornerWidened(r5)
289
- .addPointR(l5, -0.7 * l5)
290
- .addSegArc(ra5, true, false)
291
- .addCornerWidened(r5)
292
- .addPointR(-l5, -l5)
293
- .addSegArc(1.1 * ra5, true, false)
294
- .addCornerWidened(r5);
295
- rGeome.logstr += ctr5d.check();
296
- figOne.addMain(ctr5d);
297
- const ctr5e = contour(3800, 3000)
298
- .addPointR(l5, 0)
299
- .addSegArc(ra5, false, false)
300
- .addCornerWidened(r5)
301
- .addPointR(0, l5)
302
- .addSegArc(ra5, false, false)
303
- .addCornerWidened(r5)
304
- .addPointR(-l5, 0)
305
- .addSegArc(ra5, false, false)
306
- .addCornerWidened(r5)
307
- .addPointR(0, -l5)
308
- .addSegArc(ra5, false, false)
309
- .addCornerWidened(r5);
310
- rGeome.logstr += ctr5e.check();
311
- figOne.addMain(ctr5e);
312
- const ctr5f = contour(4500, 3000)
313
- .addPointR(l5, l5)
314
- .addSegArc(l5, false, false)
315
- .addPointR(l5, -l5)
316
- .addSegArc(l5, false, false)
317
- .addCornerWidened(r5)
318
- .addPointR(-l5, 1.6 * l5)
319
- .addSegArc(1.1 * ra5, false, true)
320
- .addCornerWidened(r5)
321
- .addPointR(-l5, -1.6 * l5)
322
- .addSegArc(1.2 * ra5, false, true)
323
- .addCornerWidened(r5);
324
- rGeome.logstr += ctr5f.check();
325
- figOne.addMain(ctr5f);
326
- const l6 = 200;
327
- const ra6 = 180;
328
- const ctr6 = contour(0, 4000)
329
- .addSegStrokeR(l6, 0)
330
- .addCornerWideAcc(r6)
331
- .addSegStrokeR(0, l6)
332
- .addCornerWideAcc(r6)
333
- .closeSegStroke()
334
- .addCornerWideAcc(r6);
335
- rGeome.logstr += ctr6.check();
336
- figOne.addMain(ctr6);
337
- const ctr6b = contour(400, 4000)
338
- .addSegStrokeR(l6, 0)
339
- .addCornerWideAcc(r6)
340
- .addPointR(0, l6)
341
- .addSegArc(ra6, false, true)
342
- .addCornerWideAcc(r6)
343
- .addPointR(-l6, 0)
344
- .addSegArc(ra6, false, false)
345
- .addCornerWideAcc(r6)
346
- .closeSegStroke()
347
- .addCornerWideAcc(r6);
348
- rGeome.logstr += ctr6b.check();
349
- figOne.addMain(ctr6b);
350
- const ctr6d = contour(3000, 4000)
351
- .addPointR(0, 1.7 * l6)
352
- .addSegArc(2.3 * ra6, true, false)
353
- .addCornerWideAcc(r6)
354
- .addPointR(l6, -0.7 * l6)
355
- .addSegArc(ra6, true, false)
356
- .addCornerWideAcc(r6)
357
- .addPointR(-l6, -l6)
358
- .addSegArc(1.1 * ra6, true, false)
359
- .addCornerWideAcc(r6);
360
- rGeome.logstr += ctr6d.check();
361
- figOne.addMain(ctr6d);
362
-
363
- const ctr6e = contour(3800, 4000)
364
- .addPointR(l6, 0)
365
- .addSegArc(ra6, false, false)
366
- .addCornerWideAcc(r6)
367
- .addPointR(0, l6)
368
- .addSegArc(ra6, false, false)
369
- .addCornerWideAcc(r6)
370
- .addPointR(-l6, 0)
371
- .addSegArc(ra6, false, false)
372
- .addCornerWideAcc(r6)
373
- .addPointR(0, -l6)
374
- .addSegArc(ra6, false, false)
375
- .addCornerWideAcc(r6);
376
- rGeome.logstr += ctr6e.check();
377
- figOne.addMain(ctr6e);
378
- const ctr6f = contour(4500, 4000)
379
- .addPointR(l6, l6)
380
- .addSegArc(l6, false, false)
381
- .addPointR(l6, -l6)
382
- .addSegArc(l6, false, false)
383
- .addCornerWideAcc(r6)
384
- .addPointR(-l6, 1.6 * l6)
385
- .addSegArc(1.1 * ra6, false, true)
386
- .addCornerWideAcc(r6)
387
- .addPointR(-l6, -1.6 * l6)
388
- .addSegArc(1.2 * ra6, false, true)
389
- .addCornerWideAcc(r6);
390
- rGeome.logstr += ctr6f.check();
391
- figOne.addMain(ctr6f);
392
- rGeome.fig = { one: figOne };
393
- rGeome.logstr += 'verify_contour_3 draw successfully!\n';
394
- rGeome.calcErr = false;
395
- } catch (emsg) {
396
- rGeome.logstr += emsg as string;
397
- console.log(emsg as string);
398
- }
399
- return rGeome;
400
- }
401
-
402
- const verifyContour3Def: tPageDef = {
403
- pTitle: 'Verify contour 3',
404
- pDescription: 'Debugging contour.ts for rounded corners and widened corners',
405
- pDef: pDef,
406
- pGeom: pGeom
407
- };
408
-
409
- export { verifyContour3Def };
@@ -1,91 +0,0 @@
1
- // verify_contour_4.ts
2
-
3
- import type { tParamDef, tParamVal, tGeom, tPageDef } from 'geometrix';
4
- import { contour, figure, pNumber, initGeom } from 'geometrix';
5
-
6
- const pDef: tParamDef = {
7
- partName: 'verify_contour_4',
8
- params: [
9
- //pNumber(name, unit, init, min, max, step)
10
- pNumber('n1', 'scalar', 16, 1, 50, 1),
11
- pNumber('n2', 'scalar', 6, 3, 50, 1),
12
- pNumber('r1', 'mm', 5, 0, 20, 1)
13
- ],
14
- paramSvg: {
15
- n1: 'verify_contour_1_r1.svg',
16
- n2: 'verify_contour_1_r1.svg',
17
- r1: 'verify_contour_1_r1.svg'
18
- },
19
- sim: {
20
- tMax: 10,
21
- tStep: 0.5,
22
- tUpdate: 500 // every 0.5 second
23
- }
24
- };
25
-
26
- function pGeom(t: number, param: tParamVal): tGeom {
27
- const rGeome = initGeom(pDef.partName);
28
- rGeome.logstr += `${rGeome.partName} simTime: ${t}\n`;
29
- try {
30
- const figOne = figure();
31
- const n1 = param.n1;
32
- const n2 = param.n2;
33
- const r1 = param.r1;
34
- const l1 = 50 + t;
35
- const as = (2 * Math.PI) / (n2 * 3);
36
- const ctr2b = contour(l1, 0)
37
- .addSegStrokeAP(as, 1.5 * l1)
38
- .addCornerRounded(r1)
39
- .addPointAP(2 * as, l1)
40
- .addSegArc(0.45 * l1, false, true)
41
- .addCornerWidened(r1)
42
- .addSegStrokeAP(3 * as, 1.2 * l1);
43
- const ctr1 = contour(l1, 0);
44
- const ctr1b = ctr2b.clone().addCornerRounded(r1);
45
- for (let i = 0; i < n1; i++) {
46
- const ctr1c = ctr1b.rotate(0, 0, i * 3 * as).scale(0, 0, 1 + i * 0.2, true);
47
- ctr1.addPartial(ctr1c);
48
- }
49
- ctr1.closeSegStroke();
50
- //for (let i = 0; i < ctr1.segments.length; i++) {
51
- // console.log(`dbg212: ${i} ${ctr1.segments[i].sType} ${ctr1.segments[i].radius} ${ctr1.segments[i].px} ${ctr1.segments[i].py}`);
52
- //}
53
- rGeome.logstr += ctr1.check();
54
- figOne.addMain(ctr1);
55
- const ctr5 = contour(l1, 0);
56
- for (let i = 0; i < n1; i++) {
57
- ctr5.addPartial(ctr1b.rotate(0, 0, i * 3 * as).scale(0, 0, 1 + i * 0.2, false));
58
- }
59
- ctr5.closeSegStroke();
60
- rGeome.logstr += ctr5.check();
61
- figOne.addMain(ctr5.translate(-10 * l1, 0));
62
- const ctr2c = ctr2b.generateContour();
63
- const ctr2 = ctr2c.clone();
64
- for (let i = 1; i < n1; i++) {
65
- ctr2.addPartial(ctr2c.rotate(0, 0, i * 3 * as).scale(0, 0, 1 + i * 0.2));
66
- }
67
- ctr2.closeSegStroke();
68
- const ctr3 = ctr2.translate(10 * l1, 0);
69
- rGeome.logstr += ctr3.check();
70
- figOne.addMain(ctr3);
71
- const ctr4 = ctr2.translatePolar(Math.PI / 3, 10 * l1);
72
- rGeome.logstr += ctr4.check();
73
- figOne.addMain(ctr4);
74
- rGeome.fig = { one: figOne };
75
- rGeome.logstr += 'verify_contour_4 draw successfully!\n';
76
- rGeome.calcErr = false;
77
- } catch (emsg) {
78
- rGeome.logstr += emsg as string;
79
- console.log(emsg as string);
80
- }
81
- return rGeome;
82
- }
83
-
84
- const verifyContour4Def: tPageDef = {
85
- pTitle: 'Verify contour 4',
86
- pDescription: 'Debugging contour.ts for addPartial',
87
- pDef: pDef,
88
- pGeom: pGeom
89
- };
90
-
91
- export { verifyContour4Def };
@@ -1,95 +0,0 @@
1
- // verify_exports_1.ts
2
-
3
- import type { tParamDef, tParamVal, tGeom, tPageDef } from 'geometrix';
4
- import {
5
- contour,
6
- contourCircle,
7
- figure,
8
- pNumber,
9
- pCheckbox,
10
- initGeom,
11
- EExtrude,
12
- EBVolume
13
- } from 'geometrix';
14
-
15
- const pDef: tParamDef = {
16
- partName: 'verify_exports_1',
17
- params: [
18
- //pNumber(name, unit, init, min, max, step)
19
- pCheckbox('circle', true),
20
- pNumber('circle-size', 'mm', 100, 1, 1000, 1),
21
- pCheckbox('contour', true),
22
- pNumber('contour-size', 'mm', 30, 1, 1000, 1),
23
- pCheckbox('contour-arc-large', false)
24
- ],
25
- paramSvg: {
26
- circle: 'default_param_blank.svg',
27
- 'circle-size': 'default_param_blank.svg',
28
- contour: 'default_param_blank.svg',
29
- 'contour-size': 'default_param_blank.svg',
30
- 'contour-arc-large': 'default_param_blank.svg'
31
- },
32
- sim: {
33
- tMax: 10,
34
- tStep: 0.1,
35
- tUpdate: 500
36
- }
37
- };
38
-
39
- function pGeom(t: number, param: tParamVal): tGeom {
40
- const rGeome = initGeom(pDef.partName);
41
- rGeome.logstr += `${rGeome.partName} simTime: ${t}\n`;
42
- try {
43
- const figOne = figure();
44
- if (param.circle === 1) {
45
- const theCircle = contourCircle(0, 0, param['circle-size']);
46
- figOne.addMain(theCircle);
47
- }
48
- if (param.contour === 1) {
49
- const csize = param['contour-size'];
50
- const carcl = param['contour-arc-large'] === 1 ? true : false;
51
- const ctr1 = contour(0, 0)
52
- .addSegStrokeA(csize, 0)
53
- .addPointA(csize, csize)
54
- .addSegArc(csize * 0.8, carcl, true)
55
- .closeSegStroke();
56
- figOne.addMain(ctr1);
57
- }
58
- rGeome.fig = { one: figOne };
59
- const designName = rGeome.partName;
60
- rGeome.vol = {
61
- extrudes: [
62
- {
63
- outName: `subpax_${designName}_one`,
64
- face: `${designName}_one`,
65
- extrudeMethod: EExtrude.eLinearOrtho,
66
- length: 10,
67
- rotate: [0, 0, 0],
68
- translate: [0, 0, 0]
69
- }
70
- ],
71
- volumes: [
72
- {
73
- outName: `pax_${designName}`,
74
- boolMethod: EBVolume.eIdentity,
75
- inList: [`subpax_${designName}_one`]
76
- }
77
- ]
78
- };
79
- rGeome.logstr += 'verify_exports_1 draw successfully!\n';
80
- rGeome.calcErr = false;
81
- } catch (emsg) {
82
- rGeome.logstr += emsg as string;
83
- console.log(emsg as string);
84
- }
85
- return rGeome;
86
- }
87
-
88
- const verifyExports1Def: tPageDef = {
89
- pTitle: 'Verify exports 1',
90
- pDescription: 'For dev & debug of Openscad export',
91
- pDef: pDef,
92
- pGeom: pGeom
93
- };
94
-
95
- export { verifyExports1Def };
@@ -1,76 +0,0 @@
1
- // verify_line.ts
2
-
3
- import type { tParamDef, tParamVal, tGeom, tPageDef } from 'geometrix';
4
- import { point, line, linePP, figure, pNumber, initGeom } from 'geometrix';
5
-
6
- const pDef: tParamDef = {
7
- partName: 'verify_line',
8
- params: [
9
- //pNumber(name, unit, init, min, max, step)
10
- pNumber('p1x', 'mm', 30, -200, 200, 1),
11
- pNumber('p1y', 'mm', 50, -200, 200, 1),
12
- pNumber('p2x', 'mm', 40, -200, 200, 1),
13
- pNumber('p2y', 'mm', -20, -200, 200, 1),
14
- pNumber('p3x', 'mm', -30, -200, 200, 1),
15
- pNumber('p3y', 'mm', 30, -200, 200, 1)
16
- ],
17
- paramSvg: {
18
- p1x: 'verify_line_p1x.svg',
19
- p1y: 'verify_line_p1x.svg',
20
- p2x: 'verify_line_p1x.svg',
21
- p2y: 'verify_line_p1x.svg',
22
- p3x: 'verify_line_p1x.svg',
23
- p3y: 'verify_line_p1x.svg'
24
- },
25
- sim: {
26
- tMax: 10,
27
- tStep: 0.1,
28
- tUpdate: 500 // every 0.5 second
29
- }
30
- };
31
-
32
- function pGeom(t: number, param: tParamVal): tGeom {
33
- const rGeome = initGeom(pDef.partName);
34
- rGeome.logstr += `${rGeome.partName} simTime: ${t}\n`;
35
- try {
36
- const figOne = figure();
37
- const p1 = point(param.p1x, param.p1y + t);
38
- const p2 = point(param.p2x, param.p2y);
39
- const p3 = point(param.p3x, param.p3y);
40
- figOne.addPoint(p1);
41
- figOne.addPoint(p2);
42
- figOne.addPoint(p3);
43
- const l1 = line(0, 0, 0).setFromPoints(p1, p2);
44
- figOne.addLine(l1);
45
- //figOne.addLine(l2);
46
- figOne.addPoint(point(l1.getAxisXIntersection(), 0));
47
- figOne.addPoint(point(0, l1.getAxisYIntersection()));
48
- const p4 = l1.projectOrig();
49
- figOne.addPoint(p4);
50
- const p0 = point(0, 0);
51
- if (!p0.isEqual(p4)) {
52
- const l2 = linePP(p0, p4);
53
- figOne.addLine(l2);
54
- }
55
- figOne.addLine(l1.lineOrthogonal(p3));
56
- figOne.addLine(l1.lineParallel(p3));
57
- figOne.addPoint(l1.projectPoint(p3));
58
- rGeome.fig = { one: figOne };
59
- rGeome.logstr += `dist(l1, p3) = ${l1.distanceToPoint(p3)}\n`;
60
- rGeome.logstr += 'verify_line draw successfully!\n';
61
- rGeome.calcErr = false;
62
- } catch (emsg) {
63
- rGeome.logstr += emsg as string;
64
- console.log(emsg as string);
65
- }
66
- return rGeome;
67
- }
68
-
69
- const verifyLine1Def: tPageDef = {
70
- pTitle: 'Verify line',
71
- pDescription: 'Debugging line.ts',
72
- pDef: pDef,
73
- pGeom: pGeom
74
- };
75
-
76
- export { verifyLine1Def };