jscad-electronics 0.0.212 → 0.0.214
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/index.d.ts +19 -2
- package/dist/index.js +963 -850
- package/dist/index.js.map +1 -1
- package/dist/vanilla.d.ts +19 -2
- package/dist/vanilla.js +131 -23
- package/dist/vanilla.js.map +1 -1
- package/package.json +2 -2
package/dist/vanilla.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { BufferGeometry } from 'three';
|
|
|
3
3
|
import * as jscadModeling from '@jscad/modeling';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import * as _jscad_modeling_src_geometries_types from '@jscad/modeling/src/geometries/types';
|
|
6
|
-
import { BallBearingModelPropsInput, ButtonScrewModelPropsInput, CableGrommetModelPropsInput, ClampingShaftCollarModelPropsInput, CompressionSpringModelPropsInput, FlangedBushingModelPropsInput, FlatHeadScrewModelPropsInput, SpurGearModelPropsInput, HelicalGearModelPropsInput, HexBoltModelPropsInput, HexNutModelPropsInput, HexSocketBoltModelPropsInput, HollowPositioningArmTubeModelPropsInput, NemaMotorModelPropsInput, PanScrewModelPropsInput, PlainBushingModelPropsInput, RigidCouplerModelPropsInput, ShaftCollarModelPropsInput, SheetMetalModelPropsInput, ThreadedRodModelPropsInput, TSlotExtrusionModelPropsInput, TSlotGussetModelPropsInput, TSlotInsideCornerModelPropsInput, WormGearModelPropsInput } from '@tscircuit/modelprinter';
|
|
6
|
+
import { BallBearingModelPropsInput, ButtonScrewModelPropsInput, CableGrommetModelPropsInput, ClampingShaftCollarModelPropsInput, CompressionSpringModelPropsInput, FlangedBushingModelPropsInput, FlatHeadScrewModelPropsInput, SpurGearModelPropsInput, HelicalGearModelPropsInput, HexBoltModelPropsInput, HexNutModelPropsInput, HexSocketBoltModelPropsInput, HollowPositioningArmTubeModelPropsInput, NemaMotorModelPropsInput, PanScrewModelPropsInput, PlainBushingModelPropsInput, RigidCouplerModelPropsInput, ShaftCollarModelPropsInput, SheetMetalModelPropsInput, ThreadedRodModelPropsInput, TorsionSpringModelPropsInput, TSlotExtrusionModelPropsInput, TSlotGussetModelPropsInput, TSlotInsideCornerModelPropsInput, WormGearModelPropsInput } from '@tscircuit/modelprinter';
|
|
7
7
|
|
|
8
8
|
type VNode = {
|
|
9
9
|
type: any;
|
|
@@ -372,6 +372,23 @@ type ThreadedRodProps = ThreadedRodModelPropsInput & {
|
|
|
372
372
|
declare function createThreadedRodGeom(input: ThreadedRodModelPropsInput, resolution?: ThreadedRodMeshOptions): _jscad_modeling_src_geometries_types.Geom3;
|
|
373
373
|
declare function ThreadedRod({ color, ...props }: ThreadedRodProps): react_jsx_runtime.JSX.Element;
|
|
374
374
|
|
|
375
|
+
interface TorsionSpringMesh {
|
|
376
|
+
positions: number[];
|
|
377
|
+
indices: number[];
|
|
378
|
+
}
|
|
379
|
+
interface TorsionSpringMeshOptions {
|
|
380
|
+
segmentsPerTurn?: number;
|
|
381
|
+
wireSegments?: number;
|
|
382
|
+
}
|
|
383
|
+
/** Circular normal sections along the shared helix and its tangent legs. */
|
|
384
|
+
declare function createTorsionSpringMesh(input: TorsionSpringModelPropsInput, options?: TorsionSpringMeshOptions): TorsionSpringMesh;
|
|
385
|
+
|
|
386
|
+
type TorsionSpringProps = TorsionSpringModelPropsInput & {
|
|
387
|
+
color?: string;
|
|
388
|
+
};
|
|
389
|
+
declare function createTorsionSpringGeom(input: TorsionSpringModelPropsInput): _jscad_modeling_src_geometries_types.Geom3;
|
|
390
|
+
declare function TorsionSpring({ color, ...props }: TorsionSpringProps): react_jsx_runtime.JSX.Element;
|
|
391
|
+
|
|
375
392
|
interface TSlotExtrusionMesh {
|
|
376
393
|
positions: number[];
|
|
377
394
|
indices: number[];
|
|
@@ -445,4 +462,4 @@ declare function createJSCADRenderer(jscad: typeof jscadModeling): {
|
|
|
445
462
|
};
|
|
446
463
|
};
|
|
447
464
|
|
|
448
|
-
export { BallBearing, type BallBearingMesh, type BallBearingMeshOptions, type BallBearingMeshPart, type BallBearingProps, ButtonScrew, type ButtonScrewMesh, type ButtonScrewMeshOptions, type ButtonScrewProps, CableGrommet, type CableGrommetMesh, type CableGrommetMeshOptions, type CableGrommetProps, ClampingShaftCollar, type ClampingShaftCollarMesh, type ClampingShaftCollarProps, type ColoredGeom, CompressionSpring, type CompressionSpringMesh, type CompressionSpringMeshOptions, type CompressionSpringProps, FlangedBushing, type FlangedBushingMesh, type FlangedBushingProps, FlatHeadScrew, type FlatHeadScrewMesh, type FlatHeadScrewMeshOptions, type FlatHeadScrewProps, Fragment, HelicalGear, type HelicalGearMesh, type HelicalGearProps, HexBolt, type HexBoltMesh, type HexBoltMeshOptions, type HexBoltProps, HexNut, type HexNutMesh, type HexNutMeshOptions, type HexNutProps, HexSocketBolt, type HexSocketBoltMesh, type HexSocketBoltProps, HollowPositioningArmTube, type HollowPositioningArmTubeMesh, type HollowPositioningArmTubeMeshOptions, type HollowPositioningArmTubeProps, NEMA17, NEMA23, NEMA8, type NemaFrameMotorProps, NemaMotor, type NemaMotorProps, PanScrew, type PanScrewMesh, type PanScrewMeshOptions, type PanScrewProps, PlainBushing, type PlainBushingMesh, type PlainBushingProps, type RenderResult, RigidCoupler, type RigidCouplerMesh, type RigidCouplerProps, ShaftCollar, type ShaftCollarMesh, type ShaftCollarProps, SheetMetal, type SheetMetalMesh, type SheetMetalProps, SpurGear, type SpurGearMesh, type SpurGearProps, TSlotExtrusion, type TSlotExtrusionMesh, type TSlotExtrusionProps, TSlotGusset, type TSlotGussetMesh, type TSlotGussetProps, TSlotInsideCorner, type TSlotInsideCornerMesh, type TSlotInsideCornerProps, ThreadedRod, type ThreadedRodMesh, type ThreadedRodMeshOptions, type ThreadedRodProps, type VNode, WormGear, type WormGearMesh, type WormGearProps, convertCSGToThreeGeom, createBallBearingGeom, createBallBearingMesh, createButtonScrewGeom, createButtonScrewMesh, createCableGrommetGeom, createCableGrommetMesh, createClampingShaftCollarGeom, createClampingShaftCollarMesh, createCompressionSpringGeom, createCompressionSpringMesh, createFlangedBushingGeom, createFlangedBushingMesh, createFlatHeadScrewGeom, createFlatHeadScrewMesh, createHelicalGearGeom, createHelicalGearMesh, createHexBoltGeom, createHexBoltMesh, createHexNutGeom, createHexNutMesh, createHexSocketBoltGeom, createHexSocketBoltMesh, createHollowPositioningArmTubeGeom, createHollowPositioningArmTubeMesh, createJSCADRenderer, createPanScrewGeom, createPanScrewMesh, createPlainBushingGeom, createPlainBushingMesh, createRigidCouplerGeom, createRigidCouplerMesh, createShaftCollarGeom, createShaftCollarMesh, createSheetMetalGeom, createSheetMetalMesh, createSpurGearGeom, createSpurGearMesh, createTSlotExtrusionGeom, createTSlotExtrusionMesh, createTSlotGussetGeom, createTSlotGussetMesh, createTSlotInsideCornerGeom, createTSlotInsideCornerMesh, createThreadedRodGeom, createThreadedRodMesh, createWormGearGeom, createWormGearMesh, getJscadModelForFootprint, getJscadModelForFootprintWithPads, h };
|
|
465
|
+
export { BallBearing, type BallBearingMesh, type BallBearingMeshOptions, type BallBearingMeshPart, type BallBearingProps, ButtonScrew, type ButtonScrewMesh, type ButtonScrewMeshOptions, type ButtonScrewProps, CableGrommet, type CableGrommetMesh, type CableGrommetMeshOptions, type CableGrommetProps, ClampingShaftCollar, type ClampingShaftCollarMesh, type ClampingShaftCollarProps, type ColoredGeom, CompressionSpring, type CompressionSpringMesh, type CompressionSpringMeshOptions, type CompressionSpringProps, FlangedBushing, type FlangedBushingMesh, type FlangedBushingProps, FlatHeadScrew, type FlatHeadScrewMesh, type FlatHeadScrewMeshOptions, type FlatHeadScrewProps, Fragment, HelicalGear, type HelicalGearMesh, type HelicalGearProps, HexBolt, type HexBoltMesh, type HexBoltMeshOptions, type HexBoltProps, HexNut, type HexNutMesh, type HexNutMeshOptions, type HexNutProps, HexSocketBolt, type HexSocketBoltMesh, type HexSocketBoltProps, HollowPositioningArmTube, type HollowPositioningArmTubeMesh, type HollowPositioningArmTubeMeshOptions, type HollowPositioningArmTubeProps, NEMA17, NEMA23, NEMA8, type NemaFrameMotorProps, NemaMotor, type NemaMotorProps, PanScrew, type PanScrewMesh, type PanScrewMeshOptions, type PanScrewProps, PlainBushing, type PlainBushingMesh, type PlainBushingProps, type RenderResult, RigidCoupler, type RigidCouplerMesh, type RigidCouplerProps, ShaftCollar, type ShaftCollarMesh, type ShaftCollarProps, SheetMetal, type SheetMetalMesh, type SheetMetalProps, SpurGear, type SpurGearMesh, type SpurGearProps, TSlotExtrusion, type TSlotExtrusionMesh, type TSlotExtrusionProps, TSlotGusset, type TSlotGussetMesh, type TSlotGussetProps, TSlotInsideCorner, type TSlotInsideCornerMesh, type TSlotInsideCornerProps, ThreadedRod, type ThreadedRodMesh, type ThreadedRodMeshOptions, type ThreadedRodProps, TorsionSpring, type TorsionSpringMesh, type TorsionSpringMeshOptions, type TorsionSpringProps, type VNode, WormGear, type WormGearMesh, type WormGearProps, convertCSGToThreeGeom, createBallBearingGeom, createBallBearingMesh, createButtonScrewGeom, createButtonScrewMesh, createCableGrommetGeom, createCableGrommetMesh, createClampingShaftCollarGeom, createClampingShaftCollarMesh, createCompressionSpringGeom, createCompressionSpringMesh, createFlangedBushingGeom, createFlangedBushingMesh, createFlatHeadScrewGeom, createFlatHeadScrewMesh, createHelicalGearGeom, createHelicalGearMesh, createHexBoltGeom, createHexBoltMesh, createHexNutGeom, createHexNutMesh, createHexSocketBoltGeom, createHexSocketBoltMesh, createHollowPositioningArmTubeGeom, createHollowPositioningArmTubeMesh, createJSCADRenderer, createPanScrewGeom, createPanScrewMesh, createPlainBushingGeom, createPlainBushingMesh, createRigidCouplerGeom, createRigidCouplerMesh, createShaftCollarGeom, createShaftCollarMesh, createSheetMetalGeom, createSheetMetalMesh, createSpurGearGeom, createSpurGearMesh, createTSlotExtrusionGeom, createTSlotExtrusionMesh, createTSlotGussetGeom, createTSlotGussetMesh, createTSlotInsideCornerGeom, createTSlotInsideCornerMesh, createThreadedRodGeom, createThreadedRodMesh, createTorsionSpringGeom, createTorsionSpringMesh, createWormGearGeom, createWormGearMesh, getJscadModelForFootprint, getJscadModelForFootprintWithPads, h };
|
package/dist/vanilla.js
CHANGED
|
@@ -183,24 +183,24 @@ var FootprintPlatedHole = ({
|
|
|
183
183
|
import { ballBearingModelDefinitionSchema } from "@tscircuit/modelprinter";
|
|
184
184
|
|
|
185
185
|
// lib/model-registry.ts
|
|
186
|
-
function defineModelRenderer(
|
|
187
|
-
return
|
|
186
|
+
function defineModelRenderer(model27) {
|
|
187
|
+
return model27;
|
|
188
188
|
}
|
|
189
189
|
var ModelRendererRegistry = class {
|
|
190
190
|
models = /* @__PURE__ */ new Map();
|
|
191
|
-
register(
|
|
192
|
-
if (typeof
|
|
191
|
+
register(model27) {
|
|
192
|
+
if (typeof model27.name !== "string" || !/^[a-z]+$/.test(model27.name)) {
|
|
193
193
|
throw new Error(
|
|
194
194
|
"Model renderer names must contain only lowercase letters"
|
|
195
195
|
);
|
|
196
196
|
}
|
|
197
|
-
if (this.models.has(
|
|
198
|
-
throw new Error(`Model renderer "${
|
|
197
|
+
if (this.models.has(model27.name)) {
|
|
198
|
+
throw new Error(`Model renderer "${model27.name}" is already registered`);
|
|
199
199
|
}
|
|
200
|
-
if (
|
|
200
|
+
if (model27.pads !== "none" && model27.pads !== "footprinter") {
|
|
201
201
|
throw new Error('Model renderer pads must be "none" or "footprinter"');
|
|
202
202
|
}
|
|
203
|
-
const { name, schema, render: render2, pads } =
|
|
203
|
+
const { name, schema, render: render2, pads } = model27;
|
|
204
204
|
this.models.set(name, {
|
|
205
205
|
name,
|
|
206
206
|
schema,
|
|
@@ -3827,6 +3827,110 @@ function register21(registry) {
|
|
|
3827
3827
|
registry.register(model21);
|
|
3828
3828
|
}
|
|
3829
3829
|
|
|
3830
|
+
// lib/models/torsionspring/register.tsx
|
|
3831
|
+
import { torsionSpringModelDefinitionSchema } from "@tscircuit/modelprinter";
|
|
3832
|
+
|
|
3833
|
+
// lib/models/torsionspring/mesh.ts
|
|
3834
|
+
import {
|
|
3835
|
+
torsionSpringModelPropsSchema,
|
|
3836
|
+
getTorsionSpringDimensions,
|
|
3837
|
+
getTorsionSpringFrame
|
|
3838
|
+
} from "@tscircuit/modelprinter";
|
|
3839
|
+
function createTorsionSpringMesh(input, options = {}) {
|
|
3840
|
+
const p = torsionSpringModelPropsSchema.parse(input), d = getTorsionSpringDimensions(p);
|
|
3841
|
+
const segmentsPerTurn = options.segmentsPerTurn ?? 64, wireSegments = options.wireSegments ?? 24;
|
|
3842
|
+
for (const [name, value, minimum, maximum] of [
|
|
3843
|
+
["segmentsPerTurn", segmentsPerTurn, 16, 256],
|
|
3844
|
+
["wireSegments", wireSegments, 8, 64]
|
|
3845
|
+
])
|
|
3846
|
+
if (!Number.isInteger(value) || value < minimum || value > maximum || value % 4 !== 0)
|
|
3847
|
+
throw new Error(
|
|
3848
|
+
`${name} must be a multiple of four in [${minimum},${maximum}]`
|
|
3849
|
+
);
|
|
3850
|
+
const steps = Math.ceil(p.turns * segmentsPerTurn);
|
|
3851
|
+
if ((steps + 3) * wireSegments + 2 > 25e4)
|
|
3852
|
+
throw new Error("Spring exceeds mesh resolution limit (250000 vertices)");
|
|
3853
|
+
const scale = Math.max(
|
|
3854
|
+
p.outerDiameter,
|
|
3855
|
+
d.axialAdvance,
|
|
3856
|
+
p.startLegLength,
|
|
3857
|
+
p.endLegLength
|
|
3858
|
+
);
|
|
3859
|
+
if (Math.min(
|
|
3860
|
+
p.wireDiameter,
|
|
3861
|
+
p.startLegLength,
|
|
3862
|
+
p.endLegLength,
|
|
3863
|
+
d.insideDiameter,
|
|
3864
|
+
p.pitch - p.wireDiameter
|
|
3865
|
+
) <= scale * 1e-10)
|
|
3866
|
+
throw new Error("Spring clearance exceeds mesh resolution limits");
|
|
3867
|
+
const distances = [
|
|
3868
|
+
0,
|
|
3869
|
+
...Array.from(
|
|
3870
|
+
{ length: steps + 1 },
|
|
3871
|
+
(_, i) => p.startLegLength + d.coilLength * i / steps
|
|
3872
|
+
),
|
|
3873
|
+
d.centerlineLength
|
|
3874
|
+
];
|
|
3875
|
+
const frameProps = { ...p, leftHand: false };
|
|
3876
|
+
const positions = [], indices = [];
|
|
3877
|
+
for (const distance2 of distances) {
|
|
3878
|
+
const f = getTorsionSpringFrame(frameProps, distance2);
|
|
3879
|
+
for (let j = 0; j < wireSegments; j++) {
|
|
3880
|
+
const angle = 2 * Math.PI * j / wireSegments;
|
|
3881
|
+
const c = j === wireSegments / 4 || j === 3 * wireSegments / 4 ? 0 : Math.cos(angle);
|
|
3882
|
+
const s = j === 0 || j === wireSegments / 2 ? 0 : Math.sin(angle);
|
|
3883
|
+
for (let axis = 0; axis < 3; axis++)
|
|
3884
|
+
positions.push(
|
|
3885
|
+
f.position[axis] + p.wireDiameter / 2 * (f.normal[axis] * c + f.binormal[axis] * s)
|
|
3886
|
+
);
|
|
3887
|
+
}
|
|
3888
|
+
}
|
|
3889
|
+
for (let i = 0; i < distances.length - 1; i++)
|
|
3890
|
+
for (let j = 0; j < wireSegments; j++) {
|
|
3891
|
+
const n = (j + 1) % wireSegments, a = i * wireSegments, b = (i + 1) * wireSegments;
|
|
3892
|
+
indices.push(a + j, a + n, b + j, a + n, b + n, b + j);
|
|
3893
|
+
}
|
|
3894
|
+
const firstCenter = positions.length / 3;
|
|
3895
|
+
positions.push(
|
|
3896
|
+
...getTorsionSpringFrame(frameProps, 0).position,
|
|
3897
|
+
...getTorsionSpringFrame(frameProps, d.centerlineLength).position
|
|
3898
|
+
);
|
|
3899
|
+
const end = (distances.length - 1) * wireSegments;
|
|
3900
|
+
for (let j = 0; j < wireSegments; j++) {
|
|
3901
|
+
const n = (j + 1) % wireSegments;
|
|
3902
|
+
indices.push(firstCenter, n, j, firstCenter + 1, end + j, end + n);
|
|
3903
|
+
}
|
|
3904
|
+
if (p.leftHand) {
|
|
3905
|
+
for (let i = 1; i < positions.length; i += 3) positions[i] = -positions[i];
|
|
3906
|
+
for (let i = 0; i < indices.length; i += 3)
|
|
3907
|
+
[indices[i + 1], indices[i + 2]] = [indices[i + 2], indices[i + 1]];
|
|
3908
|
+
}
|
|
3909
|
+
return { positions, indices };
|
|
3910
|
+
}
|
|
3911
|
+
|
|
3912
|
+
// lib/models/torsionspring/TorsionSpring.tsx
|
|
3913
|
+
function createTorsionSpringGeom(input) {
|
|
3914
|
+
return indexedMeshToGeom3(createTorsionSpringMesh(input));
|
|
3915
|
+
}
|
|
3916
|
+
function TorsionSpring({
|
|
3917
|
+
color = "#929ba6",
|
|
3918
|
+
...props
|
|
3919
|
+
}) {
|
|
3920
|
+
return /* @__PURE__ */ jsx(Colorize, { color, children: /* @__PURE__ */ jsx(Custom, { geometry: createTorsionSpringGeom(props) }) });
|
|
3921
|
+
}
|
|
3922
|
+
|
|
3923
|
+
// lib/models/torsionspring/register.tsx
|
|
3924
|
+
var model22 = defineModelRenderer({
|
|
3925
|
+
name: "torsionspring",
|
|
3926
|
+
schema: torsionSpringModelDefinitionSchema,
|
|
3927
|
+
render: ({ fn, ...props }) => /* @__PURE__ */ jsx(TorsionSpring, { ...props }),
|
|
3928
|
+
pads: "none"
|
|
3929
|
+
});
|
|
3930
|
+
function register22(registry) {
|
|
3931
|
+
registry.register(model22);
|
|
3932
|
+
}
|
|
3933
|
+
|
|
3830
3934
|
// lib/models/tslotextrusion/register.tsx
|
|
3831
3935
|
import { tSlotExtrusionModelDefinitionSchema } from "@tscircuit/modelprinter";
|
|
3832
3936
|
|
|
@@ -3974,14 +4078,14 @@ function TSlotExtrusion({
|
|
|
3974
4078
|
}
|
|
3975
4079
|
|
|
3976
4080
|
// lib/models/tslotextrusion/register.tsx
|
|
3977
|
-
var
|
|
4081
|
+
var model23 = defineModelRenderer({
|
|
3978
4082
|
name: "tslotextrusion",
|
|
3979
4083
|
schema: tSlotExtrusionModelDefinitionSchema,
|
|
3980
4084
|
render: ({ fn, ...props }) => /* @__PURE__ */ jsx(TSlotExtrusion, { ...props }),
|
|
3981
4085
|
pads: "none"
|
|
3982
4086
|
});
|
|
3983
|
-
function
|
|
3984
|
-
registry.register(
|
|
4087
|
+
function register23(registry) {
|
|
4088
|
+
registry.register(model23);
|
|
3985
4089
|
}
|
|
3986
4090
|
|
|
3987
4091
|
// lib/models/tslotgusset/register.tsx
|
|
@@ -4034,14 +4138,14 @@ function TSlotGusset({ color = "#8995a3", ...props }) {
|
|
|
4034
4138
|
}
|
|
4035
4139
|
|
|
4036
4140
|
// lib/models/tslotgusset/register.tsx
|
|
4037
|
-
var
|
|
4141
|
+
var model24 = defineModelRenderer({
|
|
4038
4142
|
name: "tslotgusset",
|
|
4039
4143
|
schema: tSlotGussetModelDefinitionSchema,
|
|
4040
4144
|
render: ({ fn, ...props }) => /* @__PURE__ */ jsx(TSlotGusset, { ...props }),
|
|
4041
4145
|
pads: "none"
|
|
4042
4146
|
});
|
|
4043
|
-
function
|
|
4044
|
-
registry.register(
|
|
4147
|
+
function register24(registry) {
|
|
4148
|
+
registry.register(model24);
|
|
4045
4149
|
}
|
|
4046
4150
|
|
|
4047
4151
|
// lib/models/tslotinsidecorner/register.tsx
|
|
@@ -4121,14 +4225,14 @@ function TSlotInsideCorner({
|
|
|
4121
4225
|
}
|
|
4122
4226
|
|
|
4123
4227
|
// lib/models/tslotinsidecorner/register.tsx
|
|
4124
|
-
var
|
|
4228
|
+
var model25 = defineModelRenderer({
|
|
4125
4229
|
name: "tslotinsidecorner",
|
|
4126
4230
|
schema: tSlotInsideCornerModelDefinitionSchema,
|
|
4127
4231
|
render: ({ fn, ...props }) => /* @__PURE__ */ jsx(TSlotInsideCorner, { ...props }),
|
|
4128
4232
|
pads: "none"
|
|
4129
4233
|
});
|
|
4130
|
-
function
|
|
4131
|
-
registry.register(
|
|
4234
|
+
function register25(registry) {
|
|
4235
|
+
registry.register(model25);
|
|
4132
4236
|
}
|
|
4133
4237
|
|
|
4134
4238
|
// lib/models/wormgear/register.tsx
|
|
@@ -4320,14 +4424,14 @@ function WormGear({ color = "#737e8f", ...props }) {
|
|
|
4320
4424
|
}
|
|
4321
4425
|
|
|
4322
4426
|
// lib/models/wormgear/register.tsx
|
|
4323
|
-
var
|
|
4427
|
+
var model26 = defineModelRenderer({
|
|
4324
4428
|
name: "wormgear",
|
|
4325
4429
|
schema: wormGearModelDefinitionSchema,
|
|
4326
4430
|
render: ({ fn, ...props }) => /* @__PURE__ */ jsx(WormGear, { ...props }),
|
|
4327
4431
|
pads: "none"
|
|
4328
4432
|
});
|
|
4329
|
-
function
|
|
4330
|
-
registry.register(
|
|
4433
|
+
function register26(registry) {
|
|
4434
|
+
registry.register(model26);
|
|
4331
4435
|
}
|
|
4332
4436
|
|
|
4333
4437
|
// lib/generated/model-renderers.ts
|
|
@@ -4357,6 +4461,7 @@ function registerAllModelRenderers(registry) {
|
|
|
4357
4461
|
register23(registry);
|
|
4358
4462
|
register24(registry);
|
|
4359
4463
|
register25(registry);
|
|
4464
|
+
register26(registry);
|
|
4360
4465
|
}
|
|
4361
4466
|
|
|
4362
4467
|
// lib/default-model-registry.ts
|
|
@@ -11913,10 +12018,10 @@ var SOT143 = ({ footprint = "sot143" }) => {
|
|
|
11913
12018
|
var Footprinter3d = ({ footprint }) => {
|
|
11914
12019
|
const modelFn = mp3.string(footprint.split("_", 1)[0]).params().fn;
|
|
11915
12020
|
if (mp3.getModelNames().includes(modelFn)) {
|
|
11916
|
-
const
|
|
11917
|
-
const renderer = modelRendererRegistry.get(
|
|
12021
|
+
const model27 = mp3.string(footprint).json();
|
|
12022
|
+
const renderer = modelRendererRegistry.get(model27.fn);
|
|
11918
12023
|
if (renderer) {
|
|
11919
|
-
return renderer.render(
|
|
12024
|
+
return renderer.render(model27);
|
|
11920
12025
|
}
|
|
11921
12026
|
}
|
|
11922
12027
|
let normalizedFootprint = footprint;
|
|
@@ -12894,6 +12999,7 @@ export {
|
|
|
12894
12999
|
TSlotGusset,
|
|
12895
13000
|
TSlotInsideCorner,
|
|
12896
13001
|
ThreadedRod,
|
|
13002
|
+
TorsionSpring,
|
|
12897
13003
|
WormGear,
|
|
12898
13004
|
convertCSGToThreeGeom,
|
|
12899
13005
|
createBallBearingGeom,
|
|
@@ -12941,6 +13047,8 @@ export {
|
|
|
12941
13047
|
createTSlotInsideCornerMesh,
|
|
12942
13048
|
createThreadedRodGeom,
|
|
12943
13049
|
createThreadedRodMesh,
|
|
13050
|
+
createTorsionSpringGeom,
|
|
13051
|
+
createTorsionSpringMesh,
|
|
12944
13052
|
createWormGearGeom,
|
|
12945
13053
|
createWormGearMesh,
|
|
12946
13054
|
getJscadModelForFootprint,
|