Bitbybit Docs
    Preparing search index...

    Class JSCAD

    JSCAD 内核的入口,一个基于网格的实体建模器,有三种几何体:实体,保存为闭合的多边形集合;平面 2D 形状,保存为 XY 平面内的区域;以及 2D 路径,即该平面内的开放或闭合折线。shapespolygon 构建它们,booleansextrusionsexpansionshulls 组合和扩展它们,text 用它们书写,colors 为它们着色。平面形状位于 XY 平面并沿 Z 拉伸。服务本身的方法将实体转换为网格数据,用矩阵移动它们,并写出 STL、DXF 和 3MF 文件。感谢 JSCAD 社区提供内核。

    Index

    Constructors

    Properties

    booleans: JSCADBooleans
    expansions: JSCADExpansions
    extrusions: JSCADExtrusions
    hulls: JSCADHulls
    path: JSCADPath
    polygon: JSCADPolygon
    shapes: JSCADShapes
    text: JSCADText
    colors: JSCADColors

    conversions

    • 将实体转成三角形列表,每个以三个点给出,实体自身的变换已应用。

      平面 2D 形状会先被赋予极小的厚度,使其有面可言。没有多边形的实体给出空列表。

      Parameters

      Returns Promise<Mesh3>

      三角形,每个为三个点的列表

      const cube = await bitbybit.jscad.shapes.cube({ center: [0, 0, 0], size: 10 });
      const triangles = await bitbybit.jscad.toPolygonPoints({ mesh: cube });

    io

    • 将实体写为二进制 STL 文件(3D 打印的常用格式),并在浏览器中以 fileName.stl 下载。

      Parameters

      Returns Promise<void>

      以 blob 表示的 STL 文件;异步 API 则直接开始下载且不返回任何内容

      await bitbybit.jscad.downloadSolidSTL({ mesh: cube, fileName: "cube" });
      
    • 将多个实体写入一个二进制 STL 文件,并在浏览器中以 fileName.stl 下载。

      Parameters

      Returns Promise<void>

      以 blob 表示的 STL 文件;异步 API 则直接开始下载且不返回任何内容

      await bitbybit.jscad.downloadSolidsSTL({ meshes: [cube, sphere], fileName: "parts" });
      
    • 将实体、2D 形状、路径或它们的列表写为 DXF 图纸文件,并在浏览器中以 fileName.dxf 下载。

      options 原样传给 DXF 写入器,可以省略。

      Parameters

      Returns Promise<void>

      以 blob 表示的 DXF 文件;异步 API 则直接开始下载且不返回任何内容

      const circle = await bitbybit.jscad.polygon.circle({ center: [0, 0], radius: 5, segments: 32 });
      await bitbybit.jscad.downloadGeometryDxf({ geometry: circle, fileName: "circle", options: {} });
    • 将实体、2D 形状、路径或它们的列表写为 3MF 文件(一种现代 3D 打印格式),并在浏览器中以 fileName.3mf 下载。

      options 原样传给 3MF 写入器,可以省略。

      Parameters

      Returns Promise<void>

      以 blob 表示的 3MF 文件;异步 API 则直接开始下载且不返回任何内容

      await bitbybit.jscad.downloadGeometry3MF({ geometry: [cube, sphere], fileName: "parts", options: {} });
      

    transforms

    • 用同一个变换移动、旋转或缩放多个实体,按相同顺序给出新实体。

      transformation 是一个 4x4 矩阵、一个按顺序应用的矩阵列表,或此类列表的列表;平面 2D 形状或路径会抛出错误。

      Parameters

      Returns Promise<JSCADEntity[]>

      变换后的实体,顺序相同

      const translation = bitbybit.transforms.translationXYZ({ translation: [10, 0, 0] });
      const moved = await bitbybit.jscad.transformSolids({ meshes: [cube, sphere], transformation: translation });
    • 用一个变换移动、旋转或缩放实体,给出新实体。

      transformation 是一个 4x4 矩阵、一个按顺序应用的矩阵列表,或此类列表的列表;平面 2D 形状或路径会抛出错误。

      Parameters

      Returns Promise<JSCADEntity>

      变换后的实体

      const rotation = bitbybit.transforms.rotationCenterAxis({ angle: 45, axis: [0, 1, 0], center: [0, 0, 0] });
      const turned = await bitbybit.jscad.transformSolid({ mesh: cube, transformation: rotation });