国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AutoLisp船舶輔助設(shè)計(jì)工具的開發(fā)

2017-09-22 01:07
關(guān)鍵詞:輔助設(shè)計(jì)船舶設(shè)計(jì)外板

(武漢船舶職業(yè)技術(shù)學(xué)院,湖北武漢 430050)

基于AutoLisp船舶輔助設(shè)計(jì)工具的開發(fā)

朱顯玲

(武漢船舶職業(yè)技術(shù)學(xué)院,湖北武漢 430050)

船舶設(shè)計(jì)工作繪圖量大,重量重心計(jì)算繁瑣且準(zhǔn)確率極低。自采用CAD輔助設(shè)計(jì)以后,大量減少了手工制圖工作,使設(shè)計(jì)人員從繁重的手工制圖工作中解放出來,得以專心于方案設(shè)計(jì)優(yōu)化,但重量重心統(tǒng)計(jì)計(jì)算工作仍然是一項(xiàng)費(fèi)時費(fèi)力的工作?;贏utoLisp開發(fā)了一套船舶輔助設(shè)計(jì)工具ShipDesign,能在AutoCAD中實(shí)現(xiàn)外板展開、骨材長度統(tǒng)計(jì)等。該工具在某設(shè)計(jì)院的實(shí)船設(shè)計(jì)中應(yīng)用多年,能有效簡化計(jì)算統(tǒng)計(jì)工作量,提高計(jì)算精度,實(shí)用性得到普遍認(rèn)可。

AutoLisp;輔助設(shè)計(jì);外板展開

船舶穩(wěn)性是船舶的主要性能之一,關(guān)系到船舶的使用安全,必須滿足相關(guān)《規(guī)定》的要求。在船舶設(shè)計(jì)過程中,船舶穩(wěn)性的計(jì)算離不開較為準(zhǔn)確的重量和重心估算。AutoCAD在船舶制圖中的應(yīng)用,雖然提高了船舶設(shè)計(jì)人員的繪圖效率,但船舶的重量和重心的計(jì)算仍然很麻煩且準(zhǔn)確率較低?;贏utoLisp二次開發(fā)船舶輔助設(shè)計(jì)工具ShipDesign,通過程序運(yùn)行的方式可得到相當(dāng)滿意的重量和重心計(jì)算結(jié)果,大大提高了設(shè)計(jì)效率,縮短了設(shè)計(jì)周期,同時程序具備較好的通用性,易于集成,滿足了船舶設(shè)計(jì)的特殊需要。

1 AutoLisp的開發(fā)環(huán)境概述

AutoCAD是機(jī)械工程領(lǐng)域必備的計(jì)算機(jī)輔助設(shè)計(jì)(CAD)軟件之一,其二維繪圖功能強(qiáng)大,具有開發(fā)性,便于二此開發(fā),許多專業(yè)軟件都以他為平臺進(jìn)行二次開發(fā)。利用VisualLisp集成開發(fā)環(huán)境,可以便捷、高效地開發(fā)AutoLisp程序,經(jīng)過編譯可以得到運(yùn)行效率高、代碼緊湊、源代碼受到保護(hù)的應(yīng)用程序。

AutoLisp是Autodesk公司開發(fā)的一種Lisp程序語言,嵌套于AutoCAD內(nèi)部,將人工智能語言Lisp與AutoCAD有機(jī)結(jié)合,是AutoCAD開發(fā)的有力工具,又具有一般高級語言所沒有的強(qiáng)大的圖形處理功能,是當(dāng)今世界上CAD軟件中被廣泛采用的語言之一,語法簡單、功能強(qiáng)大、不許額外購買其他軟件。

2 程序功能設(shè)計(jì)的要求和基本思路

基于船舶設(shè)計(jì)的需要,本工具有以下功能:將Autocad圖紙中的txt數(shù)字進(jìn)行累加,從而可以做到材料的統(tǒng)計(jì);將Autocad圖紙中的txt數(shù)字進(jìn)行相乘,從而可以將圖紙中零件的單位重量與數(shù)量相乘,得到零件的總用量;在圖紙中篩選數(shù)據(jù)進(jìn)行宏定義,可省去點(diǎn)選數(shù)據(jù)的麻煩;將所選多條曲線或直線的長度進(jìn)行累加,從而統(tǒng)計(jì)骨材的總長度;將單根曲線展開成直線;將一組曲線展開成直線;將一組曲線展成直線,同時按指定基點(diǎn)生成直線,從而繪制外板展開;計(jì)算封閉圖形的面積及質(zhì)心,可以在封閉圖形中開口求面積及質(zhì)心,此命令可以求板材的用量及重心位置;求多義線的控制點(diǎn),同時將控制點(diǎn)坐標(biāo)形成文本文件;在圖紙指定位置繪制符合要求的肘板。本文只對其中兩項(xiàng)功能進(jìn)行詳細(xì)論述即完成外板展開的命令和計(jì)算骨材總用量的命令。

