@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.
- package/dist/bearing.d.ts +81 -0
- package/dist/bearing.d.ts.map +1 -0
- package/dist/bearing.js +462 -0
- package/dist/bearing.js.map +1 -0
- package/dist/chain.d.ts +96 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +322 -0
- package/dist/chain.js.map +1 -0
- package/dist/contract.d.ts +9 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +10 -0
- package/dist/contract.js.map +1 -0
- package/dist/data/brad_tee_nut_parameters.json +29 -0
- package/dist/data/button_head_parameters.json +82 -0
- package/dist/data/button_head_with_collar_parameters.json +98 -0
- package/dist/data/chamfered_washer_parameters.json +262 -0
- package/dist/data/cheese_head_parameters.json +182 -0
- package/dist/data/cheese_head_washer_parameters.json +112 -0
- package/dist/data/clearance_hole_sizes.json +427 -0
- package/dist/data/countersunk_head_parameters.json +1752 -0
- package/dist/data/domed_cap_nut_parameters.json +62 -0
- package/dist/data/drill_sizes.json +320 -0
- package/dist/data/heatset_nut_parameters.json +354 -0
- package/dist/data/hex_head_parameters.json +408 -0
- package/dist/data/hex_head_with_flange_parameters.json +114 -0
- package/dist/data/hex_nut_parameters.json +250 -0
- package/dist/data/hex_nut_with_flange_parameters.json +92 -0
- package/dist/data/imperial_set_screw_parameters.json +150 -0
- package/dist/data/iso10664def.json +82 -0
- package/dist/data/metric_set_screw_parameters.json +50 -0
- package/dist/data/nominal_screw_lengths.json +106 -0
- package/dist/data/pan_head_parameters.json +322 -0
- package/dist/data/pan_head_with_collar_parameters.json +56 -0
- package/dist/data/plain_washer_parameters.json +464 -0
- package/dist/data/raised_cheese_head_parameters.json +82 -0
- package/dist/data/raised_countersunk_oval_head_parameters.json +314 -0
- package/dist/data/setscrew_parameters.json +110 -0
- package/dist/data/single_row_angular_contact_ball_bearing_parameters.json +209 -0
- package/dist/data/single_row_capped_deep_groove_ball_bearing_parameters.json +527 -0
- package/dist/data/single_row_cylindrical_roller_bearing_parameters.json +227 -0
- package/dist/data/single_row_deep_groove_ball_bearing_parameters.json +653 -0
- package/dist/data/single_row_tapered_roller_bearing_parameters.json +756 -0
- package/dist/data/socket_head_cap_parameters.json +856 -0
- package/dist/data/square_nut_parameters.json +26 -0
- package/dist/data/tap_hole_sizes.json +398 -0
- package/dist/data/tapered-fillet-drop.json +109 -0
- package/dist/data/unchamfered_hex_nut_parameters.json +42 -0
- package/dist/holes.d.ts +186 -0
- package/dist/holes.d.ts.map +1 -0
- package/dist/holes.js +197 -0
- package/dist/holes.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel.d.ts +117 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +25 -0
- package/dist/kernel.js.map +1 -0
- package/dist/measure.d.ts +52 -0
- package/dist/measure.d.ts.map +1 -0
- package/dist/measure.js +158 -0
- package/dist/measure.js.map +1 -0
- package/dist/nut.d.ts +315 -0
- package/dist/nut.d.ts.map +1 -0
- package/dist/nut.js +700 -0
- package/dist/nut.js.map +1 -0
- package/dist/params.d.ts +178 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +330 -0
- package/dist/params.js.map +1 -0
- package/dist/primitives.d.ts +440 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +597 -0
- package/dist/primitives.js.map +1 -0
- package/dist/recess.d.ts +129 -0
- package/dist/recess.d.ts.map +1 -0
- package/dist/recess.js +323 -0
- package/dist/recess.js.map +1 -0
- package/dist/screw.d.ts +101 -0
- package/dist/screw.d.ts.map +1 -0
- package/dist/screw.js +945 -0
- package/dist/screw.js.map +1 -0
- package/dist/sprocket.d.ts +135 -0
- package/dist/sprocket.d.ts.map +1 -0
- package/dist/sprocket.js +261 -0
- package/dist/sprocket.js.map +1 -0
- package/dist/test-setup.d.ts +11 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/dist/test-setup.js +30 -0
- package/dist/test-setup.js.map +1 -0
- package/dist/thread.d.ts +189 -0
- package/dist/thread.d.ts.map +1 -0
- package/dist/thread.js +501 -0
- package/dist/thread.js.map +1 -0
- package/dist/washer.d.ts +126 -0
- package/dist/washer.d.ts.map +1 -0
- package/dist/washer.js +204 -0
- package/dist/washer.js.map +1 -0
- package/package.json +55 -0
package/dist/thread.d.ts
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* thread.ts — 螺纹五类移植(上游 `cq_warehouse/thread.py` 1003 行,方案 §8 W3)。
|
|
3
|
+
*
|
|
4
|
+
* 类映射(方案 §4.2):`Thread` 基类 → `buildThread()`;具体类 → `isoThread()` /
|
|
5
|
+
* `acmeThread()` / `metricTrapezoidalThread()` / `plasticBottleThread()`(纯函数),
|
|
6
|
+
* 派生量 → `isoThreadDimensions()` / `acmeThreadSizes()` / `…`。
|
|
7
|
+
* 抽象基类 `TrapezoidalThread` 不单独导出(TS 用共享的 parse/轮廓数学承接)。
|
|
8
|
+
*
|
|
9
|
+
* ## 几何路线(W2/W3 probe 实测裁决)
|
|
10
|
+
*
|
|
11
|
+
* 上游三步:`Wire.makeHelix` / `parametricCurve` 造 4 条曲线 → `Face.makeRuledSurface`
|
|
12
|
+
* 造 4 条带 + 2 端帽 → `Shell.makeShell` + `Solid.makeSolid`。本包对应:
|
|
13
|
+
*
|
|
14
|
+
* | 上游 | 本包 | 依据 |
|
|
15
|
+
* |---|---|---|
|
|
16
|
+
* | `Wire.makeHelix` / `parametricCurve` | 解析采样点列(helix / fade 公式直写) | 内核 `makeHelixWire` 无 lefthand 参数;解析式可控且免内核往返 |
|
|
17
|
+
* | `Face.makeRuledSurface(a, b)` | `primitives.ruledFace(a, b)` = 逐行 `approximatePoints` + `loft(ruled)` | probe:`bsplineSurface(rows=2)` 是**逼近**且系统性外扩 Δ=3.70e-4(与采样密度无关),换路后 Δ=9.8e-7(紧 375×)——见 `kernel-conformance.test.ts` 陷阱回归 |
|
|
18
|
+
* | `Shell.makeShell` + `Solid.makeSolid` | `primitives.solidFromFaces(faces, 1e-3)` | probe:**makeSolid 朝向不可靠(实测 −8)→ 自动翻正**;容差 1e-3 对齐上游(旧注释「1e-6 不缝合」未复现,已订正) |
|
|
19
|
+
*
|
|
20
|
+
* ## 与上游一致的三处「怪癖」(照抄,不修)
|
|
21
|
+
*
|
|
22
|
+
* 1. `root_radius` 的 fudge `±0.001`,且 `tooth_height` 用 **fudge 后**的值
|
|
23
|
+
* (`thread.py:98,105`)。
|
|
24
|
+
* 2. `square_off_ends` 对两端都是 `square` 时只生效**后一次**切割(每次以传入的
|
|
25
|
+
* `cq_object` 为基而非累积的 `squared`,`thread.py:216-231`)——上游 bug,
|
|
26
|
+
* 为 STEP 等价必须复刻。
|
|
27
|
+
* 3. fade 的根曲线 z 位移是 `t` 相关的复合式(`thread.py:292-310`),不是常偏移。
|
|
28
|
+
*
|
|
29
|
+
* ## 未实现(W3 已知缺口)
|
|
30
|
+
*
|
|
31
|
+
* `end_finishes` 含 `"chamfer"` 时**显式抛错**:上游用 `BRepFilletAPI_MakeChamfer`
|
|
32
|
+
* 的**非对称** `chamfer(0.5·tooth_height, 0.75·tooth_height)` + `RadiusNthSelector`
|
|
33
|
+
* 选边,本内核只提供单距离 `chamfer` / `chamferDistAngle`;未取得 A 侧等价证据前
|
|
34
|
+
* 不做启发式实现(方案 §5.4 红线)。
|
|
35
|
+
*/
|
|
36
|
+
import type { BrepHandle } from '@faicad/faijs';
|
|
37
|
+
/** 螺纹两端的收尾方式(thread.py:20 `end_finishes` 的取值域)。 */
|
|
38
|
+
export type EndFinish = 'raw' | 'square' | 'fade' | 'chamfer';
|
|
39
|
+
/** 旋向:右旋或左旋。 */
|
|
40
|
+
export type Hand = 'right' | 'left';
|
|
41
|
+
/** `Thread.__init__` 的入参(thread.py:68)——参数名逐字沿用上游 snake_case。 */
|
|
42
|
+
export interface ThreadSpec {
|
|
43
|
+
apex_radius: number;
|
|
44
|
+
apex_width: number;
|
|
45
|
+
root_radius: number;
|
|
46
|
+
root_width: number;
|
|
47
|
+
pitch: number;
|
|
48
|
+
length: number;
|
|
49
|
+
apex_offset?: number;
|
|
50
|
+
hand?: Hand;
|
|
51
|
+
end_finishes?: [EndFinish, EndFinish];
|
|
52
|
+
/** 上游语义:True = 只算参数、不建几何(`wrapped` 置空)。 */
|
|
53
|
+
simple?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** `buildThread` 的结果:几何句柄(simple=true 时为 null)+ 派生量。 */
|
|
56
|
+
export interface ThreadResult {
|
|
57
|
+
handle: BrepHandle | null;
|
|
58
|
+
external: boolean;
|
|
59
|
+
toothHeight: number;
|
|
60
|
+
/** fudge 之后的根半径(上游 `self.root_radius`)。 */
|
|
61
|
+
rootRadius: number;
|
|
62
|
+
apexRadius: number;
|
|
63
|
+
pitch: number;
|
|
64
|
+
length: number;
|
|
65
|
+
apexOffset: number;
|
|
66
|
+
apexWidth: number;
|
|
67
|
+
rootWidth: number;
|
|
68
|
+
hand: Hand;
|
|
69
|
+
endFinishes: [EndFinish, EndFinish];
|
|
70
|
+
simple: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Helical thread(`Thread` 基类)。`simple=true` 时只算参数、返回 `handle: null`
|
|
74
|
+
* (对齐上游把 `wrapped` 置空的语义)。
|
|
75
|
+
* @param spec - `Thread.__init__` 的入参(snake_case,逐字沿用上游)。
|
|
76
|
+
* @returns 派生尺寸 + 实体句柄(`simple=true` 时 `handle` 为 null)。
|
|
77
|
+
*/
|
|
78
|
+
export declare function buildThread(spec: ThreadSpec): ThreadResult;
|
|
79
|
+
/** `IsoThread.__init__` 的入参(thread.py:471)——参数名逐字沿用上游 snake_case。 */
|
|
80
|
+
export interface IsoThreadParams {
|
|
81
|
+
major_diameter: number;
|
|
82
|
+
pitch: number;
|
|
83
|
+
length: number;
|
|
84
|
+
external?: boolean;
|
|
85
|
+
hand?: Hand;
|
|
86
|
+
end_finishes?: [EndFinish, EndFinish];
|
|
87
|
+
simple?: boolean;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* `IsoThread` 的派生尺寸(对应上游 `thread_angle` / `h_parameter` / `min_radius`)。
|
|
91
|
+
* @param p - 大径 / 螺距 / 内外螺纹三要素。
|
|
92
|
+
* @returns 锥角、h 参数、最小半径,以及内外螺纹各自的口顶/齿根半径与宽度。
|
|
93
|
+
*/
|
|
94
|
+
export declare function isoThreadDimensions(p: Pick<IsoThreadParams, 'major_diameter' | 'pitch' | 'external'>): {
|
|
95
|
+
threadAngle: number;
|
|
96
|
+
hParameter: number;
|
|
97
|
+
minRadius: number;
|
|
98
|
+
apexRadius: number;
|
|
99
|
+
apexWidth: number;
|
|
100
|
+
rootRadius: number;
|
|
101
|
+
rootWidth: number;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* ISO 60° 螺纹(`IsoThread`)。默认 `end_finishes=("fade","square")`。
|
|
105
|
+
* @param p - 入参(同 {@link IsoThreadParams})。
|
|
106
|
+
* @returns 螺纹实体与派生尺寸。
|
|
107
|
+
*/
|
|
108
|
+
export declare function isoThread(p: IsoThreadParams): ThreadResult;
|
|
109
|
+
/** `TrapezoidalThread.__init__`(thread.py:583)的共享轮廓数学。
|
|
110
|
+
* 该基类在上游**没有** `simple` 参数(梯形螺纹恒建几何)。 */
|
|
111
|
+
export interface TrapezoidalParams {
|
|
112
|
+
size: string;
|
|
113
|
+
length: number;
|
|
114
|
+
external?: boolean;
|
|
115
|
+
hand?: Hand;
|
|
116
|
+
end_finishes?: [EndFinish, EndFinish];
|
|
117
|
+
}
|
|
118
|
+
/** `AcmeThread.acme_pitch`(thread.py:672)——英寸规格 → 螺距(mm)。 */
|
|
119
|
+
export declare const ACME_PITCH: Readonly<Record<string, number>>;
|
|
120
|
+
/**
|
|
121
|
+
* `AcmeThread.sizes()`(thread.py:691)。
|
|
122
|
+
* @returns 全部 ACME 英寸规格(`ACME_PITCH` 的键,按上游插入序)。
|
|
123
|
+
*/
|
|
124
|
+
export declare function acmeThreadSizes(): string[];
|
|
125
|
+
/**
|
|
126
|
+
* `AcmeThread.parse_size`(thread.py:696)→ (diameter mm, pitch mm)。
|
|
127
|
+
* @param size - 英寸规格字符串,如 `"1/2"`、`"1 1/4"`。
|
|
128
|
+
* @returns `[直径 mm, 螺距 mm]`。
|
|
129
|
+
*/
|
|
130
|
+
export declare function acmeThreadParseSize(size: string): [number, number];
|
|
131
|
+
/**
|
|
132
|
+
* ACME 29° 梯形螺纹(`AcmeThread`)。默认 `end_finishes=("fade","fade")`。
|
|
133
|
+
* @param p - 入参(同 {@link TrapezoidalParams})。
|
|
134
|
+
* @returns 螺纹实体与派生尺寸。
|
|
135
|
+
*/
|
|
136
|
+
export declare function acmeThread(p: TrapezoidalParams): ThreadResult;
|
|
137
|
+
/** `MetricTrapezoidalThread.standard_sizes`(thread.py:746)——ISO 2904 公制规格表。 */
|
|
138
|
+
export declare const METRIC_TRAPEZOIDAL_SIZES: readonly string[];
|
|
139
|
+
/**
|
|
140
|
+
* `MetricTrapezoidalThread.sizes()`(thread.py:779)。
|
|
141
|
+
* @returns ISO 2904 公制规格表的副本(调用方改动不影响内部表)。
|
|
142
|
+
*/
|
|
143
|
+
export declare function metricTrapezoidalThreadSizes(): string[];
|
|
144
|
+
/**
|
|
145
|
+
* `MetricTrapezoidalThread.parse_size`(thread.py:784)→ (diameter mm, pitch mm)。
|
|
146
|
+
* @param size - 公制规格字符串,形如 `"20x4"`。
|
|
147
|
+
* @returns `[直径 mm, 螺距 mm]`。
|
|
148
|
+
*/
|
|
149
|
+
export declare function metricTrapezoidalThreadParseSize(size: string): [number, number];
|
|
150
|
+
/**
|
|
151
|
+
* ISO 2904 公制 30° 梯形螺纹(`MetricTrapezoidalThread`)。
|
|
152
|
+
* @param p - 入参(同 {@link TrapezoidalParams})。
|
|
153
|
+
* @returns 螺纹实体与派生尺寸。
|
|
154
|
+
*/
|
|
155
|
+
export declare function metricTrapezoidalThread(p: TrapezoidalParams): ThreadResult;
|
|
156
|
+
/** `PlasticBottleThread.__init__` 的入参(thread.py:926)。 */
|
|
157
|
+
export interface PlasticBottleThreadParams {
|
|
158
|
+
size: string;
|
|
159
|
+
external?: boolean;
|
|
160
|
+
hand?: Hand;
|
|
161
|
+
/** 3D 打印过挤补偿:外部螺纹半径减、内部加(thread.py:813)。 */
|
|
162
|
+
manufacturingCompensation?: number;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* `PlasticBottleThread` 的派生尺寸(覆盖上游全部属性)。
|
|
166
|
+
* @param p - 入参(规格串 + 内外螺纹 + 过挤补偿)。
|
|
167
|
+
* @returns 上游实例的全部派生属性(半径 / 宽度 / 螺距 / 长度 / 两段牙侧角)。
|
|
168
|
+
*/
|
|
169
|
+
export declare function plasticBottleThreadDimensions(p: PlasticBottleThreadParams): {
|
|
170
|
+
style: string;
|
|
171
|
+
diameter: number;
|
|
172
|
+
finish: number;
|
|
173
|
+
tpi: number;
|
|
174
|
+
apexRadius: number;
|
|
175
|
+
rootRadius: number;
|
|
176
|
+
apexWidth: number;
|
|
177
|
+
apexOffset: number;
|
|
178
|
+
pitch: number;
|
|
179
|
+
length: number;
|
|
180
|
+
threadAngles: [number, number];
|
|
181
|
+
rootWidth: number;
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* ASTM D2911 塑料瓶口螺纹(`PlasticBottleThread`),端部恒为 ("fade","fade")。
|
|
185
|
+
* @param p - 入参(规格串 + 内外螺纹 + 过挤补偿)。
|
|
186
|
+
* @returns 螺纹实体与派生尺寸。
|
|
187
|
+
*/
|
|
188
|
+
export declare function plasticBottleThread(p: PlasticBottleThreadParams): ThreadResult;
|
|
189
|
+
//# sourceMappingURL=thread.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../src/thread.ts"],"names":[],"mappings":"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"}
|