@faicad/fai-cq-warehouse 0.13.0

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 (100) hide show
  1. package/dist/bearing.d.ts +81 -0
  2. package/dist/bearing.d.ts.map +1 -0
  3. package/dist/bearing.js +462 -0
  4. package/dist/bearing.js.map +1 -0
  5. package/dist/chain.d.ts +96 -0
  6. package/dist/chain.d.ts.map +1 -0
  7. package/dist/chain.js +322 -0
  8. package/dist/chain.js.map +1 -0
  9. package/dist/contract.d.ts +9 -0
  10. package/dist/contract.d.ts.map +1 -0
  11. package/dist/contract.js +10 -0
  12. package/dist/contract.js.map +1 -0
  13. package/dist/data/brad_tee_nut_parameters.json +29 -0
  14. package/dist/data/button_head_parameters.json +82 -0
  15. package/dist/data/button_head_with_collar_parameters.json +98 -0
  16. package/dist/data/chamfered_washer_parameters.json +262 -0
  17. package/dist/data/cheese_head_parameters.json +182 -0
  18. package/dist/data/cheese_head_washer_parameters.json +112 -0
  19. package/dist/data/clearance_hole_sizes.json +427 -0
  20. package/dist/data/countersunk_head_parameters.json +1752 -0
  21. package/dist/data/domed_cap_nut_parameters.json +62 -0
  22. package/dist/data/drill_sizes.json +320 -0
  23. package/dist/data/heatset_nut_parameters.json +354 -0
  24. package/dist/data/hex_head_parameters.json +408 -0
  25. package/dist/data/hex_head_with_flange_parameters.json +114 -0
  26. package/dist/data/hex_nut_parameters.json +250 -0
  27. package/dist/data/hex_nut_with_flange_parameters.json +92 -0
  28. package/dist/data/imperial_set_screw_parameters.json +150 -0
  29. package/dist/data/iso10664def.json +82 -0
  30. package/dist/data/metric_set_screw_parameters.json +50 -0
  31. package/dist/data/nominal_screw_lengths.json +106 -0
  32. package/dist/data/pan_head_parameters.json +322 -0
  33. package/dist/data/pan_head_with_collar_parameters.json +56 -0
  34. package/dist/data/plain_washer_parameters.json +464 -0
  35. package/dist/data/raised_cheese_head_parameters.json +82 -0
  36. package/dist/data/raised_countersunk_oval_head_parameters.json +314 -0
  37. package/dist/data/setscrew_parameters.json +110 -0
  38. package/dist/data/single_row_angular_contact_ball_bearing_parameters.json +209 -0
  39. package/dist/data/single_row_capped_deep_groove_ball_bearing_parameters.json +527 -0
  40. package/dist/data/single_row_cylindrical_roller_bearing_parameters.json +227 -0
  41. package/dist/data/single_row_deep_groove_ball_bearing_parameters.json +653 -0
  42. package/dist/data/single_row_tapered_roller_bearing_parameters.json +756 -0
  43. package/dist/data/socket_head_cap_parameters.json +856 -0
  44. package/dist/data/square_nut_parameters.json +26 -0
  45. package/dist/data/tap_hole_sizes.json +398 -0
  46. package/dist/data/tapered-fillet-drop.json +109 -0
  47. package/dist/data/unchamfered_hex_nut_parameters.json +42 -0
  48. package/dist/holes.d.ts +186 -0
  49. package/dist/holes.d.ts.map +1 -0
  50. package/dist/holes.js +197 -0
  51. package/dist/holes.js.map +1 -0
  52. package/dist/index.d.ts +27 -0
  53. package/dist/index.d.ts.map +1 -0
  54. package/dist/index.js +36 -0
  55. package/dist/index.js.map +1 -0
  56. package/dist/kernel.d.ts +117 -0
  57. package/dist/kernel.d.ts.map +1 -0
  58. package/dist/kernel.js +25 -0
  59. package/dist/kernel.js.map +1 -0
  60. package/dist/measure.d.ts +52 -0
  61. package/dist/measure.d.ts.map +1 -0
  62. package/dist/measure.js +158 -0
  63. package/dist/measure.js.map +1 -0
  64. package/dist/nut.d.ts +315 -0
  65. package/dist/nut.d.ts.map +1 -0
  66. package/dist/nut.js +700 -0
  67. package/dist/nut.js.map +1 -0
  68. package/dist/params.d.ts +178 -0
  69. package/dist/params.d.ts.map +1 -0
  70. package/dist/params.js +330 -0
  71. package/dist/params.js.map +1 -0
  72. package/dist/primitives.d.ts +440 -0
  73. package/dist/primitives.d.ts.map +1 -0
  74. package/dist/primitives.js +597 -0
  75. package/dist/primitives.js.map +1 -0
  76. package/dist/recess.d.ts +129 -0
  77. package/dist/recess.d.ts.map +1 -0
  78. package/dist/recess.js +323 -0
  79. package/dist/recess.js.map +1 -0
  80. package/dist/screw.d.ts +101 -0
  81. package/dist/screw.d.ts.map +1 -0
  82. package/dist/screw.js +945 -0
  83. package/dist/screw.js.map +1 -0
  84. package/dist/sprocket.d.ts +135 -0
  85. package/dist/sprocket.d.ts.map +1 -0
  86. package/dist/sprocket.js +261 -0
  87. package/dist/sprocket.js.map +1 -0
  88. package/dist/test-setup.d.ts +11 -0
  89. package/dist/test-setup.d.ts.map +1 -0
  90. package/dist/test-setup.js +30 -0
  91. package/dist/test-setup.js.map +1 -0
  92. package/dist/thread.d.ts +189 -0
  93. package/dist/thread.d.ts.map +1 -0
  94. package/dist/thread.js +501 -0
  95. package/dist/thread.js.map +1 -0
  96. package/dist/washer.d.ts +126 -0
  97. package/dist/washer.d.ts.map +1 -0
  98. package/dist/washer.js +204 -0
  99. package/dist/washer.js.map +1 -0
  100. package/package.json +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screw.js","sourceRoot":"","sources":["../src/screw.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * sprocket.ts — 链轮(W7)—— 上游 `cq_warehouse.sprocket.Sprocket` 的逐位复刻。
