基于AutoCAD VBA增减挂钩报备坐标文件自动生成

基于AutoCAD VBA增减挂钩报备坐标文件自动生成

摘要:生成增减挂钩报备坐标文件是一项非常繁琐的工作,会占用大量工作时间。如果利用VBA对AutoCAD进行二次开发,可以实现自动生成坐标文件,使工作效率得到极大提高。本文就如何实现这一目标给出了具体的解决方法,并对相应的程序代码做了简要介绍。该方法对相关生产单位来说有很大的实用价值和借鉴作用。

关键词:AutoCAD二次开发;报备坐标文件;图幅号;自动生成      中图分类号:{P286+.1} 文献标识码:A 文章编号:   一、概述   报备坐标数据文件是国土部门在城乡建设用地增减挂钩试点在线监管报备工作中的重要基础资料,它包含了地块的位置、形状、面积、用途、坐标数据的坐标系统等重要信息。为了能通过导入坐标交换文件方式导入地块坐标数据,必须先把勘测定界图中的用地界线的坐标导出,再加上必要信息,并按照国土部要求的格式,做成坐标交换文件。其模板如下:   [属性描述]   格式版本号=   数据产生单位=   数据产生日期=   坐标系=80国家大地坐标系   几度分带=3   投影类型=高斯克吕格   计量单位=米   带号=   精度=3   转换参数=0,0,0,0,0,0,0   [地块坐标]   界址点数,地块面积,地块编号,地块名称, 面(点、线),图幅号,地块用途,地类编码,@   点号,地块圈号,X坐标(纵),Y坐标(横)   ......   点号,地块圈号,X坐标(纵),Y坐标(横)   目前,AutoCAD或南方CASS等主流软件没有现成的功能实现自动生成报备坐标文件。通常情况下,我们在南方CASS中利用生成界址点成果表功能,生成Excel坐标表格。然后经复制、粘贴、排序,再粘贴到记事本中,把空格替换成逗号,然后在坐标前加上相对固定的坐标属性等若干行......最后保存为报备坐标文件。其操作过程很繁琐,且对每个地块操作流程都一样,无非就是要更改地块的界址点数、地块面积、地块名称、图幅号,坐标等。地块越多,重复劳动就越多,人力资源浪费的就越多,在非常注重办事效率的今天,这样的生产方式确实需要改变。如果可以编写出一个小程序,能实现在AutoCAD中只需选择用地???线(包括岛),再录入地块编号、地块名称、地块用途、地类编码就能自动生成我们要数据,这无疑会使我们的生产效率得到极大提高。   二、解决方法   AutoCAD是一个可以再次开放的软件平台,它允许用户根据需要开发适合自己的工具,二次开发工具可以选择Visual LISP、VBA、Visual C++等,对于非专业程序开发人员,VBA是个不错的选择,因为它简单易学,速度也还不错。由于生产的需要,本人结合自己工作中的具体情况,用AutoCAD VBA编写了一段程序,实现了在AutoCAD环境下自动生成报备坐标文件。下面就具体的解决方法做简要介绍。   (一)总体思路   按照先后选择界址线、岛(如果地块包含岛),为了保证生成数据的正确性,判断所选多段线是否闭合,是否有重复顶点,若多段线不闭合或有重复顶点,报错后退出,用户需要检查图形。如顺利通过选择,则按照圈号先后顺序提取所有圈上的所有顶点坐标,并按照模板格式赋给一个字符串变量,所有圈的顶点数相加,计算出界址点数,地块面积等于外圈面积减去岛的面积。   为了实现自动计算出地块所在的1:1万图幅号,要在运行该程序前把实际生产中涉及到得所有1:1万图幅四角坐标提取出来,保存在名为结合表.txt的文本文件上,图幅号和相应四角坐标数据按照下列方式存放,其中X、Y和AutoCAD坐标系一致:   图幅号1   X左上,Y左上,X右上,Y右上,X右下,Y右下,X左下,Y左下   ……   图幅号n   X左上,Y左上,X右上,Y右上,X右下,Y右下,X左下,Y左下   然后将该文件放在AutoCAD的support目录下。由地块的界址线(外围线)生成一地块面域,再根据support\结合表.txt中的图幅四角坐标数据,按顺序每次生成一图幅面域,地块面域减去图幅面域,若地块面域面积减少,则和该图幅相交。依次往后读取每一图幅四角坐标生成图幅面域,并用被减后的地块面域减去新的图幅面域,直到地块面域面积变为0或读完结合表.txt中所有数据,这样就能求出地块所在的图幅号。另外,由于地块编号、地块名称、地块用途、地类编码不能由程序自动生成,因此在这几个数据在设计的弹出窗口中手工输入。   最后,将上面获取的数据和一些固定不变的数据按照模板样式组合在一起,写入文本文件,这样就生成了报备坐标文件。   (二)程序主要流程及主要代码   1、提示用户选择地块范围线和岛,创建选择集   Set