(1)外板展開:以船底中縱剖線為基準(zhǔn)線,通過船寬方向肋骨線的展開實(shí)現(xiàn)船體外板自動展開,生成船底縱中剖線與相應(yīng)肋位的相交基點(diǎn)。同時,自動疊加肋骨曲線等曲線的長度,計(jì)算船體外板的使用量,以及在外板基礎(chǔ)上自動繪制各外板構(gòu)件、板列布置情況、外板開孔等。

(2)骨材總長計(jì)算與統(tǒng)計(jì):對船體骨材的長度和數(shù)量進(jìn)行自動統(tǒng)計(jì),獲取所有骨材(曲線)的長度和數(shù)量,并累加、輸出。

3 程序開發(fā)集成與應(yīng)用

基于Autolisp完成了上述功能的開發(fā),并集成為一套船舶輔助設(shè)計(jì)工具ShipDesign,該工具以安裝包的形式免費(fèi)發(fā)布,適用于AutoCAD設(shè)計(jì)平臺,軟件安裝后會在AutoCAD環(huán)境中自動生成工具欄,如圖1所示。

圖1 工具欄

使用該工具的過程中如出現(xiàn)錯誤操作可以通過AutoCAD自帶的“撤銷”及“重復(fù)”進(jìn)行操作,即本工具的功能可以穿插在AutoCAD的原命令中進(jìn)行使用。

3.1 外板展開

外板展開一般通過crvLen將曲線連接,每次可以多選,選擇曲線以回車鍵作為分割點(diǎn),每次展開選取需要一次性拉長的曲線,通過內(nèi)部調(diào)用子函數(shù)GetCurveLength ()返回每條曲線的長度,后通過basePt選取每條曲線的展開基點(diǎn),分別定位于船體縱中剖線與肋位面的交點(diǎn),AutoLisp部分程序代碼如下:

;;;AutoCAD命令窗口調(diào)用,epd3

(defun c:epd1 ()

(setqcrvLen (GetCurveLength

(car (entsel "請選擇需要展開的肋骨(站位)線:"))

)

)

(setqbasePt (getPoint " 請選擇展開線的繪制基點(diǎn):"))

(setq x (car basePt))

(setq y (+ (cadrbasePt) crvlen))

(setqendPt (list x y 0.0))

(command "line" basePtendPt "")

)

;;;子函數(shù),返回曲線長度

;;;參數(shù)crv:直線、圓弧、圓、多段線、優(yōu)化多段線、樣條曲線等圖元

;;;返回值:曲線長度

(defunGetCurveLength (crv)

(vlax-curve-getDistAtParamcrv (vlax-curve-getEndParamcrv))

)

使用方法為:鼠標(biāo)左鍵點(diǎn)擊圖標(biāo),鼠標(biāo)將進(jìn)入選擇狀態(tài),命令欄提示如圖2所示。

圖2 epd3命令欄

此時選取曲線,單次選取的幾條曲線程序會自動計(jì)算其長度連成一根直線,單次選擇以鼠標(biāo)右鍵為每條直線的分割點(diǎn),所以此時選擇第一條線,例如從9號線開始選取,9號線有一條曲線和一條短直線組成,如圖3所示。

圖3 曲線的選取

此時命令欄將出現(xiàn)命令提示,如圖4所示。

圖4 曲線選取命令提示1

然后,在屏幕上單擊鼠標(biāo)右鍵完成第一條線的選擇,命令欄提示如圖5所示。

依照上述方法將9.5、10號線依次輸入,當(dāng)輸入做后一條曲線時,在單擊鼠標(biāo)右鍵后再單擊一次右鍵,命令欄如圖6所示。

圖6 曲線選取命令提示3

此時,表示數(shù)據(jù)的輸入工作已結(jié)束,各圓心為肋骨線與船體中心線的交點(diǎn)及形成的直線的基點(diǎn),按上面曲線的輸入順序可在相應(yīng)基點(diǎn)輸出相應(yīng)直線,如圖7所示。

