Bitbybit Docs
    Preparing search index...

    Class OCCT

    从脚本访问的 OpenCascade(OCCT)API:occt 内核的每个方法,均为异步,形状存在于内核中并以引用形式传递,另有 io 加载器读取以 File 或文本传入的 STEP 和 IGES 文件。各服务类的文档位于内核自身的 OCCTService 上。

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    occWorkerManager: OCCTWorkerManager
    shapes: OCCTShapes
    geom: OCCTGeom
    fillets: OCCTFillets
    transforms: OCCTTransforms
    operations: OCCTOperations
    booleans: OCCTBooleans
    dimensions: OCCTDimensions
    shapeFix: OCCTShapeFix
    assembly: OCCTAssembly
    brepGraph: OCCTBrepGraph
    corners: OCCTCorners
    draft: OCCTDraft
    io: OCCTIO
    path: OCCTPath
    svg: OCCTSVG

    convert

    • 将形状三角化,并以三个点的形式返回每个三角形,所有面合在一个平坦列表中。

      precision 是以模型单位表示的网格化容差:值越小越紧密地贴合曲面,三角形也越多。adjustYtoZ 为将 Z 视为向上的工具交换 Y 和 Z 轴,reversedPoints 翻转每个三角形的绕向。

      Parameters

      Returns Promise<Point3[][]>

      每个三角形一个三点列表

      const triangles = await bitbybit.occt.shapeFacesToPolygonPoints({ shape: sphere, precision: 0.01, adjustYtoZ: false, reversedPoints: false });
      
    • 将形状三角化为用于绘制的网格:每个面一个条目,含其顶点、法线、UV 和三角形索引;每条边一个条目,含其点;以及顶点的点。

      precision 是以模型单位表示的网格化容差;值越小越紧密地贴合曲面,三角形也越多。adjustYtoZ 交换 Y 和 Z。null 形状给出空列表。

      Parameters

      Returns Promise<DecomposedMeshDto>

      以面、边和点列表表示的网格

      const mesh = await bitbybit.occt.shapeToMesh({ shape: sphere, precision: 0.01, adjustYtoZ: false });
      console.log(mesh.faceList.length, mesh.edgeList.length);
    • 用相同的设置将多个形状三角化,与 shapeToMesh 对一个形状所做的相同。

      Parameters

      Returns Promise<DecomposedMeshDto[]>

      每个形状一个网格,顺序相同

      const meshes = await bitbybit.occt.shapesToMeshes({ shapes: [box, sphere], precision: 0.01, adjustYtoZ: false });
      

    memory

    • 释放形状在内核中占用的内存;之后该形状不能再使用。对脚本不再需要的中间结果调用它,使长时间的会话不会耗尽内存。

      Parameters

      Returns Promise<void>

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      const rounded = await bitbybit.occt.fillets.filletEdges({ shape: box, radius: 1 });
      await bitbybit.occt.deleteShape({ shape: box });
    • 释放多个形状在内核中占用的内存;之后它们不能再使用。对脚本不再需要的中间结果调用它,使长时间的会话不会耗尽内存。

      Parameters

      Returns Promise<void>

      await bitbybit.occt.deleteShapes({ shapes: [box, cylinder] });
      
    • 一次释放内核持有的每个形状,包括你的变量仍指向的那些,因此之前创建的任何东西之后都不能再使用。在重新开始时调用它,而不是在步骤之间。

      Returns Promise<void>

      await bitbybit.occt.cleanAllCache();