亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        船用CAD參數(shù)化繪圖系統(tǒng)的配置化實現(xiàn)方法

        2021-10-25 08:50:36劉杰楊梓輝韓博志李強(qiáng)陳新華
        船海工程 2021年5期
        關(guān)鍵詞:繪圖命令圖紙

        劉杰,楊梓輝,韓博志,李強(qiáng),陳新華

        (1.武漢理工大學(xué) 能源與動力工程學(xué)院,武漢 430063;2.中船黃埔文沖船舶有限公司,廣州 510715)

        工業(yè)產(chǎn)品設(shè)計已全面進(jìn)入數(shù)字化設(shè)計階段,CAD軟件應(yīng)用廣泛。為加快設(shè)計過程,關(guān)于CAD參數(shù)化繪圖系統(tǒng)或CAD輔助繪圖功能增強(qiáng)方面的工作[1],在船舶產(chǎn)品設(shè)計領(lǐng)域,針對船體[2-3]、聯(lián)軸器[4]等典型結(jié)構(gòu)及部件設(shè)計已有相應(yīng)文獻(xiàn)報道,也擴(kuò)展應(yīng)用到參數(shù)化的有限元分析模型構(gòu)建方面[5-6]。這些參數(shù)化繪圖系統(tǒng)基本都采用“特定對象繪圖特征分析→參數(shù)設(shè)計→定向程序開發(fā)→數(shù)據(jù)輸入與繪圖命令生成”這樣的邏輯處理流程。這一處理流程針對特定對象開發(fā)CAD參數(shù)化繪圖系統(tǒng)技術(shù)完全可行,但仍然存在如下不足之處。

        1)采用這樣的處理流程需要對CAD二次開發(fā)的相關(guān)繪圖語句非常熟悉,針對不同的CAD軟件可能需要完全重新開發(fā)。

        2)開發(fā)的系統(tǒng)只能針對單一對象,而對新對象,必須完整重復(fù)一次開發(fā)過程,程序開發(fā)中調(diào)試工作量大。

        3)程序界面及功能模塊的開發(fā)工作量大,通用性、移植性和擴(kuò)展性不強(qiáng)。

        4)開發(fā)周期長,用戶自身無法調(diào)整。

        針對上述不足,考慮開發(fā)新的處理方法,利用平臺化軟件的思路,提高CAD參數(shù)繪圖系統(tǒng)開發(fā)的效率和靈活性。

        1 實現(xiàn)方案

        CAD圖紙文件的生成可以通過兩種方式:①通過軟件的GUI界面進(jìn)行手工繪制;②通過編輯相應(yīng)的繪圖命令流,并在CAD中執(zhí)行命令流。為便于陳述,選取圖1所示的一份簡單圖形的CAD圖紙。圖2所示為該圖紙對應(yīng)的命令流。

        圖1 示例圖紙

        圖2 示例圖紙對應(yīng)的部分CAD繪制語句

        改變圖2所示的命令流中的具體值,并重新執(zhí)行新的命令流,生成圖紙中對應(yīng)圖形的尺寸、位置即會改變,進(jìn)而生成一份新的圖紙,這也是目前所有的CAD參數(shù)化繪圖系統(tǒng)所采用的實現(xiàn)方式。但現(xiàn)有的CAD參數(shù)化繪圖系統(tǒng)其命令流輸出不僅包括其中的參數(shù)值,也包括對應(yīng)的繪圖語句,如Line、ARC等命令。這樣設(shè)計導(dǎo)致產(chǎn)生命令流的語句在程序邏輯中固化,通用性不強(qiáng),雖然程序?qū)崿F(xiàn)的難度不大,但需要對CAD軟件本身的命令語句比較熟悉。

        為改變這種處理模式,構(gòu)建如圖3所示的處理方法。

        圖3 系統(tǒng)設(shè)計流程

        該方法中,首先通過已經(jīng)存在的圖紙文件構(gòu)建對應(yīng)對象的初始繪圖命令流,再編輯這個初始命令流形成對應(yīng)對象的參數(shù)化繪圖模板文件,在模板文件中特別設(shè)計標(biāo)記符號。程序運(yùn)行時,通過選擇特定的繪制對象加載相應(yīng)的模板,自動解析模板文件,獲取其中的標(biāo)記符號,根據(jù)獲取信息自動創(chuàng)建相應(yīng)的參數(shù)輸入界面。最后,在用戶輸入相應(yīng)的參數(shù)后,替換原來命令流模板文件中的標(biāo)記,形成一個新的完整命令流,并自動傳遞給CAD軟件執(zhí)行,得到需要的CAD圖紙文件。該處理方法有別于傳統(tǒng)處理方法的核心在于,完全不是由程序生成命令的語句,即程序并不直接輸出如Line、ARC等命令語句的,只是替換模板文件中的參數(shù)占位符,由此提高方法的通用性,也可以讓用戶自行創(chuàng)建和修改模板文件。

        2 關(guān)鍵技術(shù)

        2.1 命令流模板文件的輔助構(gòu)建

        本方法的源頭是需要與參數(shù)化繪圖對象對應(yīng)的命令流模板。該命令流模板可以通過手工編輯產(chǎn)生,但需要對CAD命令語句及語法非常熟悉;同時還需要對繪制對象本身的特性很了解,比如軸系部件的繪制順序、繪制的細(xì)節(jié)等,無形中增加了開發(fā)的難度。為此,在構(gòu)建命令流模板文件時,采用一種新思路,即通過已有的CAD圖紙文件來產(chǎn)生初始的命令流文件。采用程序技術(shù)將CAD圖紙文件轉(zhuǎn)換為CAD命令流,簡化命令流模板文件的創(chuàng)建。圖2所示即為與圖1對應(yīng)圖紙根據(jù)該方法生成的命令流。

        但圖2所示的命令流文本中,每個繪圖命令中仍然是一個具體的值,必須將具體的值變成參數(shù)的占位符號,才能變成命令流模板文件。此步驟非常關(guān)鍵,但人工逐一的修改很容易出錯。為方便構(gòu)建模板文件,需要有相應(yīng)的工具來簡化這個步驟。

        觀察分析圖1可知:圖形之間一般存在較強(qiáng)的關(guān)聯(lián)性,例如:圖1正中3個圓有著相同的圓心,那么只需要定義一個參數(shù),簡化參數(shù)的數(shù)量。若不考慮圖形間的關(guān)聯(lián)性,參數(shù)個數(shù)會增加很多,導(dǎo)致輸入界面比較復(fù)雜,降低用戶的使用體驗。因此需要能在選擇某個參數(shù)值后,自動選擇所有該初始命令流文件中的相同參數(shù),并能全部或由用戶來決定是否替換為相應(yīng)的占位標(biāo)識符號。命令流模板文件輔助編輯界面見圖4。

        圖4 命令流模板文件輔助編輯界面

        在程序中定義一個字符串變量來存儲獲取到的命令流文本,將該命令流文本置于程序界面左側(cè)的文本框中,通過字符串切割函數(shù),將字符串變量中的所有參數(shù)值分割出來,存儲在一個數(shù)組中,去除數(shù)組中重復(fù)的參數(shù)。用列表控件來顯示該數(shù)組,置于程序界面的右側(cè)。用戶每次在列表控件中點擊某個參數(shù)時,程序會在原字符串變量中匹配該參數(shù),在左側(cè)文本框中使用高亮顏色來顯示,用戶即可編輯替換。編輯完成后,保存為命令流模板文件。通過該界面能加快命令流模板文件的創(chuàng)建。

        2.2 模板文件中的參數(shù)創(chuàng)建

        分析命令流特征發(fā)現(xiàn),在命令流中,存在參數(shù)之間的依賴關(guān)系,即有些參數(shù)是可以通過其他參數(shù)值來計算確定的,這樣可以簡化參數(shù)的數(shù)量。圖1中標(biāo)記有“左下角小圓”與“中間最里層圓”為該圖紙的關(guān)鍵部分,標(biāo)記有“左直線”、“左上角圓弧”與“上直線”以及其他未標(biāo)記的部分為該圖紙的次要部分,若確定關(guān)鍵部分的參數(shù)信息,次要部分的參數(shù)信息即可由關(guān)鍵部分的參數(shù)信息計算得出。例如:左直線的長度可由左下角小圓的圓心坐標(biāo)y1與中間最里層圓的圓心坐標(biāo)y2計算得出;上直線的長度可由左下角小圓的圓心坐標(biāo)x1與中間最里層圓的圓心坐標(biāo)x2計算得出。

        任意一份圖紙都會存在關(guān)鍵部分與次要部分,關(guān)鍵是如何確定。一種方法是通過對設(shè)計對象的理解,人工確定;另一種方法是通過讀取多份同類圖紙,分析其命令流,為每一份圖紙找出關(guān)鍵部分與次要部分。要實現(xiàn)通用化的CAD參數(shù)繪圖系統(tǒng),必須采用第2種方法。限于篇幅關(guān)系,這個問題不展開。

        將關(guān)鍵部分的命令流參數(shù)稱為“直接參數(shù)”,次要部分的命令流參數(shù)稱為“間接參數(shù)”。“直接參數(shù)”設(shè)定為由用戶手動輸入,“間接參數(shù)”設(shè)定為程序通過由輸入的“直接參數(shù)”計算得出。因此,設(shè)計中采用將命令流模板文件中的“標(biāo)記符號”分為兩類:“直接參數(shù)”修改為含有“{和}”的標(biāo)記占位符,“間接參數(shù)”修改為含有“[和]”的標(biāo)記占位符。為了方便配置,將模板文件也分成“命令流模板”和“計算模板”兩類。圖1示例圖紙的部分命令流模板文件見圖5。

        圖5 命令流模板文件

        同時,為了能計算得出“間接參數(shù)”,還需在分析圖紙及其命令流的基礎(chǔ)上配置一份計算模板文件,在計算模板文件中給出參數(shù)間的計算關(guān)系。與圖5命令流模板文件配套的計算模板文件見圖6。

        圖6 計算模板文件

        2.3 參數(shù)提取與界面自動創(chuàng)建

        程序運(yùn)行時,用戶在選擇完需要進(jìn)行參數(shù)化繪圖的模板文件后,程序會首先加載其中的命令流模板文件,再識別命令流模板文件中的“直接參數(shù)”占位符,構(gòu)建一個表格式的參數(shù)輸入界面,見圖7。

        圖7 參數(shù)輸入界面

        表格式輸入界面的好處是不需要考慮界面的布局;而且,在參數(shù)比較多的情況下,傳統(tǒng)的1個控件輸入1個值的界面設(shè)計方式很難實現(xiàn)通用化。

        在所有的“直接參數(shù)”輸入完畢后,還需要進(jìn)行“間接參數(shù)”的計算,根據(jù)文獻(xiàn)[7]中的表達(dá)式解析思想,構(gòu)建表達(dá)式計算分析類。

        3 程序?qū)崿F(xiàn)

        在.net平臺利用VB.net2017語言進(jìn)行程序開發(fā)實現(xiàn),分為兩個主要功能:①通過案例CAD圖紙文件生成對應(yīng)的命令流文件,在此文件基礎(chǔ)上編輯形成命令流模板,編輯對應(yīng)的計算參數(shù)配置模板,并將這些信息保存到數(shù)據(jù)庫;②構(gòu)建用戶操作界面,提供用戶選擇需要繪制的對象圖紙類型,再根據(jù)選擇加載相應(yīng)的命令流模板文件,自動識別模板文件中的參數(shù),對應(yīng)創(chuàng)建參數(shù)輸入界面,再根據(jù)用戶輸入替換命令流模板,形成完整命令流后傳遞給CAD軟件執(zhí)行,得到最終的CAD圖紙。

        程序的實現(xiàn)流程見圖8。

        圖8 程序?qū)崿F(xiàn)流程

        4 應(yīng)用效果

        將該方法應(yīng)用在船舶軸系設(shè)計,產(chǎn)生的圖紙示例見圖9。

        圖9 實現(xiàn)的效果示例

        對比上下2個圖形,可以發(fā)現(xiàn)其中不僅是參數(shù)值的差異,也有圖元對象細(xì)節(jié)的差異。比如圖中下部的軸段中有過渡圓弧、有對稱軸線示意、有連接法蘭信息等,而上部的軸段則沒有這些細(xì)節(jié)信息。傳統(tǒng)的CAD參數(shù)化系統(tǒng)要實現(xiàn)這個差異,必須定義很多個系統(tǒng)配置參數(shù),根據(jù)系統(tǒng)配置參數(shù)的用戶取值來決定輸出圖元對象時的細(xì)節(jié)。這樣,系統(tǒng)實現(xiàn)的復(fù)雜度明顯增加,而且不可能包含所有的細(xì)節(jié)配置特征,導(dǎo)致很多情況下只有修改源程序才能實現(xiàn)功能的修改。但本文構(gòu)建的方法,其核心是命令流模板文件,針對同一個需要參數(shù)化繪制的對象,可以構(gòu)建不同的命令流模板。如圖9所示,其上下分別為2個命令流模板文件所生成的,在下部圖元所對應(yīng)的命令流模板中,包含了更多的細(xì)節(jié)繪制命令,因此輸出時就有更多的細(xì)節(jié)信息。因為命令流模板本質(zhì)上是普通的文本文件,修改很方便,可以由用戶來修改命令流模板文件,給予用戶一定的自主調(diào)整的可能,而不需要修改源程序。因此,本方法實現(xiàn)的是一種CAD參數(shù)化繪圖系統(tǒng)的開發(fā)平臺,借助該平臺中提供的命令流模板文件的配置設(shè)定工具,只需要開發(fā)配置更多的命令流模板文件,就可以實現(xiàn)對CAD參數(shù)化繪制對象的擴(kuò)展。

        5 結(jié)論

        對現(xiàn)有CAD參數(shù)化繪圖系統(tǒng),提出新的實現(xiàn)方法,利用已有的案例圖紙產(chǎn)生繪圖命令流初始文件,再通過相應(yīng)的輔助工具創(chuàng)建形成命令流模板,模板文件中包括“直接參數(shù)”,和“間接參數(shù)”兩類占位符號。運(yùn)行時通過創(chuàng)建好的命令流模板文件自動創(chuàng)建出相應(yīng)的輸入界面,根據(jù)輸入?yún)?shù)進(jìn)行計算后替換原來命令流模板文件形成新的繪圖命令流,實現(xiàn)參數(shù)化繪圖的目的。解決了其中配置化表達(dá)式計算、模板文件輔助編輯等關(guān)鍵問題。該方法將傳統(tǒng)的CAD參數(shù)化繪圖系統(tǒng)提升到平臺化開發(fā)的高度,已在實際的軸系輔助設(shè)計軟件中得到集成應(yīng)用,效果良好。但在模板文件構(gòu)建的方便性方面,還有進(jìn)一步提升的空間。

        猜你喜歡
        繪圖命令圖紙
        來自河流的你
        中國三峽(2022年7期)2022-12-02 05:28:02
        “禾下乘涼圖”繪圖人
        只聽主人的命令
        淺談汽車線束產(chǎn)品圖紙管理
        看圖紙
        基于HTML5 Canvas繪圖技術(shù)應(yīng)用
        電子測試(2018年4期)2018-05-09 07:28:32
        移防命令下達(dá)后
        這是人民的命令
        Surfer和ArcView結(jié)合在氣象繪圖中的應(yīng)用
        河北遙感(2015年2期)2015-07-18 11:11:14
        酒店室內(nèi)裝修圖紙深化設(shè)計淺析
        河南科技(2014年12期)2014-02-27 14:10:44
        欧美精品人人做人人爱视频| 日本一区二区不卡在线| 日本av一区二区三区视频| 四虎国产精品永久在线国在线 | 好大好湿好硬顶到了好爽视频| 久久久久久久人妻无码中文字幕爆| 亚洲一级电影在线观看| 久久老熟女乱色一区二区| 亚洲一区精品无码| 久热综合在线亚洲精品| 久久精品亚洲精品毛片| 亚洲精品一区二在线观看| 人妻少妇久久中文字幕| 伊人色综合九久久天天蜜桃| 欧美丝袜秘书在线一区| 国产三级精品三级在线专区| 宅男666在线永久免费观看| 成人国产午夜在线视频| 日本道免费一区日韩精品| 91精品国产92久久久| 毛多水多www偷窥小便| 亚洲精品国产品国语在线app| 麻豆成人久久精品二区三区免费| 欧美熟妇另类久久久久久不卡 | 日韩中文字幕中文有码| 亚洲综合精品一区二区三区| 性人久久久久| 国产成人av免费观看| 丰满人妻AV无码一区二区三区| 亚洲精品在线视频一区二区| 色综合久久久久久久久久| 久久精品中文字幕极品| 女同性恋看女女av吗| 国产激情无码视频在线播放性色| 亚洲人成网站在线观看播放| 日本熟妇高潮爽视频在线观看 | 亚洲一区二区三区精品久久| 成年美女黄的视频网站| 五月天精品视频在线观看| 日本高清中文字幕二区在线| 无套无码孕妇啪啪|