• 
    

    
    

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

      ?

      基于C++的自動繪圖技術(shù)在風(fēng)機(jī)塔架設(shè)計(jì)中的應(yīng)用

      2020-11-09 03:59陳茁

      陳茁

      摘 要:風(fēng)力發(fā)電機(jī)(以下簡稱風(fēng)機(jī))作為風(fēng)電能源轉(zhuǎn)換的主要設(shè)備已在全球范圍廣泛應(yīng)用。塔架作為風(fēng)機(jī)支撐系統(tǒng)在整個(gè)設(shè)計(jì)中占據(jù)舉足輕重的地位。在實(shí)際設(shè)計(jì)中由于定制化策略的推行,塔架設(shè)計(jì)任務(wù)往往十分繁重??紤]到塔架結(jié)構(gòu)統(tǒng)一的特點(diǎn),設(shè)計(jì)趨向標(biāo)準(zhǔn)化,理論上可以使用編程,控制繪圖軟件完成參數(shù)化繪圖以節(jié)省人力和時(shí)間。本文即設(shè)想選用一種編程語言設(shè)計(jì)一種應(yīng)用程序?qū)崿F(xiàn)上述功能。

      關(guān)鍵詞:塔架;C++/CLR;自動繪圖;AutoCAD

      1 緒論

      風(fēng)力發(fā)電機(jī)塔架設(shè)計(jì)有模式可循,這對使用程序控制繪圖軟件自動繪圖提供了可行性。本文希望通過甄選出合適的編程語言,編制應(yīng)用程序控制AutoCAD使其自動繪制圖紙,并希望通過輸入?yún)?shù)的方式讓程序?qū)崿F(xiàn)繪制不同類型不同尺寸塔架的功能。

      2 塔架設(shè)計(jì)

      現(xiàn)存風(fēng)機(jī)塔架結(jié)構(gòu)多種多樣,除了圓錐形分節(jié)鋼筒式塔架之外,桁架式和混合式塔架結(jié)構(gòu)也因其在價(jià)格和易于建造等方面的優(yōu)勢在慢慢興起,但從實(shí)際建造情況看來,圓錐形分節(jié)鋼筒式塔架依然是主流。

      在風(fēng)力發(fā)電機(jī)中,塔架結(jié)構(gòu)主要包括筒壁、連接法蘭、平臺和內(nèi)附件以及一些基礎(chǔ)部件。繪圖需要獲取的繪圖數(shù)據(jù)就包括上述組件的各項(xiàng)定形定位尺寸。

      塔架雖說結(jié)構(gòu)簡單,但在行業(yè)定制化政策推行的背景下,一個(gè)風(fēng)電項(xiàng)目往往會出現(xiàn)兩個(gè)及以上機(jī)型,在海上項(xiàng)目上甚至?xí)霈F(xiàn)更多機(jī)型的情況,每種機(jī)型包含數(shù)百張圖紙,這也是編寫該自動繪圖程序的意義所在。

      3 C++/CLR

      3.1 語言選擇

      如今編程語言眾多,有以學(xué)習(xí)成本低,跨平臺使用便利等優(yōu)點(diǎn)迅速崛起的Python,也有功能強(qiáng)大簡單易用的Java。本程序由于會出現(xiàn)大量的跨程序調(diào)用,而選用了在處理速度上有優(yōu)勢的C++。同時(shí),C++開發(fā)的程序通用性強(qiáng),對后期普及和修改也十分友好。

      3.2 C++/CLR優(yōu)點(diǎn)

      C++/CLR的基礎(chǔ)是C++,在討論C++/CLR之前,我們需要了解CLI(Common Language Infrastructure,通用語言框架),該框架提供了一套可執(zhí)行代碼和它所運(yùn)行需要的虛擬執(zhí)行環(huán)境的規(guī)范。更通俗的說,它是一個(gè)虛擬平臺,是操作系統(tǒng)和應(yīng)用程序間的一層抽象聯(lián)系。本文研究的目的在于用微軟的.NET框架設(shè)計(jì)一個(gè)可執(zhí)行程序窗體,以此來收集數(shù)據(jù)并控制繪圖軟件繪圖,而作為微軟的.NET基礎(chǔ)的CLR(Common Language Runtime,實(shí)時(shí)通用語言)就是CLI的一個(gè)實(shí)例。C++/CLI支持對本地ISOC++編程和.NET托管編程的無縫集成,這不僅是一種機(jī)械的相加,而是能夠像.NET調(diào)用Windows API一樣通過P/Invoke來實(shí)現(xiàn)函數(shù)互調(diào),而且可以實(shí)現(xiàn)類型class級和ISOC++和.NET類庫的相互使用,更重要的是它能夠?qū)崿F(xiàn)類型的混合。

      4 自動繪圖

      4.1 技術(shù)基礎(chǔ)

      本文所探究的自動繪圖技術(shù)是針對AutoCAD繪圖軟件的,本質(zhì)上是一種參數(shù)指令化的編程繪圖過程,這很容易讓人聯(lián)想到AutoLISP。AutoLISP提供了操控AutoCAD繪圖的各種基礎(chǔ)命令,但是其代碼繁雜且可讀性差。對于風(fēng)力發(fā)電機(jī)塔架這種圖紙眾多的大型項(xiàng)目而言代碼必定冗長,后期的更改難度也大。另外,這種方式編制的程序?qū)τ谕獠课募闹С中暂^差,風(fēng)機(jī)塔架有眾多數(shù)據(jù),若手動輸入數(shù)據(jù)則會耗費(fèi)大量時(shí)間,這與省時(shí)省力的初衷背離。

      雖然AutoLISP用在像風(fēng)力發(fā)電機(jī)這樣圖紙眾多的大型項(xiàng)目上有些吃力,但AutoLISP中的命令和AutoCAD的API卻給我們提供了無限可能。

      4.2 技術(shù)實(shí)現(xiàn)

      4.2.1 控制

      上文提到,很多應(yīng)用軟件都留有API(Application Programming Interface,應(yīng)用程序接口),這些接口為程序之間互聯(lián)和二次開發(fā)以提供了渠道,機(jī)械制造設(shè)計(jì)常用的繪圖軟件AutoCAD當(dāng)然也包括在內(nèi)。編程前從CAD的安裝位置找到對應(yīng)版本的API并添加到主程序中即可讓程序擁有溝通CAD的能力。

      打通程序之間的壁壘后,就可以進(jìn)行繪制命令的編寫了。AutoLISP中的命令在《AutoCAD VBA開發(fā)人員手冊》中都有相應(yīng)介紹,例如使用AutoLISP在CAD畫直線,雖然只需要定義起點(diǎn)終點(diǎn)兩個(gè)參數(shù),但是代碼定義繁雜易讀性不高,同時(shí)代碼的移植性不好,很難脫離CAD環(huán)境運(yùn)行,此時(shí)C++改寫的優(yōu)勢就凸顯出來了。改寫的指導(dǎo)書就是《AutoCAD VBA開發(fā)人員手冊》,將AutoLISP命令用C++的語法改寫,就可以借C++的快捷便利和優(yōu)良的移植性彌補(bǔ)AutoCAD VBA編程的缺點(diǎn)。

      4.2.2 數(shù)據(jù)

      上文2.1塔架設(shè)計(jì)內(nèi)容所述的塔架各部分組件的定形定位尺寸就是本程序的數(shù)據(jù)輸入。這部分?jǐn)?shù)據(jù)可從載荷強(qiáng)度計(jì)算單位獲得??紤]到參數(shù)眾多,可利用表格處理工具將參數(shù)整理分類,將筒壁、法蘭、平臺、基礎(chǔ)和參數(shù)化的配置選項(xiàng)分列不同表單,并保存輸出一個(gè)表格文檔,繪制時(shí)只需通過更改表格對應(yīng)部分?jǐn)?shù)據(jù)即可。

      4.3.3 繪圖

      編程和手工繪圖在原理上是相同的,都是將基本圖元進(jìn)行排列組合成完整的圖紙。不同的是手工繪圖通過點(diǎn)選或者輸入命令一個(gè)個(gè)圖元添加,大型重復(fù)度較高的項(xiàng)目圖紙對于手工繪圖來說費(fèi)時(shí)費(fèi)力且易出錯(cuò);編程繪圖過程則是通過程序調(diào)用命令進(jìn)行圖元添加。程序編制好后正確性有保障且速度快。

      繪圖代碼的編寫最重要的就是確定好幾何關(guān)系,根據(jù)數(shù)據(jù)表中的信息和圖元相互關(guān)系拆解圖紙,并通過解析法轉(zhuǎn)換成代碼;其次需要控制好圖層,編程按圖層順序繪制,在對應(yīng)的圖層添加內(nèi)容,可在一定程度上避免繪制混亂。

      塊調(diào)用是一個(gè)很好用的命令。通過創(chuàng)建塊我們可以將圖紙中參數(shù)固定的復(fù)雜線圖形事先畫好,并單獨(dú)保存在統(tǒng)一的塊庫文件夾,使用時(shí)只需通過代碼調(diào)用即可。代碼中還可以設(shè)置塊的方向、大小和比例,可大大節(jié)省分別編寫的工作量,同時(shí)節(jié)省運(yùn)算消耗。需要注意的是繪制塊時(shí)應(yīng)留心線型和比例,否則會出現(xiàn)視覺不匹配。

      自動繪圖進(jìn)行中切忌操作CAD軟件,軟件內(nèi)部通過指令代碼來工作,簡單的鼠標(biāo)點(diǎn)擊也會將點(diǎn)擊的指令代碼插入到預(yù)設(shè)的指令流,這樣會造成指令對錯(cuò)位報(bào)錯(cuò)。若需要在繪圖過程操作電腦上的其他軟件,可將CAD后臺運(yùn)行即可。

      4.3 軟件封裝

      經(jīng)過上述步驟,自動繪圖軟件的功能已完成,接下來只需將程序制作成安裝包。若條件允許,可將安裝包制作成自動更新版本,后期將更新包放在公共服務(wù)器上,安裝過該軟件的電腦在連接服務(wù)器局域網(wǎng)的情況下打開自動繪圖程序即可自動檢測更新。

      5 小結(jié)

      計(jì)算機(jī)對于現(xiàn)代工業(yè)的顛覆顯而易見,在信息革命和工業(yè)4.0浪潮下,傳統(tǒng)工業(yè)模式正在發(fā)生著天翻地覆的變化。繪圖作為設(shè)計(jì)階段的一環(huán),從最初的尺規(guī)到CAD再到本文探究的參數(shù)化自動繪圖,也許在未來還會因?yàn)闀r(shí)下熱門AI技術(shù)的加入而實(shí)現(xiàn)智能出圖都在促進(jìn)工業(yè)的不斷升級。

      本文從多方面敘述了自動繪圖的優(yōu)點(diǎn),其不足也顯而易見--編程耗時(shí)長,對于設(shè)計(jì)變更快的機(jī)型,有時(shí)會出現(xiàn)上一個(gè)更新還沒寫好就變更的情況。當(dāng)這種差值大到一定程度的時(shí)候,自動繪圖的優(yōu)勢就失效了。針對此問題,本文設(shè)想未來借助機(jī)器學(xué)習(xí)改善。

      從原理上看,本文所探究的自動繪圖技術(shù)不僅可以用于風(fēng)機(jī)塔架的設(shè)計(jì),對所有具有一定程度規(guī)律性的圖紙都可以定制使用。21世紀(jì)是信息的時(shí)代,各行各業(yè)都應(yīng)插上信息的翅膀方可繼續(xù)騰飛。

      洪泽县| 东丽区| 登封市| 衢州市| 三都| 滨州市| 三门峡市| 龙泉市| 高州市| 龙山县| 抚州市| 西吉县| 克拉玛依市| 南安市| 扶沟县| 通江县| 通河县| 海阳市| 武隆县| 三台县| 维西| 刚察县| 金塔县| 青海省| 务川| 彭州市| 贵阳市| 精河县| 项城市| 武城县| 阜南县| 上栗县| 阿鲁科尔沁旗| 郎溪县| 松潘县| 梅州市| 奉化市| 石嘴山市| 博湖县| 汝城县| 陈巴尔虎旗|