Bitbybit Docs
    Preparing search index...

    Class JSCADText

    使用 JSCAD 内置的笔画字体书写文本。createVectorText 以 XY 平面内的 2D 点列表给出文本的笔画;cylindricalTextsphericalText 通过沿每个笔画链式连接凸包圆柱体或球体将其变成实体,居中于原点。文本 height 是大写字母的高度,以模型单位表示。

    Index

    Constructors

    text

    • 将文本写成实体:每个笔画成为一串沿 Z 竖立的圆柱体,用凸包连成一个光滑实体,因此像 A 这样的字母会给出多个实体。

      笔画位于 XY 平面内,以原点为中心,圆柱体长 extrusionHeight,平面上下各一半。

      Parameters

      • inputs: CylinderTextDto

        文本、圆柱体高度和半径、分段数和字体选项

      Returns Promise<JSCADEntity[]>

      每个笔画一个实体

      const letters = await bitbybit.jscad.text.cylindricalText({ text: "Hello", extrusionHeight: 2, extrusionSize: 0.5, segments: 16, xOffset: 0, yOffset: 0, height: 10, lineSpacing: 1.4, letterSpacing: 1, align: Bit.Inputs.JSCAD.jscadTextAlignEnum.center, extrudeOffset: 0 });
      
    • 将文本写成实体:每个笔画成为一串用凸包连成一个圆润实体的球体,因此像 A 这样的字母会给出多个实体。

      笔画位于 XY 平面内,以原点为中心,半径为 radius 的球体位于该平面上。

      Parameters

      • inputs: SphereTextDto

        文本、球体半径、分段数和字体选项

      Returns Promise<JSCADEntity[]>

      每个笔画一个实体

      const letters = await bitbybit.jscad.text.sphericalText({ text: "Hello", radius: 0.5, segments: 16, xOffset: 0, yOffset: 0, height: 10, lineSpacing: 1.4, letterSpacing: 1, align: Bit.Inputs.JSCAD.jscadTextAlignEnum.center, extrudeOffset: 0 });
      
    • 将文本写成笔画:每个笔画是 XY 平面内的 2D 点列表,一个字母可能需要多个笔画。

      文本从 xOffsetyOffset 开始且不居中;height 是大写字母的高度,lineSpacingletterSpacing 缩放间隙,align 放置多行文本的各行。

      Parameters

      Returns Promise<Point2[][]>

      以 2D 点列表表示的笔画

      const strokes = await bitbybit.jscad.text.createVectorText({ text: "Hi", segments: 16, xOffset: 0, yOffset: 0, height: 10, lineSpacing: 1.4, letterSpacing: 1, align: Bit.Inputs.JSCAD.jscadTextAlignEnum.center, extrudeOffset: 0 });