一种基于AutoCAD通用图形对象实现辅助规划设计的方法技术领域
本发明涉及规划设计领域,尤其是一种基于AutoCAD通用图形对象实现辅
助规划设计的方法。
技术背景
规划设计是一项复杂的系统工程,除了编撰规划文本,还需要绘制大量的
规划图纸,规划编制过程中还存在多轮次的调整、更新,规划设计师被大量低
层次的绘图工作所束缚,而规划辅助设计软件的出现,在一定程度上解放了规
划设计师的双手,编制效率的提升、成果格式的规范,让规划设计师有更多的
精力投入到对规划本身是否合理、是否科学的思考中。
长期以来,规划设计图纸绘制平台主要集中在Autodesk公司的AutoCAD软
件平台上,在规划设计行业中应用的各类规划辅助设计软件大多也是基于
AutoCAD的二次开发软件。众多辅助软件中,一部分软件只是一些功能工具集的
简单集成,应用范畴很小,并不能完整的支撑城市规划设计的全过程;另一部
分由专业的软件公司研发的规划辅助设计软件,对规划设计过程的支撑更全面,
系统集成度也较高,但是为了提升绘图效率,同时也是为了更紧密的捆绑用户,
软件中大量采用了“AutoCAD自定义对象”技术,利用此技术开发的软件绘制出
的图形对象,不是一种通用的AutoCAD对象实体,需要在相应的电脑客户端安
装专用的解析程序,才能对图形对象进行展示浏览、复制拷贝、以及其他编辑
操作。由于设定了太多的技术门槛和壁垒,使得用其绘制出的规划设计图纸的
通用性、可用性大大降低,无法在未安装相应解析器的电脑上使用,不同软件
绘制的图形成果无法通用,绘制好的图形成果GIS转换困难、成果利用难度加
大。
发明内容
为了克服现有技术的不足,本发明目的是公开一种利用AutoCAD平台,采
用通用的图形对象实体技术实现辅助规划设计的方法,实现更具开放性的规划。
为达到上述发明目的,本发明采用如下技术方案实现:
所述的一种基于AutoCAD通用图形对象实现辅助规划设计的方法,包括以下
步骤:步骤一,建立规划设计的图形要素与图形实体的对应关系。步骤二,建
立实物对象的图形实体模型。将需要用一组图形实体才能表达的实物对象建立
一个实体为根实体,所有其他实体都为子实体,子实体都指向根实体,并能通
过根实体找到其他子实体;建立模型对象在编辑操作过程中的处理逻辑;通过
ObjectARX二次开发接口和AutoCAD提供的对象实体类型描述图形实体模型并存
储,相应的指标信息以XData或XRecord的形式与具体图形实体描述模型相关
联并存储。步骤三,通过ObjectARX二次开发接口,读取步骤二建立的图形实
体模型,用于规划设计。
前述的一种基于AutoCAD通用图形对象实现辅助规划设计的方法,图形实体
中的点、线、面、注记四种基本形式分别对应为图形要素中的块、线条、面填
充、文字和标注。
前述的一种基于AutoCAD通用图形对象实现辅助规划设计的方法,所述模型
对象在编辑操作过程中的处理逻辑为删除根实体,则删除所有子实体,编辑子
实体,同步更新根实体。
前述的一种基于AutoCAD通用图形对象实现辅助规划设计的方法,读取图形
实体信息,生成专题图则。
前述的一种基于AutoCAD通用图形对象实现辅助规划设计的方法,读取图形
实体信息,进行分类统计,生成统计表格。
本发明的有益效果在于:本发明相对于目前规划设计行业内采用的各种规划
辅助设计方法,更具开放性和通用性。在实现对规划设计全过程提供技术辅助,
提升效率的同时,保证生产的数据成果是普通的AutoCAD对象,为规划设计成
果的使用扫清了障碍,避免了采用AutoCAD自定义对象导致的各种技术壁垒,
降低了由于没有安装客户端造成的数据无法显示、无法转换、拷贝丢失等工作
风险,节省了时间,提升了效率,保障了应用,在规划设计行业具有广阔的应
用前景
附图说明
图1为流程图;
图2为道路绘制参数设置示例;
图3为道路绘制结果示例;
图4为道路插入配套设施符号示例;
图5为配套设施符号设置属性示例;
图6为用地边界、属性块及属性示例;
图7为普通地块处理示例;
图8为复杂地块示例;
图9为复杂地块处理示例;
图10为道路处理示例。
具体实施方式
下面将结合附图与具体实施方式对本发明的技术方案作进一步详细说明:
如图1所示为本发明的流程图。首先,建立规划设计的图形要素与图形实体
的对应关系。规划设计图纸的图面要素表达非常丰富、信息承载量也很大,有
线条、文字、标注、面填充、块符号等多种类型,图形实体用点、线、面、注
记四种基本形式表示。点对应着各种设施块符号;线对应着各种不封闭的线,
如道路边线、中心线等;面对应着用地的地块边界,用封闭的线表达;注记对
应着图面的文字、标注,也包括各种整饰图框上的各类信息、指标等。规划设
计图纸中的各个图形要素都不是孤立的个体,道路中心线、道路边线、路名标
注、路宽标注等一起才能完整表达一条道路;地块的边界、填充的色块、地块
指标信息的标注等一起才能完整表达一个地块;多个配套设施符号属于某一指
定的设施用地;规划编制单元边界、图则边界和地块边界的层级包含关系;复
杂环岛型的地块的边界关系等。
其次,建立实物对象的图形实体模型。对于需要用一组图形实体才能表达的
实物对象,如道路、规划地块等,在这组图形实体中确定一个实体为根实体,
所有其他实体都为子实体,子实体都指向根实体,并能通过根实体找到其他子
实体。确定模型对象在编辑操作过程中的处理逻辑。如删除根实体,则删除所
有子实体;编辑子实体,同步更新根实体等。通过ObjectARX二次开发接口,
实现上述具体实物对象模型的创建、存储及管理。规划设计图纸中的图形对象,
都可以利用AutoCAD提供的最基本的对象实体类型进行描述,如:line、
lwpolyline、circle、attributeblock、block、hatch、text、demension等;
关联的属性信息,普通字段的属性通过attribute,短文本通过xdata,长文本
通过xrecord进行存储。复杂对象(如道路、地块等)在物理存储和表达上都
维持最原始的AutoCAD对象,不另构造新的物理对象模型,也不生成group编
组对象;仅通过xdata属性中记录关联实体的handle编号,来实现复杂对象在
逻辑层面的编组,并通过AutoCAD提供的反应器消息机制来捕捉和处理复杂对
象添加、删除、修改等编辑事件。对于一些没有特殊信息承载和关联关系处理
的要素,不做特殊处理,仍然采用AutoCAD提供的对象模型进行描述,如图面
文字标注等。
最后,通过ObjectARX二次开发接口,读取上述建立的图形实体模型,用于
规划设计。普通图形对象的绘制、创建,通过AutoCAD自身提供的图形绘制功
能实现,软件提供二次开发的属性关联界面,结合定制好的数据标准,自动判
断当前选择的图形对象需要填写的属性字段,面积、长度、图层等通过图形对
象自动获取的信息,默认自动填写。复杂对象(如道路)的绘制、编辑,软件
研发一套功能集,以道路中心线作为根对象,通过绘制道路中心线,自动根据
道路板型绘制出道路边线、道路缘石线等。道路中心线中记录整条道路的板型
信息、长度、路名等信息,同时记录与其关联的道路走向左右两侧的道路边线、
道路缘石线的handle信息;道路边线、道路缘石线只记录对应的道路中心线的
handle信息。同时,软件自动捕捉道路绘制过程中道路中心线相交的情况,进
行自动的道路交叉口倒角处理,道路中心线交点的坐标标注等。复杂对象(如
地块),通过一个用地边界线(lwpolyline)、一个属性块(Attributeblock)、
一个填充(hatch)来表达。其中,属性块是根对象,一个地块只有一个属性块
表达,属性块中记录该地块所有的面积、用地性质、容积率、绿地率等用地指
标,同时记录与其关联的边界线、填充的handle信息,图形拓扑上,要求属性
块必须完全包含在用地边界线的内部;用地的边界表达,对于普通的地块,只
用一根封闭的lwpolyline表达,复杂的环岛型地块,用一组封闭的lwpolyline
表达,即一个最外面的大边界和若干内部挖空的小边界,所有的边界线记录其
指向的根对象(属性块)的handle信息;填充是依据用地边界线生成的hatch,
填充记录其指向的根对象(属性块)的handle信息,填充与用地边界线的关联
属性(assosiation)设置为true,保证边界线调整时,填充自动调整。同时,
软件依据根对象,实现地块的整体删除、自动填充、快速关联,以及批量自动
编号等便捷操作。实现图形信息的提取和展示。研发相应的功能,便捷的提取
和展示各个对象记录的信息;实现提取图面图形要素及其属性信息,自动依据
模板生成专题图则;实现依据图面图形要素进行分类统计,并生成用地平衡表
等统计表格。
如图2所示为本发明的道路绘制参数设置示例。在绘制道路前,设定道路的
参数,如道路的板型、道路名称、等级等信息,绘制道路时,只需要绘制道路
中心线一条线,软件会根据道路板型信息,自动生成相应的道路边线、道路缘
石线等。图3所示为本发明的道路绘制结果示例。道路绘制时,自动进行道路
交叉口处理。相应的道路信息,记录在道路中心线的xdata属性中。
如图4所示为本发明的插入配套设施符号示例。制作配套设施符号,并通过
插入块的形式,添加到图形中。如图5所示为本发明的配套设施符号设置属性
示例。每个配套设施块符号,设置详细的属性信息进行描述。
如图6所示为本发明的用地边界、属性块及属性示例。绘制用地边界的闭合
lwpolyline,添加属性块Attributeblock,添加地块的属性指标,实现地块的
自动填充。
如图7所示为本发明的普通地块处理示例。绘制地块边界。使用AutoCAD自
身的PL命令绘制闭合多段线,或使用AutoCAD的BO命令,提取选中的一组线
中的闭合多段线。插入用地属性块。运用软件提供的功能,插入用地属性块。
插入位置点,必须在用地边界内部。判断用地边界是否是封闭的、不自相交的
lwpolyline。如果是,则自动将用地边界和用地属性块关联,将用地边界的面
积自动添加到用地属性块的面积指标中;如果不是,则不进行自动关联。用地
边界自动转换到相应的用地性质图层。依据用地属性块,检索到与其关联的用
地边界,自动hatch填充,hatch填充的图层自动在其对应的用地性质图层,颜
色随层。其中,用地属性块是根实体,其后台属性中记录了与之关联的用地边
界、hatch填充的handle信息;用地边界、hatch填充是子实体,其后台属性
中只记录了根实体(用地属性块)的handle信息。
如图8所示为本发明的复杂地块示例。绘制地块边界。使用AutoCAD自身的
PL命令绘制闭合多段线,或使用AutoCAD的BO命令,提取选中的一组线中的闭
合多段线。插入用地属性块、自动关联、自动填充的处理过程,和普通地块的
处理完全一致。如图9所示为本发明的复杂地块处理示例。将环岛内部的地块,
移动到一边,可以看到:边界B和边界C形状完全重叠,但边界B和边界A组
合描述U12地块,边界C单独描述G11地块。复杂地块的用地边界,只允许大
用地边界内部通过小用地边界挖空的形式,不允许两个相离的用地边界以并集
的方式组成复杂地块。一个用地属性块可以关联多个用地边界,但一个用地边
界只唯一关联一个用地属性块。
还需要对用地信息进行编辑处理。在进行用地边界与用地属性块的关联时,
如果用地边界或用地属性块已经进行过用地属性块的关联,则删除原有关联关
系,重新建立关联。用地属性块是用地的根实体,当删除用地属性块时,则根
据用地属性块记录的子实体handle信息,找到相应的关联边界和hatch填充,
一并删除。对于普通地块,删除用地边界,则与其关联的hatch填充一并删除,
但与其关联的根实体(用地属性块)不删除,只将用地属性块中,所有从用地
边界中自动提取的属性信息(如用地面积等)清空。对于复杂地块,删除全部
用地边界,操作逻辑参考第3条描述,与普通地块一致;仅删除用地边界中内
部的小边界,则找到根实体(用地属性块),自动更新用地属性块中的属性信息
(如用地面积等),并更新hatch填充;如删除用地边界中最大的边界,则此用
地完全被破坏,操作逻辑参考第3条描述,与普通地块一致,但残余的内部小
边界和用地属性块不删除,此时,若干相离的小边界与用地属性块只记录其曾
经的关联关系,但由于违背了复杂地块第3条的原则,已经不能正确构成一个
用地地块。仅改变用地边界的节点,则hatch填充自动更新,根实体用地属性
块中相应的属性自动更新。改变根实体用地属性块的用地性质属性,则与之关
联的所有用地边界、hatch填充的图层自动变换。
如图10所示为本发明的道路处理示例。道路的组成,以道路中心线为根实
体,加上道路中心线两侧的道路边线、道路缘石线组合成一段完整道路。对象A
是根实体,其记录道路的名称、板型信息等基本属性,同时记录与其关联的对
象C、D、E、F的handle信息。对象C、D、E、F作为子实体,只记录根实体即
对象A的handle信息。在绘制以对象B为道路中心线的道路时,软件反应器自
动检测到,对象B与对象A相交,进行自动交叉口处理。在自动交叉口处理时,
道路中心线相交后,形成4个象限,同一象限内交叉的道路边线、道路缘石线,
自动根据道路中心线的等级,依据默认的倒角半径进行自动倒角处理。自动交
叉口处理后,原先指向对象A的关联对象C、D、E、F被中间截断后,新生成的
对象依然指向根实体对象A;交叉口倒角生成的新对象M、N,因为涉及两条道
路,会同时记录对象A、对象B的handle信息。同时更新对象A、对象B,将新
对象M、N的handle信息增加进去。修改道路时,如调整道路板型或偏移道路
中心线的位置节点,选中道路中心线实体对象A,则与对象A关联的所有道路边
线、缘石线都重新根据板型信息重新绘制。涉及到对象A的道路交叉口,自动
重新处理。删除道路时,删除某一道路中心线对象,则与之关联的所有道路边
线、道路缘石线都一并删除,与之相交的道路交叉口,自动闭合。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变
换形成的技术方案,均落在本发明要求的保护范围。