目录

  • 什么是 CadQuery
  • CadQuery 是一个库,GUI 图像界面是独立的
  • 为什么使用 CadQuery 而不是 OpenSCAD?
  • CadQuery 这个名字从何而来?
  • 什么是 CadQuery

    CadQuery 是一个直观、易于使用的 Python 库,用于构建参数化 3D CAD 模型。它有几个目标:

    • 使用标准的、已建立的编程语言,使用尽可能接近向人类描述对象的方式的脚本构建模型

    • 创建最终用户可以轻松定制的参数化模型

    • 除了传统的 STL 之外,还可以输出高质量的 CAD 格式,例如 STEP、AMF 和 3MF

    • 提供非专有的纯文本模型格式,只需使用 Web 浏览器即可编辑和执行

    CadQuery 2 基于 OCP,它是开源OpenCascade建模内核的一组 Python 绑定。

    使用 CadQuery,您可以使用极少量的代码构建完全参数化模型。例如,这个简单的脚本会生成一个中间有孔的平板:

    thickness = 0.5
    width = 2.0
    result = Workplane("front").box(width, width, thickness).faces(">Z").hole(thickness)

    这有点像迪克西杯的例子。但它与一个更有用的部件非常相似:用于标准 608 尺寸滚珠轴承的参数化轴台:

    (length, height, diam, thickness, padding) = (30.0, 40.0, 22.0, 10.0, 8.0)
    
    result = (
        Workplane("XY")
        .box(length, height, thickness)
        .faces(">Z")
        .workplane()
        .hole(diam)
        .faces(">Z")
        .workplane()
        .rect(length - padding, height - padding, forConstruction=True)
        .vertices()
        .cboreHole(2.4, 4.4, 2.1)
    )

    更多示例请参见 示例

    CadQuery 是一个库,GUI 图像界面是独立的

    CadQuery 是一个库,专门设计为可用作无 GUI 库。这使其能够以编程方式创建3D模型,应用于各种工程和科学应用程序。
    如果您想要 GUI,您有以下几种选择:

    为什么使用 CadQuery 而不是 OpenSCAD?

    与 OpenSCAD 一样,CadQuery 是一个开源的,基于脚本的,参数化模型生成器。但 CadQuery 有几个关键优势:

    1. 脚本使用标准编程语言 Python,因此可以从相关的基础设施中受益。这包括许多标准库和 IDE

    2. 更强大的CAD内核 OpenCascade 比 CGAL 强大得多。除了 CGAL 支持的标准 CSG 操作外,OCC 原生支持的功能还包括 NURBS、样条线、曲面缝合、STL 修复、STEP 导入/导出和其他复杂操作

    3. 导入/导出 STEP 和 DXF 的能力 ,我们认为 在创建一个CAD包中,从STEP模型开始,添加参数化特征的能力就非常关键。在使用 STL 的 OpenSCAD 中这是可能的,但 STL 是一种有损格式

    4. 更少的代码和更简单的脚本编写 ,CadQuery 脚本需要更少的代码来创建大多数对象,因为可以根据其他特征、工作平面、顶点等的位置来定位特征。

    5. 更好的性能,CadQuery 脚本可以比 OpenSCAD 更快地构建 STL、STEP、AMF 和 3MF。

    CadQuery 这个名字从何而来?

    CadQuery 的灵感来自jQuery,这是一个流行的框架,彻底改变了涉及 JavaScript 的 Web 开发。

    CadQuery 之于 3D CAD 就像 jQuery 之于 JavaScript。如果您熟悉 jQuery 的工作原理,您可能会认识 CadQuery 使用的几个 jQuery 功能:

    • 流畅的 API 可创建干净、易于阅读的代码

    • 能够与其他 Python 库一起使用该库

    • 文档清晰完整,有大量示例。

    作者:码峰  创建时间:2023-11-16 20:16
    最后编辑:码峰  更新时间:2024-01-12 17:58