使用 Python ezdxf 源生成、重新生成并验证 2D DXF 图形。适用于 DXF 文件、gen_dxf() 源、2D 轮廓、外形、模板、垫片等。
DXF 生成和验证是一项面向实际任务的技能,主要用于Provence: 保存在 turntojake/ text- to- cad. 使用已安装的本地技能文件作为运行时的真伪源;. 存储链接仅用于来源。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
来源:维护于 earthtojake/text-to-cad 仓库。 以本地已安装的技能文件作为运行时事实源;该仓库链接仅用于溯源及发布审核。
根据自然语言需求或 CAD 几何体,创建或修改 2D DXF 图纸,生成经验证的 .dxf 构建产物,并返回已校验的输出结果。DXF 源为定义了 gen_dxf() 函数并返回一个 ezdxf 文档对象的 Python 文件;CLI 负责管理输出路径。
支持两类源结构:
gen_dxf()。适用于纯 2D 输出场景——如垫片(gaskets)、面板(panels)、模板(templates)、切割排版(cut layouts)等,其背后无任何 3D 模型。gen_step() 的 CAD 生成器源文件中追加 gen_dxf()。适用于 DXF 表示某 3D 零件的工程图或轮廓线的情形;此时应先使用 $cad 创建并验证 STEP 几何体,再在同一源文件中添加投影逻辑。当用户请求 DXF 文件、2D 工程图、轮廓线(profiles)、外轮廓(outlines)、模板(templates)、垫片(gaskets)、面板(panels)、展开图(flat patterns)或适用于激光、等离子、水刀及 CNC 铣削的切割排版(cut layouts)时,请使用本技能。
若 DXF 源自某个 3D 零件或装配体,请使用 $cad;若需执行 SendCutSend 平台专属上传预检,请使用 $sendcutsend。
除非用户明确指定,否则采用以下默认设置:
doc.units = ezdxf.units.MM)。启动器位于 DXF 技能目录内:
python scripts/dxf targets... [flags]
请使用当前项目的 Python 解释器;此处 python 视为解释器占位符;可通过 --help 查看完整接口说明。目标路径基于命令执行时的当前工作目录(CWD)解析;请从拥有相关构建产物的工作区(workspace)中运行该命令,并使用相对于 CWD 的目标路径。除非用户另有要求,否则 DXF 输出文件及其对应的 Python 生成器应置于同一目录下,且具有相同的基本文件名(basename)。
一个 DXF 目标是一个定义了如下函数的 Python 源文件:
def gen_dxf():
...
return document
普通生成的 Python 目标将输出同目录下的同名 .dxf 文件。仅当处理单个普通 Python 目标时,才可使用 -o/--output;若需为每个目标指定定制化输出路径,请使用 SOURCE.py=OUTPUT.dxf 这样的位置参数对。切勿在 gen_dxf() 的返回值中嵌入输出路径。
scripts/dxf 是一个生成器(generator),它不会检查已存在的 .dxf 文件。如需检查已有 DXF 文件,请使用 ezdxf 进行实体(entity)与图层(layer)层面的校验,并使用 $cad-viewer 进行可视化审查。
$cad 生成并验证 STEP 几何体,然后在同一源文件中添加或更新 gen_dxf()。尽可能直接从内存中的 STEP/实体拓扑导出 DXF(而非重复编写几何公式),确保 DXF 始终是所导出零件的真实投影或展开结果。scripts/dxf;禁止执行全目录范围的批量生成。python scripts/dxf path/to/source.py python scripts/dxf path/to/source.py -o path/to/output.dxf python scripts/dxf path/to/a.py=out/a.dxf path/to/b.py=out/b.dxf
请使用定向的 ezdxf 检查替代人工目视核验:包括按类型与图层统计实体数量、检查切割轮廓是否闭合、验证图纸范围(drawing extents),以及逐一确认用户指定的所有尺寸。
import ezdxf
doc = ezdxf.readfile("path/to/output.dxf")
msp = doc.modelspace()
profiles = [e for e in msp.query("LWPOLYLINE") if e.closed]
holes = msp.query('CIRCLE[layer=="0"]')
仅报告实际执行过的检查项。
在创建或修改 .dxf 构建产物后,若已安装 $cad-viewer 技能,则你必须始终将生成的明确文件路径传递给 $cad-viewer,并在最终响应中附上其实时查看器链接(live viewer link)。若 $cad-viewer 不可用或启动失败,请如实报告该情况,并转而依赖 ezdxf 检查结果,不得静默省略交付步骤。
最终响应应包含:生成的文件、返回的查看器链接、实际执行的验证项,以及所作假设。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章