Bitbybit Docs
    Preparing search index...

    Class OCCTFillets

    Скругление ребер форм OpenCascade и снятие с них фасок: скругление заменяет острое ребро скругленной поверхностью заданного радиуса, фаска - плоским срезом заданного расстояния. Ребра выбираются по индексу, начиная с 0, в порядке, в котором их перечисляет shapes.edge.getEdges, или передаются напрямую; плоские очертания и грани скругляются в углах через fillet2d, индексы углов которого начинаются с 1. Радиус, который не помещается, например больше соседней грани, приводит к сбою ядра, поэтому начинайте с малого. Каждый метод возвращает новую форму.

    Index

    Constructors

    2d fillets

    • Скругляет углы плоского контура или грани дугами заданного радиуса.

      Без indexes каждый угол скругляется с radius. С indexes, считая с 1 вдоль очертания, скругляются только эти углы, каждый с radius или соответствующей записью radiusList, той же длины, что indexes. Контуры со свободными ребрами используют fillet3DWire.

      Parameters

      • inputs: FilletDto<TopoDSWirePointer | TopoDSFacePointer>

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

      Returns Promise<TopoDSShapePointer>

      Скругленный контур или грань

      const rectangle = await bitbybit.occt.shapes.wire.createRectangleWire({ width: 10, length: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      const rounded = await bitbybit.occt.fillets.fillet2d({ shape: rectangle, radius: 1 });
      const twoCorners = await bitbybit.occt.fillets.fillet2d({ shape: rectangle, radiusList: [1, 2], indexes: [1, 3] });
    • Скругляет углы нескольких плоских контуров или граней, как fillet2d для одного, с одними и теми же радиусом и индексами углов для всех.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Скругленные контуры или грани, в том же порядке

      const rounded = await bitbybit.occt.fillets.fillet2dShapes({ shapes: [rectangleA, rectangleB], radius: 1 });
      
    • Соединяет два ребра, лежащих в одной плоскости, дугой скругления заданного радиуса, обрезая ребра до встречи с ней, и возвращает три части как один контур.

      Плоскость задается planeOrigin и planeDirection, ее нормалью. Когда подходят несколько дуг, solution выбирает одну по индексу; -1 берет ближайшую к planeOrigin.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Контур из первого ребра, дуги и второго ребра

      const corner = await bitbybit.occt.fillets.filletTwoEdgesInPlaneIntoAWire({
      edge1: horizontal,
      edge2: vertical,
      planeOrigin: [0, 0, 0],
      planeDirection: [0, 1, 0],
      radius: 1,
      solution: -1,
      });
    • Снимает фаски с углов плоского контура или грани: каждый угол срезается на distance вдоль одного ребра, под angle градусов к нему.

      Без indexes фаска снимается с каждого угла; с ними, считая с 1 вдоль очертания, только с этих углов.

      Parameters

      Returns Promise<TopoDSWirePointer | TopoDSFacePointer>

      Контур или грань с фасками

      const beveled = await bitbybit.occt.fillets.chamfer2dVertices({ shape: rectangle, distance: 1, angle: 45, indexes: [1, 3] });
      

    3d chamfers

    • Снимает фаску с ребер формы на расстояние, в единицах модели, срезая каждое острое ребро до плоской полосы.

      Без indexes фаска снимается с каждого ребра на distance. С indexes, считая с 0 в порядке, в котором их перечисляет shapes.edge.getEdges, фаска снимается только с этих ребер, с каждого на distance или соответствующую запись distanceList, в порядке ребер.

      Parameters

      • inputs: ChamferDto<TopoDSShapePointer>

        Форма, расстояние или список расстояний и необязательные индексы ребер, начиная с 0

      Returns Promise<TopoDSShapePointer>

      Форма с фасками на ребрах

      const beveled = await bitbybit.occt.fillets.chamferEdges({ shape: box, distance: 1 });
      
    • Снимает фаску с заданных ребер формы, с каждого на свое расстояние.

      Ребра должны принадлежать форме; distanceList соотносится с ними по позиции и должен быть той же длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма с фасками на ребрах

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const beveled = await bitbybit.occt.fillets.chamferEdgesList({ shape: box, edges: [edges[0], edges[1]], distanceList: [1, 2] });
    • Снимает с одного ребра формы неравномерную фаску: distance1 измеряется на face, одной из двух граней, сходящихся на ребре, а distance2 на другой.

      Грань решает, какая сторона получает какое расстояние; поменяйте их местами, чтобы перевернуть фаску.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма с фаской на ребре

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const faces = await bitbybit.occt.shapes.face.getFaces({ shape: box });
      const beveled = await bitbybit.occt.fillets.chamferEdgeTwoDistances({ shape: box, edge: edges[0], face: faces[0], distance1: 1, distance2: 2 });
    • Снимает с нескольких ребер формы одну и ту же неравномерную фаску: distance1 измеряется на парной грани каждого ребра, а distance2 на другой грани.

      faces соотносится с edges по позиции и должен быть той же длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма с фасками на ребрах

      const beveled = await bitbybit.occt.fillets.chamferEdgesTwoDistances({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance1: 1, distance2: 2 });
      
    • Снимает с нескольких ребер формы фаски, с каждого свою неравномерную: для каждого ребра distances1 измеряется на его парной грани, а distances2 на другой грани.

      faces, distances1 и distances2 соотносятся с edges по позиции и все должны быть одной длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма с фасками на ребрах

      const beveled = await bitbybit.occt.fillets.chamferEdgesTwoDistancesLists({
      shape: box,
      edges: [edges[0], edges[1]],
      faces: [faces[0], faces[0]],
      distances1: [1, 0.5],
      distances2: [2, 1],
      });
    • Снимает фаску с одного ребра формы на расстояние, измеряемое на face, и под углом в градусах от этой грани.

      Фаска начинается на distance от ребра на заданной грани и отходит от нее под angle; 45 градусов дают равномерную фаску.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма с фаской на ребре

      const beveled = await bitbybit.occt.fillets.chamferEdgeDistAngle({ shape: box, edge: edges[0], face: faces[0], distance: 1, angle: 30 });
      
    • Снимает фаску с нескольких ребер формы на одно и то же расстояние и под одним углом, расстояние измеряется на парной грани каждого ребра, а угол в градусах от нее.

      faces соотносится с edges по позиции и должен быть той же длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма с фасками на ребрах

      const beveled = await bitbybit.occt.fillets.chamferEdgesDistAngle({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance: 1, angle: 30 });
      
    • Снимает фаску с нескольких ребер формы, с каждого на свое расстояние и под своим углом, расстояние измеряется на парной грани ребра, а угол в градусах от нее.

      faces, distances и angles соотносятся с edges по позиции и все должны быть одной длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма с фасками на ребрах

      const beveled = await bitbybit.occt.fillets.chamferEdgesDistsAngles({
      shape: box,
      edges: [edges[0], edges[1]],
      faces: [faces[0], faces[0]],
      distances: [1, 0.5],
      angles: [30, 60],
      });

    3d fillets

    • Скругляет ребра формы радиусом скругления, в единицах модели.

      Без indexes каждое ребро скругляется с radius. С indexes, считая с 0 в порядке, в котором их перечисляет shapes.edge.getEdges, скругляются только эти ребра, каждое с radius или соответствующей записью radiusList, соотнесенной с выбранными ребрами в порядке ребер.

      Parameters

      • inputs: FilletDto<TopoDSShapePointer>

        Форма, радиус или список радиусов и необязательные индексы ребер, начиная с 0

      Returns Promise<TopoDSShapePointer>

      Форма со скругленными ребрами

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 20, height: 5, center: [0, 0, 0] });
      const rounded = await bitbybit.occt.fillets.filletEdges({ shape: box, radius: 1 });
      const twoEdges = await bitbybit.occt.fillets.filletEdges({ shape: box, radiusList: [1, 2], indexes: [0, 3] });
    • Скругляет заданные ребра формы, каждое своим радиусом.

      Ребра должны принадлежать форме; radiusList соотносится с ними по позиции и должен быть той же длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма со скругленными ребрами

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const rounded = await bitbybit.occt.fillets.filletEdgesList({ shape: box, edges: [edges[0], edges[1]], radiusList: [1, 2] });
    • Скругляет заданные ребра формы, все одним радиусом.

      Ребра должны принадлежать форме; пустой список выбрасывает ошибку.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма со скругленными ребрами

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const rounded = await bitbybit.occt.fillets.filletEdgesListOneRadius({ shape: box, edges: [edges[0], edges[1]], radius: 1 });
    • Скругляет одно ребро формы радиусом, меняющимся вдоль него.

      paramsU - позиции вдоль ребра как доли от 0 в его начале до 1 в конце, а radiusList дает радиус в каждой; ядро плавно переходит между ними. Оба списка должны быть одной длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма со скругленным ребром

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const tapered = await bitbybit.occt.fillets.filletEdgeVariableRadius({ shape: box, edge: edges[0], radiusList: [0.5, 2, 0.5], paramsU: [0, 0.5, 1] });
    • Скругляет несколько ребер формы, каждое с одним и тем же профилем радиуса, меняющимся вдоль него.

      paramsU - позиции вдоль каждого ребра как доли от 0 до 1, а radiusList - радиус в каждой; списки должны быть одной длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма со скругленными ребрами

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const tapered = await bitbybit.occt.fillets.filletEdgesSameVariableRadius({ shape: box, edges: [edges[0], edges[2]], radiusList: [0.5, 2, 0.5], paramsU: [0, 0.5, 1] });
    • Скругляет несколько ребер формы, каждое со своим профилем радиуса, меняющимся вдоль него.

      radiusLists и paramsULists содержат по одному списку на ребро, в порядке ребер; внутри каждой пары позиции - доли от 0 до 1 вдоль ребра, и радиусы применяются там. Все три списка должны быть одной длины, иначе выбрасывается ошибка.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма со скругленными ребрами

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const tapered = await bitbybit.occt.fillets.filletEdgesVariableRadius({
      shape: box,
      edges: [edges[0], edges[2]],
      radiusLists: [[0.5, 2], [2, 0.5]],
      paramsULists: [[0, 1], [0, 1]],
      });
    • Скругляет углы контура, не лежащего в одной плоскости.

      У ядра нет прямого скругления 3D-контура, так что контур выдавливается вдоль direction в оболочку, оболочка скругляется, и скругленный контур считывается с нее; direction не должно быть параллельно контуру и должно оставлять место для скруглений.

      Parameters

      • inputs: Fillet3DWireDto<TopoDSShapePointer>

        Контур, радиус или список радиусов, необязательные индексы углов, начиная с 0, и направление выдавливания

      Returns Promise<TopoDSShapePointer>

      Скругленный контур

      const rounded = await bitbybit.occt.fillets.fillet3DWire({ shape: zigzagWire, radius: 0.5, direction: [0, 5, 0] });
      
    • Скругляет углы нескольких контуров, не лежащих в одной плоскости, как fillet3DWire для одного, с одними и теми же радиусом, индексами и направлением для всех.

      Parameters

      • inputs: Fillet3DWiresDto<TopoDSShapePointer>

        Контуры, радиус или список радиусов, необязательные индексы углов и направление выдавливания

      Returns Promise<TopoDSShapePointer[]>

      Скругленные контуры, в том же порядке

      const rounded = await bitbybit.occt.fillets.fillet3DWires({ shapes: [wireA, wireB], radius: 0.5, direction: [0, 5, 0] });