UNPKG

@bitbybit-dev/jscad

Version:

Bit By Bit Developers JSCAD based CAD Library to Program Geometry

1,661 lines (1,660 loc) 42.4 kB
import { Base } from "./base-inputs"; export declare namespace JSCAD { type JSCADEntity = any; class PolylinePropertiesDto { /** * Provide options without default values */ constructor(points?: Base.Point3[], isClosed?: boolean); /** * Points of the polyline */ points: Base.Point3[]; /** * Can contain is closed information */ isClosed?: boolean; /** * Can contain color information */ color?: string | number[]; } enum solidCornerTypeEnum { /** * Edges will meet at a corner */ edge = "edge", /** * Edges will be rounded on the corner */ round = "round", /** * Edges will be chamfered on the corner */ chamfer = "chamfer" } enum jscadTextAlignEnum { /** * Aligns text to the left */ left = "left", /** * Aligns text to the center */ center = "center", /** * Aligns text to the right */ right = "right" } class MeshDto { constructor(mesh?: JSCADEntity); /** * Solid Jscad mesh */ mesh: JSCADEntity; } class MeshesDto { constructor(meshes?: JSCADEntity[]); /** * Solid Jscad mesh */ meshes: JSCADEntity[]; } class DrawSolidMeshDto<T> { /** * Provide options without default values */ constructor(mesh?: JSCADEntity, opacity?: number, colours?: string | string[], updatable?: boolean, hidden?: boolean, jscadMesh?: T); /** * Solid Jscad mesh */ mesh: JSCADEntity; /** * Value between 0 and 1 * @default 1 * @minimum 0 * @maximum 1 * @step 0.1 */ opacity: number; /** * Hex colour string * @default #444444 */ colours: string | string[]; /** * Indicates wether this solid will be transformed in time * @default false */ updatable: boolean; /** * Hidden * @default false */ hidden: boolean; /** * Solid mesh variable in case it already exists and needs updating * @default undefined * @optional true * @ignore true */ jscadMesh?: T; } class DrawSolidMeshesDto<T> { /** * Provide options without default values */ constructor(meshes?: JSCADEntity[], opacity?: number, colours?: string | string[], updatable?: boolean, hidden?: boolean, jscadMesh?: T); /** * Solid Jscad meshes * @default undefined * @optional true */ meshes: JSCADEntity[]; /** * Value between 0 and 1 * @default 1 * @minimum 0 * @maximum 1 * @step 0.1 */ opacity: number; /** * Hex colour string * @default #444444 */ colours: string | string[]; /** * Indicates wether this solid will be transformed in time * @default false */ updatable: boolean; /** * Should be hidden * @default false */ hidden: boolean; /** * Solid mesh variable in case it already exists and needs updating * @default undefined * @optional true * @ignore true */ jscadMesh?: T; } class DrawPathDto<T> { /** * Provide options without default values */ constructor(path?: JSCADEntity, colour?: string, opacity?: number, width?: number, updatable?: boolean, pathMesh?: T); /** * 2D Path to draw * @default undefined */ path: JSCADEntity; /** * Colour of the path * @default #444444 */ colour: string; /** * Opacity of the path * @default 1 * @minimum 0 * @maximum 1 * @step 0.1 */ opacity: number; /** * Width of the path * @default 10 * @minimum 0 * @maximum Infinity * @step 1 */ width: number; /** * Indicates wether the path will change in time * @default false */ updatable: boolean; /** * Path mesh variable that will be updated if updatable property is set to true * @default undefined * @optional true * @ignore true */ pathMesh?: T; } class TransformSolidsDto { constructor(meshes?: JSCADEntity[], transformation?: Base.TransformMatrixes); /** * Solids to be transformed * @default undefined */ meshes: JSCADEntity[]; /** * Transformation matrix or a list of transformation matrixes * @default undefined */ transformation: Base.TransformMatrixes; } class TransformSolidDto { constructor(mesh?: JSCADEntity, transformation?: Base.TransformMatrixes); /** * Solid to be transformed * @default undefined */ mesh: JSCADEntity; /** * Transformation matrix or a list of transformation matrixes * @default undefined */ transformation: Base.TransformMatrixes; } class DownloadSolidDto { constructor(mesh?: JSCADEntity, fileName?: string); /** * Solid to be downloaded * @default undefined */ mesh: JSCADEntity; /** * File name * @default undefined */ fileName: string; } class DownloadGeometryDto { constructor(geometry?: JSCADEntity | JSCADEntity[], fileName?: string, options?: any); /** * Solid or path to be downloaded, also supports multiple geometries in array * @default undefined */ geometry: JSCADEntity | JSCADEntity[]; /** * File name * @default jscad-geometry */ fileName: string; /** * Options * @default undefined * @optional true */ options: any; } class DownloadSolidsDto { constructor(meshes?: JSCADEntity[], fileName?: string); /** * Solids to be downloaded * @default undefined */ meshes: JSCADEntity[]; /** * File name * @default undefined */ fileName: string; } class ColorizeDto { constructor(geometry?: JSCADEntity, color?: string); /** * Solid to be colorized * @default undefined */ geometry: JSCADEntity | JSCADEntity[]; /** * Hex color string * @default #0000ff */ color: string; } class BooleanObjectsDto { constructor(meshes?: JSCADEntity[]); /** * Contains solid Jscad mesh objects that will be used to perform boolean operation * @default undefined */ meshes: JSCADEntity[]; } class BooleanTwoObjectsDto { constructor(first?: JSCADEntity, second?: JSCADEntity); /** * Contains Jscad Solid * @default undefined */ first: JSCADEntity; /** * Contains Jscad Solid * @default undefined */ second: JSCADEntity; } class BooleanObjectsFromDto { constructor(from?: JSCADEntity, meshes?: JSCADEntity[]); /** * Contains Jscad Solid * @default undefined */ from: JSCADEntity; /** * Contains Jscad Solid * @default undefined */ meshes: JSCADEntity[]; } class ExpansionDto { constructor(geometry?: JSCADEntity, delta?: number, corners?: solidCornerTypeEnum, segments?: number); /** * Can contain various Jscad entities from Solid category * @default undefined */ geometry: JSCADEntity; /** * Delta (+/-) of expansion * @default 0.1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ delta: number; /** * Type of corner to create during of expansion; edge, chamfer, round * @default edge */ corners: solidCornerTypeEnum; /** * Integer number of segments when creating round corners * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class OffsetDto { constructor(geometry?: JSCADEntity, delta?: number, corners?: solidCornerTypeEnum, segments?: number); /** * Can contain various Jscad entities from Solid category * @default undefined */ geometry: JSCADEntity; /** * Delta (+/-) of offset * @default 0.1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ delta: number; /** * Type of corner to create during the offset; edge, chamfer, round. * @default edge */ corners: solidCornerTypeEnum; /** * Integer number of segments when creating round corners * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class ExtrudeLinearDto { constructor(geometry?: JSCADEntity, height?: number, twistAngle?: number, twistSteps?: number); /** * Geometry to extrude * @default undefined */ geometry: JSCADEntity; /** * Height of linear extrude * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ height: number; /** * Twist angle in degrees * @default 90 * @minimum -Infinity * @maximum Infinity * @step 1 */ twistAngle: number; /** * Number of twist steps * @default 15 * @minimum 0 * @maximum Infinity * @step 1 */ twistSteps: number; } class HullDto { constructor(meshes?: JSCADEntity[]); /** * Geometries to use in hull * @default undefined */ meshes: JSCADEntity[]; } class ExtrudeRectangularDto { constructor(geometry?: JSCADEntity, height?: number, size?: number); /** * Geometry to extrude * @default undefined */ geometry: JSCADEntity; /** * Height of linear extrude * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Size of the rectangle * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ size: number; } class ExtrudeRectangularPointsDto { constructor(points?: Base.Point3[], height?: number, size?: number); /** * Points for a path * @default undefined */ points: Base.Point3[]; /** * Height of linear extrude * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Size of the rectangle * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ size: number; } class ExtrudeRotateDto { constructor(polygon?: JSCADEntity, angle?: number, startAngle?: number, segments?: number); /** * Polygon to extrude * @default undefined */ polygon: JSCADEntity; /** * Angle in degrees * @default 90 * @minimum -Infinity * @maximum Infinity * @step 1 */ angle: number; /** * Start angle in degrees * @default 0 * @minimum -Infinity * @maximum Infinity * @step 1 */ startAngle: number; /** * Number of segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class PolylineDto { constructor(polyline?: PolylinePropertiesDto); /** * Polyline with points */ polyline: PolylinePropertiesDto; } class CurveDto { constructor(curve?: any); /** * Nurbs curve */ curve: any; } class PointsDto { constructor(points?: Base.Point3[]); /** * Points */ points: Base.Point3[]; } class PathDto { constructor(path?: JSCADEntity); /** * 2D path * @default undefined */ path: JSCADEntity; } class PathFromPointsDto { constructor(points?: Base.Point2[], closed?: boolean); /** * Points through which to create a path * @default undefined */ points: Base.Point2[]; /** * Indicates wether we want to create a closed path * @default false */ closed: boolean; } class PathsFromPointsDto { constructor(pointsLists?: Base.Point3[][] | Base.Point2[][]); /** * Points * @default undefined */ pointsLists: Base.Point3[][] | Base.Point2[][]; } class PathFromPolylineDto { constructor(polyline?: PolylinePropertiesDto, closed?: boolean); /** * Polyline * @default undefined */ polyline: PolylinePropertiesDto; /** * Indicates wether we want to create a closed path * @default false */ closed: boolean; } class PathAppendCurveDto { constructor(curve?: JSCADEntity, path?: JSCADEntity); /** * Verb Nurbs curve * @default undefined */ curve: JSCADEntity; /** * Path to append the curve to * @default undefined */ path: JSCADEntity; } class PathAppendPointsDto { constructor(points?: Base.Point2[], path?: JSCADEntity); /** * Points to append * @default undefined */ points: Base.Point2[]; /** * Path to append the points to * @default undefined */ path: JSCADEntity; } class PathAppendPolylineDto { constructor(polyline?: PolylinePropertiesDto, path?: JSCADEntity); /** * Polyline to append * @default undefined */ polyline: PolylinePropertiesDto; /** * Path to append the polyline to * @default undefined */ path: JSCADEntity; } class PathAppendArcDto { constructor(path?: JSCADEntity, endPoint?: Base.Point2, xAxisRotation?: number, clockwise?: boolean, large?: boolean, segments?: number, radiusX?: number, radiusY?: number); /** * Path to append the arc to * @default undefined */ path: JSCADEntity; /** * End point of an arc * @default [1, 1] */ endPoint: Base.Point2; /** * Rotation (degrees) of the X axis of the arc with respect to the X axis of the coordinate system * @default 90 * @minimum -Infinity * @maximum Infinity * @step 1 */ xAxisRotation: number; /** * Draw an arc clockwise with respect to the center point * @default true */ clockwise: boolean; /** * Draw an arc longer than PI radians * @default false */ large: boolean; /** * Number of segments for the arc * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; /** * X radius of an arc * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ radiusX: number; /** * Y radius of an arc * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ radiusY: number; } class CircleDto { constructor(center?: Base.Point2, radius?: number, segments?: number); /** * Center of the circle * @default [0, 0] */ center: Base.Point2; /** * Radius of the circle * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ radius: number; /** * Segment number * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class EllipseDto { constructor(center?: Base.Point2, radius?: Base.Point2, segments?: number); /** * Center of the circle * @default [0, 0] */ center: Base.Point2; /** * Radius of the circle in [x, y] form * @default [1, 2] */ radius: Base.Point2; /** * Segment number * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class SquareDto { constructor(center?: Base.Point2, size?: number); /** * Center of the 2D square * @default [0, 0] */ center: Base.Point2; /** * Size of the square * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ size: number; } class RectangleDto { constructor(center?: Base.Point2, width?: number, length?: number); /** * Center of the 2D rectangle * @default [0, 0] */ center: Base.Point2; /** * Width of the rectangle * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ width: number; /** * Length of the rectangle * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ length: number; } class RoundedRectangleDto { constructor(center?: Base.Point2, roundRadius?: number, segments?: number, width?: number, length?: number); /** * Center of the 2D rectangle * @default [0, 0] */ center: Base.Point2; /** * The radius to round the rectangle edge * @default 0.2 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ roundRadius: number; /** * Number of segments for corners * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; /** * Width of the rectangle * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ width: number; /** * Length of the rectangle * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ length: number; } class StarDto { constructor(center?: Base.Point2, vertices?: number, density?: number, outerRadius?: number, innerRadius?: number, startAngle?: number); /** * Center of the 2D star * @default [0, 0] */ center: Base.Point2; /** * Number of vertices on the star * @default 10 * @minimum 0 * @maximum Infinity * @step 1 */ vertices: number; /** * Density of the star * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ density: number; /** * Outer radius of the star * @default 2 * @minimum 0 * @maximum Infinity * @step 0.1 */ outerRadius: number; /** * Inner radius of the star * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ innerRadius: number; /** * Starting angle for first vertice, in degrees * @default 0 * @minimum -Infinity * @maximum Infinity * @step 1 */ startAngle: number; } class CubeDto { constructor(center?: Base.Point3, size?: number); /** * Center coordinates of the cube * @default [0, 0, 0] */ center: Base.Point3; /** * Size of the cube * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ size: number; } class CubeCentersDto { constructor(centers?: Base.Point3[], size?: number); /** * Center coordinates of the cubes * @default undefined */ centers: Base.Point3[]; /** * Size of the cube * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ size: number; } class CuboidDto { constructor(center?: Base.Point3, width?: number, length?: number, height?: number); /** * Center coordinates of the cubod * @default [0, 0, 0] */ center: Base.Point3; /** * Width of the cuboid * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ width: number; /** * Length of the cuboid * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ length: number; /** * Height of the cuboid * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; } class CuboidCentersDto { constructor(centers?: Base.Point3[], width?: number, length?: number, height?: number); /** * Center coordinates of the cuboids * @default undefined */ centers: Base.Point3[]; /** * Width of the cuboids * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ width: number; /** * Length of the cuboids * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ length: number; /** * Height of the cuboids * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; } class RoundedCuboidDto { constructor(center?: Base.Point3, roundRadius?: number, width?: number, length?: number, height?: number, segments?: number); /** * Center coordinates of the cubod * @default [0, 0, 0] */ center: Base.Point3; /** * Radius for rounding edges * @default 0.1 * @minimum 0 * @maximum Infinity * @step 0.1 */ roundRadius: number; /** * Width of the cuboid * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ width: number; /** * Length of the cuboid * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ length: number; /** * Height of the cuboid * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Segments of rounded edges * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class RoundedCuboidCentersDto { constructor(centers?: Base.Point3[], roundRadius?: number, width?: number, length?: number, height?: number, segments?: number); /** * Center coordinates of the cuboids * @default undefined */ centers: Base.Point3[]; /** * Radius for rounding edges * @default 0.1 * @minimum 0 * @maximum Infinity * @step 0.1 */ roundRadius: number; /** * Width of the cuboids * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ width: number; /** * Length of the cuboids * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ length: number; /** * Height of the cuboids * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Segments of rounded edges * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class CylidnerEllipticDto { constructor(center?: Base.Point3, height?: number, startRadius?: Base.Point2, endRadius?: Base.Point2, segments?: number); /** * Center of the cylinder * @default [0, 0, 0] */ center: Base.Point3; /** * Height of the cylinder * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Start radius on X and Y directions * @default [1, 2] */ startRadius: Base.Vector2; /** * End radius on X and Y directions * @default [2, 3] */ endRadius: Base.Vector2; /** * Subdivision segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class CylidnerCentersEllipticDto { constructor(centers?: Base.Point3[], height?: number, startRadius?: Base.Point2, endRadius?: Base.Point2, segments?: number); /** * Centers of the cylinders * @default undefined */ centers: Base.Point3[]; /** * Height of the cylinders * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Start radius on X and Y directions * @default [1, 2] */ startRadius: Base.Point2; /** * End radius on X and Y directions * @default [2, 3] */ endRadius: Base.Point2; /** * Subdivision segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class CylidnerDto { constructor(center?: Base.Point3, height?: number, radius?: number, segments?: number); /** * Center of the cylinder * @default [0, 0, 0] */ center: Base.Point3; /** * Height of the cylinder * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Radius of the cylinder * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Subdivision segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class RoundedCylidnerDto { constructor(center?: Base.Point3, roundRadius?: number, height?: number, radius?: number, segments?: number); /** * Center of the cylinder * @default [0, 0, 0] */ center: Base.Point3; /** * Rounding radius * @default 0.1 * @minimum 0 * @maximum Infinity * @step 0.1 */ roundRadius: number; /** * Height of the cylinder * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Radius of the cylinder * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Segment number * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class EllipsoidDto { constructor(center?: Base.Point3, radius?: Base.Point3, segments?: number); /** * Center coordinates * @default [0, 0, 0] */ center: Base.Point3; /** * Radius of the ellipsoid in [x, y, z] form * @default [1, 2, 3] */ radius: Base.Point3; /** * Segment count for ellipsoid * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class EllipsoidCentersDto { constructor(centers?: Base.Point3[], radius?: Base.Point3, segments?: number); /** * Center coordinates * @default undefined */ centers: Base.Point3[]; /** * Radius of the ellipsoid in [x, y, z] form * @default [1, 2, 3] */ radius: Base.Point3; /** * Segment count for ellipsoid * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class GeodesicSphereDto { constructor(center?: Base.Point3, radius?: number, frequency?: number); /** * Center coordinate of the geodesic sphere * @default [0, 0, 0] */ center: Base.Point3; /** * Radius of the sphere * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Subdivision count * @default 12 * @minimum 0 * @maximum Infinity * @step 1 */ frequency: number; } class GeodesicSphereCentersDto { constructor(centers?: Base.Point3[], radius?: number, frequency?: number); /** * Center coordinates of the geodesic spheres * @default undefined */ centers: Base.Point3[]; /** * Radius of the sphere * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Subdivision count * @default 12 * @minimum 0 * @maximum Infinity * @step 0.1 */ frequency: number; } class CylidnerCentersDto { constructor(centers?: Base.Point3[], height?: number, radius?: number, segments?: number); /** * Centers of the cylinders * @default undefined */ centers: Base.Point3[]; /** * Height of the cylinders * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Radius of the cylinders * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Subdivision segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class RoundedCylidnerCentersDto { constructor(centers?: Base.Point3[], roundRadius?: number, height?: number, radius?: number, segments?: number); /** * Centers of the cylinders * @default undefined */ centers: Base.Point3[]; /** * Rounding radius * @default 0.1 * @minimum 0 * @maximum Infinity * @step 0.1 */ roundRadius: number; /** * Height of the cylinders * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Radius of the cylinders * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Segment number * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class SphereDto { constructor(center?: Base.Point3, radius?: number, segments?: number); /** * Center point of the sphere * @default [0, 0, 0] */ center: Base.Point3; /** * Radius of the sphere * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Segment count * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class SphereCentersDto { constructor(centers?: Base.Point3[], radius?: number, segments?: number); /** * Center points of the spheres * @default undefined */ centers: Base.Point3[]; /** * Radius of the spheres * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Segment count * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; } class TorusDto { constructor(center?: Base.Point3, innerRadius?: number, outerRadius?: number, innerSegments?: number, outerSegments?: number, innerRotation?: number, outerRotation?: number, startAngle?: number); /** * Center coordinate * @default [0, 0, 0] */ center: Base.Point3; /** * Inner radius * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ innerRadius: number; /** * Outer radius * @default 2 * @minimum 0 * @maximum Infinity * @step 0.1 */ outerRadius: number; /** * Number of inner segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ innerSegments: number; /** * Number of outer segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ outerSegments: number; /** * Inner rotation in degrees * @default 0 * @minimum -Infinity * @maximum Infinity * @step 1 */ innerRotation: number; /** * Outer rotation in degrees * @default 360 * @minimum -Infinity * @maximum Infinity * @step 1 */ outerRotation: number; /** * Start angle in degrees * @default 0 * @minimum -Infinity * @maximum Infinity * @step 1 */ startAngle: number; } class TextDto { constructor(text?: string, segments?: number, xOffset?: number, yOffset?: number, height?: number, lineSpacing?: number, letterSpacing?: number, align?: jscadTextAlignEnum, extrudeOffset?: number); /** * Text to write * @default Hello World */ text: string; /** * Number of segments * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; /** * X offset of the text * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ xOffset: number; /** * Y offset of the text * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ yOffset: number; /** * Height of the text * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Space between lines * @default 1.4 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ lineSpacing: number; /** * Space between letters * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ letterSpacing: number; /** * Align between left, center, right * @default center */ align: jscadTextAlignEnum; /** * Offset the extrusion * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ extrudeOffset: number; } class CylinderTextDto { constructor(text?: string, extrusionHeight?: number, extrusionSize?: number, segments?: number, xOffset?: number, yOffset?: number, height?: number, lineSpacing?: number, letterSpacing?: number, align?: jscadTextAlignEnum, extrudeOffset?: number); /** * Text to write * @default Hello World */ text: string; /** * Height of the cylinder * @default 0.5 * @minimum 0 * @maximum Infinity * @step 0.1 */ extrusionHeight: number; /** * Radius of the cylinder * @default 0.1 * @minimum 0 * @maximum Infinity * @step 0.1 */ extrusionSize: number; /** * Segment subdivision for cylinder * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; /** * X offset of the text * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ xOffset: number; /** * Y offset of the text * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ yOffset: number; /** * Height of the text * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Space between lines * @default 1.4 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ lineSpacing: number; /** * Space between letters * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ letterSpacing: number; /** * Align between left, center, right * @default center */ align: jscadTextAlignEnum; /** * Offset the extrusion * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ extrudeOffset: number; } class SphereTextDto { constructor(text?: string, radius?: number, segments?: number, xOffset?: number, yOffset?: number, height?: number, lineSpacing?: number, letterSpacing?: number, align?: jscadTextAlignEnum, extrudeOffset?: number); /** * Text to write * @default Hello World */ text: string; /** * Radius of the spheres * @default 0.1 * @minimum 0 * @maximum Infinity * @step 0.1 */ radius: number; /** * Segment subdivision for sphere * @default 24 * @minimum 0 * @maximum Infinity * @step 1 */ segments: number; /** * X offset of the text * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ xOffset: number; /** * Y offset of the text * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ yOffset: number; /** * Height of the text * @default 1 * @minimum 0 * @maximum Infinity * @step 0.1 */ height: number; /** * Space between lines * @default 1.4 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ lineSpacing: number; /** * Space between letters * @default 1 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ letterSpacing: number; /** * Align between left, center, right * @default center */ align: jscadTextAlignEnum; /** * Offset the extrusion * @default 0 * @minimum -Infinity * @maximum Infinity * @step 0.1 */ extrudeOffset: number; } class FromPolygonPoints { constructor(polygonPoints?: Base.Point3[][]); /** * Points describing polygons */ polygonPoints?: Base.Point3[][]; } }