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

        ?

        基于.NET在AutoCAD中實(shí)現(xiàn)管點(diǎn)符號的快速繪制

        2017-03-01 06:32:43劉旭劉陽李進(jìn)強(qiáng)袁清濤
        城市勘測 2017年1期
        關(guān)鍵詞:圖塊小類二次開發(fā)

        劉旭,劉陽,李進(jìn)強(qiáng),袁清濤

        (1.正元地理信息有限責(zé)任公司,北京 101300; 2.日照市城市建設(shè)投資集團(tuán)有限公司,山東 日照 276800)

        基于.NET在AutoCAD中實(shí)現(xiàn)管點(diǎn)符號的快速繪制

        劉旭1*,劉陽2,李進(jìn)強(qiáng)1,袁清濤1

        (1.正元地理信息有限責(zé)任公司,北京 101300; 2.日照市城市建設(shè)投資集團(tuán)有限公司,山東 日照 276800)

        在地下管線信息化建設(shè)中,管線數(shù)據(jù)的處理以及更新在管線的管理和運(yùn)營起到重要的作用,目前這項(xiàng)工作通常是在AutoCAD中二次開發(fā)相應(yīng)的數(shù)據(jù)處理功能來操作,本文作者結(jié)合實(shí)際經(jīng)驗(yàn),在AutoCAD中采用.NET開發(fā)了管線數(shù)據(jù)處理與更新系統(tǒng),其中對于管線編輯模塊中的添加管點(diǎn)這一功能的設(shè)計(jì)、實(shí)現(xiàn)做了詳細(xì)介紹。

        .Net;AutoCAD;二次開發(fā);地下管線;管點(diǎn)

        1 引 言

        地下管線是保障城市正常運(yùn)行的重要基礎(chǔ)設(shè)施,隨著城市功能的調(diào)整和城市建設(shè)的迅速發(fā)展,地下管線日益錯(cuò)綜復(fù)雜,管線信息更新頻繁,其管理難度也在不斷增大。近年來,國家對城市管線的重視力度逐步加深,2013年9月出臺的《國務(wù)院關(guān)于加強(qiáng)城市基礎(chǔ)設(shè)施建設(shè)的意見》[1]強(qiáng)調(diào)應(yīng)“堅(jiān)持先地下、后地上”、“在普查的基礎(chǔ)上,整合城市管網(wǎng)信息資源,消除市政地下管網(wǎng)安全隱患。建立城市基礎(chǔ)設(shè)施電子檔案,實(shí)現(xiàn)設(shè)市城市數(shù)字城管平臺全覆蓋。提升城市管理標(biāo)準(zhǔn)化、信息化、精細(xì)化水平,提升數(shù)字城管系統(tǒng),推進(jìn)城市管理向服務(wù)群眾生活轉(zhuǎn)變,促進(jìn)城市防災(zāi)減災(zāi)綜合能力和節(jié)能減排功能提升”。

        在這樣的政策環(huán)境下,各地市都開展地下管線普查工作,并建立相應(yīng)的管線信息管理系統(tǒng)來提高地下管線管理水平。在管線信息管理系統(tǒng)中一般包括管線數(shù)據(jù)處理CAD系統(tǒng)、管線數(shù)據(jù)管理系統(tǒng)(CS)、管線綜合應(yīng)用系統(tǒng)(BS)以及管線數(shù)據(jù)共享交換系統(tǒng)。而綜合管線信息化的基礎(chǔ)問題和核心問題就是管線數(shù)據(jù)問題,要把綜合管線數(shù)據(jù)的建庫工作放到重中之重的位置,目前這項(xiàng)工作目前大多數(shù)在AutoCAD中開發(fā)相應(yīng)的功能來處理。

        2 系統(tǒng)實(shí)現(xiàn)

        作者結(jié)合工作實(shí)際經(jīng)驗(yàn),采用.NET技術(shù),在AutoCAD 2010版本中開發(fā)了管線數(shù)據(jù)處理與更新系統(tǒng)。其功能包括數(shù)據(jù)錄入(可將外業(yè)采集的管線數(shù)據(jù)手圖、手簿等直接錄入,并提供與其他格式數(shù)據(jù)的轉(zhuǎn)換接口)、管線成圖(通過查看生成的管線圖,檢查管線連接關(guān)系、管線點(diǎn)及屬性是否正確)、管線編輯(實(shí)現(xiàn)管點(diǎn)、管線的快速添加、修改屬性)、檢查處理(規(guī)范性檢查,空間屬性合理性檢查,屬性關(guān)系合理性檢查等,檢查結(jié)果可在數(shù)據(jù)庫和圖形上定位顯示并直接修改)、查詢統(tǒng)計(jì)(條件統(tǒng)計(jì)、圖幅數(shù)統(tǒng)計(jì)及結(jié)果輸出)、成果輸出(可生成各種樣式的綜合管線圖、專業(yè)管線圖等圖件,成果表輸出,成果數(shù)據(jù)庫輸出)等功能。系統(tǒng)功能菜單及主界面如圖1所示。

        圖1 系統(tǒng)菜單主界面

        2.1 添加管點(diǎn)

        在此系統(tǒng)中,管線編輯是一個(gè)重要的模塊,用戶可以實(shí)現(xiàn)添加管點(diǎn)、添加管線、管線信息修改、刪除管線等相應(yīng)操作。在管線編輯模塊添加管點(diǎn)功能,用戶可以在CAD中指定位置添加指定類別的管線點(diǎn),錄入相關(guān)信息后保存到mdb數(shù)據(jù)庫中,實(shí)現(xiàn)“可見即可得”的建庫思路。

        2.2 設(shè)計(jì)思路

        地下管線一般分為給水、排水、電信、熱力、工業(yè)[2]等大類,每個(gè)大類還分為小類,如排水管線分為雨水、污水、雨污合流,給水管線分為飲用水和非飲用水小類。在實(shí)現(xiàn)添加管點(diǎn)功能時(shí)我們按照以下流程,操作流程如圖2所示。

        圖2 繪制管點(diǎn)流程

        (1)在添加管點(diǎn)時(shí)可以快速選擇對應(yīng)大類下小類指定的管線點(diǎn),可以通過管線大類、管線小類選擇對應(yīng)的管線點(diǎn)添加。

        (2)選擇對應(yīng)類別的管線后可以顯示相應(yīng)CAD的圖塊符號,能夠直觀地顯示給用戶。

        (3)選定管點(diǎn)符號后,需要在CAD窗口中指定位置放置,采用JIG(即時(shí)繪圖)技術(shù)來實(shí)現(xiàn)插入圖塊的交互操作。

        (4)插入管點(diǎn)圖塊符號后,自動(dòng)填寫管點(diǎn)類別、坐標(biāo)等信息,彈窗屬性窗體面板錄入相關(guān)屬性。

        (5)錄入屬性后添加一條管點(diǎn)信息到mdb數(shù)據(jù)庫相應(yīng)的管點(diǎn)表中,同時(shí)將管點(diǎn)物探編號等信息寫入管點(diǎn)XDATA擴(kuò)展數(shù)據(jù)信息中,實(shí)現(xiàn)管點(diǎn)符號與數(shù)據(jù)庫中記錄的關(guān)聯(lián)。

        2.3 具體實(shí)現(xiàn)

        (1)符號面板

        在管點(diǎn)符號繪制中,為了方便使用,我們采用CAD提供的面板形式,首先讀取系統(tǒng)配置表信息獲取管線所有的大類分類,將大類下所有小類的管點(diǎn)符號放在同一面板中,最后將所有的管類添加到一個(gè)面板組中。對于每一大類分類通過讀取配置獲取對應(yīng)的小類信息,以下拉列表的形式顯示所有小類,選定管線大類、小類后通過讀取配置符號信息,加載對應(yīng)的圖塊縮略圖顯示。這樣用戶可以快速的選擇管線大類、小類來添加指定的管點(diǎn)符號。

        //顯示繪制管點(diǎn)面板

        PaletteSet psAddPoint=new Autodesk.AutoCAD.Windows.PaletteSet("管點(diǎn)繪制");

        //讀取配置管類信息,每一管類定義一個(gè)面板容器

        for (int i=0;i < pipeClassInfoList.Count;i++)

        {

        UcAddPoint myuc=new UcAddPoint(symbolInfoList,pipeInfoList,pipeClassInfoList[i].PIPECLASS);

        psAddPoint.Add(pipeClassInfoList[i].CLASSNAME,myuc);

        }

        //顯示面板屬性

        psAddPoint.Size=new System.Drawing.Size(200,600);

        psAddPoint.Dock=Autodesk.AutoCAD.Windows.DockSides.Left;

        psAddPoint.Visible=true;

        加載面板后顯示效果如圖3所示,點(diǎn)擊面板右側(cè)選項(xiàng)卡實(shí)現(xiàn)管線大類的切換,選擇管線小類的下拉列表,可以實(shí)現(xiàn)管點(diǎn)小類的符號切換。

        圖3 管點(diǎn)添加面板

        (2)添加管點(diǎn)

        在CAD中我們采用圖塊符號來表示管點(diǎn),為了實(shí)現(xiàn)快速插入管點(diǎn),我們將所有的圖塊定義存放在一個(gè)CAD模板文件中(dwt文件),在系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載dwt模板文件,這樣我們所有的塊定義在CAD中都已經(jīng)存在,無需再插入外部文件來定義塊,可顯著提高效率。

        當(dāng)用戶選擇指定的管點(diǎn)符號后,點(diǎn)擊面板相應(yīng)圖標(biāo),根據(jù)配置獲取對應(yīng)的管點(diǎn)塊符號名稱。在CAD中插入管點(diǎn)符號時(shí),為了提高用戶體驗(yàn),采用JIG(Just in Time Graphic即時(shí)繪制)技術(shù),用戶在鼠標(biāo)移動(dòng)的過程中,即可實(shí)現(xiàn)管點(diǎn)圖塊的動(dòng)態(tài)預(yù)覽,方便用戶現(xiàn)在指定的位置放置,增強(qiáng)用戶交互操作。

        //鎖定CAD文檔

        using (docCur.LockDocument())

        {

        //打開事務(wù)

        using (Transaction ta=db.TransactionManager.StartTransaction())

        {

        BlockTable bt=(BlockTable)ta.GetObject(db.BlockTableId,OpenMode.ForRead);

        blkref=new BlockReference(ptInser,bt[blkName]);

        //采用JIG即時(shí)顯示技術(shù)實(shí)現(xiàn)插入圖塊

        PromptResult ptres=ed.Drag(this);

        if (ptres.Status != PromptStatus.OK)

        {

        return;

        }

        }

        }

        //JIG 更新

        protected override bool WorldDraw(Autodesk.AutoCAD.GraphicsInterface.WorldDraw draw)

        {

        draw.Geometry.Draw(blkref);

        return true;

        }

        //JIG 重采樣

        protected override SamplerStatus Sampler(JigPrompts prompts)

        {

        JigPromptPointOptions ptops=new JigPromptPointOptions(" 請指定塊符號位置");

        PromptPointResult ptres=prompts.AcquirePoint(ptops);

        Point3d ptTemp=ptres.Value;

        if (ptTemp != ptInser)

        {

        ptInser=ptTemp;

        blkref.Position=ptInser;

        return SamplerStatus.OK;

        }

        else

        {

        return SamplerStatus.NoChange;

        }

        }

        (3)錄入屬性

        在CAD窗口指定管點(diǎn)圖塊位置后,彈窗屬性錄入窗體如圖4所示,可自動(dòng)填寫管線大類、小類、坐標(biāo)X,坐標(biāo)Y等信息,用戶錄入其他相關(guān)信息保存后插入到mdb數(shù)據(jù)庫中,為了實(shí)現(xiàn)CAD圖形中管點(diǎn)符號與數(shù)據(jù)庫中記錄的關(guān)聯(lián),將管點(diǎn)物探點(diǎn)號寫入圖塊XDATA擴(kuò)展數(shù)據(jù)中。

        using (Transaction ta=db.TransactionManager.StartTransaction())

        {

        RegAppTable rat=(RegAppTable)ta.GetObject(db.RegAppTableId,OpenMode.ForRead);

        if (rat.Has(regAppName) == false)

        {

        rat.UpgradeOpen();

        RegAppTableRecord ratr=new RegAppTableRecord();

        ratr.Name=regAppName;

        rat.Add(ratr);

        ta.AddNewlyCreatedDBObject(ratr,true);

        ta.Commit();

        }

        }

        圖4 屬性錄入窗體

        2.4 管線繪制

        在地下管線數(shù)據(jù)成圖顯示中,分為管點(diǎn)和管線兩類要素,在AutoCAD中一般管點(diǎn)采用圖塊要素進(jìn)行顯示,管線采用直線要素進(jìn)行顯示。對于不同管類的管線,在管線繪制時(shí)需要采用不同的圖層、顏色、線型、線寬。對于CAD中管線的成圖,可以預(yù)先定制線型文件,AutoCAD啟動(dòng)時(shí)預(yù)先加載到模板文件中,讀取管線符號的配置信息可以快速設(shè)置不同的圖層、顏色、線型以及線寬。

        3 結(jié) 論

        AutoCAD二次開發(fā)的方式很多,采用.NET開發(fā)方式已成為一種趨勢。本文著重研究了在AutoCAD中采用.NET實(shí)現(xiàn)管點(diǎn)添加功能,作者采用面板技術(shù),圖形化窗體顯示相應(yīng)的管點(diǎn)樣式,可快速、方便、靈活的供用戶使用,在各管線CAD相關(guān)系統(tǒng)中有推廣價(jià)值。

        [1] 國務(wù)院. 關(guān)于加強(qiáng)城市基礎(chǔ)設(shè)施建設(shè)的意見[R]. 北京:2013.

        [2] CH/T 1037-2015. 管線信息系統(tǒng)建設(shè)技術(shù)規(guī)范[S].

        [3] 余承飛,方勇. AutoCAD 2000二次開發(fā)技術(shù) [M]. 北京:人民郵電出版社,1999.

        [4] 梁雪春,宋德明. AutoCAD 2002二次開發(fā)技術(shù)指南[M]. 北京:清華大學(xué)出版社,2001.

        [5] 李冠憶. 深入淺出AutoCAD.NET二次開發(fā)[M]. 北京:中國建筑工業(yè)出版社,2012.

        [6] 劉旭,陶為翔. AutoCAD.NET的Jig技術(shù)在管線扯旗標(biāo)注中的應(yīng)用[J]. 測繪與空間地理信息,2015(7):196~198.

        [7] 楊小兵. 利用ObjectARX開發(fā)小型地下管線信息管理系統(tǒng)[J]. 城市勘測,2010(4):74-76.

        [8] 侯金波,潘喜峰,李奕潔等. 管線探測內(nèi)業(yè)圖庫一體化成圖的應(yīng)用研究[J]. 城市勘測,2015(2):74~77.

        Fast Drawing of Pipe Point Based on .NET in AutoCAD

        Liu Xu1,Liu Yang2,Li Jinqiang1,Yuan Qingtao1

        (1.Zhengyuan Geomatics Co.,Ltd,Beijing 101300,China; 2.Rizhao City Construction Investment Group Co.,Ltd,Rizhao 276800,China)

        In the informatization construction of underground pipeline,pipeline data handling,and update the management and operation play an important role in pipeline,the work is now in general secondary development in AutoCAD to operate the corresponding data processing function,this paper combined with practical experience,the author used in AutoCAD .NET development pipeline data processing and update the system,including to add tube point in the line edit module the function design,implementation,made a detailed introduction.

        .Net;AutoCAD;secondary development;underground pipeline;pipepoint

        1672-8262(2017)01-115-04

        P209

        B

        2016—08—15 作者簡介:劉旭(1985—),男,助理工程師,主要從事智慧管網(wǎng)方向的研發(fā)工作。

        猜你喜歡
        圖塊小類二次開發(fā)
        淺談基于Revit平臺的二次開發(fā)
        甘肅科技(2020年20期)2020-04-13 00:30:02
        淺談Mastercam后處理器的二次開發(fā)
        模具制造(2019年3期)2019-06-06 02:11:02
        西門子Easy Screen對倒棱機(jī)床界面二次開發(fā)
        浙江配電網(wǎng)物資標(biāo)準(zhǔn)化研究與應(yīng)用
        AutoCAD中圖塊命令的應(yīng)用分析
        優(yōu)化A算法搜索連連看圖塊配對和消除次序
        茶壺難題
        基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
        基于AutoCAD的圖塊的查找/替換器的開發(fā)
        小類:年輕人要多努力
        大學(xué)(2008年10期)2008-10-31 12:51:10
        国产一区二区三区探花| 国内精品久久久久久久影视麻豆| 亚洲av无码国产精品色软件下戴| 人妻在线日韩免费视频| 欧美人与物videos另类xxxxx| 欧美人成在线播放网站免费| 99在线国产视频| 一区二区精品天堂亚洲av| 人人妻人人澡人人爽人人dvd| 亚洲欧美激情在线一区| 亚洲VA不卡一区| 中文字幕一区二区三区亚洲| 成人av蜜桃在线观看| 狠狠色噜噜狠狠狠777米奇小说 | 久久精品国产乱子伦多人| h视频在线免费观看视频| 国产亚洲精品97在线视频一| 成人欧美一区二区三区在线观看 | 欧美日韩国产在线人成dvd| 人妻少妇中文字幕av| 女人被躁到高潮嗷嗷叫免| 亚洲成av人片乱码色午夜| 欧美人与动人物姣配xxxx| 中文字幕不卡在线播放| 无码无在线观看| 日本一区二区国产精品| 色一情一乱一伦麻豆| 久久综合精品国产丝袜长腿| caoporon国产超碰公开| 免费人成黄页在线观看国产| 欧美性高清另类videosex| 色噜噜狠狠色综合成人网| 午夜无码熟熟妇丰满人妻| 五十路一区二区中文字幕| 亚洲精品一区久久久久一品av| 丰满的少妇xxxxx青青青| 成人精品免费av不卡在线观看| 精品人妻69一区二区三区蜜桃| 蜜臀av在线播放一区二区三区| 窝窝影院午夜看片| 亚洲二区三区四区太九|