国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Auto LISP技術(shù)實(shí)現(xiàn)房屋面積計(jì)算的二次檢核

2013-03-03 09:36陳榮謝光陳慶華徐擁國(guó)
城市勘測(cè) 2013年2期
關(guān)鍵詞:檢核繪制房屋

陳榮,謝光,陳慶華,徐擁國(guó)

(浙江有色測(cè)繪院,浙江紹興 312000)

基于Auto LISP技術(shù)實(shí)現(xiàn)房屋面積計(jì)算的二次檢核

陳榮?,謝光,陳慶華,徐擁國(guó)

(浙江有色測(cè)繪院,浙江紹興 312000)

房產(chǎn)測(cè)量中房屋面積的手工計(jì)算,是房屋面積二次檢核的一種有效手段,但也是較為繁重的一項(xiàng)工作。本文結(jié)合實(shí)例介紹在AutoCAD軟件平臺(tái)上,如何引入Auto LISP編程,簡(jiǎn)化手工計(jì)算,實(shí)現(xiàn)可視、快速的房屋面積二次檢核的方法。

AutoLISP;房產(chǎn)測(cè)量;房屋面積;面積計(jì)算;二次檢核

1 引 言

房屋面積作為房地產(chǎn)權(quán)屬登記管理、開發(fā)交易等房地產(chǎn)活動(dòng)緊密相關(guān)的基礎(chǔ)性數(shù)據(jù),其測(cè)算與檢核都需要有效的方法與嚴(yán)格的程序把控。房屋面積的測(cè)算,由于其復(fù)雜性與風(fēng)險(xiǎn)性,原則上要求兩套房產(chǎn)測(cè)繪軟件獨(dú)立計(jì)算保證數(shù)據(jù)成果的正確性。在實(shí)際操作中,利用AutoCAD軟件進(jìn)行房屋面積的手工計(jì)算,也是一種有效的檢核手段。但此項(xiàng)工作較為繁重,由于AutoCAD軟件原有的面積計(jì)算命令較為簡(jiǎn)單,這造成實(shí)際操作中很多不便,特別是一些墻體不規(guī)則、結(jié)構(gòu)較復(fù)雜的房屋,如酒店、別墅、商住樓等,處理起來既費(fèi)時(shí)又費(fèi)力,也容易出錯(cuò)。

借助AutoCAD繪圖軟件的開放性平臺(tái),引入AutoLISP二次開發(fā)技術(shù),可以使AutoCAD軟件上房屋面積的手工計(jì)算二次檢核工作變得可視化、簡(jiǎn)便化。利用AutoLISP編程,在AutoCAD軟件上可實(shí)現(xiàn)上空部位面積的扣除、陽臺(tái)半面積的計(jì)算、戶室全面積的計(jì)算、外半墻面積的自動(dòng)生成,最后整幢房屋面積的統(tǒng)計(jì)一系列二次檢核工作。

2 實(shí)例及實(shí)現(xiàn)

2.1 基本框架和流程

本文結(jié)合浙江省紹興市一個(gè)公寓式酒店房屋面積統(tǒng)計(jì)的實(shí)例,介紹房屋面積檢核的這一程序的實(shí)現(xiàn)過程。

房屋面積的計(jì)算,一般在分層圖上進(jìn)行,房屋內(nèi)有戶室、陽臺(tái)、上空部位等要素,CAD軟件無法直接對(duì)這些面積進(jìn)行分辨及計(jì)算,所以首先應(yīng)該對(duì)這些面域按一定的規(guī)則進(jìn)行屬性的賦加;另外一般分層圖繪制的是中軸圖,分層圖中每層的外半墻是不存在的,CAD軟件無法直接計(jì)算,必須先判別出每層的外半墻。所以程序的思路是先解決這兩步,然后完成每層房屋面積的計(jì)算和幢總面積的計(jì)算,最終完成房屋面積計(jì)算的二次檢核工作。程序的基本框架和流程如圖1所示。

圖1 基本框架和流程

2.2 面域?qū)傩缘妮斎?/p>

根據(jù)房屋面積計(jì)算的方式房屋面域一般分增加部分、扣除部分、減半部分三種,增加部分如戶室、樓梯等,扣除部分如上空部位,減半部分如不封閉的陽臺(tái)、無柱走廊等。子模塊按此三種方式對(duì)房屋面域進(jìn)行屬性的賦加,使程序能通過相應(yīng)的操作進(jìn)行面積的分類計(jì)算。

在CAD軟件中輸入命令“fcmj”,就可以調(diào)用程序,按命令行的提示依次給分層圖上所有面域進(jìn)行屬性的賦加,圖上各面域自動(dòng)按增加、扣除、減半三類完成面積的標(biāo)注。實(shí)現(xiàn)界面如圖2所示。

圖2 面域?qū)傩暂斎虢缑?/p>

關(guān)鍵代碼如下:

(setq pt(getpoint"\n選取中心點(diǎn):"))

(setq xx 0 yy 0 zz 0 xyz 0 fabc 0)

