日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用python计算工程量_基于Python脚本程序的电缆工程量快速统计方法与流程

發布時間:2023/12/10 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python计算工程量_基于Python脚本程序的电缆工程量快速统计方法与流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本發明涉及電力工程土建專業電纜部分工程量計算領域,具體地說是設計人員用于AutoCAD中標注、統計圖紙中的電纜排管和電纜手井工程量的方法。

背景技術:

隨著社會經濟的迅速發展和城市規劃的整體需要,電力通道日益緊張,電纜排管敷設因造價適中、有效減少電纜遭受外力破壞和機械損傷,被廣泛應用于居配項目和市政項目。設計人員在繪制完電纜走向圖后,需明確標出電纜手井型號、電纜排管孔數和長度,準確統計出電纜手井和電纜排管工程量(即材料表)。

電纜手井和電纜排管材料表具有重要作用,既是技經人員編制設計預算的直接依據,又是招標文件中工程量清單的重要組成部分。目前,業內設計人員傳統的標注和統計方法,主要依靠逐個手工標記和人工統計,存在耗時耗力、結果易錯缺點,最終導致材料表正確性存疑。因而,需要一種新的方式來快速準確統計電纜手井、電纜排管工程量。

技術實現要素:

本發明要解決的技術問題是:提供一種基于Python腳本程序的電纜工程量快速統計方法,提供工作效率。

本發明解決其技術問題所采用的技術方案是:一種基于Python腳本程序的電纜工程量快速統計方法,具有如下步驟:

(1)設計人員利用AutoCAD繪制電纜走向圖,AutoCAD電纜走向圖中含有多個電纜手井及多個電纜排管;設計人員將不同類型的電纜手井做成不同名稱的塊;

該方法還包括如下步驟:

(2)標注電纜手井信息:輸入需要標注的電纜手井的名稱和尺寸,讀取上述電纜手井的名稱和尺寸,遍歷AutoCAD圖塊,獲取圖塊名稱,若圖塊名稱是與給定的電纜手井名稱相同則對相應的圖塊標注相應的電纜手井標注信息。

步驟(2)中,識別出圖塊為電纜手井時,讀取電纜手井在圖中的坐標,作為電纜手井標注信息插入點。

步驟(1)還包括:設計人員用“多段線”命令繪制電纜排管,將電纜排管的多段線的“起始線段高度、終止線段高度和全局高度”屬性設為相等。

該方法還包括如下步驟:

(3)標注電纜排管信息:設定電纜排管的多段線高度和長度裕度,遍歷AutoCAD多段線,獲取多段線高度,若多段線高度是與給定的電纜排管的多段線高度相同則表示該多段線為電纜排管,獲取該多段線長度即為電纜排管長度,對該多段線標注電纜排管標注信息。

識別出多段線為電纜排管時,讀取電纜排管的起點、終點坐標,計算得到電纜排管中點坐標,作為電纜排管標注信息插入點。

電纜排管標注信息以“D=孔徑;K=孔數;L=長度”的形式給出;“孔徑”為電纜排管內所采用保護管的外徑、“孔數”為電纜排管內所用保護管數量、“長度”為電纜排管長度;該方法還包括如下步驟:(4)由設計人員標注電纜排管的孔數和孔徑。

步驟(2)中,電纜手井標注信息以“字母+尺寸”的形式給出;

該方法還包括如下步驟:(5)統計電纜手井信息:

5.1):遍歷AutoCAD電纜走向圖上的所有“多行文本”,包括所有電纜手井標注信息在內,形成原始字符串;

5.2):根據電纜手井標注信息“字母+尺寸”的文本特點,編寫正則表達式:“[A-Z]\d+\W\d+”;

5.3):在步驟5.1)中的原始字符串中,利用Python自帶的正則庫re的re.findall()函數找出所有電纜手井標注信息,得到電纜手井列表;

5.4):對步驟5.3)得到的電纜手井列表去重,統計獲得電纜手井工程量。

該方法還包括如下步驟:(6)統計電纜排管信息:

6.1):遍歷AutoCAD電纜走向圖上的所有“多行文本”,包括所有電纜排管標注信息在內,形成原始字符串;