圖7 曲線的展開1

按展開順序,第二條及第三條曲線放于相應(yīng)基點(diǎn)處,即可完成了各曲線的拉直,實(shí)現(xiàn)9~10肋位的外板展開,如圖8所示。

圖8 曲線的展開2

3.2 骨材長度計(jì)算

通過函數(shù)GetCurveLength ()計(jì)算出所選擇的各條曲線的長度,并將其累加,在再利用text將其以文本的形式顯示于圖紙指定位置上,AutoLisp部分程序代碼如下:

;;;參數(shù)crv:直線、圓弧、圓、多段線、優(yōu)化多段線、樣條曲線等圖元

;;;返回值:曲線長度

(defunGetCurveLength (crv)

(vlax-curve-getDistAtParamcrv (vlax-curve-getEndParamcrv))

)

使用方法為:鼠標(biāo)左鍵點(diǎn)擊圖標(biāo),鼠標(biāo)將進(jìn)入選擇狀態(tài),命令欄提示如圖9所示。

圖9 骨材長度計(jì)算命令提示1

在圖紙上選擇要進(jìn)行長度統(tǒng)計(jì)的曲線,命令欄提示如圖10所示。

圖10 骨材長度計(jì)算命令提示2

然后,在屏幕上單擊鼠標(biāo)右鍵,命令行將把所選曲線的長度進(jìn)行計(jì)算,計(jì)算結(jié)果如圖11所示。

圖11 骨材長度計(jì)算

4 結(jié) 語

本程序易于集成到專業(yè)應(yīng)用程序系統(tǒng)之中,計(jì)算和統(tǒng)計(jì)結(jié)果準(zhǔn)確,較好地滿足了工程實(shí)際的需要。同時,大大減輕了設(shè)計(jì)人員的重復(fù)勞動,提高了船舶設(shè)計(jì)工作效率,其實(shí)用性得到普遍認(rèn)可,在船舶技術(shù)設(shè)計(jì)階段應(yīng)用廣泛。

1 彭公武.船體結(jié)構(gòu)與制圖[M].哈爾濱: 哈爾濱工程大學(xué)出版社,2014.

2 羅鎮(zhèn)泉,詹明珠.基于AUTO/JSP二次開發(fā)的剖面繪制輔助工具原理及應(yīng)用[J].船舶通訊.2015(1).

3 趙宏.利用AUTOLISP快速分割批量數(shù)控程序[J].機(jī)械,2013(7):61-65.

(責(zé)任編輯:譚銀元)

DevelopmentofAShipDesignToolbasedonAutoLisp

ZHUXian-ling

(Wuhan Institute Of Shipbuilding Technology, Wuhan 430050, China)

Due to heavy drawing work in ship designing and low accuracy in gravity calculation, the use of CAD has greatly decreased the work load of drawing and make the designing staff more concentrated on the program optimization, but gravity calculation is still a time -consuming and painstaking job. A set of designing tool is developed based on AutoLisp, which is called ShipDesign. The tool has been used in shipdesign by a design institute for many years, and is proved to be effective in simplifying the calculation and statistical workload and improving the calculation accuracy.

autoLisp; ship design tool; shell plate development

2017-02-03

朱顯玲,女,副教授,主要從事船舶制造與維修方面的教學(xué)和科研工作。

U662

A

1671-8100(2017)02-0024-04

猜你喜歡
輔助設(shè)計(jì)船舶設(shè)計(jì)外板
基于圖形特征識別技術(shù)的電碼化輔助設(shè)計(jì)軟件開發(fā)與應(yīng)用
側(cè)圍外板轉(zhuǎn)角深拉伸起皺缺陷研究
側(cè)圍外板尾燈處排料困難的解決方案
汽車側(cè)圍外板A柱起皺缺陷分析及處理方法
基于數(shù)據(jù)庫模型的信號一體化輔助設(shè)計(jì)平臺研究
基于三維GIS的燃?xì)夤艿谰€路輔助設(shè)計(jì)系統(tǒng)研究與實(shí)現(xiàn)
船舶設(shè)計(jì)階段提高鋼材利用率的方法探討
淺析船舶設(shè)計(jì)的集成化
運(yùn)用CAD技術(shù)輔助船舶制造
某型快艇船體外板腐蝕點(diǎn)焊補(bǔ)工藝研究