Bitbybit Docs
    Preparing search index...

    Class JSCAD

    Точка входа в ядро JSCAD, твердотельный моделер на основе мешей с тремя видами геометрии: тело, хранящееся как замкнутый набор многоугольников; плоская 2D-форма, хранящаяся как область в плоскости XY; и 2D-путь, открытая или замкнутая полилиния в этой плоскости. shapes и polygon строят их, booleans, extrusions, expansions и hulls объединяют и наращивают их, text пишет ими, а colors окрашивает их. Плоские формы живут в плоскости XY и выдавливаются вдоль Z. Методы самого сервиса конвертируют тела в данные мешей, перемещают их матрицами и записывают файлы STL, DXF и 3MF. Благодарность сообществу JSCAD за ядро.

    Index

    Constructors

    Properties

    booleans: JSCADBooleans
    expansions: JSCADExpansions
    extrusions: JSCADExtrusions
    hulls: JSCADHulls
    path: JSCADPath
    polygon: JSCADPolygon
    shapes: JSCADShapes
    text: JSCADText
    colors: JSCADColors

    conversions

    • Превращает тело в список треугольников, каждый заданный тремя точками, с уже примененным собственным преобразованием тела.

      Плоская 2D-форма сначала получает крошечную толщину, чтобы у нее вообще были грани. Сущность без многоугольников дает пустой список.

      Parameters

      Returns Promise<Mesh3>

      Треугольники как списки из трех точек

      const cube = await bitbybit.jscad.shapes.cube({ center: [0, 0, 0], size: 10 });
      const triangles = await bitbybit.jscad.toPolygonPoints({ mesh: cube });

    io

    • Записывает тело как двоичный файл STL, распространенный формат для 3D-печати, и скачивает его в браузере как fileName плюс .stl.

      Parameters

      Returns Promise<void>

      Файл STL как blob; асинхронный API вместо этого начинает скачивание и ничего не возвращает

      await bitbybit.jscad.downloadSolidSTL({ mesh: cube, fileName: "cube" });
      
    • Записывает несколько тел в один двоичный файл STL и скачивает его в браузере как fileName плюс .stl.

      Parameters

      Returns Promise<void>

      Файл STL как blob; асинхронный API вместо этого начинает скачивание и ничего не возвращает

      await bitbybit.jscad.downloadSolidsSTL({ meshes: [cube, sphere], fileName: "parts" });
      
    • Записывает тело, 2D-форму, путь или их список как файл чертежа DXF и скачивает его в браузере как fileName плюс .dxf.

      options передается модулю записи DXF как есть и может быть опущен.

      Parameters

      • inputs: DownloadGeometryDto

        Геометрия, имя файла и необязательные параметры записи

      Returns Promise<void>

      Файл DXF как blob; асинхронный API вместо этого начинает скачивание и ничего не возвращает

      const circle = await bitbybit.jscad.polygon.circle({ center: [0, 0], radius: 5, segments: 32 });
      await bitbybit.jscad.downloadGeometryDxf({ geometry: circle, fileName: "circle", options: {} });
    • Записывает тело, 2D-форму, путь или их список как файл 3MF, современный формат для 3D-печати, и скачивает его в браузере как fileName плюс .3mf.

      options передается модулю записи 3MF как есть и может быть опущен.

      Parameters

      • inputs: DownloadGeometryDto

        Геометрия, имя файла и необязательные параметры записи

      Returns Promise<void>

      Файл 3MF как blob; асинхронный API вместо этого начинает скачивание и ничего не возвращает

      await bitbybit.jscad.downloadGeometry3MF({ geometry: [cube, sphere], fileName: "parts", options: {} });
      

    transforms

    • Перемещает, поворачивает или масштабирует несколько тел одним и тем же преобразованием, давая новые тела в том же порядке.

      transformation - одна матрица 4x4, список матриц, применяемых по порядку, или список таких списков; плоская 2D-форма или путь выбрасывают ошибку.

      Parameters

      Returns Promise<JSCADEntity[]>

      Преобразованные тела, в том же порядке

      const translation = bitbybit.transforms.translationXYZ({ translation: [10, 0, 0] });
      const moved = await bitbybit.jscad.transformSolids({ meshes: [cube, sphere], transformation: translation });
    • Перемещает, поворачивает или масштабирует тело преобразованием, давая новое тело.

      transformation - одна матрица 4x4, список матриц, применяемых по порядку, или список таких списков; плоская 2D-форма или путь выбрасывают ошибку.

      Parameters

      Returns Promise<JSCADEntity>

      Преобразованное тело

      const rotation = bitbybit.transforms.rotationCenterAxis({ angle: 45, axis: [0, 1, 0], center: [0, 0, 0] });
      const turned = await bitbybit.jscad.transformSolid({ mesh: cube, transformation: rotation });