Bitbybit Docs
    Preparing search index...

    Class JSCADPolygon

    构建平面 JSCAD 形状,即布尔运算组合、拉伸变成实体的填充 2D 区域。它们位于 XY 平面:由点或曲线创建的形状只保留 X 和 Y 坐标,圆、椭圆、矩形、正方形和星形基本体接受 2D 中心。轮廓点按逆时针顺序列出。

    Index

    Constructors

    from

    • 由轮廓点构建填充 2D 形状,按顺序取点并闭合回第一个点。

      只使用 X 和 Y,Z 被丢弃;连续重复的点会被移除,至少需要三个不同的点。逆时针顺序给出正常形状,顺时针给出负形状。

      Parameters

      Returns Promise<JSCADEntity>

      2D 形状

      const triangle = await bitbybit.jscad.polygon.createFromPoints({ points: [[0, 0, 0], [10, 0, 0], [5, 8, 0]] });
      
    • 由折线的点构建填充 2D 形状,不论折线怎么说都闭合回第一个点。

      只使用 X 和 Y,Z 被丢弃;连续重复的点会被移除,至少需要三个不同的点。

      Parameters

      Returns Promise<JSCADEntity>

      2D 形状

      const shape = await bitbybit.jscad.polygon.createFromPolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 10, 0], [0, 10, 0]], isClosed: true } });
      
    • 通过将 NURBS 曲线采样成点并闭合轮廓,由它构建填充 2D 形状。

      只使用采样点的 X 和 Y,Z 被丢弃。

      Parameters

      Returns Promise<JSCADEntity>

      2D 形状

      This takes a verb-nurbs curve, and verb is deprecated for removal in the next major, so this goes with it. It is also the one method here that converts between two different CAD kernels, which belongs above a kernel-specific package rather than inside one. Build the polygon from points or from a polyline instead.

      const shape = await bitbybit.jscad.polygon.createFromCurve({ curve });
      
    • 由 2D 路径的点构建填充 2D 形状,闭合回第一个点。

      连续重复的点会被移除,至少需要三个不同的点;2D 形状或实体会抛出错误。

      Parameters

      Returns Promise<JSCADEntity>

      2D 形状

      const path = await bitbybit.jscad.path.createFromPoints({ points: [[0, 0], [10, 0], [10, 10]], closed: true });
      const shape = await bitbybit.jscad.polygon.createFromPath({ path });

    primitives

    • 围绕 2D center 构建给定 radius 的填充圆;segments 是逼近它的直边数量。

      Parameters

      Returns Promise<JSCADEntity>

      以 2D 形状表示的圆

      const disc = await bitbybit.jscad.polygon.circle({ center: [0, 0], radius: 5, segments: 32 });
      
    • 围绕 2D center 构建填充椭圆,radius 包含 X 和 Y 的半尺寸;segments 是逼近它的直边数量。

      Parameters

      Returns Promise<JSCADEntity>

      以 2D 形状表示的椭圆

      const oval = await bitbybit.jscad.polygon.ellipse({ center: [0, 0], radius: [10, 5], segments: 48 });
      
    • 围绕 2D center 构建填充矩形,width 沿 X,length 沿 Y。

      Parameters

      Returns Promise<JSCADEntity>

      以 2D 形状表示的矩形

      const plate = await bitbybit.jscad.polygon.rectangle({ center: [0, 0], width: 20, length: 10 });
      
    • 围绕 2D center 构建四个角以 roundRadius 倒圆的填充矩形,width 沿 X,length 沿 Y。

      roundRadius 必须小于较短边的一半,否则抛出错误;segments 设置每个角分面的平滑程度。

      Parameters

      Returns Promise<JSCADEntity>

      以 2D 形状表示的圆角矩形

      const plate = await bitbybit.jscad.polygon.roundedRectangle({ center: [0, 0], roundRadius: 2, segments: 16, width: 20, length: 10 });
      
    • 围绕 2D center 构建边长为 size 的填充正方形,其边与坐标轴平行。

      Parameters

      Returns Promise<JSCADEntity>

      以 2D 形状表示的正方形

      const tile = await bitbybit.jscad.polygon.square({ center: [0, 0], size: 10 });
      
    • 围绕 2D center 构建带 vertices 个尖角的填充星形,尖角位于 outerRadius,它们之间的凹口位于 innerRadius

      startAngle 以度为单位使第一个尖角偏离 X 轴。density 仅在 innerRadius 为 0 时有意义:此时凹口半径由它推导,如密度为 2 的五角星。

      Parameters

      Returns Promise<JSCADEntity>

      以 2D 形状表示的星形

      const star = await bitbybit.jscad.polygon.star({ center: [0, 0], vertices: 5, density: 2, outerRadius: 10, innerRadius: 4, startAngle: 90 });