Bitbybit Docs
    Preparing search index...

    Class OCCT

    API OpenCascade (OCCT), доступный из скрипта: каждый метод ядра occt, асинхронный, с формами, живущими в ядре и передаваемыми как ссылки, плюс загрузчики io, которые читают файлы STEP и IGES, переданные как File или как текст. Классы сервисов задокументированы в собственном OCCTService ядра.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    occWorkerManager: OCCTWorkerManager
    shapes: OCCTShapes
    geom: OCCTGeom
    fillets: OCCTFillets
    transforms: OCCTTransforms
    operations: OCCTOperations
    booleans: OCCTBooleans
    dimensions: OCCTDimensions
    shapeFix: OCCTShapeFix
    assembly: OCCTAssembly
    brepGraph: OCCTBrepGraph
    corners: OCCTCorners
    draft: OCCTDraft
    io: OCCTIO
    path: OCCTPath
    svg: OCCTSVG

    convert

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

      precision - допуск построения меша в единицах модели: меньшие значения точнее следуют изогнутым поверхностям и дают больше треугольников. adjustYtoZ меняет местами оси Y и Z для инструментов, считающих Z верхом, а reversedPoints переворачивает обход каждого треугольника.

      Parameters

      Returns Promise<Point3[][]>

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

      const triangles = await bitbybit.occt.shapeFacesToPolygonPoints({ shape: sphere, precision: 0.01, adjustYtoZ: false, reversedPoints: false });
      
    • Триангулирует форму в меш для отрисовки: по одной записи на грань с ее вершинами, нормалями, UV и индексами треугольников, по одной на ребро с его точками, и точки вершин.

      precision - допуск построения меша в единицах модели; меньшие значения точнее следуют изогнутым поверхностям и стоят больше треугольников. adjustYtoZ меняет местами Y и Z. Форма null дает пустые списки.

      Parameters

      Returns Promise<DecomposedMeshDto>

      Меш в виде списков граней, ребер и точек

      const mesh = await bitbybit.occt.shapeToMesh({ shape: sphere, precision: 0.01, adjustYtoZ: false });
      console.log(mesh.faceList.length, mesh.edgeList.length);
    • Триангулирует несколько форм с одними и теми же настройками, как shapeToMesh для одной.

      Parameters

      Returns Promise<DecomposedMeshDto[]>

      По одному мешу на форму, в том же порядке

      const meshes = await bitbybit.occt.shapesToMeshes({ shapes: [box, sphere], precision: 0.01, adjustYtoZ: false });
      

    memory

    • Освобождает память, которую форма занимает внутри ядра; после этого форму использовать нельзя. Вызывайте его для промежуточных результатов, которые скрипту больше не нужны, чтобы у долгих сессий не кончалась память.

      Parameters

      Returns Promise<void>

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      const rounded = await bitbybit.occt.fillets.filletEdges({ shape: box, radius: 1 });
      await bitbybit.occt.deleteShape({ shape: box });
    • Освобождает память, которую несколько форм занимают внутри ядра; после этого их использовать нельзя. Вызывайте его для промежуточных результатов, которые скрипту больше не нужны, чтобы у долгих сессий не кончалась память.

      Parameters

      Returns Promise<void>

      await bitbybit.occt.deleteShapes({ shapes: [box, cylinder] });
      
    • Освобождает сразу каждую форму, которую держит ядро, включая те, на которые все еще указывают ваши переменные, так что ничего созданного ранее после этого использовать нельзя. Вызывайте его, когда начинаете заново, а не между шагами.

      Returns Promise<void>

      await bitbybit.occt.cleanAllCache();