CN107908813B - 基于ObjectARX的城市规划数字地形参数化处理方法 - Google Patents

基于ObjectARX的城市规划数字地形参数化处理方法 Download PDF

Info

Publication number
CN107908813B
CN107908813B CN201710935947.5A CN201710935947A CN107908813B CN 107908813 B CN107908813 B CN 107908813B CN 201710935947 A CN201710935947 A CN 201710935947A CN 107908813 B CN107908813 B CN 107908813B
Authority
CN
China
Prior art keywords
entity
digital
constraint
digital topographic
constraint conditions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710935947.5A
Other languages
English (en)
Other versions
CN107908813A (zh
Inventor
曹耀东
卫东
黄晓清
周孔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Municipal Engineering Design Insitute Group Co Ltd
Original Assignee
Shanghai Municipal Engineering Design Insitute Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Municipal Engineering Design Insitute Group Co Ltd filed Critical Shanghai Municipal Engineering Design Insitute Group Co Ltd
Priority to CN201710935947.5A priority Critical patent/CN107908813B/zh
Publication of CN107908813A publication Critical patent/CN107908813A/zh
Application granted granted Critical
Publication of CN107908813B publication Critical patent/CN107908813B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了基于ObjectARX的城市规划数字地形参数化处理方法,包括:S1、在AutoCAD中调用APPLOAD命令加载ARX程序;S2、批量导入数字地形图;S3、定义约束条件量化的基本参数值;S4、判断约束条件的参数是否无误,是则转S5,否则返回S3;S5、取出地形图中所有实体的ID,并保存在EntArr数组中,将EntArr数组中实体按约束条件进行一致性检测,剔除约束条件不符合的实体ID;S6、判断EntArr数组中实体是否成功复制,是则转S7,否则重新绘制当前实体;S7、重复步骤S5~S6,直至处理结束。本发明实现了地形分析中的数字地形批量自动筛选与提取功能,解决了现有技术在数字地形处理过程中设计效率低以及正确率无法有效保证的问题。

Description

基于ObjectARX的城市规划数字地形参数化处理方法
技术领域
本发明涉及城市规划领域,尤其涉及一种基于ObjectARX的城市规划数字地形参数化处理方法。
背景技术
城市规划是指城市为了实现一定时期内城市经济社会发展目标,确定城市性质、规模和发展方向,合理利用城市土地,协调城市空间布局和各项建设所作的综合部署和具体安排。城市建设用地适宜性评定是城市规划中的一项重要的基础性工作,而数字地形分析又是城市建设用地评定中极其关键的一个环节。
目前,地形分析的处理过程为一次提取数字地形文件至当前图纸,对所有实体按约束条件进行筛分、转换、合并。但由于考虑了更多、易变的约束条件,数字地形的处理过程更为繁琐,需要的图纸与指定约束条件密切相关,所以在设计阶段,任何约束条件参数的微小变化都会带来筛选实体、转换坐标、合并拷贝等重复操作,对于数字地形这种动辄几十至几百个小文件组成的大型图纸来说,大量的重复操作既繁琐又极易出错,严重影响设计效率。因此,如何借助AutoCAD二次开发技术,为设计人员提供符合生产需要的快速便捷的设计绘图方法,摆脱繁琐的重复性劳动,提高作图效率,已成为当前的迫切需要。
目前主流的AutoCAD二次开发工具主要有ObjectARX\ADS\VisualLISP\VBA\.NET。其中,ObjectARX是一种以C++为编程语言,采用完全面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的AutoCAD应用程序。ObjectARX与其它开发工具相比具有如下优点:
1、ObjectARX包含一组动态链接库(DLL),库中包含一组通用工具,利用这些工具可以充分利用AutoCAD的开放结构,直接访问AutoCAD的数据库结构、图形系统,以及几何造型核心,以便能够在运行期间实时扩展AutoCAD的功能,建立与AutoCAD本身固有命令操作方式相同的新命令。
2、ObjectARX程序与AutoCAD、Windows之间采用Windows消息传递机制直接通信,它以C++为基本开放语言,具有OOP(Object Oriented Porgram)技术的许多特点,如数据封装、继承、多态性等。
3、ObjectARX提供了以C++为基础的面向对象的开发环境及应用程序接口,具有面向对象编程方式的数据可封装性、可继承性及多态性等特点,ObjectARX开发的应用程序具有集成度高、稳定性强、模块性好、运行速度快、使用方便、内部功能高效以及代码可重用性强、支持MFC等特点,开发出的软件更易于管理和升级。
借助ObjectARX技术对产品或工程的设计,不但能够缩短产品设计周期、降低生产成本、而且能将设计人员从繁重的重复劳动中解放出来,把更多的精力用于创造性工作。有鉴于此,有必要提出了一种新的基于ObjectARX的城市规划数字地形参数化处理方法。
发明内容
针对传统地形处理方法存在的问题,本发明的目的是提供一种基于ObjectARX的城市规划数字地形参数化处理方法。该方法实现了地形分析中的数字地形批量自动筛选与提取功能,避免在提取过程中改变某一个约束条件而给设计人员带来的重复劳动,解决现有技术在数字地形处理过程中设计效率低以及正确率无法有效保证的问题,提高地形处理的自动化程度。
为达到上述发明目的,本发明的技术方案为:
所述的基于ObjectARX的城市规划数字地形参数化处理方法,包括以下步骤:
S1:在AutoCAD中调用APPLOAD命令加载ARX程序;
S2:批量导入数字地形图,将数字地形图名称列表在列表框内按字典排序从小到大的顺序显示;
S3:定义量化后的约束条件基本参数值,将参数值置于文件列表框内;
S4:判断当前约束条件的基本参数是否输入无误;如果输入有误,则返回步骤S3,如果输入无误,进入步骤S5
S5:依次打开数字地形图,取出数字地形图中所有实体的ID,并保存在EntArr数组中,将EntArr数组的实体分别按约束条件进行一致性检测,若参数属性与约束条件完全一致,则保留当前实体,若否,则剔除当前实体;
S6:对EntArr数组中的实体依次复制,判断实体是否被成功复制,若被成功复制,则继续下一步骤S7,若没有成功复制,则取出当前实体包含的属性数据,并根据属性数据重新绘制当前实体;
S7:判断是否为最后一张数字地形图,若是,则导出当前图纸,若否,则重复步骤S5~S6,循环直至最后一张CAD图纸处理结束。
进一步地,所述步骤S2中,数字地形图名称排序的方法具体为:提取名称中首个出现的不同字符,采用冒泡排序法,若为汉字,则按汉字首字母拼音的ASCII码升序排序,若为字符,则按字符ASCII码升序排序,若为数字,则按数值升序排序;
进一步地,所述步骤S3中,基本参数值具体包括约束图层、约束颜色、约束对象、约束线型。
进一步地,所述步骤S5中,判断实体满足约束条件的方法具体为:
通过模型空间块表遍历器依次遍历模型空间中的所有实体。
进一步地,所述步骤S3中,定义约束条件基本参数值具体为:
通过创建通用设置对话框,将提供两种不同的方式来定义约束条件。方式一,即列表选择方式,枚举数字地形图中出现过的所有“图层”、“颜色”、“对象”、“线型”,分别选择作为约束条件的参数;方式二,即手动录入方式,在编辑框中填写“图层”、“颜色”、“对象”、“线型”的准确名称,增加至约束条件的基本参数中。确定约束条件的基本参数后,将其分别保存至静态变量。
进一步地,所述静态变量具体包括:static CString LayerName、static intColor、static CString ObjectName、static CString LineType。
进一步地,所述列表选择与手动录入方式采用Listbox Control和Edit Control扩展空间实现。
进一步地,所述步骤S6中,重新绘制当前实体的方法,是将每个类型的实体在数字地形图中的属性都存储在了程序函数中,保证绘制出的实体与原实体是完全一致的。
进一步地,所述实体的属性包括几何属性和物理属性。
进一步地,所述步骤S3中,在列表框内参数对应行上双击鼠标,可删除行中“图层”、“颜色”、“对象”、“线型”的参数数据。
进一步地,所述对话框设有刷新功能,用于根据不同的约束参数生成对应的图形。
本发明的有益效果在于:
1、本发明解决了现有技术在数字地形处理中的设计效率低以及设计正确率无法有效保证的问题,提供了一种基于ObjectARX的城市规划数字地形参数化处理方法。该方法能够根据设置好的参数自动批量生成满足约束条件的图纸。
2、本发明实现了数字地形的自动筛选与提取,避免了数字地形在提取过程中改变某一个约束条件而给设计人员带来的重复劳动。解决了现有技术在数字地形提取上的设计效率问题。参数化分析的输入参数与执行程序分离,一方面大大降低了操作者的技术门槛,另一方面可以充分利用参数化设计的优势。
3、该方法自动化程度高、实用性强、运行效率高,具有很高的推广应用价值。
附图说明
图1是本发明基于ObjectARX的城市规划数字地形参数化处理方法总体步骤流程图。
具体实施方式
下面将结合附图,对本发明进行清楚、完整地描述,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,不能理解为对本发明的限制。应当理解,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下,所做出的结构、方法或功能上的变换都属于本发明的保护范围。
具体的,图1示出了本发明涉及的城市规划数字地形参数化处理方法的总体步骤流程图。如图1所示,一种基于ObjectARX的城市规划数字地形参数化处理方法流程包括以下步骤:
S1:在AutoCAD中调用APPLOAD命令加载ARX程序;具体实现方法为:
启动AutoCAD软件,在命令栏输入APPLOAD或在工具栏选择加载应用程序,根据命令栏的提示输入密码。
S2:批量导入数字地形图,将数字地形图名称列表在列表框内按字典排序从小到大的顺序显示;具体实现方法为:
创建模态CFileDialog对话框将数字地形文件批量导入,并按数字地形图名称排序后显示在文本框内,数字地形图名称排序的方法具体为:提取名称中首个出现的不同字符,采用冒泡排序法,若为汉字,则按汉字首字母拼音的ASCII码升序排序,若为字符,则按字符ASCII码升序排序,若为数字,则按数值升序排序;
S3:定义量化后的约束条件基本参数值,将参数值置于文件列表框内;具体实现方法为:
通过创建通用设置对话框,提供两种不同的方式来定义约束条件。方式一,即列表选择方式,枚举数字地形图中出现过的所有“图层”、“颜色”、“对象”、“线型”,分别选择作为约束条件的参数,确认后显示在Listbox Control扩展控件中;方式二,即手动录入方式,在编辑框中填写“图层”、“颜色”、“对象”、“线型”的准确名称,通过Edit Control扩展控件,写入约束条件参数中。基本参数值具体包括约束图层、约束颜色、约束对象、约束线型,确定约束条件的基本参数后,将其分别保存至静态变量。所述静态变量具体包括:static CStringLayerName、static int Color、static CString ObjectName、static CString LineType;
S4:判断当前约束条件的基本参数是否输入无误;如果输入有误,则返回步骤S3,如果输入无误,进入步骤S5;具体实现方法为:
根据输入的参数值,与数字地形图中出现过的条件值相比较,如果输入的参数值类型不符合,或者未在任何一张数字地形图中出现过,则显示提示框,并返回上一步骤 ;
如果无误,继续下一步骤S5
具体地:
约束图层须是数字地形图内包含的字符类型;
约束颜色的值须在0~255之间;
S5:依次打开数字地形图,取出数字地形图中所有实体的ID,并保存在EntArr数组中,将EntArr数组的实体分别按约束条件进行一致性检测,若参数属性与约束条件完全一致,则保留当前实体,若否,则剔除当前实体;具体实现方法为:
调用ActiveX技术中GetEntity方法,依次返回各个实体的AcadEntity类型的对象,并保存在EntArr数组中,判断EntArr数组中第i个实体与约束条件是否完全匹配,其中i=1,2,……n+1,如果不是,则直接剔除,否则令i= i+1,即对下一个区段进行判断;起始时,i=1;
S6:对EntArr数组中的实体依次复制(写块克隆),判断实体是否被成功复制,若被成功复制,则继续下一步骤S7,若没有成功复制,则取出当前实体包含的属性数据,并根据属性数据重新绘制当前实体。具体实现方法为:
利用AcDbDatabase 中的WblockCloneObjects方法对 EntArr数组中的所有对象进行复制,并将它们增加至由owner指定的容器对象中,如果实体被成功复制,则直接显示在当前模型空间中,若没有成功复制,则取出当前实体包含的几何属性和物理属性,通过几何属性确定实体的位置,物理属性还原实体的特征属性,每个类型的实体在数字地形图中的属性都存储在了程序函数中,保证绘制出的实体与原实体完全一致。
S7:判断当前图纸是否为最后一张数字地形图,若是,则导出当前图纸,若否,则重复步骤S5~ S6,循环直至最后一张CAD图纸处理结束;
进一步地,所述对话框设有刷新功能,用于根据不同的约束条件,参数化实时生成对应的图形。对于实体处理,还包含删除重复的实体、圈选位置偏离较远的实体,可以提醒使用者识别图形并进一步修改。
本发明实现了地形分析中的数字地形批量自动筛选与提取功能,避免了在提取过程中改变某一个约束条件而给设计人员带来的重复劳动,解决了现有技术在数字地形处理过程中设计效率低以及正确率无法有效保证的问题,具有以下优点:
1、本发明解决了现有技术在数字地形处理中的设计效率低以及设计正确率无法有效保证的问题,提供了一种基于ObjectARX的城市规划数字地形参数化处理方法。该方法能够根据设置好的参数自动批量生成满足约束条件的图纸。
2、本发明实现了数字地形的自动筛选与提取,避免了数字地形在提取过程中改变某一个约束条件而给设计人员带来的重复劳动。解决了现有技术在数字地形提取上的设计效率问题。参数化分析的输入参数与执行程序分离,一方面大大降低了操作者的技术门槛,另一方面可以充分利用参数化设计的优势。
3、该方法自动化程度高、实用性强、运行效率高,具有很高的推广应用价值。
以上具体实施方式仅作示意,并不用以限制本发明,凡是本领域技术人员在没有做出创造性劳动前提下,在本发明的技术方案以及构思之内所作的各种相应的改变以及变形,都应该属于本发明权利要求的保护范围。

Claims (1)

1.一种基于ObjectARX的城市规划数字地形参数化处理方法,其特征在于:该方法包括以下步骤:
S1:在AutoCAD中调用APPLOAD命令加载ARX程序;
S2:批量导入数字地形图,将数字地形图名称列表在列表框内按字典排序从小到大的顺序显示;
S3:定义量化后的约束条件基本参数值,将参数值置于文件列表框内;
S4:判断当前约束条件的基本参数是否输入无误;如果输入有误,则返回上一步骤S3,如果输入无误,继续下一步骤S5
S5:依次打开数字地形图,取出数字地形图中所有实体的ID,并保存在EntArr数组中,将EntArr数组的实体分别按约束条件进行一致性检测,若参数属性与约束条件完全一致,则保留当前实体,若否,则剔除当前实体;
S6:对EntArr数组中的实体依次复制,判断实体是否被成功复制,若被成功复制,则继续下一步骤S7,若否,则取出当前实体包含的属性数据,并根据属性数据重新绘制当前实体;
S7:判断是否为最后一张数字地形图,若是,则导出当前图纸,若否,则重复步骤S5~ S6,循环直至最后一张CAD图纸处理结束;
所述步骤S2中,具体实现方法为:
创建模态CFileDialog对话框将数字地形文件批量导入,并按数字地形图名称排序后显示在文本框内,数字地形图名称排序的方法具体为:提取名称中首个出现的不同字符,采用冒泡排序法,若为汉字,则按汉字首字母拼音的ASCII码升序排序,若为字符,则按字符ASCII码升序排序,若为数字,则按数值升序排序;
所述步骤S3中,具体实现方法为:
通过创建通用设置对话框,提供两种不同的方式来定义约束条件,方式一,即列表选择方式,枚举数字地形图中出现过的所有“图层”、“颜色”、“对象”、“线型”,分别选择作为约束条件的参数,确认后显示在Listbox Control扩展控件中;方式二,即手动录入方式,在编辑框中填写“图层”、“颜色”、“对象”、“线型”的准确名称,通过Edit Control扩展控件,写入约束条件参数中;基本参数值具体包括约束图层、约束颜色、约束对象、约束线型,确定约束条件的基本参数后,将其分别保存至静态变量,所述静态变量具体包括:static CStringLayerName、static int Color、static CString ObjectName、static CString LineType;所述对话框设有刷新功能,用于根据不同的约束参数生成对应的图形;
所述步骤S4中,具体实现方法为:
根据输入的参数值,与数字地形图中出现过的条件值相比较,如果输入的参数值类型不符合,或者未在任何一张数字地形图中出现过,则显示提示框,并返回上一步骤S3
如果无误,继续下一步骤S5
所述步骤S5中,具体实现方法为:
调用ActiveX技术中GetEntity方法,依次返回各个实体的AcadEntity类型的对象,并保存在EntArr数组中,判断EntArr数组中第i个实体与约束条件是否完全匹配,其中i=1,2,……n+1,如果不是,则直接剔除,否则令i= i+1,即对下一个区段进行判断;起始时,i=1;
所述步骤S6中,具体实现方法为:
利用AcDbDatabase 中的WblockCloneObjects方法对EntArr数组中的所有对象进行复制,并将它们增加至由owner指定的容器对象中,如果实体被成功复制,则直接显示在当前模型空间中,若没有成功复制,则取出当前实体包含的几何属性和物理属性,通过几何属性确定实体的位置,物理属性还原实体的特征属性,每个类型的实体在数字地形图中的属性都存储在了程序函数中,保证绘制出的实体与原实体完全一致。
CN201710935947.5A 2017-10-10 2017-10-10 基于ObjectARX的城市规划数字地形参数化处理方法 Active CN107908813B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710935947.5A CN107908813B (zh) 2017-10-10 2017-10-10 基于ObjectARX的城市规划数字地形参数化处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710935947.5A CN107908813B (zh) 2017-10-10 2017-10-10 基于ObjectARX的城市规划数字地形参数化处理方法

Publications (2)

Publication Number Publication Date
CN107908813A CN107908813A (zh) 2018-04-13
CN107908813B true CN107908813B (zh) 2024-02-13

Family

ID=61840280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710935947.5A Active CN107908813B (zh) 2017-10-10 2017-10-10 基于ObjectARX的城市规划数字地形参数化处理方法

Country Status (1)

Country Link
CN (1) CN107908813B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838930A (zh) * 2014-03-12 2014-06-04 中国科学院微电子研究所 一种基于图形技术编辑器实现参数化单元的方法及系统
CN105718629A (zh) * 2016-01-08 2016-06-29 桂林电子科技大学 一种满足工程约束条件的变型设计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838930A (zh) * 2014-03-12 2014-06-04 中国科学院微电子研究所 一种基于图形技术编辑器实现参数化单元的方法及系统
CN105718629A (zh) * 2016-01-08 2016-06-29 桂林电子科技大学 一种满足工程约束条件的变型设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于ObjectARX的图形接口和数据提取方法;王小平 等;《测绘科学》;20090520;第34卷(第3期);正文第1-4节 *

Also Published As

Publication number Publication date
CN107908813A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN111063030A (zh) 一种基于Dynamo的BIM参数化建模方法及装置
CN113094784B (zh) 基于建筑信息模型的邻接复杂地下工程参数化建模方法
RU2474874C2 (ru) Способ и устройство генерирования параметрической модели, связанной с геометрией трехмерных объектов
CN107480374A (zh) 一种基于catia的桥梁bim模型创建方法
CN115017569A (zh) 一种二、三维联动的桥梁参数化建模、出图方法、装置、设备及介质
CN102968539A (zh) 一种格式图纸的批量快速生成方法
CN118012967A (zh) 一种桥类地理信息数据处理方法和装置
CN111596824B (zh) 图纸标准化编制方法、系统及电子设备
CN107862133B (zh) 一种批量生成桥墩bim模型的方法
CN111914380A (zh) 零件模型的确定方法、装置、计算机设备和存储介质
CN110309553B (zh) 一种基于标准化桥梁通用图库的图纸快速绘制系统及方法
CN114090611A (zh) 一种端子接线表生成电缆清册的方法、装置及电子设备
CN102024077A (zh) 一种工程图纸处理方法
US20030090526A1 (en) Analysis work support system
CN113870382A (zh) 一种曲线轨迹定向钻孔剖面图的自动绘制方法
CN107908813B (zh) 基于ObjectARX的城市规划数字地形参数化处理方法
CN110826185B (zh) 一种基于cad二次开发轴承零件库的建立方法
CN115841022B (zh) 一种基于面板堆石坝的数据处理方法及相关设备
CN114386200B (zh) 一种基于参数化模板技术的工程图生成方法及设备
CN107330199B (zh) 基于catia的汽车散热器自动化设计系统及设计方法
CN113779657B (zh) 一种轮胎胎侧文字内容和位置关联设计方法、应用和设备
CN115081137A (zh) 可视化编程环境下系列化建模方法
CN111125462B (zh) 一种事故分析系统
KR102692574B1 (ko) 라이브러리 이식을 통한 3차원 설계 모델 자동 상세화 방법 및 장치
CN111737783B (zh) 基于creo软件的铸造浇注系统参数化成型系统及其方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant