• 
    

    
    

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

      剪式升降平臺計算說明書自動生成

      2018-06-21 11:46:28李日東仲梁維
      軟件導(dǎo)刊 2018年5期

      李日東 仲梁維

      摘 要:為適應(yīng)數(shù)字化技術(shù)的發(fā)展要求,自動、規(guī)范、方便地生成機械產(chǎn)品的設(shè)計計算說明書,結(jié)合Word文檔的模板技術(shù),通過Visual Studio開發(fā)平臺添加Microsoft.Office.Interop.Word引用對Word進行二次開發(fā)。采用VB.NET語言編寫剪式升降平臺設(shè)計計算說明書的自動生成代碼,根據(jù)設(shè)計者選定的參數(shù),系統(tǒng)將根據(jù)力學(xué)計算代碼自動生成說明書的計算過程、計算結(jié)果、型材選擇以及說明書生成時間等信息。實踐表明,該方法適用范圍廣、機制簡單、靈活方便,大大提高了設(shè)計人員的工作效率,并降低了勞動強度。同時,對其它機械產(chǎn)品計算說明書或?qū)嶒瀳蟾娴淖詣由删哂幸欢▍⒖純r值。

      關(guān)鍵詞:剪式升降平臺;計算說明書;VB.NET;Word

      DOI:10.11907/rjdk.172759

      中圖分類號:TP319

      文獻標(biāo)識碼:A 文章編號:1672-7800(2018)005-0076-04

      Abstract:In order to adapt to the development of digital technology, we manage to generate automatic, standardized, convenient mechanical product design specifications, combined with Word document template technology by adding Microsoft. Office. Interop. Word to Visual Studio development platform for secondary Word develoment. Based on the language compiling scissor platform, we design auto-generated code of calculation instruction. Premised on the chosen parameters and dunamics , the system processes information including calculation process and its results, material selection and generation time of the automatic code generation instruction. By practice it is proved that the method has a wide range of application, simple mechanism and high flexibility and convenience, and it greatly improves efficiency of designers and relieves their labor intensity. Meanwhile it provides certain reference value for automatic generation of mechanical product specifications and test reports.

      Key Words:scissor lifting platform; calculation specification; VB.NET; Word

      0 引言

      剪式升降平臺是現(xiàn)代企業(yè)倉庫重要的機械產(chǎn)品之一[1],剪式升降平臺設(shè)計中的一個重要環(huán)節(jié)是平臺型材節(jié)點強度、剛度、支撐力的計算及型鋼選型,并自動生成說明書。剪式升降平臺計算公式復(fù)雜、計算量大,需要基于輸入的不同型號參數(shù)要求,自動生成相應(yīng)的計算說明書。如果僅通過編程進行計算并直接輸出結(jié)果,則不能直觀地看到計算過程,也不便于調(diào)整相關(guān)參數(shù)以優(yōu)化平臺設(shè)計[2]。

      計算機輔助設(shè)計時必然會產(chǎn)生大量數(shù)據(jù)公式,按照預(yù)先設(shè)定的格式記錄這些數(shù)據(jù)和公式顯得尤為重要。Microsoft Word 是現(xiàn)代社會使用最廣泛的辦公軟件之一,可適用于各種文檔和報告制作。由于產(chǎn)品設(shè)計計算說明書的模板和樣式不經(jīng)常變換,變換量最大的是文檔公式與計算數(shù)據(jù),在此情況下很容易產(chǎn)生人工錄入錯誤,造成不必要的損失。因此,Word文檔自動生成功能的開發(fā)具有重要的應(yīng)用價值[3-6]。

      剪式升降平臺計算涉及大量公式和數(shù)據(jù),本文以VB.NET語言為基礎(chǔ),通過添加Microsoft.Office.Interop.Word(12.0.0.0)引用,對Word進行二次開發(fā),以實現(xiàn)不同參數(shù)下剪式升降平臺說明書大量公式和數(shù)據(jù)的自動生成,從而實現(xiàn)完整計算說明書的生成。功能實現(xiàn)的前提是計算機已安裝Word應(yīng)用程序,并且在Visual Studio編譯環(huán)境下,添加了Microsoft Word 16.0 Object Library 引用。

      1 Word中主要結(jié)構(gòu)成員

      Microsoft Office是微軟公司開發(fā)的一套基于Windows操作系統(tǒng)的辦公軟件套裝[7],其是一個開放平臺,允許用戶使用 VB.NET 語言進行二次開發(fā)。本文升降平臺計算說明書自動生成技術(shù)是Word基于COM的面向?qū)ο笤O(shè)計方法[7]。

      Word 擁有一個十分龐大而復(fù)雜的對象模型,Microsoft Office Word 2016對象按層次順序排列,層次結(jié)構(gòu)頂端的 2個主類是 Application 和Document 類。Application對象提供整個應(yīng)用程序的包裝,每個Document對象表示單個Word文檔,這里只列舉幾個相關(guān)對象作簡要介紹。對象結(jié)構(gòu)如圖1所示[8]。

      (1)Application對象。在VisualStudio編譯器中編寫Word程序代碼時,只有先聲明一個Application對象,才能訪問Word中的其它相關(guān)對象和集合。

      (2)Document對象。Document 對象是 Documents 集合的成員。Documents 集合中包含當(dāng)前在 Word 中打開的所有 Document 對象,即Word中能夠打開不同文檔,前者只是后者的一個單一對象。文檔對象建立在Application基礎(chǔ)上,首先聲明一個應(yīng)用程序,然后建立一個Document對象。當(dāng)在Word中操作一個文檔時,當(dāng)前操作的文檔則被稱為活躍文檔。

      2 計算說明書模板編寫

      首先利用Word2016的排版功能,錄入剪式升降平臺各支撐點、液壓缸推力的力學(xué)計算公式以及型鋼強度剛度校核公式。因為本文需要生成升降平臺高度H(3 000-5 000)、寬度W(1 500-2 200)以及承載重量(1 000-5 000)不同參數(shù)情況下的計算說明書,以下所需的力學(xué)公式以及所求鉸點和液壓缸推力將隨所選參數(shù)的不同而改變。

      2.1 支撐臂各鉸點力計算

      輸入分布載荷q與鉸點 A、B、G、H的平衡方程求解各鉸點力,本文只輸入了其中幾個求解鉸點力的公式,其它鉸點求解方法類似,這里不再贅述。

      首先對KI桿和JM桿受力進行分析,因為要將液壓的力先從I點轉(zhuǎn)化到K點,從J點轉(zhuǎn)化到M點,再分析求解液壓的力。本文中只錄入求解KI點受力公式,桿JM、IJ和支撐臂DB、DH受力分析與KI類似。

      2.3 強度剛度校核

      剪式升降平臺說明書模板上已計算極限情況下型材的強度與剛度校核,根據(jù)條件滿足強度和剛度要求。

      2.4 剪式升降平臺部分力學(xué)計算

      平臺力學(xué)計算代碼包括計算承載平臺的均布載荷及力FG(承載平臺導(dǎo)軌滾輪端)、均布載荷及力FH(承載平臺吊耳固定端)、液壓缸與水平方向夾角、液壓缸受力、升降過程中不同位置時矩形鋼所受彎矩MFmax,并計算IJ距離最大值、IJ距離最小值、升降過程中I點的最大力即液壓最大壓力,以及各鉸點所能承受的最大力。本文只給出了其中主要鉸點力、液壓缸與水平方向夾角α,以及升降過程中I點的最大力,即液壓最大壓力的代碼,具體如下:

      //計算承載平臺的均布載荷及力F_H(承載平臺吊耳固定端)

      Public Function Compute_F_H(ByVal M As Single, ByVal L1 As Single, ByVal X As Single) As Single

      q=M*9.8/L1

      _FBFH=q*L1-(q*L1*L1)/(2*(L1-X))

      Compute_F_H=q*L1-(q*L1*L1)/(2*(L1-X))

      End Function

      //計算液壓缸與水平方向夾角α

      Public Function Compute_alpha(ByVal theta As Single) As Single

      Dim L2,L3 As Single

      _theta=theta*180/PI

      L2=Int(L1/(Cos(3.5*PI/180)))

      _L2=L2

      L_DK=(5/22)*L2 '單位mm

      L_BM=(138/2200)*L2 '單位mm

      L3=200 '單位mm

      L_IJx=(L2-L_BM-L_DK)*Cos(theta)-L3*(Cos(60*PI/180-theta)+Cos(35*PI/180+theta))

      L_IJy=(L2-L_BM+L_DK)*Sin(theta)+L3*(Sin(60*PI/180-theta)+Sin(35*PI/180+theta))

      Compute_alpha=Atan(L_IJy/L_IJx) '單位弧度rad

      End Function

      //升降過程中I點的最大力,即液壓最大壓力

      Public Function Compute_F_Imax(ByVal M As Single, ByVal H1 As Single) As Single

      Dim L1 As Single,L2 As Single

      Dim X1 As Single,X_max As Single

      Dim F_G As Single,F(xiàn)_H As Single,F(xiàn)_A As Single

      Dim theta As Single,alpha As Single

      Dim F_I As Single

      Dim F_Imax As Single

      L1=Int(H1/1.531)

      L2=Int(L1/(Cos(3.5*PI/180)))

      X_max=L1-Sqrt(L2*L2-H1*H1/4)

      X1=0

      While X1

      F_H=Compute_F_H(M,L1,X1)

      F_G=Compute_F_G(M,L1,X1)

      F_A=F_G

      theta=Acos((L1-X1)/L2)

      alpha=Compute_alpha(theta)

      F_I=Compute_F_I(F_A,F(xiàn)_H,theta,alpha)

      If F_Imax

      F_Imax=F_I

      End If

      X1=X1+10

      End While

      F_Imax=F_Imax/2

      Compute_F_Imax=F_Imax

      End Function

      3 實現(xiàn)方法

      本文以剪式升降平臺設(shè)計計算說明書自動生成功能為例,簡要介紹在Visual Studio 編譯環(huán)境下,利用VB.NET語言如何進行參數(shù)設(shè)置,以及如何調(diào)用說明書模板自動生成說明書。該實例內(nèi)容是在給定升降平臺高度H(3 000-5 000)、寬度W(1 500-2 200)以及承載重量(1 000-5 000)參數(shù)不同情況下計算各鉸點力、液壓缸推力以及型材強度、剛度校核,然后自動生成計算說明書。具體操作流程如圖4所示。

      3.1 計算說明書生成流程

      此部分代碼即為生成說明書之前的準備工作,在設(shè)計升降平臺模型前有3種情況:①文檔不存在,而且尚未開始設(shè)計,無法進行說明書生成;②文檔不存在,已經(jīng)開始設(shè)計,可直接生成新說明書;③說明書之前已建立,可直接打開已生成的計算說明書。以下為生成計算說明書流程的部分代碼:

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

      num_changed=num_changed+1

      address_road_old=Mid(address_old,1,15)

      If Dir(address_road_old & "說明書匯總\" & TextBox_design_id.Text & ".doc")="" And num_changed=0 Then

      MsgBox("尚未開始設(shè)計,生成新說明書前請確認是否已驅(qū)動模型")

      ElseIf Dir(address_new & "說明書匯總\" & TextBox_design_id.Text & ".doc")="" And num_changed=1 Then

      ins_book()'-----調(diào)用說明書子過程

      ElseIf num_changed2=222 Then

      ins_book()'-----調(diào)用說明書子過程

      Else

      Dim rrWordApp=CreateObject("Word.Application")

      Dim rrWord As Object

      rrWord=rrWordApp.Documents.Open(address_road_old & "說明書匯總\" & TextBox_design_id.Text & ".doc")

      rrWordApp.Visible=True

      End If

      num_changed2=0

      num_changed=0

      End Sub

      3.2 計算說明書自動生成

      以下為說明書自動生成的主要代碼,中間一段省略的代碼與上一行相同,只是變量不同,所以不再贅述。首先定義一個Word應(yīng)用程序,聲明一個Word文檔,將Word模板賦給Word應(yīng)用程序。運用Word API中的find.execute方法,查找計算說明書模板中各鉸點力、平臺支撐臂、液壓缸推力以及液壓缸與支撐臂夾角。當(dāng)用戶輸入不同參數(shù),以下涉及的數(shù)據(jù)均會隨著參數(shù)改變而改變。部分代碼如下:

      Sub ins_book()

      Dim WordApp=CreateObject("Word.Application")

      'Dim Word=WordApp.Documents.Open("E:\剪式升降平臺參數(shù)化設(shè)計\剪式升降平臺設(shè)計說明書.doc")

      Dim Word As Object

      Word=WordApp.Documents.Open(address_road_old & "說明書模板\" & "剪式升降平臺設(shè)計說明書.doc")

      WordApp.Visible=True

      'Label32.Text=timer_date

      Word.Content.Find.Execute("[number]",,,,,,,TextBox_design_id.Text,2) Word.Content.Find.Execute("[xxxxxxxx]",,,,,,,,,Label34.Text,2)

      Word.Content.Find.Execute("[L1]",,,,,,,,,_L1,2)

      ………

      Word.Content.Find.Execute("[FD]",,,,,,,,,_FD,2)

      Word.SaveAs(address_road_old & "說明書匯總\" & TextBox_design_id.Text & ".doc")

      WordApp.Documents.close()

      WordApp.Application.Quit()

      Beep()

      Dim ralert As DialogResult=MsgBox("說明書已經(jīng)生成,是否打開說明書?", vbYesNo + vbQuestion+vbDefaultButton2)

      If ralert=DialogResult.Yes Then

      Dim rWordApp=CreateObject("Word.Application")

      Dim rWord As Object

      rWord=rWordApp.Documents.Open(address_road_old & "說明書匯總\" & TextBox_design_id.Text & ".doc")

      rWordApp.Visible=True

      End If

      End Sub

      3 結(jié)語

      升降平臺計算說明書是剪式升降平臺設(shè)計過程中的一個重要環(huán)節(jié),涉及公式繁雜,計算量大。如果能采用上述方法直接生成計算結(jié)果,既方便快捷,又能避免錯誤錄入數(shù)據(jù),從而節(jié)省了人力[9]。利用VB.NET對Word進行二次開發(fā)[10],經(jīng)輸入?yún)?shù)后自動生成計算說明書,計算了各鉸點力、上下滑動支撐臂受力、上下固定支撐臂受力、液壓缸推力以及液壓缸與支撐臂夾角,還計算并校核了平臺支撐臂型材的強度、剛度和彎矩。最后根據(jù)計算的液壓缸推力與工作壓力選取液壓缸的內(nèi)徑和活塞直徑。根據(jù)計算結(jié)果和公式最終自動生成了剪式升降平臺計算說明書。當(dāng)平臺系統(tǒng)驅(qū)動完成,點擊初始界面上的“導(dǎo)出說明書”按鈕,即將剪式升降平臺設(shè)計說明書保存在Word中。該功能的實現(xiàn)為剪式升降平臺的快速設(shè)計以及設(shè)計參數(shù)管理提供了有效保障,而且對企業(yè)產(chǎn)品設(shè)計及其計算說明書的自動生成也有一定參考價值,可在企業(yè)的實際生產(chǎn)中發(fā)揮積極作用。

      參考文獻:

      [1] 杜旭東,仲梁維.剪叉式液壓升降平臺快速設(shè)計系統(tǒng)[J].中國水運,2017,17(1):129-132.

      [2] 吳炎明,闞勇,胡保林,等.基于C#.Net的罐籠計算說明書自動生成技術(shù)研究[J].礦山機械,2009(13):54-57.

      [3] 沈媛媛,劉益成,鄭恭明.利用VBA在Word中實現(xiàn)試卷的自動生成[J].電腦學(xué)習(xí),2007(1):25-26.

      [4] 金波.考試試卷自動生成的VBA實現(xiàn)[J].長江大學(xué)學(xué)報:自科版,2004(4):90-91.

      [5] 金良鋒,周文祥.Word實驗報告的自動生成[J].中國測試技術(shù),2007,33(4):112-115.

      [6] 劉春雷,吳重光.用VC實現(xiàn)Word自動生成操作的研究與應(yīng)用[J].計算機工程與設(shè)計,2004,25(8):1954-1956.

      [7] 林卓然.VB語言程序設(shè)計[M].北京:電子工業(yè)出版社,2012.

      [8] Word 2010[EB/OL].https://msdn.microsoft.com/en-us/library/office/ff601860(v=office.14).aspx.

      [9] 馬永志,張紀鵬,鄭藝華,等.汽車散熱器設(shè)計計算平臺文檔自動生成研究[J].青島大學(xué)學(xué)報:工程技術(shù)版,2013,28(4):71-75.

      [10] 鐘葳,童水光.鍋爐智能CAD的技術(shù)和方法研究[J].浙江大學(xué)學(xué)報:工學(xué)版,2006,40(4):572-576.

      (責(zé)任編輯:黃 健)

      营山县| 仙居县| 凌海市| 永寿县| 东辽县| 贵阳市| 濉溪县| 青州市| 中宁县| 达尔| 思南县| 平乐县| 曲靖市| 琼中| 资兴市| 卢湾区| 江阴市| 东乌珠穆沁旗| 武邑县| 许昌市| 彰化市| 马边| 灌云县| 师宗县| 潍坊市| 喀什市| 开封市| 清徐县| 错那县| 永泰县| 长岛县| 临沂市| 梅河口市| 司法| 保亭| 四会市| 郁南县| 额尔古纳市| 江华| 观塘区| 尉犁县|