Bitbybit Docs
    Preparing search index...

    Class ManifoldShapes

    构建 Manifold 实体:立方体、球体、圆柱体和四面体基本体,以及由三角形网格或三角形列表生成的实体。内核以 Z 为上轴,因此圆柱体沿 Z 竖立,立方体的 size 沿 X、Y 和 Z 展开;每个实体都以闭合三角形网格返回。

    Index

    Constructors

    create

    • 由纯网格数据(manifoldToMesh 输出的形式)构建实体,使网格可以经其他工具往返。

      网格必须闭合且方向一致,否则抛出错误;退化的三角形和不需要的顶点在读入时被移除。

      Parameters

      Returns Promise<ManifoldPointer>

      实体

      const solid = await bitbybit.manifold.manifold.shapes.manifoldFromMesh({ mesh });
      
    • 由三角形列表构建实体,每个以三个点给出,合并重合的点。

      三角形必须构成闭合且方向一致的曲面;不是三个点的条目被跳过,坐标缺失的点会抛出错误。

      Parameters

      Returns Promise<ManifoldPointer>

      实体

      const solid = await bitbybit.manifold.manifold.shapes.fromPolygonPoints({ polygonPoints: triangles });
      

    primitives

    • 创建给定边长的立方体实体。

      center 为 true 时立方体以原点为中心;否则其角位于原点, 并沿正轴延伸。

      Parameters

      Returns Promise<ManifoldPointer>

      长方体实体

      const box = await bitbybit.manifold.manifold.shapes.cube({ size: 10, center: true });
      
    • 创建给定半径、以原点为中心的球体实体。

      circularSegments 是球体周围的分段数量;它向上取整为四的倍数,因为球体通过细化八面体构建。

      Parameters

      Returns Promise<ManifoldPointer>

      球体实体

      const ball = await bitbybit.manifold.manifold.shapes.sphere({ radius: 5, circularSegments: 32 });
      
    • 创建以原点为中心的四面体实体,一个角位于 [1, 1, 1],其他角对称放置。

      Returns Promise<ManifoldPointer>

      四面体实体

      const tetra = await bitbybit.manifold.manifold.shapes.tetrahedron();
      
    • 创建沿 Z 竖立的圆柱体实体,当顶部半径与底部不同时为圆锥体。

      radiusLow 是底部半径,必须大于 0,radiusHigh 是顶部半径,可以为 0 以形成尖点;circularSegments 设置侧面的圆滑程度。center 使圆柱体以原点为中心而不是立于原点上。

      Parameters

      Returns Promise<ManifoldPointer>

      圆柱体或圆锥体实体

      const cone = await bitbybit.manifold.manifold.shapes.cylinder({ height: 10, radiusLow: 4, radiusHigh: 1, circularSegments: 32, center: false });