收藏 分销(赏)

基于Lisp语言及Quicker平台的房地一体宗地图打印算法研究.pdf

上传人:自信****多点 文档编号:2053140 上传时间:2024-05-14 格式:PDF 页数:5 大小:577.73KB
下载 相关 举报
基于Lisp语言及Quicker平台的房地一体宗地图打印算法研究.pdf_第1页
第1页 / 共5页
基于Lisp语言及Quicker平台的房地一体宗地图打印算法研究.pdf_第2页
第2页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、中文科技期刊数据库(全文版)工程技术 25 基于 Lisp 语言及 Quicker 平台的房地一体宗地图打印算法研究 沈 威1 李光磊2 1.广东省有色金属地质局九三三队,广东 肇庆市 526060 2.山东正元航空遥感技术有限公司,山东 济南市 250014 摘要:摘要:“房地一体”的农村宅基地和集体建设用地确权登记颁证工作是中央专项重点工作,事关农民的切身利益和农村集体的财产权益。2020 年“中央 1 号文件”提出要加快推进其工作全面部署,探索在“房地一体”细节工作中效率的提升,是响应国家号召的体现。由于农村地形条件较为复杂,使得文字避让及自动图形整饰程序效果欠佳,故宗地图整饰工作中仍需

2、要花费大量人力及时间。通过 AutoCAD2020 中内置的二次开发平台,基于 Lisp语言的宗地图整饰后快速打印图纸算法研究,结合 Quicker 平台关联 CAD 实现复杂操作自动化,极大的提高了宗地图整饰工作效率,进而提高了生产的经济价值与效益。关键词:关键词:房地一体;宗地图;AutoCAD;Lisp 语言;Quicker 平台;图纸打印算法 中图分类号:中图分类号:TP3 1 宗地图整理及 LISP 语言、Quicker 平台的应用 由于农村地区的建设规划设计难以按正规思路进行,房屋坐落密集区域户与户之间紧挨,巷道狭小地物复杂多变,给地形图精密测量带来较大困难;在“房地一体”项目中,

3、复杂的地形图影响着工作的进度。广东省肇庆地区“房地一体”项目通常使用南方数码公司的 CASS 农村权籍调查软件进行数据处理;其中包含各类信息入库、签名文档生成,及宗地图房屋平面图的生成。按照软件宗地图模板格式,利用地形图生成宗地图后仍需对每一户宗地图内容进行人工整饰,在宗地图文件整饰完成后,要将 DWG 图纸打印另输出为 PDF 文件,方便后续进行纸质图纸资料打印。LISP 作为声明式、函数式程序设计通用高级语言,其应用灵活编译简单、速度优越等特点,语言的先天特点便于处理 AutoCAD 中大量重复性工作,提高AutoCAD 自动化智能程度,节省时间促使工作效率提升。Lisp 能够充分利用地籍

4、调查测量中的相关信息进行汇总制图,达到了数据处理的准确性和高效性1;传统方法图纸输出设置步骤多、鼠标点击框选界面选项多,在 AutoCAD 文件打开状态下,利用 Visual Lisp 开发平台设计快速输出 PDF 文件编写算法程序,实现了 DWG图纸快速输出 PDF 文件。Quicker 是一款便捷实用的智能平台,其可以实现快速打开程序软件并启动各类操作,建立快捷动作处理文件,主要通过识别用户动作结合触发方式起到辅助用户服务。Quicker 的触发动作包含基础动作及组合动作,基础动作通常为运行程序、打开文件网页,发送按键及触发软件功能,发送文本运行脚本等,组合动作可实现更加丰富的自动化操作,

5、打包封装成实现特定功能的小程序;触发方式可通过面板窗口或者辅助触发,根据实际需求设定来实现精准操作。Quicker支持应用于DOS和Windows的CMD、Batch批处理脚本,同时支持 C、C+、C#、Javascript、Python 等主流程序语言,多元化的开发环境给第三方程序编程提供最大的兼容性,可以实现多平台多程序的融合作业。2 算法研究思路及方案 编程前知道编译需求后,逆向思维获取要实现的程序功能需要哪些流程;图纸输出可采用怎样的函数命令,相应的函数需要具体什么参数,一个个步骤逆向罗列。首先需要对宗地图模板格式进行分析,CASS 农村权籍调查软件宗地图生成比例尺为 100 的整数倍

