用Python做3D建模:CadQuery
文章目录CadQuery安装CQ-editor初步示例模型导出CadQuery安装CadQuery是Python的一款CAD开发库有了这个可以直接用Python代码来开发3D模型。可用conda来安装由于依赖较多建议新建一个环境conda create-n cad conda activate cad conda install-c conda-forge cadquery安装完成后可以做一个简单的示例importcadqueryascqfromcadquery.visimportshow resultcq.Workplane(XY).box(3,3,0.5).edges(|Z).fillet(0.125)show(result)两行代码第一行创建模型第二行对模型进行可视化CQ-editorCQ-editor是基于QT的CadQuery用户图形界面。这是个绿色软件无需安装双击直接启动。界面如下如图可知CQ-editor 主要分为几大核心区域例如代码编辑区、3D 视图区、对象树 以及控制台等。在左侧的代码窗口中和上面的纯python代码相比多了一行绘图show_object但实测就算没有这个中间窗格仍会显示3D图形。初步示例CadQuery给出的第一个示例如下绘制代码为height60.0width80.0thickness10.0diameter22.0padding12.0result(cq.Workplane(XY).box(height,width,thickness).faces(Z).workplane().hole(diameter).faces(Z).workplane().rect(height-padding,width-padding,forConstructionTrue).vertices().cboreHole(2.4,4.4,2.1))show(result)其工作流程为先指定工作平面为XY并在XY平面上绘制60 × 80 × 10 60\times80\times1060×80×10的立方体。选定Z坐标最大的面即刚刚创建立方体的顶面为新的工作平面并打一个直径为22 2222的洞。选定Z坐标最大的面绘制一个辅助矩形并选中该矩形的顶点向下钻4个沉头孔。代码中box, hole, rect, cboreHole都是几何体分别为长方体、圆孔、矩形、沉头孔其中cbore 是 Counterbore 的缩写。【Workplane】用于指定工作平面在CadQuery中每次操作均需在指定的工作平面上。【faces】用于切换工作平面 Z ZZ是一种选择器表示Z坐标最大的面。类似的还有 Z ZZ表示底面, X XX表示右侧面等。【forConstruction】是辅助线标记选为True后创建的rect不会生成任何实体材料。模型导出CadQuery支持多种模型的导出常用导出格式包括格式扩展名核心特点最佳用途STEP.step / .stp保留精确的 B-Rep (边界表示) 数学曲面。文件体积小包含完整的拓扑信息。✅ 首选。CNC 加工、导入 SolidWorks/Fusion 360 等其他 CAD 软件、精确测量。STL.stl将模型转换为三角网格 (Mesh)。丢失精确曲面信息圆角会变成多边形面片。✅ 3D 打印 (FDM/SLA)。需手动设置公差以保证圆角平滑。DXF.dxf2D 矢量轮廓格式。✅ 激光切割、水刀切割、CNC 2D 铣削。3MF / AMF.3mf / .amf现代 3D 打印格式支持颜色和多部件信息CadQuery 支持基础导出。高级 3D 打印需保留颜色或装配关系时。其导出代码为cq.exporters.export(result,my_part.step)