# GeomVerity **Repository Path**: xiangle7/geom-verity ## Basic Information - **Project Name**: GeomVerity - **Description**: GeomVerity(几何求真)是面向建筑工程的开源CAD语义解析与可追溯AI框架。 项目融合确定性几何算法、大模型语义推理与工程规则验证,将传统CAD图元转化为可理解关联的工程对象,支持图纸变更识别、跨专业影响分析及AI设计决策的证据追溯,为可信工程自动化提供基础设施。 品牌标语:从几何数据到可信工程决策。 - **Primary Language**: Unknown - **License**: MPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2026-10-13 - **Last Updated**: 2026-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: cad ## README # 《面向建筑机电设计的CAD语义解析与可追溯自动化框架》 项目代号:GeomVerity · 几何求真 [![Python离线验收](https://github.com/paigu3571/GeomVerity/actions/workflows/python.yml/badge.svg?branch=main)](https://github.com/paigu3571/GeomVerity/actions/workflows/python.yml) **开源工程语义与可信AI框架** 从几何数据,到可信工程决策。 *Open-Source Engineering Semantics & Trustworthy AI Framework* GeomVerity将CAD图元转为带来源引用的工程对象。确定性几何算法、受约束的模型提议与专业规则共享对象和证据;图纸换版时,分析变化、核对旧确认是否仍有效,并生成可追溯的设计辅助结果。 [GitHub](https://github.com/paigu3571/GeomVerity) · [Gitee](https://gitee.com/xiangle7/geom-verity) · [在线演示](https://paigu3571.github.io/GeomVerity/) · [文档导航](docs/README.md) ## 评审速览 |维度|已经做成什么| |---|---| |技术创新|代码计算、模型提议、工程师批准;数据、规则、AI三层出处,换版后检查旧确认是否失效。| |场景落地|真实天正图8处改动:人工40分钟找到5处,工具含扫描约10分钟找全8处。| |开源治理|MPL-2.0、依赖声明、3条CI、SHA256;在线免安装,离线免CAD与密钥。| |长期发展|开放决策记录、确认失效机制和MCP,为AI生成工程内容探索独立核验。| ## 愿景 让机器去读、去算、去做重复的工作;让人去判断、去负责;让每一个判断都有出处。混合系统帮助工程师读得全、做得快,追溯把复核集中到变化、风险和条件上。我们开源工程决策记录格式、确认失效机制和MCP,探索AI生成工程内容的独立核验层。输入采用公开JSON契约;当前实测来源只有天正插件,其他生成方及审图、施工、运维接入为愿景。详见[可追溯方法与接入契约](docs/architecture/traceability.md)。 ![愿景](docs/architecture/vision.svg) ## 演示画面 |工程对象|删门风险|灯具证据| |---|---|---| |[![识别后](docs/images/recognition.jpg)](docs/images/recognition.jpg)|[![风险卡](docs/images/door-risk.jpg)](docs/images/door-risk.jpg)|[![证据卡](docs/images/lamp-evidence.jpg)](docs/images/lamp-evidence.jpg)| 真实查看器画面:识别前后、风险与证据,10秒循环 ## 输入适配与使用范围 图层和制图习惯可以不同,接入时需要核对配置与样例。随附generic配置是默认示例,未穷举所有单位标准;其他宿主版本和制图标准须分别验证。社区可贡献图层配置、术语、小样例及宿主验证记录,逐步完善适配库。 |使用目的|所需环境|当前范围| |---|---|---| |查看在线/离线演示|浏览器|无需CAD、天正、密钥| |重新计算公开样例|Python 3.11及依赖,内存要求见下方|读取配套JSON,无需CAD、天正、密钥| |扫描自己的DWG|支持的CAD/天正与适配配置|实测AutoCAD 2016+T20 V8;其他组合未验证| 未识别到对象不能当作图上没有该对象。遇到缺口,先核对宿主、单位、图层、围合和用途,补齐相关输入后再判断专业规则。[适配步骤与缺口处理](docs/guides/drawing-adaptation.md) · [填写适配Issue](https://github.com/paigu3571/GeomVerity/issues/new?template=adaptation.md) · [查看模板](.github/ISSUE_TEMPLATE/adaptation.md)。完整自动预检与配置推荐列为计划。 ## 快速开始 Python 3.11+。在仓库根目录运行: ```powershell python -m pip install -e ".[dxf]" python -m cst.demo ``` 首次安装需要网络;演示阶段不需要AutoCAD或API key。也可运行`powershell -ExecutionPolicy Bypass -File scripts/run_demo.ps1`;Linux/macOS使用`sh scripts/run_demo.sh`。 打开`dist/demo/changes/semantic_view.html`查看两版变化;`dist/demo/notifications/notice.html`显示正式协作通知,`notice.md`为可复制文本,`dist/demo/bundle`保存决策与校验清单。[预期结果与排错](docs/acceptance/demo.md)。 ## 架构 ![架构](docs/architecture/overview.svg) - **CAD宿主适配:** C#读取天正原生对象,导出L1/L2/L3 JSON。 - **确定性引擎:** 几何、匹配、规则和布置由程序执行;Python核心可脱离Viewer与Desktop运行。 - **受约束AI:** 模型提出用途、规则草案和通知;程序检查引用,工程师批准专业判断。 - **Trace:** 决策记录输入指纹、规则来源、模型缓存和人工确认范围;Viewer、SDK与MCP读取同一结果。 [分层与证据边界](docs/architecture/engine.md) · [换版匹配](docs/architecture/change-analysis.md) ## 功能与实测 | 功能 | 当前范围 | 验证资料 | |---|---|---| | CAD语义 | AutoCAD 2016/T20 V8宿主扫描;公开A/B分别73/48个空间 | [宿主记录](docs/acceptance/cad-host-validation.md) | | 规则检查 | 四条机房条件规则及共井草案示例;A/B中R1分别2/1项满足已核对条件 | [规则验收](docs/acceptance/rules.md) | | 提资变更 | 对象变化、隔墙关系、影响候选、旧确认及灯组失效 | [8项人工对照](eval/change_test.md) | | 工程AI | 问答、术语提议、规则起草和协作通知;支持缓存重放 | [AI验收](docs/acceptance/ai.md) | | 自动出图 | 沿墙避门灯具候选和独立DXF;闭合房间LPD及利用系数法照度估算 | [结果验收](docs/acceptance/changes.md) | | 可追溯决策 | 输入、规则、模型与人工确认记录;证据包哈希核验 | [证据包验收](docs/acceptance/evidence.md) | | SDK/MCP | SDK核心调用与七个只读MCP工具 | [接口验收](docs/acceptance/interfaces.md) | 两名工程师单次对照:传统人工组40分钟发现5/8;工具组含约5分钟扫描,总计约10分钟发现8/8。[人工与工具计时](eval/human_vs_tool.md)。 实际模型返回112个去重房名。原关键词未覆盖的46种名称中,模型为42种提出可审核类别,4种保留UNKNOWN;原关键词未覆盖的46种中,工程师审核后启用45种(包含人工修正)。工程师已审核63项:43项采纳、20项修改;56项启用,采光天井及6项上空名称暂缓启用。修改后的类别不算模型直接判断正确。49种人工名称的35/49一致对照保留在详细评测中。[样本与不一致明细](eval/llm_naming.md)。 首次冻结的8项改图对照为6项对应、1项部分、1项不一致;人工记录房名笔误更正后为7项对应、1项部分。 ## 运行要求 Python 3.11+、64位系统。完整演示建议至少8GB整机内存、运行前可用内存至少5GB;CAD和浏览器并行建议16GB。Windows完整演示本次340.359秒、峰值3873.98MiB;Ubuntu本次384.27秒、峰值4102.84MiB。512MB沙盒中的完整demo、check和全量测试曾因内存不足中断,不支持以512MB作为完整演示配置。实测峰值、耗时和建议内存见[运行测量](eval/runtime.md)。已生成的离线HTML可直接用浏览器打开,无需在本机重算。 缩减运行范围可用 `python -m cst.demo --changes-only`,只执行A→A-change链路,跳过A/B独立报告及问答/草案全组重放;实测峰值仍接近4GB,不适合512MB环境。 ## 使用接口 ```powershell python -m cst summary samples/A python -m cst verify samples/A python -m cst check samples/A python -m cst diff samples/A samples/A-change --output dist/changes/example python -m cst bundle samples/A-change --changes dist/changes/example/diff.json --output dist/bundle/example python -m cst verify dist/bundle/example ``` 输入为配套JSON快照。DWG扫描使用CAD插件。[CAD构建与加载](docs/guides/cad-build.md) · [CLI](docs/api/cli.md) · [SDK](docs/api/sdk.md) · [MCP](docs/api/mcp.md) · [数据契约](docs/api/schema.md)。 ## 测试与贡献 ```powershell python -m unittest discover -s python/tests -v ``` [代码贡献](CONTRIBUTING.md) · [规则贡献](docs/guides/rule-contribution.md) · [构建与测试](docs/guides/development.md)。规则贡献者可直接提交条款、适用条件和三类案例,由维护者协助整理YAML。 ## 已知局限 跨楼层、房名错位、出口资格和专业措施资料可能缺失。曲线采样的IsExact标记需进一步修正。灯具为布置候选;有效闭合轮廓可回算LPD与估算照度,真实灯具参数仍需核对。模型引用校验有明确覆盖范围,专业结论需要相应资料与工程师确认。[完整边界](docs/guides/limitations.md)。 ## 维护与许可 著作权人、原作者及维护者:张田。其他贡献者和第三方保留各自权利。自有代码使用[MPL-2.0](LICENSE),依赖见[NOTICE](NOTICE)。[维护](docs/guides/maintenance.md) · [路线图](docs/architecture/roadmap.md) · [安全报告](SECURITY.md) · [治理角色](GOVERNANCE.md)。 GeomVerity combines deterministic geometry processing, constrained LLM proposals, engineering rules and traceable decision records. It supports CAD snapshot analysis, version comparison and auditable engineering assistance. 当前交付为[v0.3.2](https://github.com/paigu3571/GeomVerity/releases/tag/v0.3.2)。[正式协作通知](https://paigu3571.github.io/GeomVerity/notice.html)提供风险分组、版本时间与每句来源。