利用Intelliship的數(shù)據(jù)接口實(shí)現(xiàn)船體剖面模數(shù)計(jì)算自動(dòng)化.docx_第1頁(yè)
利用Intelliship的數(shù)據(jù)接口實(shí)現(xiàn)船體剖面模數(shù)計(jì)算自動(dòng)化.docx_第2頁(yè)
利用Intelliship的數(shù)據(jù)接口實(shí)現(xiàn)船體剖面模數(shù)計(jì)算自動(dòng)化.docx_第3頁(yè)
利用Intelliship的數(shù)據(jù)接口實(shí)現(xiàn)船體剖面模數(shù)計(jì)算自動(dòng)化.docx_第4頁(yè)
利用Intelliship的數(shù)據(jù)接口實(shí)現(xiàn)船體剖面模數(shù)計(jì)算自動(dòng)化.docx_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2007年12月船舶December.2007第6期SHIP&BOATNO.6計(jì)算機(jī)應(yīng)用/CAD利用Intelliship的數(shù)據(jù)接口實(shí)現(xiàn)船體剖面模數(shù)計(jì)算自動(dòng)化°何吾興(708研究所上海200011)關(guān)鍵詞Intelliship;數(shù)據(jù)存儲(chǔ)結(jié)構(gòu);剖面模數(shù)摘要介紹了船舶三維設(shè)計(jì)軟件Intelliship的數(shù)據(jù)結(jié)構(gòu),闡述了如何利用其開(kāi)放的數(shù)據(jù)接口進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)船體剖面模數(shù)計(jì)算的自動(dòng)化。中圖分類(lèi)號(hào)TP391.41文獻(xiàn)標(biāo)識(shí)碼A文章編號(hào)1001-9855(2007)06-0061-04Calculationautomationofsectionmodulesbasedondataint

2、erfaceofsoftwareIntellishipHeWuxingKeywords:Intelliship;datastoragestructure;sectionmodulesAbstract:ThispaperintroducesdatastmctureandhowtocarryoutsecondarydevelopmentbasedonitsopendatainterfaceofIntelliship,a3-Dshipdesignsoftware,aswellastheautomationrealizationofmodulescalculationforhullsection.1前

3、言在船舶的結(jié)構(gòu)設(shè)計(jì)中,船體剖面模數(shù)計(jì)算是船體結(jié)構(gòu)工程師很重要的一項(xiàng)工作。在二維AutoCAD設(shè)計(jì)時(shí)代,因?yàn)槎S圖紙里沒(méi)有足夠的信息支撐,船體剖面模數(shù)計(jì)算是靠人工測(cè)量:、收集所需要的相關(guān)數(shù)據(jù)來(lái)完成的。隨著船舶設(shè)計(jì)由二維向三維的轉(zhuǎn)變,在三維立體模型中包含了充分的信息,能夠提供各種各樣的數(shù)據(jù)給工程師進(jìn)行計(jì)算與分析。Intelliship是美國(guó)Intergraph公司針對(duì)船舶領(lǐng)域所推出的一款船舶三維設(shè)計(jì)軟件,所有涉及數(shù)據(jù)都存儲(chǔ)在MicrosoftSQL數(shù)據(jù)庫(kù)(或者Oracel)里面,它的系統(tǒng)開(kāi)放性也很好,用戶(hù)可以用VB或VC直接對(duì)核心層進(jìn)行編程。2Intelliship的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)在Intellis

