规划核实测绘工作中自动核算控制指标的方法
2012-05-31白晓明张小波陈军胜单萍
白晓明,张小波,陈军胜,单萍
(成都市勘察测绘研究院,四川成都 610081)
1 引言
建筑项目规划核实是城市规划部门进行城市规划管理的重要内容,主要内容有容积率、建筑密度、绿地率、建筑间距及退界距离、建筑高度及层数、停车位及配套设施等方面。不同城市规划部门要求测绘单位承担规划核实测绘的具体内容不尽相同,以成都市为例,规划管理部门要求在测绘成果报告中须反映每个建筑基底面积、各类绿地面积、建筑间距及退界距离的实测值与设计值的差异情况等。采用手动统计方法来完成上述指标的核算内业工作量巨大,容易出现人为错、漏。下面将系统阐述通过编制CAD辅助程序快速、自动核算上述控制指标的方法。
2 指标核算成果分析及程序开发工具
2.1 指标核算成果内容
按成都市规划管理部门要求,指标核算成果分为三类:建筑基底面积成果,绿化面积成果,间距、平面尺寸成果;其中“建筑基底面积”是指建筑物接触地面的自然层建筑外墙或结构外围水平投影面积。各类指标核算成果样例如图1所示。
2.2 指标核算成果信息来源
建筑规划核实外业测绘完毕后,内业CAD绘制地形图,绘制基底轮廓线并将其放置在“基底范围”图层,基底范围内标注建筑栋号、名称、结构层数文字并放置相应图层,绿化构面并放置相应绿化类别图层,加载规划控制线,加载坐标放线间距(尺寸)标注、设计外墙及轴线,对照放线标注位置标注实测间距(尺寸)。通过以上步骤形成“指标核算工作图”(以下简称“工作图”)。此工作图即可作为指标核算成果的信息来源。
图1 指标核算成果样例
2.3 指标核算程序开发工具
由于指标核算需要的信息来源于CAD工作图,因此,指标核算程序可基于AutoCAD平台,采用LISP语言及OpenDCL Studio界面编辑工具进行二次开发。
3 基底指标信息的自动核算
由于工作图中的基底范围线及建筑名称、栋号、结构、层数文字均位于规定图层(工作图中基底范围及注记样例见图2),故获取基底指标信息程序的思路是通过基底范围线获得建筑名称、栋号、结构、层数及面积信息。功能实现的主要代码如下(LISP语言):
图2 基底范围及注记样例
4 绿化指标信息的自动核算
按照成都市规划技术管理规定,绿地类别分为集中绿地、植草砖(绿茵)停车位、架空层绿地、地下室半地下室屋顶绿化、树池、树阵、游泳池、景观广场、篮球场、网球场、全民健身活动场所;其中植草砖(绿茵)停车位的折算率为20%,其余折算率均为100%。
图3 绿化范围样例
由于工作图中各类绿地范围线均位于相应绿地类别图层(工作图中绿化样例见图3),故自动获取绿化指标信息的核心方法是获得每类绿地图层中的全部绿地对象的面积。功能实现的主要LISP代码如下:
按照规定的绿地类别,循环调用上述定义的ReadLdArea函数,即可获得所有类别的绿地面积。
5 间距(平面尺寸)对象的属性录入及其指标信息的自动核算
从图1中“实测间距、平面尺寸成果表”可知,建筑的间距(尺寸)信息是按栋管理,“标注”分为“间距”、“平面尺寸”两类,“实测标注”与“放线标注”一一对应,“标注位置”反映了标注对象两端标注点处的实体内容。由于在不同项目“工作图”中,“实测标注”、“放线标注”、“被标注的对象”、“基底范围”四者之间平面关系各不相同,无法通过程序直接确定“标注”的栋归属、“实测标注”与“放线标注”对应关系、标注类别、标注位置等4项内容,故需要通过“标注对象属性录入”环节来确定上述4项内容,从而实现间距(平面尺寸)指标信息的自动核算,流程如图4所示。
图4 “标注对象”属性录入及其指标信息自动核算设计流程
5.1 “标注对象”属性录入
(1)“栋”属性录入:人工先选定建筑基底范围,获得基底对象,再选定属于该栋的“实测标注”,获得“实测标注”对象选择集,从而确定“实测标注”的栋归属。录入栋属性的主要LISP代码如下:
(2)“标注类别”属性录入:先人工选定同类别的实测标注对象,再将指定的“标注类别”存入已选定的标注对象。录入“标注类别”属性的主要LISP代码如下:
(3)“标注对应关系”属性录入:将“实测标注”对象句柄存入与其对应的“放线标注”对象,从而建立“放线标注”与“实测标注”的对应关系。
①自动获得与指定的“实测标注”对象相对应的“放线标注”对象:根据实测标注对象确定放线标注对象的实质是在工作图中搜索与实测标注最佳匹配的放线标注。如图5,标注点1、2分别为标注对象“实测1”的第一、二尺寸界线的起点,标注点3、4为标注对象“设计1”的第一、二尺寸界线的起点,按照以往工程实践经验,标注点1、3距离及2、4距离一般较小(除非建筑未按规划修建),若小于给定的限差d,则可确定标注对象“设计1”是“实测1”的最佳匹配。
图5 标注点样图
实际应用:已知实测标注“实测1”的图元名变量fxty,给定标注点距离限差d,从工作图中搜索到第1个放线标注对象,其图元名变量为scty,判断放线标注对象1是否为“实测1”的最佳匹配的LISP代码如下:
若放线标注对象1不是实测标注的最佳匹配,则搜索第i个放线标注,重复使用上述代码对放线标注对象i进行匹配性判断。
②手工选定与“实测标注”对象相对应的“放线标注”对象:当按照①方法无法确定与“实测标注”对应的“放线标注”时,则需要通过人工选择方式确定对应的“放线标注”。
③将“实测标注”对象句柄存入与其对应的“放线标注”对象:给定“实测标注”对象图元,通过①或②方式获得对应的“放线标注”对象,向“放线标注”对象添加“实测标注”对象句柄的LISP代码如下:
(4)“标注位置”属性录入:“标注位置”描述了“标注”是什么之间的尺寸,例如“标注对象”是建筑外墙与用地红线间的标注,则其“标注位置”是“外墙—用地红线”。“标注位置”属性录入就是将标注位置的描述信息存入“标注对象”。
工作图中的设计外墙、设计轴线、实测外墙、用地红线等均位于规定的图层。如图5,当“标注对象”所标注的对象实体经过其标注点时,可以通过程序提取实体所在图层名从而自动获得标注位置信息;若实体未经过标注点,则需要人工确定“标注位置”信息。
5.2 栋间距(平面尺寸)指标自动核算
完成“标注对象属性录入”后,工作图中的每一“实测标注”对象就储有了“基底句柄”、“标注类别”、“标注位置”信息,每一“放线标注”对象就储有了“实测标注句柄”、“标注位置”信息。栋间距(平面尺寸)指标自动核算就是将基底范围、放线标注、实测标注三者属性自动关联,从而获得图1中“实测间距、平面尺寸成果表”所需要的信息。实现步骤如下:
①获得工作图中第i个基底范围对象句柄,并按照前面3所述方法获得建筑名称、栋号;
②搜索储有基底句柄i的所有“实测标注”对象;
③根据②步中获得的每一“实测标注”对象,搜索储有该“实测标注”对象句柄的“放线标注”对象;
④提取每一“实测标注”对象的标注类别、标注值、标注位置及其对应“放线标注”对象的标注值、标注位置信息。
重复①~④步,从而获得所有建筑的间距(平面尺寸)信息。
由于篇幅有限,功能实现的程序代码就不赘述了。
6 程序截图
图6 自动化核算指标程序截图
7 结语
在充分理解规划部门实际需求及测量作业方法的前提下,通过面积信息自动汇总、尺寸信息自动检查及匹配、成果报告的自动化输出等手段,实现规划控制指标的自动化核算,避免了手工核算的繁琐及低效率的操作,同时缩短了测绘审核人员对核算成果的审核时间,极大提高了工作效率与质量。
[1]成都市规划管理局.成都市规划管理技术规定[R].2008.
[2]李学志,方戈亮,孙力红.Visual LISP程序设计(AutoCAD 2006)[M].北京:清华大学出版社,2006.
[3]汤俊.AutoCAD 2000高级应用与Visual LISP开发宝典[M].北京:人民邮电出版社,2001.
[4]兰度.AutoCAD可视化对话框开发工具OpenDCL使用简介[J].城市勘测,2009(6).
[5]李长勋.AutoCAD ActiveX二次开发技术[M].长沙:国防工业出版社,2005(6).
[6]曹洪飞,张帆,卢择临.AutoCAD VBA&VB.NET开发基础与实例教程[M].北京:中国电力出版社,2008.