999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

LISP在三維管線的長度統(tǒng)計方法中的應(yīng)用

2016-05-05 01:27:53朱鎮(zhèn)波王佳卿
城市道橋與防洪 2016年5期
關(guān)鍵詞:二次開發(fā)指令語言

朱鎮(zhèn)波,王佳卿,滕 松

(1.無錫市測繪院有限責(zé)任公司,江蘇 無錫 214000;2.無錫市政設(shè)計研究院有限公司,江蘇 無錫 214000)

LISP在三維管線的長度統(tǒng)計方法中的應(yīng)用

朱鎮(zhèn)波1,王佳卿2,滕 松1

(1.無錫市測繪院有限責(zé)任公司,江蘇 無錫 214000;2.無錫市政設(shè)計研究院有限公司,江蘇 無錫 214000)

主要介紹了通過利用Lisp語言開發(fā)程序,在AUTOCAD的工作環(huán)境中對三維管線的電子圖中的數(shù)據(jù)進(jìn)行統(tǒng)計計算,精確計算三維管線的長度數(shù)據(jù),有關(guān)經(jīng)驗(yàn)可供相關(guān)專業(yè)人員參考。

LISP語言;CAD二次開發(fā);三維管線

1 概 述[1,2]

現(xiàn)代城市地下綜合管線信息,是現(xiàn)代城市空間基礎(chǔ)地理信息的一個重要的組成部分,是現(xiàn)代城市進(jìn)行規(guī)劃建設(shè)和管理所需要的重要基礎(chǔ)地理信息。現(xiàn)代城市地下綜合管線信息化建設(shè),是現(xiàn)代城市信息化、數(shù)字化建設(shè)工作的重要組成部分。在現(xiàn)代化大都市建設(shè)的過程中,地下綜合管線信息的調(diào)查越來越受到相關(guān)領(lǐng)導(dǎo)部門的重視。積極推進(jìn)城市地下綜合管線信息化的建設(shè),是當(dāng)前時代的需要,是城市現(xiàn)代化、信息化、數(shù)字化建設(shè)的需要,也是構(gòu)建和諧社會的需要。

傳統(tǒng)的綜合管線圖的成圖方法為野外數(shù)據(jù)采集后室內(nèi)計算機(jī)成圖,當(dāng)成圖完成后,一般要對綜合管線的長度進(jìn)行統(tǒng)計計算。在綜合管線圖中,管線一般是以多義線(PLINE)來表示的。很多的商業(yè)管線軟件,自帶有統(tǒng)計計算的功能,但商業(yè)管線軟件需要購買,很多單位未必會購買。

在CAD中自帶有兩個指令,一個為DIST指令,一個為LIST指令。

DIST指令為測量兩點(diǎn)之間的平面距離,而我在上面的文章中說到,管線一般是用多義線(PLINE)來表示的,是三維的、空間的,如果用DIST指令來測量管線的長度,那得出的是管線投影在平面上的長度,并不是真實(shí)的長度,因此,在管線長度的統(tǒng)計工作中,使用DIST指令來統(tǒng)計管線的長度是不正確的。

LIST指令的作用是對于一個或多個對象,返回一個關(guān)于一個或多個對象相關(guān)屬性的表。在實(shí)際操作中我們可以發(fā)現(xiàn),當(dāng)對PLINE線進(jìn)行LIST指令操作時,返回的是一張包含多種屬性的表,其中就包含了三維長度。但是,LIST指令只具備了以表的形式顯示屬性的功能,而在管線圖中,對于任意一條管線,它并不是一條完整的多義線(PLINE),而LIST指令不具備統(tǒng)計求和的功能。如果采用LIST指令+人工統(tǒng)計求和的方法,不僅容易出錯,而且還浪費(fèi)時間和精力,如果去購買商業(yè)管線軟件的話,又是一筆不小的開支。因此,筆者決定利用CAD二次開發(fā)的方法,來提高工作效率和準(zhǔn)確率。

2 LISP語言與CAD的二次開發(fā)

