久久久久久久久久美女_免费毛片在线视频_欧美 日韩 三区_一边吃奶一边插下面_91国偷自产一区二区三区亲奶_午夜丰满少妇高清毛片1000部

首頁 新聞中心 技術博客

C# | CAD批量導出多段線節點坐標(附源代碼下載)

發布時間:2021-10-04 23:54:38   瀏覽量:5967   作者:GIS前沿

在日常工作內容中經常需要用到提取CAD圖面坐標點,用于放樣和其他軟件做交換數據使用;比如導出測量點坐標、多段線節點,圖塊點等。導出點坐標可以用CAD的“DATAEXTRACTION”命令創建數據提取將數據導出(如圖一);對于單條多段線的坐標也可以使用“LIST”命令把多段線的坐標打印在命令上(如圖二)、然后將坐標復制出來;如果圖面數據比較多的情況下,這種作業效率顯而太低,下面做一個將圖面所有多段線節點坐標導出的功能,并在每個地塊上標注一個地塊名字和標注每個地塊的節點點號,方便和圖面和數據文件對比。這里用到了CAD文字實體添加、文件保存等操作。

程序設計過程

  1. 創建一個List數據集合,用于存儲地塊名字和每條多段線節點坐標。
  2. 過濾選擇圖上所有多段線,獲取選擇實體的objectId集合。
  3. 循環選擇集,根據objectId獲取多段線實體和實體外包矩形的中心點(注記地塊名字的基點位置),并將地塊的名字加到數據集合中和注記在圖面上。
  4. 使用Polyline的NumberOfVertices獲取多段線的節點個數,使用 GetPoint3dAt()方法循環獲取每一個點的坐標、同時把節點坐標添加到數據集合和把點號注記在圖面上,文字注記的基點位置就是每個點的位置。
  5. 保存數據集合;由于數據量不大,我們使用File.WriteAllLines()方法將數據集合全部導出txt文本文件。

CAD單行文字

使用單行文字時,每一行文字都是一個單獨的對象。創建單行文字的方法是,首先創建DBText對象的實例,然后將其添加到代表模型空間或圖紙空間的塊表記錄中。創建DBText對象的實例時,不用給構造函數傳遞任何參數。
DBText text = new DBText();

File類

File 類提供用于創建、復制、刪除、移動和打開文件的靜態方法,并協助創建 FileStream 對象。在使用File之前需要導入IO命名空間using System.IO;
使用WriteAllLines()方法將數據集合保存到文本文件中,這里面有是三個參數:第一、指定保存文件的路徑;第二要保存的數據集合;第三、文件的編碼,這里定義了UTF-8編碼、防止出現亂碼情況。

程序代碼

在上面代碼中,將獲取實體外包矩形的中心點和向圖面添加文字分別做成了自定義函數,同時也方便我們以后程序的使用、不需要重復寫代碼同時也減少代碼的冗余。

向圖面添加單行文字函數

獲取實體外包矩形的中心點函數

程序執行

加載編寫的應用程序,執行“ExPoints”命令。

  1. 選擇多段線

  1. 指定保存文件的位置

  1. 查看保存的結果


來源:https://blog.csdn.net/qq_43173805/article/details/112021290
主站蜘蛛池模板: 国产一区二| 国产精品一区二区三区免费视频 | 久久国产精品一区二区三区 | 十八岁网站 | 99热6这里只有精品 国产精品精品视频一区二区三区 | 玖玖在线播放 | 日韩福利在线 | 国产在线精品福利 | 国产精品久久久久久久久久久新郎 | 91久久精品国产91久久 | 亚洲久久久 | 欧美天堂在线观看 | wwww.国产| 日韩欧美精品 | 黄色小视频免费 | 久久精品123 | 欧美一级黄色片子 | 亚洲一区中文字幕 | 黄色网址电影 | 色姑娘天天综合网 | 精品国产一区二区三区不卡蜜臂 | 91精品久久久久久 | 日韩国产精品久久久久久亚洲 | 成人福利在线观看 | 欧美视频一区二区三区 | 成人免毛片 | 欧美爱爱网| 99re6热只有精品免费观看 | 国产精品久久久久久久免费软件 | 亚洲成人二区 | 在线观看日韩精品 | 亚洲精品二三区 | 最近中文字幕mv免费高清在线 | 天堂在线精品 | 国产传媒一区二区三区 | 国产伦精品一区二区三区免费 | 成人欧美一区二区三区视频网页 | 欧美二区三区 | 久久精品国产一区二区 | 久久一区精品 | 久久久www成人免费无遮挡大片 |