lisp自动生成界址点表_基于AutoCAD VBA增减挂钩报备坐标文件自动生成.doc相关推荐

  1. lisp自动生成界址点表_基于AUTO CAD绘制宗地界址点成果表程序的研发

    基于 AUTO CAD 绘制宗地界址点成果表程序的研发 陈亚明 ; 杨俊杰 ; 张胜利 [期刊名称] <科技创新与生产力> [年 ( 卷 ), 期] 2007(161)006 [摘要] 针 ...

  2. 土地报备坐标文件(TXT)生成

    勘测定界.土地报件.增减挂钩.开发整理等项目涉及土地报备坐标文件生成工作,利用python结合ArcGIS提供arcpy站点包开发一个工具批量生成土地报备坐标文件. 1.土地报备文件模板 2.土地报备 ...

  3. lisp自动生成界址点表_南方CASS,生成界址点程序,感觉自带的不好用。

    本帖最后由 zhb236623 于 2011-6-10 16:01 编辑 选中闭合PLINE,不管闭合PLINE是顺时针还是逆时间方向,始终按顺时针方向画界址点.界址点的顺序可以自定义从哪点开始.利用 ...

  4. mysql 自动排班表_基于jsp+mysql+Spring的Spring自动排班管理系统

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: 最好是Tomcat 7 ...

  5. 2019FME博客大赛——基于FME的报备坐标(Excel或txt)与shp转换

    参赛单元:传统GIS数据处理 作者:廖超毅 单位:成都市国土资源信息中心 一.前言 自2017年毕业以来,接触了很多国土行业的东西,最令我头痛的问题还是把国土用地报备坐标表(下文简称"坐标表 ...

  6. arcgis 经纬度转大地坐标_土地报备坐标txt(坐标交换数据)转shp遇到的坑及其Python(ArcPy/ArcGIS)实现...

    目录 土地报备坐标txt文件(坐标交换数据)转shp遇到的坑以及该功能的Python(ArcPy/ArcGIS)实现 一. 使用 Python(ArcPy) 绘制shp 什么是ArcPy 如何构造sh ...

  7. java生成iso9660工具_基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(TableGo v7.0.0版)...

    TableGo_20210212 v7.0.0 正式版发布,此次版本更新如下: 1.新增对DB2数据库的支持 2.新增按字段生成文件,支持把字段.JSON.XML数据转换成任何代码 3.新增大量新的自 ...

  8. vo生成MySQL表_跟我学微服务统一开发平台-代码生成器

    前面章节讲了技术选型,其实其技术选型这东西万变不离其宗,用的多越多,踩坑的机会越小,而且即使掉坑里了,前面很多人估计也遇到这个坑,其实就很容易爬出来.经过这几年微服务的全面普及,这一套技术栈已经火遍整 ...

  9. AD生成BOM表_材料清单 (Bill of Material)

    打开Altium Designer软件,然后在原理图界面(XXX.SchDoc),选择 Reports(报告)>> Bill of Materials(材料清单). 显示如下界面: 选择所 ...

最新文章

  1. GitBook本地的安装与查看
  2. 50行Python代码 就能轻松实现中英文对接翻译小程序
  3. JS进阶篇--JS数组reduce()方法详解及高级技巧
  4. CSSFriendlyAdapter 的一个Bug
  5. 20150928所学粗略整理
  6. [vue] 在.vue文件中style是必须的吗?那script是必须的吗?为什么?
  7. 专有网络(VPC)的六大应用场景
  8. Elasticsearch--进阶-bool复合查询---全文检索引擎ElasticSearch工作笔记013
  9. 研究员说明如何滥用推特图像隐藏 ZIP 和 MP3 文件
  10. 区块链 DAG分布式账本技术 DAG数据结构和基于区块的数据结构的差别 优势
  11. springSecurity 基于方法权限控制@RolesAllowed @Serured @PreAuthorize 与 页面端标签控制权限...
  12. 未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
  13. java Structs 介绍
  14. win7计算机打开显卡设置在哪,[win7显卡设置在哪里]WIN7显卡优化设置在哪
  15. 【Scrum模式语言9】准备就绪的定义(Definition of Ready - DoR )
  16. APPstore上架问题 ERROR ITMS-90096
  17. shell特殊符号cut命令,sort、wc、uniq命令,tee、tr、split命令
  18. Dolby fMP4视频seek后卡顿问题分析
  19. 简单工厂之Delphi实现
  20. 网络应用技术之网络层

热门文章

  1. 网页素材大宝库:25套高质量的网站纹理背景图片素材
  2. 微信语音怎么合并成MP3格式
  3. 在apple developer APP上注册显示您的注册已被暂停解决办法
  4. 记一次阿里云被挖矿处理记录
  5. 人脸识别之人脸对比 【C#】
  6. 淫荡是淫荡了点但我喜欢
  7. 数字文档管理与免费文件共享服务:了解关键差异
  8. BigInteger的用法
  9. 浙工大2021计算机学硕考研
  10. 917. 仅仅反转字母 【每日一题】