LISP語言(計算機(jī)程序設(shè)計語言),它是一種通用的高級計算機(jī)程序設(shè)計語言,在人工智能的領(lǐng)域內(nèi)被廣泛的應(yīng)用,甚至長期處于一個壟斷的地位。眾所周知的,LISP是計算機(jī)領(lǐng)域第一個函數(shù)式的高級計算機(jī)程序設(shè)計語言,是為人工智能設(shè)計服務(wù)的語言,有別于B、C語言等命令式程序設(shè)計語言和Java、C++、C#等面向?qū)ο笳Z言。

LISP語言是一種函數(shù)式程序設(shè)計語言,所以,對于LISP語言而言,在程序編寫的過程中,函數(shù)所有運(yùn)算都能以函數(shù)作用于參數(shù)的方式來實(shí)現(xiàn)。

有別于一般的命令式的語言程序,LISP語言幾乎不用所謂的變量以及特定的賦值語句,通過對遞歸的函數(shù)的調(diào)用,來實(shí)現(xiàn)重復(fù)的過程,因此,在LISP語言的編寫過程中很少使用到循環(huán)模式。

LISP是古老的函數(shù)語言、弱類型、動態(tài)推斷,其代碼本身就是各種列表。每一個表項(xiàng)均可以儲存任何類型的數(shù)據(jù)如數(shù)字、函數(shù)、符號或一個子表等,在編碼時,可以隨時操作以更新列表。

LISP核心的操作符只有7個操作符:quote、atom、eq、car、cdr、cons、cond。前三者quote、atom、eq用于符號的推斷;car、cdr、cons操縱表格;cond負(fù)責(zé)分支判斷。這種簡潔定義,非常接近圖靈機(jī)原型的純函數(shù)式語言,是現(xiàn)代語言完全無法比擬的。

LISP語言的最大的相對的缺點(diǎn)就是運(yùn)行效率的低下。原始定義簡潔的缺點(diǎn)使到大型開發(fā)工程變得困難,自底層到高層,自二維表查詢到面向?qū)ο?,使用者需要嵌入更多的函?shù)來實(shí)現(xiàn),致使LISP眾多方言的衍生。

3 具體的實(shí)例

圖1為某項(xiàng)目的綜合管線圖。該項(xiàng)目位于蘇南丘陵區(qū)域,該項(xiàng)目區(qū)域位置靠山,地勢略有起伏。該綜合管線圖內(nèi)含有多種地埋管線和架空管線,管線用PLINE線進(jìn)行表示,架空管線隨著地勢的起伏行走,高差變化較大。因此,DIST指令在該工程中是不建議使用的,如果采用LIST指令+人工統(tǒng)計求和的方法,不僅容易出錯,而且還浪費(fèi)時間和精力,這是相當(dāng)?shù)牟豢扇〉?,筆者決定用LISP語言對CAD進(jìn)行二次開發(fā)。

圖1 某項(xiàng)目綜合管線圖

下面就是具體的執(zhí)行程序執(zhí)行語言及其說明:

(setq ObjATrigon(ssget));

獲取所有圖元

(setq lngNum(sslength ObjATrigon));

取得圖元的數(shù)目

