如何一键自动提取CAD图中的中心线(如墙体、道路、巷道中心线等)

前言

CAD图纸中的中心线提取是一项关键的几何信息简化技术,在不同领域具有重要应用价值。在建筑类图纸中,通过算法提取墙体的中心线,这种简化后的中心线便于进行空间分析、路径规划或BIM模型重构。对于能源领域,巷道中心线的提取更为关键,它能准确反映地下通道的走向、转折点和连接关系,为设计、逃生路线规划等提供基础框架。本质上,中心线提取实现了从具象图形到抽象拓扑的转换,是CAD数据处理中不可或缺的智能化预处理步骤。 CAD图纸中心线的提取技术,需要设计人员需要手动描画中心线,不仅耗时耗力,而且容易因人为误差影响精度。相比人工操作,自动提取中心线不仅速度更快,还能减少人为错误,确保数据一致性,并支持批量处理大规模图纸。这一技术进步极大降低了人工成本,推动了CAD数据处理向智能化、高效化方向发展。

效果展示

提取墙体中心线

提取巷道中心线

操作视频教程:www.bilibili.com/video/BV14c...

基本操作

唯杰地图管理云平台 上传要提取中心线的CAD图形,成功打开后,点击"更多功能"里面的"自动提取中心线(如墙体、道路)"

界面控制

  • 窗口可拖动:通过标题栏拖动整个设置窗口
  • 底图透明度:使用滑块调节底图透明度(0-1之间)
  • 关闭按钮:点击右上角"关闭"按钮关闭设置窗口

中心线提取

参数设置

平行线距离设置

  1. 距离对设置

    • 可添加多个距离对
    • 每个距离对包含最小距离和最大距离
    • 使用"拾距"按钮可以直接从图上测量距离
  2. 自动设置

    • 点击"自动设置数值参数中其他距离项"可自动计算其他距离参数

这步设置很重要,不同的图纸设置值不同,需要根据实际图纸进行设置。

因为图中可能存在不同的平行线宽,如下图所示,墙体厚度不同,这时候需要增加不同的距离对。

修改完距离选项后,需点击 自动设置数值参数中其他距离项 自动计算其他距离参数

数值参数

  1. 距离参数
    • 中心线段能合并的最大距离 (在此范围之内的中心线将合并成一条中心线)
    • 允许的线段断开距离 (查找平行线时,如果平行线有断开时,断开距离小于此值将进行合并)
    • 中心线段允许的最小距离 (如果最后计算出的中心线距离小于此值将被排除)
    • 共线容差距离值 (判断是否共线的容差距离值)
    • 去除重复点容差值 (去除重复点的容差距离值)
  2. 精度参数
    • 精确到小数点后几位(0-10位)
    • 双线都重叠的最小比例(0-1)(用于判断平行线是否有中心线)
    • 判断平行线斜率角度误差(0-90度)(平行线斜率误差角度)
    • 合并中心线斜率角度误差(0-90度)(合并中心线时斜率误差角度)

处理选项

  • 是否连接设置允许间隔范围内的线
  • 是否处理合并端点
  • 是否排除小于最小距离的线
  • 是否把相连的线合成一条
  • 中心线是否以GeoJson格式返回 (用于调试数据)
  • 是否显示平行线坐标 (用于调试数据)
  • 是否显示提取的线坐标 (用于调试数据)

自动提取中心线

  1. 点击"自动提取中心线"按钮
  2. 系统会自动分析当前视图范围内的图形并提取中心线

手动矩形提取

  1. 点击"手动矩形提取中线"按钮
  2. 在地图上绘制一个矩形区域
  3. 系统会提取该区域内的中心线

多边形提取

  1. 点击"多边形提取中线"按钮
  2. 在地图上绘制一个多边形区域
  3. 系统会提取该区域内的中心线

注:如果参数设置对的情况下,因为图形其他元素影响导致自动提取不对时,可采取以下办法:

(1) 点击工具栏中的图层菜单 ,"只显示指定图层", 可自动识别当前图层中的数据,防止其他数据干扰。

(2) 也可以通过手动矩形或多边形选择指定区域的图形数据进行提取。

工具功能

中心线编辑工具

  • 显示/隐藏中心线:点击对应按钮切换中心线的显示状态

  • 编辑/浏览模式切换:切换中心线的编辑和浏览模式

    • 编辑模式下:

    可点击中心线,对坐标进行拖动编辑,或按Delete键进行删除

    • 浏览模式下:

      鼠标移动到中心线上时,会显示当前中心线的属性数据,点击线,会弹出此线的详细坐标数据和属性数据,可进行修改编辑

