
發布
注冊
/
登錄VB.net的案例
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。
展開 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.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軟件的安裝盤符)。
展開 SOLIDWORKS二次開發介紹
SOLIDWORKS的二次開發是建立在軟件提供的API函數的基礎上的,SOLIDWORKS的API對象結構是一個自上而下的多層樹型網絡結構,在二次開發過程中,COM編程允許SOLIDWORKS將實際的對象函數功能與外部世界聯系,提供給設計人員開發使用,而VB.Net程序語言將COM編程的復雜性降低,使得設計人員在編譯時,既可以在上層對象中尋找函數和方法,也可以面向子類對象調用其函數完成設計。
SOLIDWORKS二次開發多使用VBA、VB.NET、C#.NET、C++等語言,每種語言都有自己的優勢所在,這里僅做一個簡單的介紹。
1、VBA:VBA語言是SOLIDWORKS軟件自帶的一種宏語言,可以通過SOLIDWORKS自帶宏功能打開,方便快捷。但是VBA語言不適合系統軟件的開發,且在編程時沒有錯誤提示。
2、VB.NET: VB.NET語言,許多語言和VBA相似,宏錄制后方便編程人員的修改應用且可以作為系統軟件開發語言,以Visual Studio作為開發平臺。
3、C#.NET:C#和VB.NET優勢幾乎差不多,但是C#和SOLIDWORKS自帶宏程序語言與VBA有些不同,不適合前期入門的人員選擇。
4、C++:C++語言有些難度,不是太適合常規的SOLIDWORKS二次開發編寫,不建議使用。
展開 
礦山機械裝備云仿真CAE服務系統研究與應用
其與ASP的主要區別表現于以下幾個方面:①開發語言不同:ASP僅局限于使用腳本語言來開發;ASP.Net允許用戶選擇并使用功能完善的編程語言,也允許使用潛力巨大的.Net Framework;②運行機制不同:ASP是解釋運行的編程框架:ASP.Net是編譯執行,效率更高:③開發方式不同:ASP把界面設計和程序設計混在一起;ASP.Net把界面設計和程序設計以不同的文件分離開,復用性和維護性得到了提高。
(2)VB.Net。Visual Basic.Net(VB.Net)是基于微軟.Net Framework之上的面向對象的中間解釋性語言,可以看做是Visual Basic6.0在.Net Framework平臺上的升級版本,增強了對面向對象的支持,是.Net框架的支柱,同時更是語言演變過程中的又一個進步。
與VB相比,VB.Net不但具備了任何面向對象編程語言所具有的抽象性、封裝性、多態性,而且在繼承性上完全支持繼承VB版本。引入完全繼承后,VB.Net是真正的面向對象語言,在保證功能強大的前提下可大大提高開發速度。
(3)APDL。ANSYS參數化設計語言(ANSYS parametric design language,APDL)是一個功能強大的專用描述性、解釋性語言,類似于FORTRAN,它可以實現模型的參數化,可以獲取ANSYS數據庫信息,可以進行數學運算(包括矢量及矩陣運算),可以定義經常使用的命令或宏的縮寫(快捷鍵),可以用if-then-else分支結構和do循環及用戶指令生成執行一系列任務的宏。簡言之,APDL可以實現有限元分析的參數化建模、加載、求解和后處理,可以定制人機數據和信息交互界面,可以用其開發特殊分析功能的有限元專用分析系統,是實現遠程CAE分析服務的有效手段。
4.3 功能模塊
(1)前處理。
展開 根據AutoCAD地形圖建立ANSYS和Flac3D實體模型
后記
(1)比起C++來,C#進行AutoCAD二次開發效率更高,所以采用了C#開發AutoCADToANSYS.dll;ACAD_SurferAns最初是用VBA寫的一系列腳本,后來想打包的時候發現用VB.Net直接翻譯更快捷,所以采用了VB.Net;AnsysToFlac3D.dll采用C++對ANSYS二次開發,在吳冬博士的基礎上優化改進而來,以前研究3DEC的時候寫過ABAQUSTo3DEC.exe(ABAQUS的網格劃分確實比ANSYS優秀,自用未發布),想整合寫個AnsysToItasca.dll,把ANSYS轉3DEC的功能也加進去,但后來呵呵,畢業之前不再瞎整。。。
(2)上述方法調用了Surfer的插值功能(也可以用MATLAB的插值,只是調用起來太慢),后來想自己寫空間插值,但由于各種原因無精力去優化而擱置。
(3)由于ANSYS由樣條曲線拉伸成曲面時點數的限制,在遇到復雜地形面時精度損失較大,可以采用其他建模軟件例如CATIA、Civil3D生成體導入到ANSYS中。
展開 SOLIDWORKS二次開發——拓展設計能力與定制化解決方案
② C#和VB.NET:SOLIDWORKS提供了基于.NET框架的API開發環境,用戶可以使用C#或VB.NET等語言進行二次開發。這些語言具有強大的面向對象編程能力,能夠更靈活地操作SOLIDWORKS對象模型。
4. 成功案例與應用示例
① 自動裝配生成:通過開發腳本,實現根據設計參數自動生成復雜裝配的功能,節省了大量手動操作的時間和勞動力。
② 參數化設計軟件:通過參數化設計軟件,實現快速完成產品改型設計,減少人工的重復性工作,提高零件的重用率。
③ 批量作業軟件:通過二次開發,將一些批量作業交給程序來完成,比如批量寫屬性、批量轉格式。
SOLIDWORKS二次開發能夠拓展設計能力,優化工作流程。Solidkits可以根據企業自身需求進行SOLIDWORKS定制開發,通過使用SOLIDWORKS的API和編程技術,幫助企業以更高的效率實現智能的設計過程。二次開發不僅提高了個人和團隊的工作效率,還為企業提供了差異化的競爭優勢。
展開 .NET平臺的AutoCAD二次開發
.NET是微軟新推出的開發平臺,具有眾多優點。基于.NET平臺對AutoCAD進行二次開發,可充分利用.NET的各種優勢,在保證功能強大的前提下大大提高開發速度。
一、基于.NET的開發
1..NET API簡介
在新推出的AutoCAD 2006中,Autodesk為其開發增加了.NET API。.NET API提供了一系列托管的外包類(Managed Wrapper Class),使開發人員可在.NET框架下,使用任何支持.NET的語言,如VB.NET、C# 和Managed C++等對AutoCAD進行二次開發。其優點是完全面向對象,在擁有與C++相匹配的強大功能的同時,具有方便易用的特點,是較理想的AutoCAD二次開發工具。
2..NET API與傳統ObjectARX的主要區別
.NET API與傳統ObjectARX的區別主要源于在.NET環境下開發應用程序與在VC環境下開發應用程序的區別。首先,在VC環境下,程序員需要自己管理內存的申請和釋放,而.NET采用了垃圾回收機制,由.NET框架自行判斷內存回收的時機并實行回收,從而解決了令C++程序員頭痛的內存泄漏問題。也正是由于這個特點,在.NET環境下不能象在C++環境下那樣利用析構函數釋放其他的資源,需要程序員在程序中顯式地釋放。在.NET API中,主要通過Dispose來函數進行資源的釋放。
其次,ObjectARX中的各種反應器(Reactor)在.NET API中由外包類映射為各種事件(Event),可通過定義這些事件的響應函數來響應AutoCAD的各種操作。同時對于錯誤信息的處理也從函數返回值改變為通常異常來處理,使其更好地兼容.NET。
展開 PyQt實現Python程序的界面與邏輯分離
PyQt實現Python程序的界面與邏輯分離
長安CAE
1 概述
PyQt是Python的界面設計平臺,類似于Visual Studio之于VB.net,一般而言一個程序的界面其實不是很重要,關鍵是內部運算,但是對于工科來說,開發程序大多都是為了方便計算,界面用于參數的設置顯得尤為重要。
PyQt作為Python程序的界面開發工具,功能還是比較完備的。PyQt設計程序界面過程中通常結合Eric編譯程序代碼。PyQt不同于VB的平臺,界面里的所有設置都會保存在編譯的代碼里面,當設置項較多時,這類代碼也就比較多,如圖1所示,是采用PyQt設計的一個界面。
圖1 PyQt設計的程序界面
對應于此界面,采用Eric編譯的界面代碼如圖2所示,可知,單界面屬性的代碼就很多,在編寫邏輯運算代碼時,無疑會造成一定的影響,同時Eric編譯程序時,對于編寫的邏輯運算代碼會直接覆蓋,只會更新界面部分的代碼,為此,實現界面代碼與邏輯代碼分開,非常的有必要。
圖2 Eric編譯的程序界面屬性的代碼
2 方法
Python可以通過import語句引進各種模塊,而編譯后的界面的代碼(py文件)也可以已一種模塊的形式被引入邏輯運算部分。
例如,將PyQt設計好的界面進行編譯,操作如圖3所示。
圖3 編譯操作
編譯后的文件即如圖2所示,將該py文件修改名稱,此次改為:Ui_case1_1.py。
之后在Eric的編譯窗口里,可以把里面的左右內容全部刪除,重新在第一行輸入:
import Ui_case1_1 import Ui_Form
程序界面代碼即自動導入進來,代碼簡潔很多很多,然后就可以根據程序的具體內容進行邏輯運算的編寫。
編寫完成后按F2即可運行,此時會彈出之前設置的程序界面,進行參數設置等操作。
展開 Python學習之路-零
第一步算是完成,預計用一周時間初步完成該書的學習,畢竟我是學過C\C++\Fortran\VB.net語言的人,理解程序語言入門已經會比較快了。
第二步,下載Python語言的編譯器。
一搜網上有好多呀,這可怎么辦好。
摘自微博:
如果你是新手,請用ulipad,輕便小巧強大。
如果你是熟手,請用eclipse+pydev,或(如果對調試功能要求不高)ulipad
如果你是vi/emacs狂人,那不用我多說了吧……
如果你要用QT4寫GUI程序,請用Eric。一方面因為Eric已經相當不錯,另一方面——其實也沒其它比較好的選擇了。
如果你要用其它圖形庫寫GUI程序,那么用哪個IDE都差不多,所以請參照1和2。
找個先入門吧,同事介紹了python spyder ,管他三七二十一,先安裝了再說吧。目前安裝ulipad。
展開 White Source SAST—信息安全測試工具
-廣泛的適用性
White Source SAST支持C/C++、C#、Java、PHP、ASP、VB.Net、Visual Basic、VB Script、Python、Ruby、Java Script、Type Script、Node.js、Android Java、IOS Objective C、PL/SQL、Cold Fusion、Groovy、COBOL等多種開發語言/框架,覆蓋當前多數開發平臺。
White Source SAST可以在服務器上部署為Web應用,并通過網頁方便地訪問,并提供強大的RESTAPI以供通過Windows、Linux或Mac平臺進行調用。也可以直接部署為Windows桌面版。White Source SAST支持與Git、TFS、SVN等版本控制系統進行集成,便于代碼管理。
-漏洞覆蓋
White Source SAST能夠為使用不同開發環境和框架,在不同平臺上開發的應用程序掃描多達30多種漏洞類型(其中包括OWASP Top10),其中一些如下:
· SQL注入
· XPATH注入
· 文件泄漏
· 郵件轉發
· 跨站腳本攻擊
· 弱加密
· 危險配置項
· 代碼注入
· 危險的文件擴展名
· Shell命令執行
· HTTP響應分拆攻擊
· 信息泄漏
· LDAP注入
應用&案例
White Source SAST在汽車、金融、互聯網等領域均有應用:
展開 
ANSYS的批處理batch技
以上是通過ANSYS自身運行批處理的方式,另外可以采用其他語言,比如VB.net、Python和Fortran等來完成,不同語言完成的方式略有區別,但大致思路一致,都是通過啟動批處理程序并且輸入相應的input文件。
為完成這個過程,可以先通過圖1的主菜單Tool-Display Command Line,如圖2所示。可以得到批處理的執行代碼。
圖2
具體內容為:
"D:\Program Files (x86)\ANSYS Inc\v160\ANSYS\bin\winx64\ansys160.exe" -p ane3flds -dir "E:\CAE_Tech\process_files\79Files" -j "file14" -s read -l en-us -b -i "E:\CAE_Tech\process_files\79Files\APDL.txt"-o"E:\CAE_Tech\process_files\79Files\file.out"
其中:-p 表示指定license,ane3fl表示采用的license為ANSYS Multiphysics.
當把license變動后,可以查看到命令行也跟著改變。
-b表示采用ANSYS Batch模式
-j 表示job名稱
-s表示模式為read
-l表示語言環境
-i表示input文件
-o表示輸出文件
這些內容不一定要全部指定,但是必須指定的是license 以及輸入輸出文件
如果將上面的命令存儲在一個txt文件中,并且之后將此txt文件的后綴改為bat,成為一個批處理文件,之后雙擊即可運行該文件,執行ANSYS計算,在工作目錄生成相關文件,如圖3所示。
另外可以直接啟動CMD,在CMD窗口復制粘貼上面的代碼,同樣可以完成ANSYS的調用計算。
展開 HyperMesh批處理的運用(batch)-二次開
到了此步,可以結合Tcl或者其他語言Vb.net或者Python都可以執行這個批處理過程,對于二次開發大大的方便。
既然HyperMesh可以這樣,那HyperView是否也有自己的批處理程序?畢竟HyperView也可以通過運行Tcl腳本的方式完成一些后處理過程。
查看HyperView的屬性后,發現其根本沒有exe程序,其目標為:
"F:\Program Files\Altair\13.0\hw\bin\win64\hw.exe" /clientconfig hwpost.dat
是hw.exe通過指定配置文件啟動的,但是在Hw.exe程序所在文件夾下的命令窗口運行:
hw.exe - clientconfig hwpost.dat 卻提示錯誤,暫時不清楚是什么原因。
展開 matlab最新版下載2006a及版本信息
這個Matlab 2006版本不僅僅提高了產品質量,同時也提供了新的用于數據分析、大規模建模、固定點開發、編碼等新特征:
Matlab 2006主要更新的產品模塊為:
Control System Toolbox 7
Embedded Target for TI C2000? DSP 2
Embedded Target for TI C6000? DSP 2
Financial Toolbox 3
Link for ModelSim? 2
MATLAB Report Generator 3
Neural Network Toolbox 5
Simulink Control Design 2
Simulink Report Generator 3
Simulink Response Optimization 3
Matlab R2006a新版本中,推出了下面三個新產品(包括R14 SP3以來未隨安裝盤發布的):
MATLAB Builder for .net;
SimBiology(R14 SP3);
SimEvents (R14 SP3)。
其中MATLAB Builder for .net擴展了MATLAB Compiler的功能,主要有:
可以打包MATLAB函數,使網絡程序員可以通過C#,VB.net等語言訪問這些函數;
創建組件來保持MATLAB的靈活性;
創建COM組件;
將源自MATLAB函數的錯誤作為一個標準的管理異常來處理。
展開 CATIA VBA二次開發入門(7)-Visual Studio與Python環境編程
CATIA二次開發過程中有一個好用IDE可以讓編程更加便捷,上一篇講了如何使用VB6.0進行設計,但VB6.0已經是比較陳舊的IDE,無論是界面和功能都落后很多。