4、hip里船體模型數(shù)據(jù)分三個(gè)層次存儲(chǔ):服務(wù)器端層,中間端層和客戶(hù)端層。整個(gè)結(jié)構(gòu)采用完整的C/S結(jié)構(gòu),一個(gè)服務(wù)器端可供多個(gè)中間端使用。以下是三個(gè)層次具體管理的一些功能,如表1所示:表1InteUiship數(shù)據(jù)結(jié)構(gòu)客戶(hù)端命令管理器工作集管理器用戶(hù)命令船體視圖事務(wù)管理器中間端構(gòu)件對(duì)象及其屬性與數(shù)據(jù)庫(kù)的動(dòng)態(tài)連接構(gòu)件之間關(guān)系服務(wù)器端數(shù)據(jù)庫(kù)2.1服務(wù)器端層服務(wù)器端層位于硬盤(pán)上,存儲(chǔ)于數(shù)據(jù)庫(kù)中。用【收稿日期2007-5-7作矗簡(jiǎn)介何吾興(1978.4-),男,漢族,福建人.工程師.上海交大在讀研究生。研究方向:始辯結(jié)構(gòu)設(shè)計(jì)。December,2007NO.6戶(hù)一般不用直接訪(fǎng)問(wèn)服務(wù)器層。它將船體數(shù)據(jù)存儲(chǔ)在七個(gè)數(shù)

5、據(jù)庫(kù)中,Model,ProjectDataBase,Project_SCHEMA,Catalog,Catalog_SCHEMA,Report,Report.SCHEMA。數(shù)據(jù)庫(kù)中有著成百上千的數(shù)據(jù)庫(kù)表,存放著船體模型及其相關(guān)的各種數(shù)據(jù)信息。下面以?xún)?chǔ)存板的幾個(gè)SQL數(shù)據(jù)表作為例子作些說(shuō)明:JPlate:記錄了全船所有板的編號(hào)(ID),板的類(lèi)型(PlateType),描述幾何信息的文件名。(GeometryFileName),描述(Description),風(fēng)格編碼(Style-Number)oJUASPSPlateThickness:記錄了全船所有板的ID和厚度(Thickness,用厘米表示)

6、。JUASPSPlateMaterial:記錄了全船所有板的D和材料(Material,用代號(hào)表示)。JPlateConnectRelattionShip:記錄了全船所有板的連接信息:哪些面參與了連接(SideToConnect),連接的構(gòu)件(ConnectedObjects)o2.2中間層中間層對(duì)服務(wù)器端的數(shù)據(jù)進(jìn)行封裝,是聯(lián)系服務(wù)器層和客戶(hù)端層的橋梁,它將服務(wù)器層的數(shù)據(jù)加以整理后提供了一系列可供客戶(hù)端層或者用戶(hù)直接使用的接口。用戶(hù)提取或修改構(gòu)件的屬性時(shí)不需要跨越數(shù)據(jù)庫(kù)中的若干個(gè)表進(jìn)行查詢(xún),而是像調(diào)用一個(gè)對(duì)象的接口一樣方便。中間層還提供一些獨(dú)立API,作為從服務(wù)端數(shù)據(jù)庫(kù)中提取某類(lèi)構(gòu)件所用,并做

7、了一些將提取出來(lái)的數(shù)據(jù)向VB標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型轉(zhuǎn)化的接口。這里以板單元(CPlate)提供的接口為例子作一點(diǎn)說(shuō)明:UPlate:可以獲得板的種類(lèi)(甲板板,艙壁板,船體外板,肘板等),板厚,是否水密屬性,命名規(guī)則,幾何信息文件名UConnectable:獲得板的哪些面有連接關(guān)系,并獲得和哪個(gè)構(gòu)件相連。USphttee:獲得板被哪些構(gòu)件切割。UDesignParent:獲得此板被切割成哪些構(gòu)件。USurfaceBody:獲得此板的外輪廓曲線(xiàn)。UNamedltem:獲得該構(gòu)件的名稱(chēng)。UPlateGeometry:獲得甲板的幾何屬性。UStructContinuouty:獲得甲板連續(xù)性屬性(這個(gè)屬性是用戶(hù)可

8、以設(shè)置的)UsystemChild:獲得此構(gòu)件在WorkspaceExplor-er中屬于哪個(gè)上級(jí)單元。2.3客戶(hù)端層客戶(hù)端層對(duì)于船體構(gòu)件的表示沒(méi)有變化,而是提供了更多的實(shí)用API,這些API不僅可以對(duì)單個(gè)構(gòu)件進(jìn)行操作,而且可以對(duì)多個(gè)構(gòu)件進(jìn)行操作。例如:提取甲板上所有的梁等,以及針對(duì)界面元素上的操作(例如對(duì)GraphicView或者WorkspaceExplorer進(jìn)行操作的API以及Filter的操作等)。3Intelliship中船體剖面構(gòu)件的提取及剖面模數(shù)計(jì)算Intelliship里計(jì)算船體剖面模數(shù)的流程,如圖1所示。圖1船體剖面模數(shù)的計(jì)算流程根據(jù)Intelliship提供的接口,可以用