(while pt

(setvar "cecolor""1")

(command"bpoly"pt"")

(setq en(entlast))

(if(/=en nil)

(progn

(command"area""o"en)

(setq aa(getvar"area"))

(redraw en 3)

(setq fwsx(getstring"\n輸入屬性(1)增加面積(2)減半面積(3)扣除面積<增加面積>:"))

(if(=fwsx"")(setq fwsx"1"))

(if(=fwsx"1")

(progn

(setq xx(+xx aa))

(setvar "cecolor""1")

(command"_Text""j""mc"pt 0.5 0(strcat" +"(rtos aa)))))

(if(=fwsx"2")

(progn

(setq yy(+yy(/aa 2)))

(setvar "cecolor""5")

(command"_Text""j""mc"pt 0.5 0 (strcat (rtos aa)"/2"))))

(if(=fwsx"3")

(progn

(setq zz(+zz aa))

(setvar "cecolor""3")

(command"_Text""j""mc"pt 0.5 0(strcat" -"(rtos aa)))))

2.3 外半墻面積的計(jì)算

多數(shù)情況下房屋外墻的厚度整體統(tǒng)一,房屋分層圖中沒有繪制外框線,這種情況下手工計(jì)算外半墻面積將是一項(xiàng)繁瑣的工作,直接用CAD軟件的“bhatch”命令無法完成外邊線的繪制。在編程中我們用了" boundary"函數(shù),實(shí)現(xiàn)了自動(dòng)尋找每層房屋的外框封閉范圍并完成外邊線的繪制。

一般的房屋測(cè)量外半墻存在兩種方式,一種是較常見的“外凸型”,另一種是回字形房屋的內(nèi)部,我們稱它為“內(nèi)凹型”。外半墻線的繪制在CAD操作中,常用“offset”命令,但此命令無法自動(dòng)判斷是向外偏移還是向內(nèi)偏移,這是編程的一個(gè)難點(diǎn)。在編程中我們用了"offsetdist"函數(shù),再根據(jù)偏移面積的大小來辨別繪制的線是外凸型還是內(nèi)凹型的外半墻線,較好解決了這一問題。在操作中只要選擇外凸型或內(nèi)凹型,選中外邊線,并輸入外半墻厚度,就可以實(shí)現(xiàn)本層外半墻線的繪制并自動(dòng)完成外半墻面積的計(jì)算。

當(dāng)本層所有面域都完成了屬性配賦后,按程序提示進(jìn)行房屋外半墻的繪制,完成后會(huì)自動(dòng)添加青色的外半墻線,并計(jì)算外半墻面積,實(shí)現(xiàn)界面如圖3所示。

圖3 外半墻面積計(jì)算界面

關(guān)鍵代碼如下:

(setq pt(getpoint"\n如房屋外墻中軸線未封閉請(qǐng)點(diǎn)擊外側(cè)..."))

(command"_.boundary""a""o""p"""pt"")

(setvar "cecolor""4")

(setq obj(entsel "\n選擇房屋外墻中軸線:"))

(entdel(entlast)) (while obj

(setq fbxsx(getstring"\n輸入外半墻屬性(1)外凸型(2)內(nèi)凹型<外凸型>:"))

(if(=fbxsx"")(setq fbxsx"1"))

(command"_.area""o"obj)

(setq faa(getvar"area"))

(setq cm(getvar"cmdecho")of 0.12) (if(null(setq nf(getdist(strcat"\n輸入房屋半墻寬:<" (rtos of 2 2)">"))))

(setq nf of))

(setvar"cmdecho"0)

(setvar"offsetdist"nf)

(vl-load-com)

(setq obj(vlax-ename->vla-object(car obj)))

(vla-offset obj nf)

(setq en(entlast))

(command"_.area""o"en)

(setq fbb(getvar"area"))

(command"_.change"en"""p""c""4""lt""x6" "")

(if(>fbb faa)

(progn

(setq fab(-fbb faa))

(if(=fbxsx"2")(entdel en))))

(if(<fbb faa)

(progn

(setq fac(-faa fbb))

(if(=fbxsx"1")(entdel en))))

(vla-offset obj(?nf-1))

(setq en(entlast))

2.4 房屋面積的檢核

房屋面積的統(tǒng)計(jì)檢核,一般要考慮每層房屋面積的統(tǒng)計(jì),還有考慮整幢房屋面積的統(tǒng)計(jì),有時(shí)為檢查分析錯(cuò)誤,也需要任意幾個(gè)面域或幾個(gè)層次的面積統(tǒng)計(jì),這需要程序功能有這種開放性和靈活性。我們利用“ssget”選擇所有的面域數(shù)據(jù)集,讓程序自動(dòng)分辨屬于需統(tǒng)計(jì)的那些數(shù)值,篩選選擇集中非房屋面域的數(shù)據(jù),對(duì)賦加了屬性的面域進(jìn)行分類統(tǒng)計(jì)。程序運(yùn)行后生成一個(gè)關(guān)于面積統(tǒng)計(jì)的信息框,包括增加面積的累計(jì)值、減半面積的累計(jì)值、扣除面積的累計(jì)值、外半墻的累計(jì)值,并自動(dòng)完成房屋總面積的統(tǒng)計(jì),如圖4所示。

關(guān)鍵代碼如下:

(princ"\n??選擇要統(tǒng)計(jì)的房屋面積數(shù)值??") (setq ent(ssget))

(setq n(sslength ent))

(setq i0)

(initget5)

(repeat n

(setq x(ssname ent i))

(setq el(entget x))

(setq i(+1 i))

(setq txt(dxf 0 el))

(if(=txt"TEXT")

(progn

(setq txt(dxf 1 el))

(setq txtgs(strlen txt))

(if(=(substr txt1 1)"+")

(progn

(setq txt(substr txt 2))

(setq xx(+(atof txt)xx))))

(if(=(substr txt1 1)"-")

(progn

(setq txt(substr txt 2))

(setq zz(+zz(atof txt)))))

(if(=(substr txt(-txtgs 1))"/2")

(progn

(setq txt(substr txt 1(-txtgs 2)))

(setq yy(+(/(atof txt)2)yy))))

(if(=(substr txt 1 2)"外")

(progn

(setq txt(substr txt 3))

(setq fab(+(atof txt)fab)))))))

(setq xyz(-(+xx yy fab)zz))

圖4 房屋面積統(tǒng)計(jì)界面

3 結(jié) 語

本程序通過實(shí)際應(yīng)用,又通過與WalkFloor房屋面積計(jì)算分?jǐn)傁到y(tǒng)、手工統(tǒng)計(jì)的計(jì)算成果相比較,計(jì)算值完全一致。

房屋面域?qū)傩缘馁x加、外半墻面積的計(jì)算以及面積統(tǒng)計(jì)命令的使用,三個(gè)步驟便能輕松完成房屋面積的自動(dòng)統(tǒng)計(jì)實(shí)現(xiàn)房屋面積的二次檢核。三個(gè)部分既組成整體,又相互獨(dú)立,既可單獨(dú)計(jì)算一個(gè)戶室的套內(nèi)面積,也可檢核整幢房屋的總面積,這種獨(dú)立性使程序在涉及面積統(tǒng)計(jì)的其他領(lǐng)域也可適用,如土地分類面積的統(tǒng)計(jì)、竣工測(cè)量中房屋建筑占地面積和綠化面積的自動(dòng)統(tǒng)計(jì)??梢钥吹降氖?,利用AutoLISP的二次開發(fā)技術(shù),使房屋面積的手工統(tǒng)計(jì)檢核工作從繁重中解放出來。

[1] GB/T 17986-2000.房產(chǎn)測(cè)量規(guī)范[S].

[2] 劉武.房地產(chǎn)測(cè)繪成果質(zhì)量檢查的實(shí)踐[J].測(cè)繪通報(bào),2004(4).

[3] 龔子楨,花向紅,徐秀川等.在CAD平臺(tái)下實(shí)現(xiàn)房屋屬性自動(dòng)修改的方法[J].測(cè)繪通報(bào),2011(9).

[4] 趙文峰.利用AUTOLISP編程進(jìn)行房產(chǎn)圖尺寸標(biāo)注[J].測(cè)繪工程,2006(2).

[5] 湯峻.AutoCAD 2000高級(jí)應(yīng)用與Visual AutoLISP開發(fā)[M].北京:人民郵電出版社,2001.

Second Check of Calculation of Property Area by Auto LISP

Chen Rong,Xie Guang,Chen Qinghua,Xu Yongguo
(Zhejiang Colored Surveying and Mapping Institute,Shaoxing 312000,China)

Manual computation is an effectivemeasure for double-checking floor space in house property surveying,but also a heavy one.This paper demonstrates the way to simplify themanual computation by introducing Auto LISP on the AutoCAD platform along with some examples,so as to rapidly double-check floor space and visualize the process at the same time.

AutoLISP;house property surveying;floor space;house size;double check

1672-8262(2013)02-136-04

P209

B

2012—07—23

陳榮(1971—),男,工程師,主要從事房產(chǎn)測(cè)繪和工程測(cè)量等技術(shù)工作。

猜你喜歡
檢核繪制房屋
基于Python 設(shè)計(jì)的TEQC 數(shù)據(jù)質(zhì)量可視化分析軟件
UMAMMA歷史房屋改造
房屋
垂直荷載木結(jié)構(gòu)大跨屋頂設(shè)計(jì)
超萌小鹿課程表
轉(zhuǎn)租房屋,出現(xiàn)問題由誰負(fù)責(zé)?
放學(xué)后
檢核目錄法的研究與應(yīng)用—以書架設(shè)計(jì)為例
福建省廈門第一中學(xué)黃建通老師:中學(xué)生創(chuàng)新思維課程引入“奧斯本檢核表技法”
奇怪又有趣的房屋