
發布
注冊
/
登錄vb的案例
利用VB生成APDL文件和Python文件的方法
2 方法
2.1 VB與APDL
事先編寫好的文件為ansys.txt,其格式如圖3所示,這些APDL命令不能直接嵌入VB進行使用,而是需要進行一定的轉換,轉換完成后可以嵌入VB程序里面,再由VB程序生成批處理文件,用于ANSYS執行有限元分析過程。
圖3 APDL文件格式
在VB里面的語句格式如圖4所示。
圖4 VB里面的APDL語句
對比圖3和圖4,可知兩者相差的語句部分為PrintLines(input,),因此只需在APDL語句補上該部分即可,為此編寫一些語句實現這個添加功能。語句如圖5所示,通過VB打開并讀取ansys.txt文件,再通過固定的輸出格式輸出添加語句后的文件,最終得到如圖6所示的VB_ansys.txt文件。
圖5 語句添加代碼
圖6 添加后的輸出文件
VB_ansys.txt文件中的語句即可直接嵌入到VB里面。
2.2 VB與Python
雖然Python腳本文件格式與APDL文件格式不一樣,但是將Python腳本文件處理成VB可以直接用來嵌入的語言格式的方法完全一樣。如圖7和圖8所示,分別是處理前和處理后的文件格式。
圖7 Python文件
圖8添加后的輸出文件
展開 基于VB的ANSYS二次開發之孔板靜力、溫度場分析實例 ¥29.9
VB與ANSYS之間的數據交互
1、利用ANSYS生成命令流的方法
利用VB 生成命令流的方法利用VB 對ANSYS進行二次開發,其基本原理就是利用VB 語言提供的OPEN 函數打開和建立一個ANSYS 的命令流文件,在流文件中寫入相應的APDL 語句;然后,利用VB 程序來調用ANSYS 時將命令流文件讀入,運行出用戶需要的結果。生成命令流的程序代碼可以用下面的VB 程序來實現。
Open "VB_ANSYS.inp" For Output As #1............. .............(1)
Print #1, "/CLEAR"..........................................(2)
程序中第一條語句的作用是新建一個名稱為"VB_ANSYS.inp"宏文件;第二條語句的作用是在上述建立的宏文件中寫入APDL 命令流語句/ CLEAR (當ANSYS 讀入該語句時,清空以前的數據,開始一個新的分析)。
2、VB對ANSYS的調用
在宏文件生成后,需要在VB 中調用ANSYS 進行處理。目前,雖然調用方法有很多種,但是常采用shell 函數的方法。
展開 基于ANSYS的VB計算程序開發
雙擊Button(計算)按鈕,進入vb代碼界面,如圖5所示,該段代碼為VB自動加載的,為一個函數,點擊計算按鈕之后便運行此函數。
圖5 VB自動生成的代碼
(5)編寫計算按鈕的程序。VB調用ANSYS采用的使shell函數,通過shell函數啟動ANSYS后,ANSYS自動讀入批處理文件,然后進行批處理計算。而批處理文件需要先生成。VB采用PrintLine函數向打開的文件里面逐行輸出APDL命令,具體實現代碼如圖6所示,在此段代碼中需要借助界面輸入的參數需要進行替換,如圖中黑色字體部分所示。其中FileOpen函數用于打開一個txt文件。
圖6 VB輸出批處理文件代碼
(6)程序運行。程序編寫完成之后,即可運行測試。點擊Start,在彈出的程序界面輸入參數,如圖7所示。
圖7 參數設置
(7)運行結果。參數設置完畢,點擊“計算”,發現ANSYS啟動了一個黑色的框,直到計算完畢,黑框關閉,設置的工作目錄下生產結果文件,如圖8所示。
圖8 生成的結果文件
打開其中的db文件,即可顯示計算結果如圖9所示。其實計算結果可以在VB編寫的程序界面顯示,此次僅就計算進行設計。
圖9 ANSYS計算結果
展開 VB.net程序與C#程序混合編程
適用背景:項目的主程序為VB.net語言編寫,項目需要實現某個功能,有現成的C#語言的代碼。
此時實現項目具有此功能有兩種方案:
一、 將C#語言改編為VB.net語言;
二、將C#代碼集成到VB.net項目的主程序下,實現VB.net程序與C#程序混編。
使用軟件: Microsoft visual studio 2010 。
初始思路: 因為熟悉vb.net語言,并未使用過C#程序編寫過程序,但是接觸過C語言與C++語言,
(題外話,熟悉C程序與C++程序對于理解其他程序會容易很多,只了解最基本的C++程序,繼 承、模板等并不會使用)
將C#程序封裝在類庫中,生成.dll文。C#程序的功能通過函數實現,引用類即可調用類的函數。
第一部分,在C#中生成類庫。
一、在vs中選擇新建C#項目,選擇類庫;
二、在類中寫入實現功能的函數;(既要將C#中的功能函數從main函數中分離,這一步對于只會vb.net的人是 一個考驗)。
例如我在類中創建了一個函數名為Mutiply(),實現兩個數字相乘的功能。
public static float Mutiply(float numA, float numB)
{
float numC;
numC = numA * numB ;
return numC;
}
三、保存項目,在vs的主菜單下【生成】下點擊生成ClassLibrary1。
展開 
基于VB的ANSYS二次開發之概述
VB對ANSYS的封裝
VB 對 ANSYS 的封裝包括3個部分:
1)設計友好的VB 可視化界面,方便操作;
2) VB 能有效調用 ANSYS,并執行相應的 APDL 文件;
3) 將ANSYS計算結果有效的傳輸回VB界面,為開發者提供有用的信息。
用戶模塊界面
用戶界面的設計既要考慮到操作者友好的操作,也要保證為 ANSYS 提供有效的計算參數。在本例中,為了實現孔板的參數化分析, 選用孔板的有限元分析參數作為輸入的內容,同時操作者還必須按工程要求輸入相應的材料參數信息。
功能說明
用戶端界面采用一個pictureal圖畫框用于查看分析結果;5個commandbutton按鈕用于實現不同分析的選擇、分析結果的查看和界面退出;7個label文本用于相關參數的設計及7個text文本框用于相關參數的輸入。
程序說明
由于Visual Basic6.0采用的事件驅動方式,程序過程都是處于控件響應事件中,并無特殊算法,大部份均為操作流,還有一些APDL算法,主要有Duncan-Chang本構模型算法、蠕變材料模型算法和用戶自定義破壞準則模型算法
未完待續。。。。。。。
展開 VB讀取txt的數據
VB讀取txt的數據
1 概述
VB通常結合其他的計算工具進行相關的二次開發,在調用軟件進行計算時產生的結果文件很多都是txt格式的,或者有時候為了方便輸出會在計算軟件里面有意將想要的結果輸出為txt格式的文件進行存儲。
在VB里除了需要調用計算,還需要對txt的結果進行讀取并顯示,以及做相關的計算。VB在讀取txt數據時用到的幾個主要函數是LineInput和InputString。本次以一次實例,通過VB讀取并顯示txt文件的某些數據。
需要讀取的數據如圖1紅色方框標示。該txt文件一共100多行,需要的數據在第93行和第96行。
圖1 數據位置
2 方法
在VB里面拖曳生成一個簡單的界面,如圖2,用于顯示數據,增加一個按鈕,執行讀取和顯示操作。雙擊按鈕,進入代碼編輯界面,首先定義變量。如下所示:
圖2 VB界面
Dim m As Integer, n As Integer, i As Integer, s(1000) As String, str(1000) As String, ss(1000) As String
m = 1
n = 1
Dim input1 As Integer
Dim output1 As Integer
input1 = 1
接著讀取txt文件,讀取時先獲得VB界面得到的文件位置,采用FileOpen函數,代碼如下:
FileOpen(1, 文件位置.Text & "\linearStressResults.txt", OpenMode.Input)
得到txt文件的行數,VB讀取txt文件是逐行逐行的讀,一般輸出的結果格式都是固定的,具體位置也是固定的,因此可以采用位置控制的方法找到需要的數據。
展開 CATIA VBA二次開發入門(6)-VB6.0與exe文件
這一篇章我們來講一下如何使用外部的VB6.0進行二次開發,并生成可執行程序。
使用外部IDE進行二次開發需先連接CATIA二次開發接口,即前面提到過的CATIA.application。
這次依然使用前面的陣列圓柱體案例程序進行講解。
導入與導出窗體文件
CATIA中雖然集成了VB軟件,但其生成exe文件功能卻被刪除了。因此我們需要借助外部的VB6.0軟件來生成可執行文件。VB6.0需要單獨安裝。
基于Abaqus的VB計算程序開發
基于Abaqus的VB計算程序開發
1 概述
Python腳本文件可以用來編寫Abaqus執行有限元分析過程,而VB則可以生成Python腳本文件,結合兩者即可實現Abaqus計算程序的開發。
本次以一個平面開孔模型為例,如圖1所示,設計一個程序能夠通過程序界面設置相關參數并執行計算。
圖1 平面開孔模型
2 程序界面
參數化的參數包括矩形長度w、矩形寬度h、圓的半徑r、材料的彈性模量E、泊松比以及壓力載荷p,并設置三個按鈕:
代碼轉換:將Python文件編譯成可以直接嵌入在VB里面;
生成腳本:利用VB生成Abaqus可以執行的腳本文件;
開始計算:啟動Abaqus,調用生成的腳本文件進行有限元分析。
同時還添加了一個PictureBox控件,用于顯示圖片,方便參數輸入。
最終得到的程序界面如圖2所示,給所有的Textbox命名,方便后臺代碼調用,并設置默認值。
圖2 程序界面
3 功能代碼
(1)代碼轉換
雙擊代碼轉換按鈕,進入代碼編輯頁面,該段代碼需要打開已經存在的input_1.txt文件,并且逐行讀取里面的內容,然后在每行字符串添加一些字符,輸出到output_1.txt文件中。
展開 NX UG二次開發:基于VB.NET語言的小球生成程序編寫
上一期為大家介紹了基于VB.NET的NX UG二次開發基礎操作,本期再來為大家介紹一下帶窗口界面的小球生成程序開發方法。
NX UG軟件版本:NX 12.0.0.27
開發軟件版本:MicrosoftVisual Studio Professional 2015
一、項目創建
1.參考之前發布的《基于VB.NET的NX UG軟件二次開發基礎》文章,安裝基于VB.NET的NX Open二次開發模板。
2.新建項目,在Visual Basic模板下選擇帶Windows界面的開發框架NXOpen WinForm Application。
3.參考之前發布的《基于VB.NET的NX UG軟件二次開發基礎》文章,為項目添加NX UG基于VB.NET的二次開發接口引用。
二、窗口添加
1.右側“解決方案資源管理器”窗口中雙擊“NXOpenWinForm.vb”,打開窗口設計界面。
2.右側的屬性窗口中修改窗口界面屬性值:
(Name):Create_Sphere_App
Text:創建小球程序
3.在工具箱中為窗口界面添加一個Button公共控件,并修改控件屬性值:
(Name):Cmd_Sphere
Text:生成小球
三、代碼編寫
1.雙擊窗口界面中添加的按鈕控件,打開按鈕的Click事件代碼編輯窗口。
2.在代碼編輯區中編寫如下代碼,編寫完成后生成項目。
四、運行測試
1.打開NX UG軟件,新建一個“模型”文件。
展開 VB調用ANSYS軟件
注意,此時shi.txt和sh.log文件的相對路徑指的就是“G:\ANSYS建模”了,而不是原來的VB工程文件的目錄了。
*VB調用ANSYS的流程圖:
1、代碼編輯及窗體設計
圖5 代碼編輯和窗體設計
2、APDL文件編寫
熟練的人可以直接寫ANSYS工程的APDL文件,不熟悉的人可以先在ANSYS中操作,然后在保存的.log文件中提取APDL命令流。
圖6
3、運行程序
圖7
基于Abaqus的VB計算程序開發
1 概述
Python腳本文件可以用來編寫Abaqus執行有限元分析過程,而VB則可以生成Python腳本文件,結合兩者即可實現Abaqus計算程序的開發。
本次以一個平面開孔模型為例,如圖1所示,設計一個程序能夠通過程序界面設置相關參數并執行計算。
圖1 平面開孔模型
2 程序界面
參數化的參數包括矩形長度w、矩形寬度h、圓的半徑r、材料的彈性模量E、泊松比以及壓力載荷p,并設置三個按鈕:
代碼轉換:將Python文件編譯成可以直接嵌入在VB里面;
生成腳本:利用VB生成Abaqus可以執行的腳本文件;
開始計算:啟動Abaqus,調用生成的腳本文件進行有限元分析。
同時還添加了一個PictureBox控件,用于顯示圖片,方便參數輸入。
最終得到的程序界面如圖2所示,給所有的Textbox命名,方便后臺代碼調用,并設置默認值。
圖2 程序界面
3 功能代碼
(1)代碼轉換
雙擊代碼轉換按鈕,進入代碼編輯頁面,該段代碼需要打開已經存在的input_1.txt文件,并且逐行讀取里面的內容,然后在每行字符串添加一些字符,輸出到output_1.txt文件中。
展開 
基于VB.NET的NX UG軟件二次開發基礎
前幾期中為大家介紹了CATIA軟件、AutoCAD軟件基于VB.NET的二次開發,本期再來為大家介紹一下NX UG軟件基于VB.NET的二次開發。
NX UG軟件版本:NX 12.0.0.27
開發軟件版本:Microsoft Visual Studio Professional 2015
一、NX Open模板安裝
從UG軟件的
X1
:\Program Files\Siemens\NX12.0\UGOPEN\NXOpenExamples\VB\Templates文件目錄中復制NXOpenApplication與NXOpenWinFormApplication兩個壓縮文件到C:\Users\
X2
\Documents\VisualStudio 2015\Templates\ProjectTemplates\Visual Basic文件目錄中。
注:其中的
X1是UG軟件的安裝盤符,X2是計算機名稱。
二、工程創建
在Microsoft Visual Studio Professional 2015軟件中新建項目,模板Visual Basic下點選UG軟件的VB.NET開發模板NXOpen Application。
三、NX Open開發接口引用
為項目添加UG軟件二次開發接口NXOpen.dll、NXOpen.Guide.dll、NXOpen.UF.dll、NXOpen.Utilities.dll、NXOpenUI.dll,引用文件位于X:\ProgramFiles\Siemens\NX 12.0\NXBIN\managed文件目錄下(X是UG軟件的安裝盤符)。
展開 基于AUTOCAD 和VB的汽車線束軟件設計輔助開發方法
摘要:介紹一種汽車線束軟件設計輔助開發方法, 包含了圖紙格式和VB 的應用。該方法能提高線束設計品質和開發效率, 降低開發成本。
線束設計開發工作主要由原理設計、3D設計、2D設計以及基礎物料選型開發組成。在設計過程中,各部分之間信息的正確傳遞是重要環節。本文以AUTOCAD制圖為基礎,使用圖塊對線束組成元件進行分類和格式設計,通過VB引用AUTOCAD的接口函數來實現圖紙信息的提取,同時利用Windows自帶的函數庫,設計用戶對話操作框,利用VB程序實現信息交互、信息校核等工作,最后通過Excel輸出結果。
1 圖紙組成以及元件格式
1.1 原理圖紙
本文中原理圖紙設定了CAVITY和FUSE塊,根據制圖版面需求,將CAVITY細分為4種區分方向,使得圖面外觀一致。CAVITY塊的分類示意如圖1所示。
圖1 CAVITY塊的分類示意圖
1.2 線束、拓撲圖紙
線束產品組成元件種類較多,本文對元件種類進行簡化,便于后續的設計計算。將線束圖紙中的元件簡化為5種,分別為CONNECTOR、CAVITY、SPLICE、OTHER、SEGMENT。CONNECTOR用于填寫護套信息;CAVITY用于記錄導線有直接關聯的信息;SPLICE由于其特殊性,單獨設計,主要用于記錄導線和后續的分割線束段的長度定位;SEGMENT不是具體物料,主要用于后續長度計算。圖紙中產品組成元件簡化示意如圖2所示。
圖2 圖紙中產品組成元件簡化示意圖
CONNECTOR包含10個屬性參數值,CAVITY包含18個屬性參數值,SPLICE包含10個屬性參數值,OTHER包含7個屬性參數值,SEGMENT包含4個屬性參數值。屬性參數的設置,標記欄內容格式化固定,值的內容部分由設計輸入。其它屬性部分由后續通過設計計算自動填寫。
展開 【VB思享會-線上Panel】AI制藥企業“自證”下一步,商業化之路怎么走?
內容方面,主要有融資首發、企業專訪、「做藥人」專欄、行業深度解讀、賽道報告等;運營方面,通過「VB思享會」品牌欄目,聚焦實踐問題,研討產業趨勢,以思想碰撞促進實際合作。
專題成果:【IPO-財報解讀】【iPSC】【核藥】【蛋白降解劑】【上游工具】【合成生物學】【類器官】【VB思享會】等
關于VB思享會
VB思享會是動脈網的品牌活動之一,以探討醫藥健康領域解決之道為核心的面對面平臺,旨在“聚焦實踐問題、研討產業趨勢”。活動圍繞核心主題的發展現狀,針對所遇到的難點、痛點、障礙進行深度探討、分析和碰撞。與此同時,深入了解企業之間的資源稟賦,以思想碰撞促進實際合作。“每期,一主題、一載體、一生態”
展開 『分享』CATIA二次開發VB幫助文件
對用VB對CATIA進行二次開發有用
V5Automation.part01.exe
V5Automation.part02.rar
V5Automation.part03.rar
V5Automation.part04.rar
V5Automation.part05.rar
V5Automation.part06.rar
V5Automation.part07.rar
V5Automation.part08.rar
V5Automation.part09.rar
V5Automation.part10.rar