Script: Example in TypeScript

Example in TypeScript picture
Type
Typescript logo indicatortypescript
Date Created
Mar 19, 2021, 9:18:09 AM
Last Edit Date
Dec 5, 2023, 7:15:01 PM

Project Information

The NURBS curve gets created by using 7 control points. That curve is then subdivided into 20 equally distanced points. The result is visualised.

View Full Project

Script Code

const Inputs = Bit.Inputs;

const whiteColour = '#ffffff';
const lightGreyColour = '#eeeeee';
const greyColour = '#666666';

const drawGridMeshInput = new Inputs.Draw.SceneDrawGridMeshDto();
drawGridMeshInput.mainColor = whiteColour;
drawGridMeshInput.secondaryColor = lightGreyColour;
bitbybit.draw.drawGridMesh(drawGridMeshInput);

const pointsForCurve = [[0, 0, 0], [1, 2, -2], [-2, 3, -1], [0, 4, 2], [2, 2, 0], [2, 3, 0], [0, 0, 1]] as Bit.Inputs.Base.Point3[];

const curve = bitbybit.verb.curve.createCurveByPoints({ points: pointsForCurve, degree: 3 });

const drawCurveInput = new Inputs.Draw.DrawBasicGeometryOptions();
drawCurveInput.size = 5;
drawCurveInput.colours = greyColour;
bitbybit.draw.drawAny({ entity: curve, options: drawCurveInput });

const subdividedPoints = bitbybit.verb.curve.divideByEqualArcLengthToPoints({
    curve,
    subdivision: 20,
});

const drawPointsInput = new Inputs.Draw.DrawBasicGeometryOptions();
drawPointsInput.size = 0.2;
drawPointsInput.colours = whiteColour;
bitbybit.draw.drawAny({ entity: subdividedPoints, options: drawPointsInput });
Plans & Pricing

Choose Your Plan

Editor plans for 3D development, API keys for server-side CAD algorithms

B2B

ENTERPRISE

Custom pricing

Custom software development, dedicated servers & CAD automation at scale.

CAD Automation & Software
  • Custom software development
  • Cloud CAD automation pipelines
  • 3D configurators (STEP & GLTF)
  • Batch export jobs
  • Custom algorithms & deployment
Infrastructure & Support
  • Custom compute allocation
  • Dedicated / VPS server tenants
  • Long-running computation jobs
  • Custom upload limits & overage
  • SLA & premium support