@dromney/gear-gen
Version:
A set of types and pattern generators for working with front-end gears
105 lines (104 loc) • 2.66 kB
TypeScript
import { LinearCoordinates } from "./utils.js";
interface GearConstructor {
id?: string;
N?: number;
D?: number;
P?: number;
PADeg?: number;
parent?: Gear;
jointAngleDeg?: number;
internal?: boolean;
internalThickness?: number;
axleJoint?: boolean;
layer?: number;
scale?: number;
}
export declare class Gear {
id: string;
holeSize: number;
crossSize: number;
layer: number;
constructor(props: GearConstructor);
_N: number;
get N(): number;
set N(N: number);
_D: number;
get D(): number;
set D(D: number);
_PA: number;
get PA(): number;
set PA(PA: number);
_jointAngle: number;
get jointAngle(): number;
get jointAngleDeg(): number;
set jointAngle(jointAngle: number);
_axleJoint: boolean;
get axleJoint(): boolean;
set axleJoint(axleJoint: boolean);
_internal: boolean;
get internal(): boolean;
set internal(internal: boolean);
_internalThickness: number;
get internalThickness(): number;
set internalThickness(thickness: number);
_parent?: Gear;
get parent(): Gear | undefined;
set parent(parent: Gear | undefined);
_scale: number;
get scale(): number;
set scale(scale: number);
setND(N: number, D: number): void;
setNP(N: number, P: number): void;
setDP(D: number, P: number): void;
get P(): number;
get gearAngleDeg(): number;
toothModule: number;
toothGap: number;
get dOuter(): number;
get dInner(): number;
get rOuter(): number;
get rInner(): number;
get dBase(): number;
get rBase(): number;
get r(): number;
get rScaled(): number;
get size(): number;
baseAngle: number;
updateBaseAngle(): void;
get pointsPolar(): any[];
get pointsLinear(): LinearCoordinates[];
get firstToothMarker(): {
x: number;
y: number;
size: number;
};
get description(): string;
get descriptionTextData(): {
data: import("./svg.js").TextData;
height: number;
B: number;
};
svg: string;
updateSVG(): void;
dxf: string;
updateDXF(): void;
get isInternalLink(): boolean;
get ratio(): number;
rot: number;
getRot(globalRot: number): number;
getRotSafe(globalRot: number): number;
x: number;
y: number;
svgOffsetX: number;
svgOffsetY: number;
get defaultPos(): number;
get offsetX(): number;
get offsetY(): number;
updatePositions(): void;
updateStatic(): void;
get totalRatio(): number;
get fileName(): string;
downloadSVG(): void;
downloadDXF(): void;
}
export {};