3
+ *
4
+ * 装配流(`sprocket.py:157 _make_sprocket`):
5
+ * ```
6
+ * outline = polarArray(pitch_radius, 0, 360, N).tooth_outline(...) # N 个齿轮廓
7
+ * .consolidateWires() # 合成单闭合 wire
8
+ * .rotate(Z, 90) # 对齐链轮旋转计算
9
+ * sprocket = outline.extrude(thickness).translate((0, 0, -thickness/2))
10
+ * if flat: sprocket.edges(RadiusNthSelector(2)).chamfer(0.25*t, 0.5*t)
11
+ * if mount: polarArray(bcd/2).circle(mbd/2).cutThruAll()
12
+ * if bore: circle(bore/2).cutThruAll()
13
+ * ```
14
+ *
15
+ * ⚠️ 复刻事实(`scripts/probe-sprocket-outline.py` / `probe-sprocket-chamfer.py`
16
+ * 在 cadquery 环境实测锁定,2026-09-15):
17
+ *
18
+ * 1. **每齿净变换 = 纯旋转 Rz(90° + k·a)**:polarArray 的 Location
19
+ * (平移 p·û(ka)、旋转 k·a)与齿轮廓的 translate(-p, 0) 恰好相消
20
+ * (û(ka) 为角 ka 方向单位向量),即上游注释掉的 `#1006` rotate 修正。
21
+ * 相邻齿在滚子窝底共享端点(浮点 ~1e-13 内),全齿构成**单闭合链**:
22
+ * 平齿 5 弧/齿(窝弧+侧弧+顶弧+侧弧+窝弧)、尖齿 4 弧/齿(无顶弧)。
23
+ * 链的遍历方向为顺时针(角度递减),故齿序为 k = 0, N-1, N-2, …, 1。
24
+ *
25
+ * 2. **平齿倒角 = 上下两圈锥环切削**:cq `chamfer(0.25t, 0.5t)` 在齿顶圆
26
+ * (半径 outer_rad)的上、下两圈圆边上各生成一个锥面(A 侧 32T 实测
27
+ * CONE 面 64 = 顶 32 + 底 32)。锥面母线过 (r = R − 0.25t, z = ±t/2)
28
+ * 与 (r = R, z = ±t),斜率 dr/dz = 0.5(径向腿 0.25t、轴向腿 0.5t)。
29
+ * 内核 `chamferDistAngle` 的第二面 F 由内核自选、调用方不可指定
30
+ * (primitives.ts 契约),故本实现用「圆柱 − 圆锥」构造锥环切割器,
31
+ * 切削面与 cq 倒角锥面完全重合。
32
+ *
33
+ * 3. **flat 判定**:上游用拉伸体圆边 unique 半径数 == 3 判定
34
+ * (窝半径 / 侧弧半径 / 顶弧半径);数学等价于齿廓交点 outer_pt.y > 0
35
+ * (make_tooth_outline 的分支条件),本实现直接用后者,免拓扑查询。
36
+ */
37
+ import type { BrepHandle } from '@faicad/faijs';
38
+ /** 2D 轮廓点(齿局部坐标系,齿尖朝 +X)。 */
39
+ interface P2 {
40
+ x: number;
41
+ y: number;
42
+ }
43
+ /**
44
+ * 上游 `Sprocket.sprocket_pitch_radius`(sprocket.py:223):
45
+ * p = √(cp² / (2·(1 − cos(2π/N))))。
46
+ * @param numTeeth - 齿数 N。
47
+ * @param chainPitch - 链条节距 cp(mm)。
48
+ * @returns 分度圆半径(mm)。
49
+ */
50
+ export declare function sprocketPitchRadius(numTeeth: number, chainPitch: number): number;
51
+ /**
52
+ * 上游 `Sprocket.sprocket_circumference`(sprocket.py:236)。
53
+ * @param numTeeth - 齿数 N。
54
+ * @param chainPitch - 链条节距 cp(mm)。
55
+ * @returns 分度圆周长(mm)。
56
+ */
57
+ export declare function sprocketCircumference(numTeeth: number, chainPitch: number): number;
58
+ /** 齿廓关键点与弧半径(make_tooth_outline 的产出,齿局部坐标系)。 */
59
+ interface ToothGeom {
60
+ startPt: P2;
61
+ tangentPt: P2;
62
+ outerPt: P2;
63
+ spikePt: P2;
64
+ /** 滚子窝弧半径(带符号,凹弧)。 */
65
+ slotRadius: number;
66
+ /** 齿侧弧半径。 */
67
+ flankRadius: number;
68
+ /** 齿顶弧半径(仅平齿)。 */
69
+ topRadius: number;
70
+ /** 平齿(有圆弧顶);false = 尖齿。 */
71
+ flat: boolean;
72
+ }
73
+ /**
74
+ * 探针复用 {@link computeToothGeom}(probe-sprocket-nochamfer.ts 等脚本取用)。
75
+ * @param numTeeth - 齿数 N。
76
+ * @param chainPitch - 链条节距(mm)。
77
+ * @param rollerRad - 滚子窝半径(含 clearance,mm)。
78
+ * @returns 齿廓关键点与弧半径(齿局部坐标系)。
79
+ */
80
+ export declare function computeToothGeomForProbe(numTeeth: number, chainPitch: number, rollerRad: number): ToothGeom;
81
+ /**
82
+ * 探针复用 {@link toothArcs}:一颗齿的弧边序列(世界坐标,θk = 90° + k·a)。
83
+ * @param g - 齿廓关键点几何。
84
+ * @param thetaDeg - 该齿的旋转角(度)。
85
+ * @returns 弧边 handle 序列(按上游 radiusArc 顺序)。
86
+ */
87
+ export declare function toothArcsForProbe(g: ToothGeom, thetaDeg: number): BrepHandle[];
88
+ /** 链轮构造入参(与上游 `Sprocket.__init__` 签名一一对应,默认值同上游)。 */
89
+ export interface SprocketParams {
90
+ /** 齿数 N(整数且 > 2)。 */
91
+ numTeeth: number;
92
+ /** 链条节距(mm),默认 1/2" = 12.7。 */
93
+ chainPitch?: number;
94
+ /** 链条滚子直径(mm),默认 5/16" = 7.9375。 */
95
+ rollerDiameter?: number;
96
+ /** 滚子窝间隙(mm),默认 0。 */
97
+ clearance?: number;
98
+ /** 轮体厚度(mm),默认 0.084" = 2.1336。 */
99
+ thickness?: number;
100
+ /** 安装螺栓孔分布圆直径(mm),0 = 不开孔。 */
101
+ boltCircleDiameter?: number;
102
+ /** 安装螺栓数量。 */
103
+ numMountBolts?: number;
104
+ /** 安装螺栓孔直径(mm)。 */
105
+ mountBoltDiameter?: number;
106
+ /** 中心孔直径(mm),0 = 不开孔。 */
107
+ boreDiameter?: number;
108
+ }
109
+ /** 链轮构造结果(含上游派生量,供测试锁定)。 */
110
+ export interface SprocketResult {
111
+ handle: BrepHandle;
112
+ /** 齿数。 */
113
+ numTeeth: number;
114
+ /** 链条节距(mm)。 */
115
+ chainPitch: number;
116
+ /** 分度圆半径(上游 `pitch_radius` 属性)。 */
117
+ pitchRadius: number;
118
+ /** 齿顶圆半径(上游 `outer_radius` 属性)。 */
119
+ outerRadius: number;
120
+ /** 分度圆周长(上游 `pitch_circumference` 属性)。 */
121
+ pitchCircumference: number;
122
+ /** 平齿(true)/ 尖齿(false)——上游 `_flat_teeth`。 */
123
+ flatTeeth: boolean;
124
+ /** 厚度(mm)。 */
125
+ thickness: number;
126
+ }
127
+ /**
128
+ * 构造一个链轮(上游 `Sprocket` 的唯一几何入口)。
129
+ * @param p - 构造入参。
130
+ * @returns 链轮实体与上游派生量。
131
+ * @throws 当 `numTeeth` 不是 > 2 的整数,或 `rollerDiameter >= chainPitch`(同上游 ValueError)。
132
+ */
133
+ export declare function buildSprocket(p: SprocketParams): SprocketResult;
134
+ export {};
135
+ //# sourceMappingURL=sprocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprocket.d.ts","sourceRoot":"","sources":["../src/sprocket.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAY,MAAM,eAAe,CAAA;AAgBzD,6BAA6B;AAC7B,UAAU,EAAE;IACV,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AA2BD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,gDAAgD;AAChD,UAAU,SAAS;IACjB,OAAO,EAAE,EAAE,CAAA;IACX,SAAS,EAAE,EAAE,CAAA;IACb,OAAO,EAAE,EAAE,CAAA;IACX,OAAO,EAAE,EAAE,CAAA;IACX,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,IAAI,EAAE,OAAO,CAAA;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,SAAS,CAEX;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAE9E;AAmGD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oCAAoC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8BAA8B;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,4BAA4B;AAC5B,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,0CAA0C;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,6CAA6C;IAC7C,SAAS,EAAE,OAAO,CAAA;IAClB,cAAc;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CA2F/D"}
@@ -0,0 +1,261 @@
1
+ // Copyright 2026 Faicad. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+ /**
5
+ * sprocket.ts — 链轮(W7)—— 上游 `cq_warehouse.sprocket.Sprocket` 的逐位复刻。
6
+ *
7
+ * 装配流(`sprocket.py:157 _make_sprocket`):
8
+ * ```
9
+ * outline = polarArray(pitch_radius, 0, 360, N).tooth_outline(...) # N 个齿轮廓
10
+ * .consolidateWires() # 合成单闭合 wire
11
+ * .rotate(Z, 90) # 对齐链轮旋转计算
12
+ * sprocket = outline.extrude(thickness).translate((0, 0, -thickness/2))
13
+ * if flat: sprocket.edges(RadiusNthSelector(2)).chamfer(0.25*t, 0.5*t)
14
+ * if mount: polarArray(bcd/2).circle(mbd/2).cutThruAll()
15
+ * if bore: circle(bore/2).cutThruAll()
16
+ * ```
17
+ *
18
+ * ⚠️ 复刻事实(`scripts/probe-sprocket-outline.py` / `probe-sprocket-chamfer.py`
19
+ * 在 cadquery 环境实测锁定,2026-09-15):
20
+ *
21
+ * 1. **每齿净变换 = 纯旋转 Rz(90° + k·a)**:polarArray 的 Location
22
+ * (平移 p·û(ka)、旋转 k·a)与齿轮廓的 translate(-p, 0) 恰好相消
23
+ * (û(ka) 为角 ka 方向单位向量),即上游注释掉的 `#1006` rotate 修正。
24
+ * 相邻齿在滚子窝底共享端点(浮点 ~1e-13 内),全齿构成**单闭合链**:
25
+ * 平齿 5 弧/齿(窝弧+侧弧+顶弧+侧弧+窝弧)、尖齿 4 弧/齿(无顶弧)。
26
+ * 链的遍历方向为顺时针(角度递减),故齿序为 k = 0, N-1, N-2, …, 1。
27
+ *
28
+ * 2. **平齿倒角 = 上下两圈锥环切削**:cq `chamfer(0.25t, 0.5t)` 在齿顶圆
29
+ * (半径 outer_rad)的上、下两圈圆边上各生成一个锥面(A 侧 32T 实测
30
+ * CONE 面 64 = 顶 32 + 底 32)。锥面母线过 (r = R − 0.25t, z = ±t/2)
31
+ * 与 (r = R, z = ±t),斜率 dr/dz = 0.5(径向腿 0.25t、轴向腿 0.5t)。
32
+ * 内核 `chamferDistAngle` 的第二面 F 由内核自选、调用方不可指定
33
+ * (primitives.ts 契约),故本实现用「圆柱 − 圆锥」构造锥环切割器,
34
+ * 切削面与 cq 倒角锥面完全重合。
35
+ *
36
+ * 3. **flat 判定**:上游用拉伸体圆边 unique 半径数 == 3 判定
37
+ * (窝半径 / 侧弧半径 / 顶弧半径);数学等价于齿廓交点 outer_pt.y > 0
38
+ * (make_tooth_outline 的分支条件),本实现直接用后者,免拓扑查询。
39
+ */
40
+ import { arcEdge, cone, cut, cylinderBetween, extrudeFace, mirrorAbout, planarFace, radiusArcMidpoint, translate as translateShape, volumeOf, wireFromEdges, } from './primitives.js';
41
+ import { requireKernel } from './kernel.js';
42
+ const INCH = 25.4;
43
+ const DEG = Math.PI / 180;
44
+ /** 绕 Z 轴旋转(度,右手)。 */
45
+ function rotZ(p, deg) {
46
+ const a = deg * DEG;
47
+ const c = Math.cos(a);
48
+ const s = Math.sin(a);
49
+ return { x: p.x * c - p.y * s, y: p.x * s + p.y * c };
50
+ }
51
+ /** 关于 XZ 平面镜像(上游 `Vector.flipY`)。 */
52
+ function flipY(p) {
53
+ return { x: p.x, y: -p.y };
54
+ }
55
+ function add2(a, b) {
56
+ return { x: a.x + b.x, y: a.y + b.y };
57
+ }
58
+ /** 2D → 世界 3D(z=0 平面)。 */
59
+ function v3(p) {
60
+ return { x: p.x, y: p.y, z: 0 };
61
+ }
62
+ /**
63
+ * 上游 `Sprocket.sprocket_pitch_radius`(sprocket.py:223):
64
+ * p = √(cp² / (2·(1 − cos(2π/N))))。
65
+ * @param numTeeth - 齿数 N。
66
+ * @param chainPitch - 链条节距 cp(mm)。
67
+ * @returns 分度圆半径(mm)。
68
+ */
69
+ export function sprocketPitchRadius(numTeeth, chainPitch) {
70
+ const a = (2 * Math.PI) / numTeeth;
71
+ return Math.sqrt((chainPitch * chainPitch) / (2 * (1 - Math.cos(a))));
72
+ }
73
+ /**
74
+ * 上游 `Sprocket.sprocket_circumference`(sprocket.py:236)。
75
+ * @param numTeeth - 齿数 N。
76
+ * @param chainPitch - 链条节距 cp(mm)。
77
+ * @returns 分度圆周长(mm)。
78
+ */
79
+ export function sprocketCircumference(numTeeth, chainPitch) {
80
+ return 2 * Math.PI * sprocketPitchRadius(numTeeth, chainPitch);
81
+ }
82
+ /**
83
+ * 探针复用 {@link computeToothGeom}(probe-sprocket-nochamfer.ts 等脚本取用)。
84
+ * @param numTeeth - 齿数 N。
85
+ * @param chainPitch - 链条节距(mm)。
86
+ * @param rollerRad - 滚子窝半径(含 clearance,mm)。
87
+ * @returns 齿廓关键点与弧半径(齿局部坐标系)。
88
+ */
89
+ export function computeToothGeomForProbe(numTeeth, chainPitch, rollerRad) {
90
+ return computeToothGeom(numTeeth, chainPitch, rollerRad);
91
+ }
92
+ /**
93
+ * 探针复用 {@link toothArcs}:一颗齿的弧边序列(世界坐标,θk = 90° + k·a)。
94
+ * @param g - 齿廓关键点几何。
95
+ * @param thetaDeg - 该齿的旋转角(度)。
96
+ * @returns 弧边 handle 序列(按上游 radiusArc 顺序)。
97
+ */
98
+ export function toothArcsForProbe(g, thetaDeg) {
99
+ return toothArcs(g, thetaDeg);
100
+ }
101
+ function computeToothGeom(numTeeth, chainPitch, rollerRad) {
102
+ const toothA = 360 / numTeeth;
103
+ const half = (toothA / 2) * DEG;
104
+ const pitchRad = sprocketPitchRadius(numTeeth, chainPitch);
105
+ const outerRad = pitchRad + rollerRad / 2;
106
+ // 齿侧弧与齿顶弧的交角方程(sprocket.py:280 的 asin 表达式,逐字转录)
107
+ const ps = pitchRad * Math.sin(half);
108
+ const pc = pitchRad * Math.cos(half);
109
+ const q = chainPitch - rollerRad;
110
+ const o2 = outerRad * outerRad;
111
+ const o3 = o2 * outerRad;
112
+ const o4 = o2 * o2;
113
+ const o6 = o4 * o2;
114
+ const pc2 = pc * pc;
115
+ const pc4 = pc2 * pc2;
116
+ const pc6 = pc4 * pc2;
117
+ const ps2 = ps * ps;
118
+ const ps3 = ps2 * ps;
119
+ const ps4 = ps2 * ps2;
120
+ const q2 = q * q;
121
+ const q4 = q2 * q2;
122
+ const radicand = -o6 * pc2 +
123
+ 2 * o4 * q2 * pc2 +
124
+ 2 * o4 * pc4 +
125
+ 2 * o4 * pc2 * ps2 -
126
+ o2 * q4 * pc2 +
127
+ 2 * o2 * q2 * pc4 +
128
+ 2 * o2 * q2 * pc2 * ps2 -
129
+ o2 * pc6 -
130
+ 2 * o2 * pc4 * ps2 -
131
+ o2 * pc2 * ps4;
132
+ const frac = (-o3 * ps +
133
+ Math.sqrt(radicand) +
134
+ outerRad * q2 * ps -
135
+ outerRad * pc2 * ps -
136
+ outerRad * ps3) /
137
+ (2 * o2 * (pc2 + ps2));
138
+ const outerIntersectA = Math.asin(frac);
139
+ // 滚子窝底(±tooth_a/2 处)
140
+ const startPt = rotZ({ x: pitchRad - rollerRad, y: 0 }, toothA / 2);
141
+ // 窝弧与齿侧弧的切点
142
+ const tangentPt = add2(rotZ({ x: 0, y: -rollerRad }, -toothA / 2), rotZ({ x: pitchRad, y: 0 }, toothA / 2));
143
+ // 齿侧弧与齿顶弧的交点
144
+ const outerPt = {
145
+ x: outerRad * Math.cos(outerIntersectA),
146
+ y: outerRad * Math.sin(outerIntersectA),
147
+ };
148
+ // 尖齿齿尖(无平顶时)
149
+ const spikePt = {
150
+ x: Math.sqrt(pitchRad * pitchRad - (chainPitch / 2) ** 2) +
151
+ Math.sqrt(q * q - (chainPitch / 2) ** 2),
152
+ y: 0,
153
+ };
154
+ return {
155
+ startPt,
156
+ tangentPt,
157
+ outerPt,
158
+ spikePt,
159
+ slotRadius: -rollerRad,
160
+ flankRadius: chainPitch - rollerRad,
161
+ topRadius: outerRad,
162
+ flat: outerPt.y > 0,
163
+ };
164
+ }
165
+ /** 一颗齿的弧边序列(世界坐标,θk = 90° + k·a 旋转后),按上游 radiusArc 顺序。 */
166
+ function toothArcs(g, thetaDeg) {
167
+ const rot = (p) => v3(rotZ(p, thetaDeg));
168
+ // cq radiusArc 三点弧:midpoint 复刻 sagittaArc 公式(带符号半径约定一致)
169
+ const arc = (a, b, radius) => arcEdge(rot(a), rot(radiusArcMidpoint(a, b, radius)), rot(b));
170
+ const arcs = [arc(g.startPt, g.tangentPt, g.slotRadius)];
171
+ if (g.flat) {
172
+ arcs.push(arc(g.tangentPt, g.outerPt, g.flankRadius));
173
+ arcs.push(arc(g.outerPt, flipY(g.outerPt), g.topRadius));
174
+ arcs.push(arc(flipY(g.outerPt), flipY(g.tangentPt), g.flankRadius));
175
+ }
176
+ else {
177
+ arcs.push(arc(g.tangentPt, g.spikePt, g.flankRadius));
178
+ arcs.push(arc(g.spikePt, flipY(g.tangentPt), g.flankRadius));
179
+ }
180
+ arcs.push(arc(flipY(g.tangentPt), flipY(g.startPt), g.slotRadius));
181
+ return arcs;
182
+ }
183
+ /**
184
+ * 构造一个链轮(上游 `Sprocket` 的唯一几何入口)。
185
+ * @param p - 构造入参。
186
+ * @returns 链轮实体与上游派生量。
187
+ * @throws 当 `numTeeth` 不是 > 2 的整数,或 `rollerDiameter >= chainPitch`(同上游 ValueError)。
188
+ */
189
+ export function buildSprocket(p) {
190
+ const numTeeth = p.numTeeth;
191
+ const chainPitch = p.chainPitch ?? 0.5 * INCH;
192
+ const rollerDiameter = p.rollerDiameter ?? (5 / 16) * INCH;
193
+ const clearance = p.clearance ?? 0;
194
+ const thickness = p.thickness ?? 0.084 * INCH;
195
+ const boltCircleDiameter = p.boltCircleDiameter ?? 0;
196
+ const numMountBolts = p.numMountBolts ?? 0;
197
+ const mountBoltDiameter = p.mountBoltDiameter ?? 0;
198
+ const boreDiameter = p.boreDiameter ?? 0;
199
+ // 上游 __init__ 的输入校验(逐字语义)
200
+ if (!Number.isInteger(numTeeth) || numTeeth <= 2)
201
+ throw new Error(`num_teeth must be an integer greater than 2 not ${numTeeth}`);
202
+ if (rollerDiameter >= chainPitch)
203
+ throw new Error(`roller_diameter ${rollerDiameter} is too large for chain_pitch ${chainPitch}`);
204
+ const pitchRadius = sprocketPitchRadius(numTeeth, chainPitch);
205
+ const rollerRad = rollerDiameter / 2 + clearance;
206
+ const toothA = 360 / numTeeth;
207
+ const geom = computeToothGeom(numTeeth, chainPitch, rollerRad);
208
+ // 全齿单闭合链(顺时针):齿 0 → 齿 N-1 → … → 齿 1(见文件头事实 1)
209
+ const edges = [];
210
+ for (let k = 0; k < numTeeth; k++) {
211
+ const ki = k === 0 ? 0 : numTeeth - k;
212
+ edges.push(...toothArcs(geom, 90 + ki * toothA));
213
+ }
214
+ let solid = extrudeFace(planarFace(wireFromEdges(edges)), thickness);
215
+ // 顺时针 wire → 面法向 -Z → 拉伸体体积为负;翻正后再做切割
216
+ // (reverseShape 在 WarehouseKernel 声明,BrepEngineApi 平台契约未含)
217
+ if (volumeOf(solid) < 0)
218
+ solid = requireKernel().reverseShape(solid);
219
+ // 上游 translate((0, 0, -thickness/2)):居中到 z ∈ [-t/2, t/2]
220
+ solid = translateShape(solid, 0, 0, -thickness / 2);
221
+ // 平齿:齿顶圆上下两圈锥环倒角(见文件头事实 2;尖齿不倒角)。
222
+ // cq 在顶边(z=+t/2)的倒角锥面过 (R−0.25t, 0) 与 (R, t/2)(斜率 +0.5),
223
+ // 底边镜像;两锥面在赤道 z=0 处于 r=R−0.25t 尖点相接。
224
+ // 切割器 = 圆柱 − 圆锥(锥面即倒角面,圆柱只提供外界)。
225
+ if (geom.flat) {
226
+ const R = geom.topRadius;
227
+ const m = Math.max(1, thickness / 2); // 切削余量
228
+ const h = thickness / 2 + m;
229
+ // 顶边倒角切割器:z ∈ [0, t/2+m],锥面 r(z) = R−0.25t+0.5z(底在 z=0)
230
+ const cutterTop = cut(cylinderBetween(R + m, 0, h), cone(R - 0.25 * thickness, R - 0.25 * thickness + 0.5 * h, h));
231
+ // 底边倒角切割器 = 顶边切割器关于 z=0 镜像
232
+ const cutterBottom = mirrorAbout(cutterTop, { x: 0, y: 0, z: 0 }, { x: 0, y: 0, z: 1 });
233
+ solid = cut(cut(solid, cutterTop), cutterBottom);
234
+ }
235
+ // 安装螺栓孔(上游三参数同时非 0 才开孔;cutThruAll = 双向贯通)
236
+ if (boltCircleDiameter !== 0 && numMountBolts !== 0 && mountBoltDiameter !== 0) {
237
+ for (let i = 0; i < numMountBolts; i++) {
238
+ const a = ((i * 360) / numMountBolts) * DEG;
239
+ solid = cut(solid, translateShape(cylinderBetween(mountBoltDiameter / 2, -thickness, 2 * thickness), (boltCircleDiameter / 2) * Math.cos(a), (boltCircleDiameter / 2) * Math.sin(a), 0));
240
+ }
241
+ }
242
+ // 中心孔
243
+ if (boreDiameter !== 0)
244
+ solid = cut(solid, cylinderBetween(boreDiameter / 2, -thickness, 2 * thickness));
245
+ // 上游 outer_radius 属性(注意 spiky 分式用 roller_diameter/2 而非含 clearance 的 roller_rad)
246
+ const outerRadius = geom.flat
247
+ ? pitchRadius + rollerDiameter / 4
248
+ : Math.sqrt(pitchRadius ** 2 - (chainPitch / 2) ** 2) +
249
+ Math.sqrt((chainPitch - rollerDiameter / 2) ** 2 - (chainPitch / 2) ** 2);
250
+ return {
251
+ handle: solid,
252
+ numTeeth,
253
+ chainPitch,
254
+ pitchRadius,
255
+ outerRadius,
256
+ pitchCircumference: sprocketCircumference(numTeeth, chainPitch),
257
+ flatTeeth: geom.flat,
258
+ thickness,
259
+ };
260
+ }
261
+ //# sourceMappingURL=sprocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprocket.js","sourceRoot":"","sources":["../src/sprocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * test-setup.ts — CLI/测试侧 configureBackends(方案 §6 W2 交付物)。
3
+ *
4
+ * 库代码本身不初始化内核(§5.1 约束 2:host provides it);测试与脚本扮演
5
+ * host 角色:initOcctWasm 后把唯一实例注入 Backends,再经 requireKernel() 取用。
6
+ * Backends 形状对齐 core/runtime-state.ts(contractVersion/config/kernel/fonts/
7
+ * texture/assets/events 必填;本包用不到的端口置 null 并注明)。
8
+ */
9
+ /** 初始化 occt-wasm 并注入 Backends(幂等:重复调用只装配一次)。 */
10
+ export declare function setupWarehouseKernel(): Promise<void>;
11
+ //# sourceMappingURL=test-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.d.ts","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,gDAAgD;AAChD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1D"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * test-setup.ts — CLI/测试侧 configureBackends(方案 §6 W2 交付物)。
3
+ *
4
+ * 库代码本身不初始化内核(§5.1 约束 2:host provides it);测试与脚本扮演
5
+ * host 角色:initOcctWasm 后把唯一实例注入 Backends,再经 requireKernel() 取用。
6
+ * Backends 形状对齐 core/runtime-state.ts(contractVersion/config/kernel/fonts/
7
+ * texture/assets/events 必填;本包用不到的端口置 null 并注明)。
8
+ */
9
+ import { initOcctWasm } from '@faicad/faijs/occt-kernel/occtKernel';
10
+ import { configureBackends, CONTRACT_VERSION } from '@faicad/faijs';
11
+ let configured = false;
12
+ /** 初始化 occt-wasm 并注入 Backends(幂等:重复调用只装配一次)。 */
13
+ export async function setupWarehouseKernel() {
14
+ if (configured)
15
+ return;
16
+ const kernel = await initOcctWasm();
17
+ // 本包只消费 kernel.brep;fonts/texture/assets/events 等端口测试用不到,置 null
18
+ const backends = {
19
+ contractVersion: CONTRACT_VERSION,
20
+ config: { mode: 'brep' },
21
+ kernel: { brep: kernel, csg: undefined, sdf: undefined },
22
+ fonts: null,
23
+ texture: null,
24
+ assets: null,
25
+ events: null,
26
+ };
27
+ configureBackends(backends);
28
+ configured = true;
29
+ }
30
+ //# sourceMappingURL=test-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../src/test-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGnE,IAAI,UAAU,GAAG,KAAK,CAAA;AAEtB,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,IAAI,UAAU;QAAE,OAAM;IACtB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAA;IACnC,gEAAgE;IAChE,MAAM,QAAQ,GAAa;QACzB,eAAe,EAAE,gBAAgB;QACjC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;QACxD,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;KACb,CAAA;IACD,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAC3B,UAAU,GAAG,IAAI,CAAA;AACnB,CAAC"}