​ 如可在这里输入中心线的名称值,或者直接修改坐标值。

手动采集

  • 手动采集线:点击按钮后在地图上采集二维线

  • 手动采集三维线:点击按钮后在地图上采集三维线

    如果没有自动提取到的数据,可以用手动采集的方式去进行采集。手动采集三维线时,会根据当前点的图纸内容自动给当前点赋值高程(如果没有找到相关高程值可手动输入)

中心线编辑

  • 拆分中心线:选择一条中心线,指定拆分点进行拆分

  • 合并中心线:选择两条中心线进行合并

    合并过程与拆分刚好相反,选择两条中心线,会自动合并成一条中心线

  • 查看中心线数据:查看当前中心线的详细数据

    查看中心线既可查看当前所有中心线数据,也可在这里直接修改中心线数据。

    如可把当前处理好的中心线这里复制出来,下次的时候,再把数据拷贝到这里进行还原。

坐标高程处理

如果需要给中心线的每个点赋值高程值时,需要先自动找到图中所有高程注记手动增加高程注记 ,然后再根据这些点的高程值给中心线的每个点进行插值赋值。

高程注记处理

  1. 自动找高程注记
    • 点击"自动找高程注记"按钮

    • 系统会自动识别图中的高程注记

      自动找高程注记的流程为:会查找所有符合半径大小的圆,再搜索圆旁边的高程值。

      搜索到的高程值旁边会加上相同颜色的一个填充圆点。如搜索到的高程值1146.983是绿色的,查找的文字"1146.983"上面会显示绿色的小填充圆点。这样就能直观的看到自动找到的高程值来源于图中的哪个文字如果不对的话,可以点击高程注记右上角的关闭按钮来进行删除

  2. 手动增加高程注记
    • 点击"手动增加高程注记"按钮

    • 在地图上点击位置添加高程值

      对于没有自动找到的高程值,可以手动在一起位置增加对应的高程值。手动增加的高程值会以蓝色文字进行显示,以区别于自动搜索到的高程值。

  3. 高程注记管理
    • 删除高程注记:删除所有自动识别的高程注记

    • 删除手动高程注记:删除手动添加的高程注记

    • 中心线高程自动赋值:根据高程注记自动为中心线赋值

      中心线高程自动赋值是根据自动找到图中所有高程注记手动增加高程注记对图中的所有中心线上的点进行高程插值赋值。

      ​ 没有高程注记的点,会根据其他点的坐标自动插值

      如果线的颜色是红色,表明这条线上没有找到任何高程值,所有高程值赋值失败,需手动增加高程注记后再重新赋值

效果展示

三维效果

  • 中心线三维管道效果:将中心线转换为三维管道效果

  • 中心线拉伸效果:显示中心线的拉伸效果

  • 移除拉伸效果:清除拉伸效果

使用步骤

  1. 先进行平行线距离设置、点击自动设置数值参数中其他距离项自动计算其他距离参数
  2. 提取中心线时,建议先使用自动提取功能,如果效果不理想再尝试手动提取
  3. 如果需要处理高程时,建议先使用自动找高程注记功能,再进行中心线高程自动赋值, 如果出现红色的线,根据需要手动添加或修改
  4. 使用三维效果,查看数据是否正确,再依次排查修改。

在线体验地址 vjmap.com/app/cloud/

相关推荐
—Qeyser3 小时前
用 Deepseek 写的uniapp血型遗传查询工具
前端·javascript·ai·chatgpt·uni-app·deepseek
codingandsleeping3 小时前
HTTP1.0、1.1、2.0 的区别
前端·网络协议·http
小满blue3 小时前
uniapp实现目录树效果,异步加载数据
前端·uni-app
喜樂的CC5 小时前
[react]Next.js之自适应布局和高清屏幕适配解决方案
javascript·react.js·postcss
天天扭码5 小时前
零基础 | 入门前端必备技巧——使用 DOM 操作插入 HTML 元素
前端·javascript·dom
咖啡虫5 小时前
css中的3d使用:深入理解 CSS Perspective 与 Transform-Style
前端·css·3d
烛阴6 小时前
手把手教你搭建 Express 日志系统,告别线上事故!
javascript·后端·express
拉不动的猪6 小时前
设计模式之------策略模式
前端·javascript·面试
旭久6 小时前
react+Tesseract.js实现前端拍照获取/选择文件等文字识别OCR
前端·javascript·react.js
独行soc6 小时前
2025年常见渗透测试面试题-红队面试宝典下(题目+回答)
linux·运维·服务器·前端·面试·职场和发展·csrf