跳到内容
CADCAMFUN
文档

文档

内核

封装/核心的纯几何结构和加工核心,通过实际输出和 3D 示例从内部进行解释。

从英文自动翻译。 查看英文原文

内核以及它们如何相互依赖

几何和加工代码 packages/core 是一组纯内核:相同的输入,相同的输出,没有 I/O。本节中的每一页都从内部解释了其中一个:它的用途、它的数据结构和算法、真正的 API、限制和常量、通过运行它捕获的输出以及从该输出构建的 3D 视图。

内核导入图 拖动进行轨道旋转·滚动进行缩放·右键拖动进行平移
Boxes are kernels; each line is a real relative import from one kernel’s source files to another’s (tests excluded), counted from packages/core/src. Lower layers sit at the front: tolerance, mesh, sketch and B-rep; history and features above them; CAM on top.
从进口自文件导入
凸轮发生器凸轮内核2
凸轮发生器历史1
凸轮发生器网2
凸轮发生器草图1
凸轮内核凸轮发生器4
凸轮内核网1
绘画布雷普1
绘画历史4
绘画网7
特征网5
历史布雷普1
历史特征5
历史网2
历史草图2
网宽容1

CAM 内核↔ CAM 生成器这一周期是经过深思熟虑的:内核重用生成器的策略和元素模式,生成器回调内核的切削数据和规划器。

内核页面

页它涵盖什么来源
草图解算器Levenberg-Marquardt 约束残差、自由度、自由点和冲突的等级分析。packages/core/src/cad/sketch.ts
网格与 CSG闭合三角形网格、具有凸快速路径的 BSP 布尔值、汤清理和拓扑。packages/core/src/cad/csg.ts, solid.ts, mesh-clean.ts
精确 B 代表解析和 NURBS 面、精确布尔值、圆角、孔识别、质量属性、STEP。packages/core/src/cad/brep/
特征生成器渐开线齿轮、ISO 螺纹、螺旋线和带平面图案的金属板。packages/core/src/cad/gear.ts, thread.ts, helix.ts, sheet-metal.ts
公差和镶嵌段计数、小数和实体镶嵌的一弦容差。packages/core/src/cad/tolerance.ts, tessellate.ts
CAM加工内核规划、切割机、带有剩余体积支架的体素库存、经过认证的碰撞检查。packages/core/src/cam/kernel/

共享规则

  • 毫米无处不在,代码中的弧度(仅在字段指定的情况下为度数,例如齿轮的压力角或混合角)。
  • Z 向上,逆时针外环,朝外的三角形。
  • 纯数据。 网格是类型数组,B-reps 是索引表,草图是实体列表;所有内容都序列化为 JSON 并在项目历史记录中进行差异化。
  • 错误是明确的。 无效输入会抛出 RangeError 或内核错误类(SketchError, BooleanError, BudgetExceeded)带有助理可以显示的消息;永远不会返回错误的结果。
  • 工作有界。 网格内核中的段和顶点预算、精确内核中的时间预算、线程中的转弯限制、碰撞检查中的细分深度。

这些页面上的每个数字都是通过使用 Bun 对照此存储库中的源代码运行内核而生成的;重新运行片段以重现它们。