6、,每个自然幢生成单独的宗地图 DWG 文件,整饰后需要按照 11 大小打印成纵向 A4 图。图框大小均为按比例缩放,图框要素表头为宗地图及单位描述,表尾左边中文科技期刊数据库(全文版)工程技术 26 为绘图日期,右边为绘图员,中间为宗地图比例尺,图框左侧为公司名称。知道具体要输出 PDF 对象的格式详情,找出不同比例尺宗地图进行差异性分析打印区域长宽值;接着思考如何准确打印不同长宽的图纸,打印中又具体包含哪些需求设置。CASS 软件在生成宗地图或者界址调查表的时候都是调用固定模板的,其在 CAD 图纸中都有共同块2;本次思路通过分析宗地图块串行数据共同点及各比例尺寸差异,从而读取扩展属性及图形

7、属性等来编码实现算法。本次快速打印图纸算法设计方案为:(1)计算宗地图中心点坐标,根据不同比例尺获取图纸打印区域的长度和宽度;(2)点选宗地图比例尺,识别比例尺图元内容,获取宗地图比例尺数据;(3)根据宗地图比例尺及图纸区域长宽计算出打印区域右上角和左下角坐标参数;(4)、调用 AutoCAD 系统函数-plot 进行 PDF 图纸输出。每个宗地图DWG文件在整饰完成后,处于打开状态;将编码封装成vlx或lsp程序文件并加载到AutoCAD 应用程序启动组中,使用时直接在命令栏中输入快捷代码即可运行程序,亦或者将 lsp 程序文件加载入 AutoCAD自定义菜单栏,方便使用、减少耗时进而提高了

8、效率。当宗地图已经通过人工智能自动避或其他方式实现宗地图整饰后,不需要启动 AutoCAD 处理文件后,此时通过 Quicker 平台是在对宗地图文件进行批量处理,可以实现宗地图自动打印输出 DWG 文件原路径下的 PDF 图纸文件操作。Quicker 平台提供了各类常用的程序模块,其中基础模组中包含了步骤组、键鼠模拟输入、提示面板设计等;在页面交互模组中则包含更丰富的动作模块,如用户选择集弹窗提示等;在文字处理和图形处理模组中,通过基础 OCR 识别提取对比分析合并文字功能在本次程序设计中可实现比例尺识别,代替 AutoCAD的“Select object”结构的分析选择集图元获取比例尺的方

9、式;程序流程模组和计算模组是软件的核心模组块,而第三方软件交互模组则提供了对日常程序的模块控制,包含 AutoCAD 控制模块,使得程序设计编程变得简洁便捷。3 核心技术要求及编码 在计算机技术高速发展的带动下,人工智能化不断深入参与各个行业;结合软件二次开发接口最大程度的发挥作用,其对从业者的编程能力也具有一定要求。LISP 语言数据库中函数库庞大与其他编程语言语法不同,功能与参数的使用说明可通过函数库查询辞典查询。AutoCAD 工具选项栏下Visual LISP 编译器中有着大量 AutoLISP、Vl、Vla-get、Vla-put、Vlax、Vlr函数,扩展函数加载后能支持用户丰富场