9、VB進(jìn)行二次開(kāi)發(fā),編寫(xiě)船體剖面模數(shù)計(jì)算程序,使船體剖面模數(shù)計(jì)算自動(dòng)化。下面結(jié)合程序的各個(gè)流程介紹一下主要API的調(diào)用。3.1獲取計(jì)算剖面位置信息進(jìn)行剖面模數(shù)計(jì)算,首先要確定計(jì)算剖面,在Intelliship里提取計(jì)算剖面的基本信息。利用Intdliship的數(shù)據(jù)接口實(shí)現(xiàn)船體剖面模數(shù)計(jì)算自動(dòng)化 Sub(IHFrame).GetRootPoint(x,y,z)獲得肋位所在平面的x坐標(biāo)3.2提取構(gòu)件,獲得計(jì)算剖面處的構(gòu)件信息給定了計(jì)算剖面后,要將與當(dāng)前剖面相交的所有縱向構(gòu)件的信息(包括板、縱向桁材和縱骨)從Intelliship里提取出來(lái)。 Property(JCommand).CommandTex

10、t設(shè)置查詢(xún)命令的具體語(yǔ)句。例如:HSELECToidFromCORERangeQuery("&RefX&”,-100,-100,”&RefX+0.001&”,-0.001,100)H表示查詢(xún)所有與RefX所在肋位相交的構(gòu)件對(duì)象的ID。 Function(URangeAlias).GetRange()asGBox獲得構(gòu)件的范圍(與x,y,z軸平行的Box) FunctionIsNeededPlate(oPlateasUPlate)判斷板構(gòu)件是否能夠計(jì)入剖面模數(shù)計(jì)算注意:在計(jì)算剖面模數(shù)時(shí),并非所有與當(dāng)前計(jì)算剖面相交的船體構(gòu)件都能夠計(jì)入計(jì)算,所以需要對(duì)這些船

11、體構(gòu)件進(jìn)行篩選,獲得能夠參與剖面模數(shù)計(jì)算的所有有效構(gòu)件。判斷構(gòu)件是否能夠參與船體剖面模數(shù)計(jì)算的方法在很多地方都有講述,在這里不一一贅述。舉個(gè)簡(jiǎn)單的例子說(shuō)明(圖2):對(duì)于甲板縱骨,認(rèn)為當(dāng)它在計(jì)算剖面前后一個(gè)型深范圍內(nèi)連續(xù)的,就可以計(jì)入剖面模數(shù)計(jì)算。圖2縱骨長(zhǎng)度的判斷3.3計(jì)算剖面模數(shù)剖面模數(shù)的計(jì)算如下表2所示,需要從Intelli-ship里提取出構(gòu)件參與計(jì)算的具體的相關(guān)屬性信息,如:構(gòu)件名稱(chēng)、尺寸、角度、位置等。表2剖面模數(shù)計(jì)算要素表123456789構(gòu)件編號(hào)構(gòu)件名稱(chēng)構(gòu)件尺寸(mm)角度距參考軸距離Zi(m)剖面積欠(cm設(shè)置空間向最的x,y,z分量Sub(IJDVector).Set(x,y

12、,z)提取板單元剖面 Function(UWeightCGGrouping).DryCGX獲得對(duì)象的形心x坐標(biāo)(八z同理) Sub(IJWireBody).GetComplexStrings(pCom-plexStringsAsUElements)獲得UWireBody的復(fù)雜曲線(xiàn)集合 Sub(IJComplexString).GetCurve(CurveAsObject)獲得復(fù)雜曲線(xiàn)的某曲線(xiàn)段 Sub(Line3D).GetDirection(uvX,uvY,uvZ)獲得線(xiàn)段的方向向量-Sub(Line3D).GetSPoint(SX,SY,SZ)靜力矩Ai-Zi(cm2.m2)慣性矩AiZi

13、2(cmm")自身塑生軍i。(cm*m")121ABc獲得線(xiàn)段的始(末)端點(diǎn) Sub(UCurve).ParamRange(SParam,End-Param)獲得曲線(xiàn)的參數(shù)區(qū)間 Sub(UCurve).EndPoints(SX,SY,SZ,EndX,EndY,EndZ)獲得曲線(xiàn)的起始點(diǎn)坐標(biāo)(3) 提取型材單元剖面 Sub(IJWireBody).GetEndPoints(ppSPosAsUDPosition,ppEndPosAsUDPosition,ppSDirAsUDVector,ppEndDirAsIJDVector)獲得IJWireBody的兩個(gè)端點(diǎn)(型材支持UWir

14、e-Body接口) Sub(UProfileAttributes).GetProfileOrientationDecember.2007NO.6(pProfileAsUProfile,plntersectionPointAsIJDPosi-tion,pPrimaryOrientationAsIJDVector)獲得型材的方向向量、角度 SubGetCrossSectionlnfb(oCurrentProfileAsUProfile)獲得型材的剖面特性,包含厚度、寬度,剖面積等 FunctionGetProfilesSpanByPlate(oPlateAsU-Plate)計(jì)算型材的間距(4) 根

15、據(jù)提取出來(lái)的板、型材的信息計(jì)算剖面模數(shù)根據(jù)表1的數(shù)據(jù),按照下列公式便可得到剖面的中和軸位置、慣性矩及強(qiáng)力甲板和船底處的剖面模數(shù):剖面水平中和軸至參考軸的距離為:=專(zhuān)(m)剖面對(duì)水平中和軸的慣性矩為:/=2(C牛)(cm2m2)設(shè)中和軸至強(qiáng)力甲板和船底的垂直距離分別為Z和Z”則強(qiáng)力甲板和船底處的剖面模數(shù)分別為:下面的例子是在Intelliship基礎(chǔ)上開(kāi)發(fā)船體總縱強(qiáng)度計(jì)算的程序,剖面模數(shù)計(jì)算是其中的一部分。通過(guò)比較可以看出,程序計(jì)算的數(shù)值更為精確。圖3所示是程序計(jì)算的界面,表3是圖3中箭頭所指項(xiàng)的具體數(shù)值及與手工計(jì)算值的比較,表4是剖面模數(shù)計(jì)算結(jié)果的比較。圖3剖面模數(shù)計(jì)算表3剖面模數(shù)計(jì)算單項(xiàng)比較程序計(jì)算值手工計(jì)算值序號(hào)316名稱(chēng)L-S-102LBH1主機(jī)基座桁材腹板厚度(mm)88寬度(mm)590.962600距基線(xiàn)高度(m)0.8670.85剖面積(cm2)47.27748靜矩(cm:xm)41.00940.8慣性矩(cm2xm2)35.57234.68表4剖面模數(shù)計(jì)算結(jié)果比較程序計(jì)算值手工計(jì)算值上纖維高度(m)6.6016.530中和軸距基線(xiàn)高度(m)2.8352.81總面積(cm2)2666.7542676.4慣性矩(cm2xm2)12185.20911740.2上纖維模數(shù)(cm2xm)3235

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論