首页 > 其他分享 >CadQuery 介绍

CadQuery 介绍

时间:2023-12-29 14:11:41浏览次数:33  
标签:CadQuery 模型 介绍 thickness STL STEP CAD

什么是 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 库一起使用该库
  • 文档清晰完整,有大量示例。

标签:CadQuery,模型,介绍,thickness,STL,STEP,CAD
From: https://www.cnblogs.com/mafeng-maersi/p/17934758.html

相关文章

  • Linux系统日志文件介绍
    Linux系统文件通常在/var/log中下面,主要有以下日志:/var/log/message---------------------------------------系统启动后的信息和错误日志/var/log/secure------------------------------------------与安全相关的日志信息/var/log/maillog-------------------------------......
  • 时序数据库的深入浅出介绍(2022)
    时序数据库是一类专门用于存储和分析时间序列数据的数据库。时间序列数据通常包含时间戳和对应的指标值,用于监控和分析某个目标的变化趋势。时序数据库需要高效存储大量时间序列数据,并支持相关的分析与运算,如聚合、下采样、滚动窗口等。起源时序数据库的起源可以追溯到20世纪70......
  • 数据结构之<散列表>的介绍
    简介散列表也叫做哈希表,是根据键值对(key,value)进行存储的一种数据结构。散列表利用哈希函数将给定的键映射到一个特定的位置(通常是数组索引),这个位置通常被称为哈希值或哈希地址。这里可以举个微信好友列表的例子说明,存放好友首字母的表对应的就是散列表。1.哈希函数哈希函数是......
  • MATLAB工具箱介绍
    Toolbox工具箱序号工具箱备注 数学、统计与优化 1SymbolicMathToolbox符号数学工具箱2PartialDifferentialEuqationToolbox偏微分方程工具箱3StatisticsToolbox统计学工具箱4CurveFittingToolbox曲线拟合工具箱5OptimizationToolbox......
  • 国际物流公司科普_集装箱种类区分和介绍_箱讯科技
    集装箱运输的不断发展,为适应装载不同种类货物的需要,因而出现了不同种类的集装箱。今天和大家一起来总结一下。按使用材料分类根据箱子主体部件(侧壁、端壁、箱顶等)采用什么材料,就叫做什么材料制造的集装箱,按使用材料分类,集装箱可分成三种:(1)铝合金集装箱,优点是重量轻,外表美观,防腐蚀,弹......
  • Kubernetes 网络之 Ingress 介绍
    一、ingress在Kubernetes集群中,Ingress作为集群内服务对外暴露的访问接入点,几乎承载着集群内服务访问的所有流量。Ingress是Kubernetes中的一个资源对象,用来管理集群外部访问集群内部服务的方式。可以通过Ingress资源来配置不同的转发规则,从而实现根据不同的规则设置访问集群内不同......
  • 软件测试/测试开发|常见软件测试框架类型:TDD、BDD、DDD、ATDD、DevOps介绍
    前言当今软件开发领域中,测试是确保代码质量和功能稳定性的关键步骤。而测试框架是在软件开发过程中使用的工具,有助于组织、管理和执行测试。在这篇文章中,我们将介绍几种常见的测试框架类型:TDD(测试驱动开发)、DDT(数据驱动测试)、BDD(行为驱动开发)和ATDD(行为驱动开发)以及DevOps,本文......
  • UPX 可执行文件压缩工具的介绍与使用
    UPX是什么UPX全称是"UltimatePackerforeXecutables",是一个免费、开源、编写、可扩展、高性能的可执行程序打包程序。换句话说一个可执行文件的压缩工具。主要的功能是将可执行的二进制程序、动态链接库和其他的二进制文件压缩为更小的体积,UPX通常可以将文件大小减少50%......
  • 【flink番外篇】6、flink的WaterMark(介绍、基本使用、kafka的水印以及超出最大允许延
    文章目录Flink系列文章一、maven依赖二、示例-Flink1.13.6版本:kafka数据源,每10s统计一次地铁进站每个入口人数1、maven依赖2、实现1)、javabean2)、实现3、验证1)、验证步骤2)、验证三、示例-Flink1.17.0版本:kafka数据源,每10s统计一次地铁进站每个入口人数1、maven依赖2、实现1)、j......
  • 【flink番外篇】6、flink的WaterMark(介绍、基本使用、kafka的水印以及超出最大允许延
    文章目录Flink系列文章一、maven依赖二、示例:每5s统计一次地铁进站每个入口人数1、实现1)、bean2)、实现2、验证三、示例:处理延迟数据超过能接受的时间,每10s统计一次地铁进站每个入口人数1、实现1)、javabean2)、实现2、验证本文介绍了FlinkWaterMark的基本用法以及超过最大延迟允......