Bitbybit Docs
    Preparing search index...

    Class JSCADExtrusions

    将平面 JSCAD 形状变成实体:沿 Z 的直线拉伸(可选扭转)、沿轮廓构建的墙体,以及绕 Z 轴的旋转成形。每个平面形状都位于 XY 平面,因此结果从该平面沿 Z 生长。

    Index

    Constructors

    extrude

    • 将平面 2D 形状沿 Z 直线拉伸 height 成实体,当 twistAngle 不为零时沿途扭转它。

      twistAngle 以度为单位,使顶部相对底部绕 Z 转动,twistSteps 是为此使用的切片数量,至少为 1。负的 height 向下拉伸。

      Parameters

      Returns Promise<JSCADEntity>

      拉伸后的实体

      const square = await bitbybit.jscad.polygon.square({ center: [0, 0], size: 10 });
      const twisted = await bitbybit.jscad.extrusions.extrudeLinear({ geometry: square, height: 20, twistAngle: 90, twistSteps: 15 });
    • 沿 2D 形状或路径的轮廓构建墙体:轮廓每侧加厚 size 并沿 Z 升高 height

      墙体立于 XY 平面上,厚度为 size 的两倍,以轮廓为中心;2D 形状的内部保持空置。输入列表给出墙体列表。

      Parameters

      Returns Promise<JSCADEntity>

      以实体表示的墙体

      const circle = await bitbybit.jscad.polygon.circle({ center: [0, 0], radius: 10, segments: 32 });
      const ring = await bitbybit.jscad.extrusions.extrudeRectangular({ geometry: circle, height: 5, size: 0.5 });
    • 沿一条点折线构建墙体,与 extrudeRectangular 对路径所做的相同:线每侧加厚 size 并沿 Z 升高 height

      只使用点的 X 和 Y 坐标,连续重复的点会被丢弃。

      Parameters

      Returns Promise<JSCADEntity>

      以实体表示的墙体

      const wall = await bitbybit.jscad.extrusions.extrudeRectangularPoints({ points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]], height: 5, size: 0.5 });
      
    • 将平面 2D 形状绕 Z 轴旋转成实体。

      形状位于 XY 平面内,因此其 X 坐标是到轴的距离,越过轴的形状在此处被裁掉。anglestartAngle 以度为单位,360 生成完整的环,segments 是完整一圈的步数。

      Parameters

      Returns Promise<JSCADEntity>

      旋转成形后的实体

      const profile = await bitbybit.jscad.polygon.circle({ center: [10, 0], radius: 3, segments: 24 });
      const ring = await bitbybit.jscad.extrusions.extrudeRotate({ polygon: profile, angle: 360, startAngle: 0, segments: 48 });