6.2):根據電纜排管標注信息“D=孔徑;K=孔數;L=長度”的文本特點,編寫正則表達式:“([A-Z]\W\d+)([A-Z]\W\d+)([A-Z]\W\d+)”;

6.3):在步驟6.1)中的原始字符串中,利用Python自帶的正則庫re的re.findall()函數找出所有電纜排管標注信息。得到電纜排管列表;

6.4):以電纜排管的組合參數(孔徑,孔數)為研究對象,對步驟6.3)電纜排管列表中的電纜排管進行分組、統計,獲得不同(孔徑,孔數)組合的電纜排管工程量。

本發明的有益效果是:本發明提供了一種基于Python腳本程序的電纜工程量快速統計方法,標注工作耗時可由傳統的2小時降低到0.5小時,工作效率提升75%。自動統計圖紙中的電纜手井、電纜排管工程量,統計工作耗時由傳統的3小時降低至1分鐘,工作效率提升99%。本發明提高了統計結果的正確率。本發明有效改變設計人員依靠人工統計工程量的做法,有效避免了工程量統計的錯項、漏項。

附圖說明

下面結合附圖對本發明進一步說明。

圖1是本發明的整體流程圖;

圖2是本發明中標注電纜手井的流程圖;

圖3是本發明中標注電纜排管的流程圖;

圖4是本發明中統計電纜手井的流程圖;

圖5是本發明中統計電纜排管的流程圖;

圖6是本發明的初始繪制的電纜走向圖;

圖7是標注了電纜手井標注信息的電纜走向圖;

圖8是標注了電纜排管標注信息的電纜走向圖;

圖9是完善了電纜排管標注信息的電纜走向圖。

具體實施方式

現在結合附圖對本發明作進一步的說明。這些附圖均為簡化的示意圖僅以示意方式說明本發明的基本結構,因此其僅顯示與本發明有關的構成。

如圖1所示,一種基于Python腳本程序的電纜工程量快速統計方法,具有如下步驟:

(1)設計人員利用AutoCAD繪制電纜走向圖,AutoCAD電纜走向圖中含有多個電纜手井及多個電纜排管;設計人員將不同類型的電纜手井做成不同名稱的塊。塊的“名稱”屬性具有唯一性,據此可以識別圖元文件是否為何種電纜手井。比如:直通井圖塊名稱可定義為SJI;轉角井圖塊名稱可定義為SJL;三通井圖塊名稱可定義為SJT;四通井圖塊名稱可定義為SJX。

在步驟(1)中,設計人員完成電纜基本繪圖,舉例如圖6。圖6中包括:3個I15×9直通井、1個L17×9轉角井、3個T30×9三通井。

如圖2所示,該方法還包括如下步驟:

(2)標注電纜手井信息:輸入需要標注的電纜手井的名稱和尺寸,讀取上述電纜手井的名稱和尺寸,遍歷AutoCAD圖塊,獲取圖塊名稱,若圖塊名稱是與給定的電纜手井名稱相同則對相應的圖塊標注相應的電纜手井標注信息。

步驟(2)中,識別出圖塊為電纜手井時,讀取電纜手井在圖中的坐標,作為電纜手井標注信息插入點。

具體地,在步驟(2)中,電纜手井標注信息說明如下:

①標注位置:讀取電纜手井在圖中的坐標,作為電纜手井標注信息插入點。

②標注方法:操縱AutoCAD軟件的“多行文本(MText)”命令。

③標注內容:電纜手井標注信息,以“字母+尺寸”的形式給出。某個電纜手井標注信息舉例:I15×9,表示直通井150cm×90cm。標注完電纜手井信息如圖7所示。

步驟(1)還包括:設計人員用“多段線”命令繪制電纜排管,將電纜排管的多段線的“起始線段高度、終止線段高度和全局高度”屬性設為相等,記為H,同時,為區別于圖面其他內容,該H值具有唯一性。根據多段線全局高度屬性,可識別圖元文件是否為電纜排管。傳統的電纜排管標注方法,設計人員往往只標注孔數和長度,且分開標注。本發明提出形如“D=孔徑;K=孔數;L=長度”的多行文本的標注方式,實現了孔徑、孔數、長度三者的關聯,可以完整描述一段電纜排管信息。

