用给定半径的圆弧对平面线框或面的角进行圆角。
没有 indexes 时每个角都以 radius 圆角。给出 indexes(沿轮廓从 1 开始计数)时,只对这些角圆角,每个使用 radius 或 radiusList 中对应的条目,其长度与 indexes 相同。带自由曲线边的线框使用 fillet3DWire。
平面线框或面、半径或半径列表,以及可选的从 1 开始的角点索引
倒圆角后的线框或面
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 对一个所做的相同,全部使用相同的半径和角索引。
平面线框或面、半径或半径列表,以及可选的从 1 开始的角点索引
倒圆角后的线框或面,顺序相同
用给定半径的圆弧连接位于同一平面内的两条边,修剪边使其与圆弧相接,并将三段作为一个线框返回。
平面由 planeOrigin 和其法线 planeDirection 给出。当有多条圆弧可用时,solution 按索引选取一条;-1 取离 planeOrigin 最近的那条。
两条边、它们所在的平面、半径和解的索引
由第一条边、圆弧和第二条边组成的线框
对平面线框或面的角进行倒角:每个角沿一条边切入 distance,与该边成 angle 度。
没有 indexes 时每个角都被倒角;给出时(沿轮廓从 1 开始计数),只对这些角倒角。
平面线框或面、距离、角度以及可选的从 1 开始的角点索引
倒角后的线框或面
按距离对形状的边进行倒角,以模型单位表示,将每条锐边切成一条平面窄带。
没有 indexes 时每条边都以 distance 倒角。给出 indexes(按 shapes.edge.getEdges 列出的顺序从 0 开始计数)时,只对这些边倒角,每条使用 distance 或 distanceList 中对应的条目,按边的顺序。
形状、距离或距离列表,以及可选的从 0 开始的边索引
边已倒角的形状
对形状的给定边进行倒角,每条有自己的距离。
这些边必须属于该形状;distanceList 按位置与它们配对,长度必须相同,否则抛出错误。
形状、要倒角的边以及每条边一个距离
边已倒角的形状
用不对称倒角对形状的一条边进行倒角:distance1 在 face(在该边相交的两个面之一)上测量,distance2 在另一个面上测量。
该面决定哪一侧使用哪个距离;交换它们可翻转倒角。
形状、边、第一个距离所应用的面以及两个距离
该边已倒角的形状
用相同的不对称倒角对形状的多条边进行倒角:distance1 在每条边配对的面上测量,distance2 在另一个面上测量。
faces 按位置与 edges 配对,长度必须相同,否则抛出错误。
形状、边、每条边一个配对面以及两个距离
边已倒角的形状
对形状的多条边进行倒角,每条有自己的不对称倒角:对每条边,distances1 在其配对的面上测量,distances2 在另一个面上测量。
faces、distances1 和 distances2 按位置与 edges 配对,长度必须全部相同,否则抛出错误。
形状、边、每条边一个配对面以及两个距离列表
边已倒角的形状
按在 face 上测量的距离和从该面起量的角度(以度为单位)对形状的一条边进行倒角。
倒角在给定面上距边 distance 处开始,并以 angle 离开该面;45 度给出等距倒角。
形状、边、测量距离所在的面、距离和角度
该边已倒角的形状
按相同的距离和角度对形状的多条边进行倒角,距离在每条边配对的面上测量,角度从该面起量,以度为单位。
faces 按位置与 edges 配对,长度必须相同,否则抛出错误。
形状、边、每条边一个配对面、距离和角度
边已倒角的形状
对形状的多条边进行倒角,每条有自己的距离和角度,距离在该边配对的面上测量,角度从该面起量,以度为单位。
faces、distances 和 angles 按位置与 edges 配对,长度必须全部相同,否则抛出错误。
形状、边、每条边一个配对面、距离和角度
边已倒角的形状
用圆角半径对形状的边进行圆角,以模型单位表示。
没有 indexes 时每条边都以 radius 圆角。给出 indexes(按 shapes.edge.getEdges 列出的顺序从 0 开始计数)时,只对这些边圆角,每条使用 radius 或 radiusList 中对应的条目,按边的顺序与所选边配对。
形状、半径或半径列表,以及可选的从 0 开始的边索引
边已倒圆角的形状
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 按位置与它们配对,长度必须相同,否则抛出错误。
形状、要倒圆角的边以及每条边一个半径
边已倒圆角的形状
对形状的给定边进行圆角,全部使用相同的半径。
这些边必须属于该形状;空列表会抛出错误。
形状、要倒圆角的边和半径
边已倒圆角的形状
用沿边变化的半径对形状的一条边进行圆角。
paramsU 是沿边的位置,表示为从起点 0 到终点 1 的分数,radiusList 给出每个位置处的半径;内核在它们之间平滑过渡。两个列表的长度必须相同,否则抛出错误。
形状、其边、半径以及它们沿边应用的位置
该边已倒圆角的形状
对形状的多条边进行圆角,每条使用相同的沿边变化的半径轮廓。
paramsU 是沿每条边的位置,表示为 0 到 1 的分数,radiusList 是每个位置处的半径;两个列表的长度必须相同,否则抛出错误。
形状、其边、半径以及它们沿每条边应用的位置
这些边已倒圆角的形状
对形状的多条边进行圆角,每条有自己的沿边变化的半径轮廓。
radiusLists 和 paramsULists 每条边各有一个列表,按边的顺序排列;在每一对中,位置是沿边 0 到 1 的分数,半径在该处生效。三个列表的长度必须相同,否则抛出错误。
形状、其边、每条边一个半径列表和每条边一个位置列表
这些边已倒圆角的形状
对不在同一平面内的线框的角进行圆角。
内核没有直接的 3D 线框圆角,因此线框沿 direction 被拉伸成壳体,壳体被圆角,然后从中读回圆角后的线框;direction 不得与线框平行,并且必须为圆角留出空间。
线框、半径或半径列表、可选的从 0 开始的角点索引以及拉伸方向
倒圆角后的线框
对不在同一平面内的多个线框的角进行圆角,与 fillet3DWire 对一个线框所做的相同,全部使用相同的半径、索引和方向。
线框、半径或半径列表、可选的角点索引以及拉伸方向
倒圆角后的线框,顺序相同
对 OpenCascade 形状的边进行倒圆角和倒角:圆角用给定半径的圆弧面替换锐边,倒角则用给定距离的平斜面替换。边通过
shapes.edge.getEdges列出顺序中从 0 开始的索引选择,或直接传入;平面轮廓和面通过fillet2d在其角点处倒圆角,其角点索引从 1 开始。不合适的半径(例如大于相邻面)会使内核失败,因此请从小值开始。每个方法都返回新形状。