10、景环境下复杂的编译需求;编译器使用界面操作简单且便于调试编码,实时参与对 DWG 图纸的编程控制。宗地图中心点的坐标获取使用“VIEWCTR”系统内部函数,其功能存储当前视口中视图的中心点 UCS 坐标3。在使用“VIEWCTR”获取三维坐标前,需要对宗地图进行视图居中处理,获取坐标后再使用“nth”函数分别获取横纵坐标。代码及解析如下:1;-(步骤 1:居中图纸)-2(command _zoom e)3;-(步骤 2:识别图纸中心点 UCS 坐标)-4(setq Center_Point_XYZ(getvar VIEWCTR)5(setq CPx(nth 0 Center_Point_XYZ

11、)6(setq CPy(nth 1 Center_Point_XYZ)在 AutoCAD 的对象模型中,所有对象都是以集合来分组的,在存取选集或图块时均要从对象的集合中调出4;宗地图比例尺的获取选择鼠标点选识别,使用主要函数为“ssget”、“ssname”、“entget”等;核心函数 ssget 语法:(ssget mode pt1 pt2 pt-list filter-list),其 将 提 示 用 户 经 过AutoCAD 的“Select object”结构,以交互的方式来建立选择集,选择集可以包含图纸空间和模型空间中的图元。根据 AutoCAD 通用图元组码(DXF)表查询图元内容

12、的组码代号,使用“assoc”函数获取图元的内容文字。本次宗地图比例尺图元元素模板串行信息如下:(-1.)(0.TEXT)(330.)(5.2D6)(100.AcDbEntity)(67.0)(410.Model)(8.TK)(62.7)(6.DASHED)(100.AcDbText)(10 3.76292e+007 2.64047e+006 0.0)(40.0.5)(1.1:200)(50.0.0)(41.1.0)(51.0.0)(7.宋体)(71.0)(72.0)(11 0.0 0.0 0.0)(210 0.0 0.0 1.0)(100.AcDbText)(73.0)。如需直接跳过人工鼠标

13、点选宗地图比例尺步骤,亦可通过中心点坐标及识别图框图层图元元素中的坐标元素计算出中文科技期刊数据库(全文版)工程技术 27 鼠标点选区域,使用代码函数语法如:(ssget W(X1 Y1)(X2 Y2)即选择在 X1,Y1 和 X2,Y2 这个视窗内的图元要素。此次选择鼠标点选识别比例尺方式,代码及解析如下:1;-(步骤 3:识别图纸比例尺)-2(princ n 点选比例尺.)3(setq ent2(ssget(1.*:*);鼠标点选识别获取比例尺 4(setq ent3(entget(ssname ent2 0)5(setq PSD(cdr(assoc 1 ent3)6(setq BL_DI

14、S(vl-string-subst:0.:PSD);将 1:200 转化为 1:0.2 宗地图打印区域窗口大小的获取需要根据比例尺结合对应比例尺下所需打印区域的长宽计算出,获取三维 UCS 坐标获取的横纵坐标和长宽值计算出范围右上角和左下角坐标数据。在参与肇庆地区的房地一体项目中,宗地图比例尺通常在 1:1001:600 之间的整百倍比例尺;可分别直接量取这 6 种比例尺打印区域长宽值,中心点的横纵坐标与长宽的二分之一加相减后,即可计算出打印区域的左下角、右上角坐标。代码及解析如下:1;-(步骤 4:根据图纸比例尺,设置打印区域长宽二分之一数值)-2(cond(=PSD 1:100)(setq

15、 Inc_Wid 12.83 3 Inc_Len 9.51)4(=PSD 1:200)(setq Inc_Wid 25.78 5 Inc_Len 18.76)6(=PSD 1:300)(setq Inc_Wid 38.44 7 Inc_Len 28.28)8(=PSD 1:400)(setq Inc_Wid 51.26 9 Inc_Len 38.79)10(=PSD 1:500)(setq Inc_Wid 63.96 11 Inc_Len 47.55)12(=PSD 1:600)(setq Inc_Wid 76.61 13 Inc_Len 58.31)14(t nil)15;-(步骤 5:根据

16、设置长宽值,计算出左下角及右上角坐标)-16(setq Comma,)17(setq xx1(-CPx Inc_Len)18(setq xx2(+CPx Inc_Len)19(setq yy1(-CPy Inc_Wid)20(setq yy2(+CPy Inc_Wid)21(setq X1(rtos xx1 2 3)22(setq Y1(rtos yy1 2 3)23(setq X2(rtos xx2 2 3)24(setq Y2(rtos yy2 2 3)25(setq Lower_Left_Coordinate(strcat X1 Comma Y1)26(setq Upper_Right_

17、Coordinate(strcat X2 Comma Y2)如果使用非CASS农村权籍调查软件生成的宗地图存在非整数比例尺,可根据宗地图实际情况来设置;按照比例线性函数来调整打印区域长宽数据。软件及宗地图模板的差异使打印区域长宽值/比例尺数据不同,需根据实际情况计算而得。代码及解析如下:1;-(步骤 4.1:根据实际需求替换代码步骤 4中代码)-2(setq BL2Str(vl-string-subst 0.1:PSD);将 1:200 转化为 0.2 3(setq BL2Num(atof BL2Str)4(setq Inc_Wid(*BL2Num 0.129 100);0.129=宽(纵)/

18、比例尺 5 Inc_Len(*BL2Num 0.097 100);0.097=长(横)/比例尺 宗地图打印算法所需数据均获取完全,最后调用AutoCAD 内部函数“-PLOT”进行 PDF 文件输出,其函数设置包含:布局名或模型、输出设备名称(打印机输出设备设置)、图纸尺寸、图纸单位、图形方向、是否颠倒打印、打印区域、打印比例或布满、输入打印偏移或居中打印、是否按样式打印、输入打印样式表名称、是否打印线宽、输入着色打印设置5。根据实际生产需求修改相关设置,可以输出具体所需的宗地图文件样式。最后完成打印后,关闭并保存宗地图DWG 文件。代码及解析如下:中文科技期刊数据库(全文版)工程技术 28

19、1;-(步骤 6:调用系统函数-plot 进行快速打印图纸)2(command-PLOT Y DWG To PDF.pc3 ISO A4(210.00 x 297.00 毫米)M P N W Lower_Left_Coordinate Upper_Right_Coordinate BL_DIS C N.Y A N Y)3;-(步骤 7:保存并关闭图纸)-4(command _qsave close Y)图 1 Visual LISP for AutoCAD 编辑器程序编程及调试界面 完成所有阶段代码的调试工作后,将所有步骤模块的代码整合;在定义主程序函数名称时,考虑到快捷指令使用时效的便捷性,

20、命名方式应简单。通常自定义函数名尽量简单易记,兼顾方便使用的同时查询是否与 AutoCAD 系统预留及其他快捷指令重复,避免系统快捷指令代码冲突;例如主函数名命名为“PT”,代码大致语法示意:(defun c:PT(/定义变量)运行的编码 )。将封装成 lsp 程序文件并加载在 AutoCAD 应用程序启动组中,使用时在命令栏输入“PT”并回车,宗地图会自动打印输出 DWG 文件原路径下的 PDF 图纸文件。整饰完成的宗地图,在不启动 AutoCAD 程序下对宗地图进行 PDF 图纸文件打印输出,可通过 Quicker平台连接 AutoCAD 程序批量操作处理。Quicker 平台新建组合动作

21、编程可实现对第三方程序的二次开发,此次程序设计的主要思路:选择文件夹及获取需要处理的宗地图 DWG 文件夹所在路径 Path1;获取文件夹 Path1 下的文件,通过 Quicker 文件和目录操作模块的搜索内容进行文件类别筛选文件后缀“*.dwg”,并获取文件列表 FileList 并排序;循环对文件列表 FileList 中的文件按序处理;对序列 DWG 文件处理具体步骤,需通过系统模组中激活 CAD 主窗口进程,pid 为“acad”,调用 AutoCAD控制模块向 AutoCAD 发送命令,命令内容支持 VLISP、VBA、ARX 函数库,具体命令内容参看上述基于 LISP语言的编程思

22、维,也可直接在 AutoCAD 控制模块的命令内容中直接调用封装好的“PT-PLOT”LISP 程序,处理完成当前文件后,利用模拟操作模块关掉当前文件并进行下一循环。为避免所需文件数量巨大会导致计算机内存不足宕机,可在当前循环结束后清除缓存,并设计进度条观测程序运行状态及进度。图 2 Quicker 平台连接 CAD 程序设计界面 4 结论 本次基于 AutoCAD Lisp 语言的宗地图整饰后 DWG快速输出 PDF 图纸算法研究,采用中心法计算打印区域的设计思路,LSP 程序在实际使用过程中,绕过繁琐的图纸打印输出步骤,节省时间效果明显;在大量的重复性打印工作中,充分体现了插件智能自动化的

23、优点。在保证工程质量的前提下,基于 Lisp 语言算法编译实现 AutoCAD 人工智能自动化操作,结合 Quicker平台实现多元化复杂操作处理,达到了事半功倍的效果、推动了行业进步。参考文献 1于健.基于 AutoCAD 和 lisp 语言的地籍成果图册生中文科技期刊数据库(全文版)工程技术 29 成方法研究J.大众标准化,2022,373(14):92-94.2任航科.LISP 语言在测绘作业中的应用J.城市勘测,2011,119(01):110-112.3王玉琨,茅艳,任卫红等.CAD 二次开发技术及其工程应用M.北京:清华大学出版社,2008.4二代龙震工作室.AutoCAD LISP/VLISP 函数库查询辞典M.北京:中国铁道出版社,2003.5CAD/CAM/CAE 技术联盟.AutoCAD 2020 中文版从入门到精通(标准版)M.北京:清华大学出版社,2020.6周乐来.AutoCAD2008 Visual LISP 二次开发入门到精通M.北京:机械工业出版社,2008.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服