(setq LngCycle 0)(setq sngAPline 0.00)(While(< LngCy cle lngNum)(setq objSTrigon(ssname ObjATrigon LngCycle));

獲取單個圖元

(setq AcadObject(vlax-get-acad-object)Acad Document(vla-get-ActiveDocumentAcadobject)mSpace(vla-get-ModelSpace Acaddocument));

初始化系統(tǒng)

(setqvlaSTrigon(vlax-ename->vla-objectobjSTrigon);

將轉(zhuǎn)化成VLA對象

(setq sngSPline(vla-get-Length vlastrigon))

(setq sngAPline(+sngAPline sngSPline))

(setq LngCycle(+LngCycle 1)))

(princ" 所有線段總長")(princ sngAPline);

顯示統(tǒng)計管線的總長

這個程式第一步完成對選擇范圍內(nèi)的多義線的數(shù)量進(jìn)行統(tǒng)計,第二步完成對提取每條多義線的三維長度,第三步完成對累加選擇范圍內(nèi)的多義線的長度。這樣就利用LISP自編的程序高效、高精度的完成了本工程的內(nèi)業(yè)工作量的統(tǒng)計計算的問題。

4 結(jié)語

當(dāng)前,計算機(jī)程序語言的二次開發(fā)的廣泛應(yīng)用,為工作生產(chǎn)提高了極大的便利。因此,利用上述方法統(tǒng)計綜合管線圖的管線長度是一種高精度、高速度、高效率、低風(fēng)險的方法。在不購買商業(yè)管線軟件的前提下,該方法完全可以取代其他統(tǒng)計綜合管線圖的管線長度的方法,經(jīng)濟(jì)實(shí)惠,值得推廣,也必將成為今后中小管線測繪單位統(tǒng)計綜合管線圖的管線長度的首選方法!

[1]謝剛生,鄒時林.數(shù)字化成圖原理與實(shí)踐[M].陜西西安:西安地圖出版社,2000.

[2]閻聚群.AUTOCAD2000 Visual Lisp開發(fā)[M].湖北武漢:華中理工大學(xué)出版社,2000.

TB22

B

1009-7716(2016)05-0234-02

10.16799/j.cnki.csdqyfh.2016.05.065

2016-01-14

朱鎮(zhèn)波(1980-),男,江蘇無錫人,工程師,從事工程測量工作。

猜你喜歡
二次開發(fā)指令語言
聽我指令:大催眠術(shù)
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
淺談基于Revit平臺的二次開發(fā)
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發(fā)
模具制造(2019年3期)2019-06-06 02:11:02
ARINC661顯控指令快速驗(yàn)證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
讓語言描寫搖曳多姿
西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
累積動態(tài)分析下的同聲傳譯語言壓縮
我有我語言
主站蜘蛛池模板: 在线观看欧美国产| 伊人蕉久影院| 欧美一区二区自偷自拍视频| 色噜噜综合网| 久久情精品国产品免费| 午夜视频日本| 久久不卡精品| 国产在线一区二区视频| 国产精品无码AⅤ在线观看播放| 国产在线观看成人91| 9cao视频精品| 国产欧美日韩资源在线观看| 亚洲91在线精品| 国产美女无遮挡免费视频网站| 综合天天色| 男女男免费视频网站国产| 免费在线成人网| 欧美三级视频在线播放| 97国产在线视频| 精品久久高清| 伊人久久婷婷| 亚洲第一极品精品无码| 人妻21p大胆| 欧美成人午夜视频| 一级香蕉人体视频| 欧美激情网址| 欧美精品二区| 亚洲 欧美 偷自乱 图片| 114级毛片免费观看| 亚洲丝袜中文字幕| 国产高清无码第一十页在线观看| 免费 国产 无码久久久| 国产噜噜在线视频观看| 好紧好深好大乳无码中文字幕| 99精品国产高清一区二区| 欧美视频在线不卡| 亚洲电影天堂在线国语对白| 亚洲欧美一级一级a| 99热这里只有精品免费| 国产幂在线无码精品| 人妖无码第一页| 福利在线不卡| 制服丝袜一区| 99在线观看免费视频| 天天视频在线91频| 久久久久国色AV免费观看性色| 国产在线91在线电影| 天堂在线www网亚洲| 乱人伦99久久| 久久久久人妻一区精品| 午夜爽爽视频| 2021最新国产精品网站| 极品性荡少妇一区二区色欲| 国产jizz| 米奇精品一区二区三区| 97狠狠操| 日韩一区二区三免费高清| 青青久视频| 色天堂无毒不卡| 亚洲一区毛片| 精品精品国产高清A毛片| 91啪在线| 国产成人1024精品| 国产精品综合久久久| 美女一区二区在线观看| 视频二区欧美| 久久精品亚洲中文字幕乱码| 999国内精品久久免费视频| 一级成人a做片免费| 午夜色综合| 亚洲精品自产拍在线观看APP| 精品视频福利| 国产女人综合久久精品视| 国产极品粉嫩小泬免费看| 九九视频在线免费观看| 99久久精品国产精品亚洲| 伊人久久婷婷五月综合97色| 另类欧美日韩| 毛片网站免费在线观看| a毛片免费看| 亚洲人成电影在线播放| 2020久久国产综合精品swag|