亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Lisp的CAD二次開發(fā)在排水?dāng)?shù)據(jù)處理中的應(yīng)用

        2014-02-19 05:16:00
        地理空間信息 2014年5期
        關(guān)鍵詞:二次開發(fā)入庫普查

        黃 武

        (1.廣州市市政工程設(shè)計(jì)研究院,廣東 廣州 510060)

        城市排水系統(tǒng)建設(shè)是否完善,直接影響到城市居民的生活質(zhì)量。面對(duì)近年來城市的不斷擴(kuò)建和內(nèi)澇問題的日趨嚴(yán)重[1],國家于2010~2012年開展了第一次全國水利普查。排水設(shè)施專項(xiàng)普查作為其中一項(xiàng)重要內(nèi)容,全面調(diào)查城市管網(wǎng)現(xiàn)狀數(shù)據(jù),建立基礎(chǔ)排水設(shè)施地理信息數(shù)據(jù)庫,對(duì)城市排水設(shè)施的規(guī)劃設(shè)計(jì)、運(yùn)營維護(hù)及綜合管理有著重要意義。管線數(shù)據(jù)涉及數(shù)據(jù)屬性較多,幾乎每個(gè)點(diǎn)、線、面都將近20多項(xiàng),將這些數(shù)據(jù)準(zhǔn)確無誤地錄入數(shù)據(jù)庫是一項(xiàng)重要而復(fù)雜的工作。采用GIS軟件直接錄入,要求作業(yè)人員必須熟練操作軟件,錄入過程繁瑣,界面操作不直觀,工作量大;采用大家熟知的CAD軟件作為數(shù)據(jù)錄入的中間載體,利用Lisp語言進(jìn)行二次開發(fā),將會(huì)大大減少數(shù)據(jù)錄入的工作量。

        1 Visual Lisp語言簡介

        Visual Lisp語言是內(nèi)嵌于AutoCAD軟件上的一款開發(fā)工具。它具有獨(dú)立的集成開發(fā)環(huán)境,包括文本編輯器、語法檢查器、源代碼調(diào)試器及智能化的控制臺(tái)等。用戶利用它可以隨意地編輯、編譯、修改及調(diào)試Auto Lisp源程序,通過編譯得到運(yùn)行效率高、代碼緊湊、源代碼受保護(hù)的應(yīng)用程序[2]。因?yàn)锳uto Lisp是一種內(nèi)嵌于AutoCAD中的表處理程序設(shè)計(jì)語言,屬于解釋型高級(jí)語言,它能夠直接在AutoCAD內(nèi)部運(yùn)行,具有語法簡潔、表達(dá)力強(qiáng)、函數(shù)種類多、程序結(jié)構(gòu)靈活、易學(xué)易用等特點(diǎn),是AutoCAD二次開發(fā)的理想工具[3,4]。

        2 排水設(shè)施專項(xiàng)普查數(shù)據(jù)入庫流程

        排水設(shè)施專項(xiàng)普查作為全國第一次水利普查的子項(xiàng),從前期方案的制定到外業(yè)數(shù)據(jù)采集、內(nèi)業(yè)整理入庫,每個(gè)環(huán)節(jié)都必須形成一整套完善的工作流程,以便指導(dǎo)每個(gè)環(huán)節(jié)的工作。

        傳統(tǒng)數(shù)據(jù)入庫可在ArcGIS軟件下直接編輯,由于普查范圍廣,數(shù)據(jù)量大,且在ArcGIS軟件下,其數(shù)據(jù)錄入功能的可操作性不強(qiáng),如圖面數(shù)據(jù)不直觀。部分相關(guān)數(shù)據(jù)不進(jìn)行自動(dòng)計(jì)算,不能實(shí)現(xiàn)自動(dòng)編號(hào)、接邊時(shí)難以區(qū)分新舊數(shù)據(jù)等,且要求作業(yè)人員必須熟練掌握軟件的操作。針對(duì)這些問題,利用大家熟知的CAD軟件作為數(shù)據(jù)整理的一個(gè)平臺(tái),運(yùn)用于本次排水設(shè)施專項(xiàng)普查數(shù)據(jù)入庫工作,詳細(xì)工作流程見圖1。

        圖1 數(shù)據(jù)入庫流程圖

        根據(jù)本次普查的流程和特點(diǎn),進(jìn)行二次開發(fā)的程序設(shè)計(jì),其詳細(xì)開發(fā)流程見圖2。

        3 程序開發(fā)主要功能模塊

        本程序是針對(duì)全國第一次水利普查的數(shù)據(jù)格式開發(fā)的,可以實(shí)現(xiàn)的功能主要有測點(diǎn)自動(dòng)展繪、管段連線、對(duì)象屬性的查看及修改、對(duì)象名稱及編號(hào)的自動(dòng)處理等。以下重點(diǎn)講述幾個(gè)關(guān)鍵功能模塊的開發(fā)。

        1)對(duì)象屬性項(xiàng)添加及編輯。利用Lisp語言,對(duì)CAD對(duì)象進(jìn)行屬性的擴(kuò)展,其代碼為:

        (defun extradatayj();(窨井字段添加)

        圖2 開發(fā)流程思路

        (setq endata (entget en '("ADDR")))

        (regapp "ADDR")

        (setq new_ext_list(list-3 (list "ADDR"(cons 1000 ""))))

        (setq endata (append endata (list new_ext_list)))

        (entmod endata)

        上述代碼是為窨井?dāng)?shù)據(jù)添加一個(gè)“ADDR”(地址)的字段名稱,為字符串型,字段名稱與數(shù)據(jù)庫字段完全吻合,能保證后續(xù)數(shù)據(jù)入庫的無損轉(zhuǎn)換。

        為對(duì)象增加需要的屬性項(xiàng)目后生成對(duì)話框,根據(jù)屬性框提示,填寫并編輯對(duì)象屬性值,如圖3。

        圖3 地物屬性對(duì)話框

        2)管段連線過程自動(dòng)計(jì)算并填寫相關(guān)數(shù)據(jù)。利用程序開發(fā)的管段連線命令“WS、YS”等進(jìn)行繪制管段。在繪制過程中,輸入現(xiàn)場調(diào)查的深度、管徑及外業(yè)測量的高程值,可自動(dòng)計(jì)算與這些數(shù)據(jù)相關(guān)的數(shù)值,并自動(dòng)填寫在對(duì)象屬性表中。如管段要求填寫的起點(diǎn)管底高程、終點(diǎn)管底高程、起點(diǎn)埋深、終點(diǎn)埋深、管段長度值,都可在繪制過程中自動(dòng)讀取,其現(xiàn)場數(shù)據(jù)采集見圖4。

        圖4 現(xiàn)場數(shù)據(jù)采集圖

        起、終點(diǎn)管底高程(H1)=起、終點(diǎn)井面高程(H0)-起點(diǎn)管底深度(S1)

        起、終點(diǎn)管底埋深(?S)=起、終點(diǎn)管底深度(S1)-管徑(D)/1000-壁厚(μ)

        其中H0、S1、D為現(xiàn)場采集數(shù)據(jù)值,μ一般根據(jù)材質(zhì)的不同設(shè)置為常數(shù)。根據(jù)上述關(guān)系,編寫語言進(jìn)行相關(guān)計(jì)算,其中sur_h為地面高程,d、s為管徑、壁厚(設(shè)置為常數(shù)0.05 m),end_h為終點(diǎn)管底高程。

        (setq end_sur_h (cdr (car (cdr (cadr (assoc -3 (entget endob '("sur_h")

        (if (and (/= end_sur_h "*多種*") (/= end_sur_h nil)(/= gx_d_s nil) (/= b_end_h nil) (/= ob_end_h "*多種*"))

        progn (setq ob_endcen_dee (- end_sur_h ob_end_h (*gx_d_s 0.001) 0.05))

        (setq endata (entget en '("endcen_dee")))

        (setq new_ext_list (list -3 (list "endcen_dee" (cons 1040 ob_endcen_dee))))

        (if (setq old_ext_list (assoc -3 endata))

        (setq endata (subst new_ext_list old_ext_list endata))

        3)作業(yè)編號(hào)的自動(dòng)生成。作業(yè)編號(hào)(work_id)作為數(shù)據(jù)庫中地物的唯一標(biāo)識(shí)碼,其填寫的準(zhǔn)確性對(duì)數(shù)據(jù)庫后續(xù)的運(yùn)行有重大的影響。因作業(yè)編號(hào)的字段較長且需遵循既定的編號(hào)規(guī)則,如果采用人工編寫,工作量巨大,且準(zhǔn)確率不高,易出現(xiàn)重復(fù)。在本次項(xiàng)目中針對(duì)該屬性項(xiàng)的填寫,進(jìn)行程序開發(fā),實(shí)現(xiàn)作業(yè)編號(hào)的自動(dòng)生成,關(guān)鍵代碼如下:

        (setq strictinfo (getstring (strcat " 輸入作業(yè)片區(qū)信息<" strictinfobak ">:")))

        (if (or (= strictinfo nil) (= strictinfo "")) (setq strictinfo strictinfobak))

        (setq strictinfo (strcase strictinfo))

        (setq strictinfobak strictinfo)

        (setq nn (getint (strcat " 作業(yè)編號(hào)起始流水號(hào)<"(itoa start_num) ">:")))

        (if (= nn nil) (setq nn start_num))

        (setq start_num nn);本次作業(yè)編號(hào)起始流水號(hào)。

        4)數(shù)據(jù)接邊顏色區(qū)分。將普查的數(shù)據(jù)更新到數(shù)據(jù)庫中,存在數(shù)據(jù)融合的問題,在不同時(shí)期數(shù)據(jù)的邊界處,存在著新舊數(shù)據(jù)的接邊。而在接邊操作過程中由于不同類型的數(shù)據(jù)都在同一個(gè)層上且顏色沒有區(qū)別,故在接邊操作時(shí)容易選錯(cuò)對(duì)象。本次開發(fā)中根據(jù)對(duì)象屬性中的“checkstate”字段的不同,利用Lisp語言,將該字段中對(duì)應(yīng)為“更新”、“刪除”和“新增”三個(gè)類型的對(duì)象分別改變成不同的顏色,并放置在不同圖層上。當(dāng)接邊工作完成后利用“HY”(還原)命令,可將改變的圖層和顏色恢復(fù)到之前的狀態(tài),顏色更改的關(guān)鍵代碼如下:

        (if (= (tblsearch "layer""新 增 層") nil) (command"layer""N""新增層""C""7""新增層""") (command"layer""C""7""新增層"""))

        (if (= (tblsearch "layer""更 新 層") nil) (command"layer""N""更新層""C""2""更新層""") (command"layer""C""2""更新層"""))

        (if (= (tblsearch "layer""刪 除 層") nil) (command"layer""N""刪除層""C""8""刪除層""") (command"layer""C""8""刪除層""")

        5)屬性數(shù)據(jù)檢查。普查對(duì)象填寫的屬性項(xiàng)眾多,每個(gè)屬性項(xiàng)都有填寫的規(guī)范和標(biāo)準(zhǔn),數(shù)值數(shù)據(jù)間存在著關(guān)聯(lián),空間拓?fù)潢P(guān)系復(fù)雜,在數(shù)據(jù)入庫前必須要保證屬性填寫的正確性,空間拓?fù)潢P(guān)系的完整性,邏輯關(guān)系的合理性。針對(duì)此次普查數(shù)據(jù)填寫的特點(diǎn),利用Lisp語言進(jìn)行程序編寫,實(shí)現(xiàn)基礎(chǔ)的檢查功能,如管點(diǎn)重復(fù)、管線端點(diǎn)為空、屬性項(xiàng)為空值、埋深數(shù)據(jù)是否為負(fù)值、作業(yè)編號(hào)是否一致等。經(jīng)過檢查,可去除掉很大部分?jǐn)?shù)據(jù)填寫過程中因粗心造成的錯(cuò)誤。以下列舉管線端點(diǎn)為空時(shí),程序檢查程序關(guān)鍵代碼如下,檢查結(jié)果見圖5。

        (setq endob_x (rtos (cadr (assoc 10 endobdata)) 2))

        (setq endob_y (rtos (caddr (assoc 10 endobdata)) 2))

        if (and (wcmatch pt2_x endob_x) (wcmatch pt2_y endob_y))

        (progn (setq endob (ssname jcj jj))

        (setq gd_gxd_end_result nil)

        (setq jj (sslength jcj))

        (setq gd_gxd_end_result "終點(diǎn)上無管點(diǎn),")

        圖5 管線端點(diǎn)為空檢查過程

        4 結(jié) 語

        基于Visual Lisp語言對(duì)AutoCAD進(jìn)行二次開發(fā),利用該開發(fā)程序?qū)Φ谝淮嗡詹椤潘O(shè)施專項(xiàng)數(shù)據(jù)進(jìn)行數(shù)據(jù)整理及入庫工作,可借助大家熟知的AutoCAD軟件平臺(tái),實(shí)現(xiàn)數(shù)據(jù)的整理入庫工作,避免了直接在GIS軟件上操作的不便。此次排水設(shè)施專項(xiàng)數(shù)據(jù)整理的工作結(jié)果證實(shí),基于Visual Lisp語言對(duì)AutoCAD進(jìn)行二次開發(fā)可較大程度上減少數(shù)據(jù)整理的工作量,提高作業(yè)效率,節(jié)省成本,減少因人工操作造成的錯(cuò)誤。

        [1]徐丹.從城市內(nèi)澇災(zāi)害頻發(fā)看排水規(guī)劃的發(fā)展[J].科技與企業(yè)志,2014(3):122-123

        [2]李與權(quán).論AutoCAD的二次開發(fā)[J].電腦編程技巧與維護(hù),1995(3):42-45

        [3]江方記.基于AutoCAD進(jìn)行二次開發(fā)的技術(shù)淺析[J].電腦知識(shí)與技術(shù),2006(8):140-143

        [4]唐志煒.基于Visual Lisp的AUTOCAD的二次開發(fā)[D].長春:吉林大學(xué),2008

        [5]馬彥東.利用Auto LISP程序轉(zhuǎn)換Auto CAD實(shí)體[J].科技資訊,2011(13):57-59

        [6]譚姝,張墨,張春娥.利用Visual LISP對(duì)AutoCAD進(jìn)行二次開發(fā)[J].山東交通大學(xué)學(xué)報(bào),2002(4):84-86

        [7]康保成. Auto LISP程序在Auto CAD中的應(yīng)用實(shí)例[J].山西建筑,2002(3):157-158

        [8]陳文峰,劉祚秋,鐘志輝,等.AutoCAD二次開發(fā)在工程計(jì)算軟件中的應(yīng)用[J].科學(xué)技術(shù)與工程, 2011(24):5 844-5 847

        猜你喜歡
        二次開發(fā)入庫普查
        立即全面普查 警惕二代粘蟲發(fā)生
        胡春華強(qiáng)調(diào):確保脫貧攻堅(jiān)普查取得圓滿成功
        重磅!廣東省“三舊”改造標(biāo)圖入庫標(biāo)準(zhǔn)正式發(fā)布!
        中國食品品牌庫入庫企業(yè)信息公示①
        中國食品(2021年2期)2021-02-24 03:55:35
        淺談基于Revit平臺(tái)的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對(duì)倒棱機(jī)床界面二次開發(fā)
        關(guān)于農(nóng)業(yè)文化遺產(chǎn)普查與保護(hù)的思考
        身臨其境探究竟 主動(dòng)思考完任務(wù)——《倉儲(chǔ)與配送實(shí)務(wù)》入庫作業(yè)之“入庫訂單處理”教學(xué)案例
        人間(2015年8期)2016-01-09 13:12:42
        學(xué)習(xí)調(diào)查要“四會(huì)”
        人妻无码AⅤ不卡中文字幕| 99久久精品费精品国产一区二| 国产精品18久久久久久麻辣| 欧美黑人性色黄在线视频| 在线视频一区二区在线观看| 日本系列有码字幕中文字幕| 99精品国产丝袜在线拍国语| 国产香蕉一区二区三区在线视频| 中文无码制服丝袜人妻av| 欧美精品黄页在线观看视频| 亚洲一区二区三区免费av在线| 北条麻妃在线中文字幕| 国产精品免费av片在线观看| 亚洲久热无码av中文字幕| 精品人妻一区二区三区蜜桃| 丝袜美足在线视频国产在线看| 亚洲熟妇自偷自拍另欧美| 亚洲av成人一区二区三区av| 男人的天堂av一二三区| 日本高清一区在线你懂得| 浓毛老太交欧美老妇热爱乱| 久久久无码中文字幕久...| 国内精品国产三级国产av另类| 久草国产手机视频在线观看| 精品一区二区三区蜜桃麻豆| 少妇av射精精品蜜桃专区| 亚洲日本va99在线| 久久精品国产亚洲av夜夜| 亚洲中文字幕无码爆乳app| 日本乱子人伦在线视频| 日韩人妻无码精品二专区| 中文字幕精品久久一区二区三区| 无码乱肉视频免费大全合集| 亚洲国产综合精品 在线 一区| 亚洲熟妇av日韩熟妇av| 二区视频在线免费观看| 欧美大成色www永久网站婷| 精选麻豆国产AV| 日本一区二区视频免费在线观看| 国产精品videossex国产高清| 激情内射亚洲一区二区三区爱妻 |