• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

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

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

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

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

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

      1 引 言

      地下管線是保障城市正常運(yùn)行的重要基礎(chǔ)設(shè)施,隨著城市功能的調(diào)整和城市建設(shè)的迅速發(fā)展,地下管線日益錯(cuò)綜復(fù)雜,管線信息更新頻繁,其管理難度也在不斷增大。近年來(lái),國(guó)家對(duì)城市管線的重視力度逐步加深,2013年9月出臺(tái)的《國(guó)務(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ù)字城管平臺(tái)全覆蓋。提升城市管理標(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)來(lái)提高地下管線管理水平。在管線信息管理系統(tǒng)中一般包括管線數(shù)據(jù)處理CAD系統(tǒng)、管線數(shù)據(jù)管理系統(tǒng)(CS)、管線綜合應(yīng)用系統(tǒng)(BS)以及管線數(shù)據(jù)共享交換系統(tǒng)。而綜合管線信息化的基礎(chǔ)問(wèn)題和核心問(wèn)題就是管線數(shù)據(jù)問(wèn)題,要把綜合管線數(shù)據(jù)的建庫(kù)工作放到重中之重的位置,目前這項(xiàng)工作目前大多數(shù)在AutoCAD中開發(fā)相應(yīng)的功能來(lái)處理。

      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ò)查看生成的管線圖,檢查管線連接關(guān)系、管線點(diǎn)及屬性是否正確)、管線編輯(實(shí)現(xiàn)管點(diǎn)、管線的快速添加、修改屬性)、檢查處理(規(guī)范性檢查,空間屬性合理性檢查,屬性關(guān)系合理性檢查等,檢查結(jié)果可在數(shù)據(jù)庫(kù)和圖形上定位顯示并直接修改)、查詢統(tǒng)計(jì)(條件統(tǒng)計(jì)、圖幅數(shù)統(tǒng)計(jì)及結(jié)果輸出)、成果輸出(可生成各種樣式的綜合管線圖、專業(yè)管線圖等圖件,成果表輸出,成果數(shù)據(jù)庫(kù)輸出)等功能。系統(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ù)庫(kù)中,實(shí)現(xiàn)“可見即可得”的建庫(kù)思路。

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

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

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

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

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

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

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

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

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

      (1)符號(hào)面板

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

      //顯示繪制管點(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)小類的符號(hào)切換。

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

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

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

      當(dāng)用戶選擇指定的管點(diǎn)符號(hào)后,點(diǎn)擊面板相應(yīng)圖標(biāo),根據(jù)配置獲取對(duì)應(yīng)的管點(diǎn)塊符號(hào)名稱。在CAD中插入管點(diǎn)符號(hào)時(shí),為了提高用戶體驗(yàn),采用JIG(Just in Time Graphic即時(shí)繪制)技術(shù),用戶在鼠標(biāo)移動(dòng)的過(guò)程中,即可實(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(" 請(qǐng)指定塊符號(hào)位置");

      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ù)庫(kù)中,為了實(shí)現(xiàn)CAD圖形中管點(diǎn)符號(hào)與數(shù)據(jù)庫(kù)中記錄的關(guān)聯(lián),將管點(diǎn)物探點(diǎn)號(hào)寫入圖塊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)行顯示。對(duì)于不同管類的管線,在管線繪制時(shí)需要采用不同的圖層、顏色、線型、線寬。對(duì)于CAD中管線的成圖,可以預(yù)先定制線型文件,AutoCAD啟動(dòng)時(shí)預(yù)先加載到模板文件中,讀取管線符號(hào)的配置信息可以快速設(shè)置不同的圖層、顏色、線型以及線寬。

      3 結(jié) 論

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

      [1] 國(guó)務(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]. 北京:中國(guó)建筑工業(yè)出版社,2012.

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

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

      [8] 侯金波,潘喜峰,李奕潔等. 管線探測(cè)內(nèi)業(yè)圖庫(kù)一體化成圖的應(yīng)用研究[J]. 城市勘測(cè),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 作者簡(jiǎn)介:劉旭(1985—),男,助理工程師,主要從事智慧管網(wǎng)方向的研發(fā)工作。

      猜你喜歡
      圖塊小類二次開發(fā)
      淺談基于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ā)
      浙江配電網(wǎng)物資標(biāo)準(zhǔn)化研究與應(yīng)用
      AutoCAD中圖塊命令的應(yīng)用分析
      優(yōu)化A算法搜索連連看圖塊配對(duì)和消除次序
      茶壺難題
      基于Pro/E二次開發(fā)的推土鏟參數(shù)化模塊開發(fā)
      基于AutoCAD的圖塊的查找/替換器的開發(fā)
      小類:年輕人要多努力
      大學(xué)(2008年10期)2008-10-31 12:51:10
      临桂县| 隆昌县| 延寿县| 晴隆县| 余江县| 乌拉特中旗| 承德县| 漠河县| 淅川县| 松潘县| 金川县| 桂东县| 连南| 大理市| 绥中县| 灵璧县| 虹口区| 芒康县| 库伦旗| 巩义市| 诏安县| 桑日县| 武穴市| 天峻县| 吐鲁番市| 白河县| 荔浦县| 保定市| 井研县| 安国市| 东阳市| 山西省| 贡嘎县| 苍山县| 嘉荫县| 东乌珠穆沁旗| 资兴市| 清镇市| 南川市| 苍溪县| 盐山县|