如圖3所示,該方法還包括如下步驟:

(3)標注電纜排管信息:設定電纜排管的多段線高度和長度裕度,遍歷AutoCAD多段線,獲取多段線高度,若多段線高度是與給定的電纜排管的多段線高度相同則表示該多段線為電纜排管,獲取該多段線長度即為電纜排管長度,對該多段線標注電纜排管標注信息。

識別出多段線為電纜排管時,讀取電纜排管的起點、終點坐標,計算得到電纜排管中點坐標,作為電纜排管標注信息插入點。

電纜排管標注信息以“D=孔徑;K=孔數;L=長度”的形式給出;“孔徑”為電纜排管內所采用保護管的外徑、“孔數”為電纜排管內所用保護管數量、“長度”為電纜排管長度;該方法還包括如下步驟:(4)由設計人員標注電纜排管的孔數和孔徑。

電纜排管標注信息說明如下:

①標注位置:讀取電纜排管的起點、終點坐標,計算得到電纜排管中點坐標,作為電纜排管標注信息插入點。

②標注方法:操縱AutoCAD軟件的“多行文本(MText)”命令。

③標注內容:電纜排管標注信息,形如:“D=孔徑;K=孔數;L=長度”,“孔數”和“孔徑”兩個參數由設計人員給予完善,“長度”自動獲取。某段電纜排管自動標注信息舉例:D=;K=;L=4m,設計人員完善后:D=150;K=4;L=4m,表示該段排管為4根、150mm直徑、4m長。自動標注電纜排管信息后,如圖8所示。經人工完善電纜手井、電纜排管信息后,主要是設計人員完善標注了電纜排管的孔數和孔徑后,如圖9所示。

標注電纜手井完畢后,設計人員可根據實際需要,修改預定尺寸。標注電纜排管完畢后,設計人員根據電纜實際情況完善“孔徑”和“孔數”。

如圖4所示,該方法還包括如下步驟:(5)統計電纜手井信息:

5.1):遍歷AutoCAD電纜走向圖上的所有“多行文本”,包括所有電纜手井標注信息在內,形成原始字符串。舉例:

5.2):根據電纜手井標注信息“字母+尺寸”的文本特點,編寫正則表達式:“[A-Z]\d+\W\d+”;

5.3):在步驟5.1)中的原始字符串中,利用Python自帶的正則庫re的re.findall()函數找出所有電纜手井標注信息,得到電纜手井列表;舉例:

5.4):對步驟5.3)得到的電纜手井列表去重,統計獲得電纜手井工程量。舉例:

如圖5所示,該方法還包括如下步驟:(6)統計電纜排管信息:

6.1):遍歷AutoCAD電纜走向圖上的所有“多行文本”,包括所有電纜排管標注信息在內,形成原始字符串;

6.2):根據電纜排管標注信息“D=孔徑;K=孔數;L=長度”的文本特點,編寫正則表達式:“([A-Z]\W\d+)([A-Z]\W\d+)([A-Z]\W\d+)”;

6.3):在步驟6.1)中的原始字符串中,利用Python自帶的正則庫re的re.findall()函數找出所有電纜排管標注信息。得到電纜排管列表;舉例如下:

6.4):以電纜排管的組合參數(孔徑,孔數)為研究對象,對步驟6.3)電纜排管列表中的電纜排管進行分組、統計,獲得不同(孔徑,孔數)組合的電纜排管工程量。舉例如下:

該方法還包括如下步驟:

(7)統計結果輸出到Excel文件,步驟如下:

步驟7.1:打開模版文件。

步驟7.2:將步驟5.4)、步驟6.4)中的數據,逐行寫入模版文件。

步驟7.3:將寫有統計結果的模板文件另存為“yyyymmdd工程量統計.xlsx”,保存模板文件。如有同名文件,則事先刪除。

以上述依據本發明的理想實施例為啟示,通過上述的說明內容,相關工作人員完全可以在不偏離本項發明技術思想的范圍內,進行多樣的變更以及修改。本項發明的技術性范圍并不局限于說明書上的內容,必須要根據權利要求范圍來確定其技術性范圍。

總結

以上是生活随笔為你收集整理的用python计算工程量_基于Python脚本程序的电缆工程量快速统计方法与流程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。