
正文
vb.net开发proe vbnet delegate
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
proe二次开发 vb与VC的区别?
VB二次开发并不能从底层开发vb.net开发proe,它只是在proevb.net开发proe的基础上增加些功能vb.net开发proe,而Proe提供给VB开发的类库也比较j简单,并没有涉及到深层次的,所以结合VB开发很简单,也相应地开发出一些比较实用但不是特别复杂的功能,而Proe提供给VC++的类库就很多,这也就意味着VC++二次开发proe会更麻烦,更复杂,而开发出来的功能更强大,很多都是VB没法开发的,所以vb.net开发proe你看情况选择哪个吧
相关问答
Q1: 你的agw与proe5.0连接成功了吗
连接不的,只能是proe3.0以下!不过从proe4.0开始,以支持vbApi接口了,可用VB.net开发!
Q2: 谁用过ProEngineerStart ProE二次开发
朋友您好vb.net开发proe!
没用过vb.net开发proe,Pro/E的二次开发方法有五种:
(1)基于Pro/TOOLKIT的二次开发过程
Pro/TOOLKIT是针对Pro/E功能强大的二次开发工具。它封装了许多针对Pro/E底层资源调用的库函数与头文件,借助第三方编译环境(C语言、VC++语言等)进行调试。使用Pro/TOOLKIT开发应用程序包含三个基本步骤:编写源文件(包括资源文件和程序源文件);生成可执行文件;可执行文件在Pro/E中注册并运行是Pro/E软件自带的二次开发模块,可以直接访问Pro/E软件的最底层数据库资源,这是进行PRO二次开发最根本的方法,但要求开发人员具有相当C语言的编程能力;它是PTC公司为Pro/E提供的用户化工具箱(18以前的版本为Pro/DEVELOP),该工具箱为用户程序、软件及第三方程序提供了与Pro/E的无缝联接。用户程序和第三方程序是用c语言编写的,Pro/TOOLKIT提供了大量的c语言的库函数,能够使外部应用程序安全有效地访问Pro/E的数据库和应用程序。通过c语言编程及应用程序与Pro/E的无缝集成,用户和第三方能够在Pro/E系统中增加所需的功能。
(2)基于Automation GATEWAY的二次开发
Automation GATEWAY是RAND公司开发的针对Pro/E软件的二次开发工具,与Pro/E系统自带的二次开发工具Pro/TOOLKIT相比,具有简单易用的优点。应用AutomationGATEWAY可以自动实现Pro/E任务,创建用户界面,完全实现自动设计任务;应用AutomationGATEWAY可以把任何支持ActiveX的应用程序和Pro/E建立直接联系。利用VB,可以使Microsoft Ofice产品(如Word,Excel等)和Pro/E对象之间进行数据交换。在这个过程中,Automation GATE WAY在VB和Pro/E之间起到桥梁和纽带的作用。通过A,就可以利用VB访问Pro/E的大部分底层资源文件。
(3)基于J-Link的二次开发过程
基于JAVA语言的二次开发工具,用户通过JAVA编程实现在软件Pro/E中添加功能。
(4)基于Pro/Web Link的二次开发过程
这种方法使用的语言是javascript,以网页的形式来访问Pro/E模型
(5)基于VB API的二次开发过程
Pro/E Wildfire 4.0开始可以采用Visual Basic API,通过 Visual Basic NET 应用程序和应用程序 (如 Microsoft Word、Excel 或 Access) 中的 Visual Basic 宏来进行二次开发。
Q3: VB.NET中的组件开发
简介 组件其实是一段可以重用的代码 通过遵循IComponent接口的标准来实现一个组件 所以有组件都是派生于Component类 由Component类来实现IComponent接口 在组件中应正确使用函数的访问级别来控制外部对其的访问限制 只要有足够的权限就可以将组件放到自己的程序中而不用担心组件会产生多大的错误 因为组件已经经过测试的 比如说可以把一段登录的程序做成一个组件 或者把经常使用到的一些功能也做成组件 这样就可以减少开发中的错误 也可以缩短开发时间 组件之间也可以互相套用 如一个组件引用另一个组件 都是没问题 但要先在Add Reference中添加对组件的引用 在 NET中是通过把组件放在程序集中来实现的 程序集中存放著这些组件所依赖的文件信息和所在路径 因此CLR就可以通过这些信息来确定组件所需要的其他程序集的位置 ( 另外在组件设计过程中应好好利用接口来设计组件) 在VS中创建组件 选建一个Project 再从模板中选Class Library OK 接着再从Project菜单中Add Component 到些为止 组件的一个框架就呈现在眼前 平台自动继承了Component类和构造函数 可以删除原先创建类库时自动生成的Class 看应用的需要 接着就可以在组件类里写要实现的功能 最后从Build(生成)菜单中选择Build Solution(生成解决方案)来生成组件 如果生成成功的话 到应用程序的BIN目录下会看到一个DLL文件 引用组件 只要在Solution Explorer窗口中 添加对DLL的Reference就可以了 Imports loginValidator Imports System Data Imports System Data SqlClient Public Class loginFormClass loginForm Inherits System Windows Forms Form #Region Windows 窗体设计器生成的代码 Public Sub New()Sub New() MyBase New() 该调用是 Windows 窗体设计器所必需的 InitializeComponent() 在 InitializeComponent() 调用之后添加任何初始化 End Sub 窗体重写 dispose 以清理组件列表 Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (ponents Is Nothing) Then ponents Dispose() End If End If MyBase Dispose(disposing) End Sub Windows 窗体设计器所必需的 Private ponents As System ComponentModel IContainer 注意: 以下过程是 Windows 窗体设计器所必需的 可以使用 Windows 窗体设计器修改此过程 不要使用代码编辑器修改它 Friend WithEvents lblUserPwd As System Windows Forms Label Friend WithEvents lblUserName As System Windows Forms Label Friend WithEvents txtUserName As System Windows Forms TextBox Friend WithEvents txtUserPwd As System Windows Forms TextBox Friend WithEvents btnSubmit As System Windows Forms Button Friend WithEvents btnExit As System Windows Forms Button Friend WithEvents Label As System Windows Forms Label Friend WithEvents Label As System Windows Forms Label Friend WithEvents btnCancel As System Windows Forms Button Friend WithEvents Label As System Windows Forms Label System Diagnostics DebuggerStepThrough() Private Sub InitializeComponent()Sub InitializeComponent() Dim resources As System Resources ResourceManager = New System Resources ResourceManager(GetType(loginForm)) Me lblUserPwd = New System Windows Forms Label Me lblUserName = New System Windows Forms Label Me txtUserName = New System Windows Forms TextBox Me txtUserPwd = New System Windows Forms TextBox Me btnSubmit = New System Windows Forms Button Me btnExit = New System Windows Forms Button Me Label = New System Windows Forms Label Me Label = New System Windows Forms Label Me btnCancel = New System Windows Forms Button Me Label = New System Windows Forms Label Me SuspendLayout() lblUserPwd Me lblUserPwd Location = New System Drawing Point( ) Me lblUserPwd Name = lblUserPwd Me lblUserPwd Size = New System Drawing Size( ) Me lblUserPwd TabIndex = Me lblUserPwd Text = 密码 Me lblUserPwd TextAlign = System Drawing ContentAlignment MiddleCenter lblUserName Me lblUserName Location = New System Drawing Point( ) Me lblUserName Name = lblUserName Me lblUserName Size = New System Drawing Size( ) Me lblUserName TabIndex = Me lblUserName Text = 帐号 Me lblUserName TextAlign = System Drawing ContentAlignment MiddleCenter txtUserName Me txtUserName BackColor = System Drawing SystemColors Info Me txtUserName BorderStyle = System Windows Forms BorderStyle FixedSingle Me txtUserName Location = New System Drawing Point( ) Me txtUserName Name = txtUserName Me txtUserName Size = New System Drawing Size( ) Me txtUserName TabIndex = Me txtUserName Text = txtUserPwd Me txtUserPwd BackColor = System Drawing SystemColors Info Me txtUserPwd BorderStyle = System Windows Forms BorderStyle FixedSingle Me txtUserPwd Location = New System Drawing Point( ) Me txtUserPwd Name = txtUserPwd Me txtUserPwd PasswordChar = Microsoft VisualBasic ChrW( ) Me txtUserPwd Size = New System Drawing Size( ) Me txtUserPwd TabIndex = Me txtUserPwd Text = btnSubmit Me btnSubmit BackColor = System Drawing SystemColors ActiveBorder Me btnSubmit Cursor = System Windows Forms Cursors Hand Me btnSubmit ForeColor = System Drawing SystemColors InfoText Me btnSubmit Location = New System Drawing Point( ) Me btnSubmit Name = btnSubmit Me btnSubmit TabIndex = Me btnSubmit Text = 登录 btnExit Me btnExit BackColor = System Drawing SystemColors ActiveBorder Me btnExit Cursor = System Windows Forms Cursors Hand Me btnExit Location = New System Drawing Point( ) Me btnExit Name = btnExit Me btnExit TabIndex = Me btnExit Text = 退出 Label Me Label Font = New System Drawing Font( Impact ! System Drawing FontStyle Regular System Drawing GraphicsUnit Point CType( Byte)) Me Label Location = New System Drawing Point( ) Me Label Name = Label Me Label Size = New System Drawing Size( ) Me Label TabIndex = Me Label Text = TEST Label Me Label BackColor = System Drawing SystemColors ControlText Me Label ForeColor = System Drawing SystemColors HighlightText Me Label Location = New System Drawing Point( ) Me Label Name = Label Me Label Size = New System Drawing Size( ) Me Label TabIndex = Me Label Text = 系统登录 Me Label TextAlign = System Drawing ContentAlignment MiddleCenter btnCancel Me btnCancel BackColor = System Drawing SystemColors ActiveBorder Me btnCancel Cursor = System Windows Forms Cursors Hand Me btnCancel Location = New System Drawing Point( ) Me btnCancel Name = btnCancel Me btnCancel TabIndex = Me btnCancel Text = 取消 Label Me Label ForeColor = System Drawing Color Red Me Label Location = New System Drawing Point( ) Me Label Name = Label Me Label Size = New System Drawing Size( ) Me Label TabIndex = Me Label Text = 为保证系统安全 请先登录 loginForm Me AutoScaleBaseSize = New System Drawing Size( ) Me BackColor = System Drawing SystemColors ActiveBorder Me ClientSize = New System Drawing Size( ) Me Controls Add(Me Label ) Me Controls Add(Me btnCancel) Me Controls Add(Me Label ) Me Controls Add(Me Label ) Me Controls Add(Me btnExit) Me Controls Add(Me txtUserPwd) Me Controls Add(Me txtUserName) Me Controls Add(Me btnSubmit) Me Controls Add(Me lblUserName) Me Controls Add(Me lblUserPwd) Me FormBorderStyle = System Windows Forms FormBorderStyle None Me Icon = CType(resources GetObject( $this Icon ) System Drawing Icon) Me MaximizeBox = False Me MinimizeBox = False Me Name = loginForm Me SizeGripStyle = System Windows Forms SizeGripStyle Hide Me StartPosition = System Windows Forms FormStartPosition CenterScreen Me Tag = 登录 Me Text = TEST 系统登录 Me ResumeLayout(False) End Sub #End Region Private Sub loginForm_Load()Sub loginForm_Load(ByVal sender As System Object ByVal e As System EventArgs) Handles MyBase Load txtUserName Focus() btnCancel Visible = False End Sub Private Sub btnExit_Click()Sub btnExit_Click(ByVal sender As System Object ByVal e As System EventArgs) Handles btnExit Click Application Exit() End Sub Private Sub btnSubmit_Click()Sub btnSubmit_Click(ByVal sender As System Object ByVal e As System EventArgs) Handles btnSubmit Click 调用loginValidator组件 Dim validator As New Validator validator vUsername = txtUserName Text Trim validator vUserpwd = txtUserPwd Text Trim If (validator validate() = True) Then Me Close() Else MessageBox Show( 帐号或密码错误 请重试! 验证错误 MessageBoxButtons OK MessageBoxIcon Warning) End If End Sub Private Sub btnCancel_Click()Sub btnCancel_Click(ByVal sender As System Object ByVal e As System EventArgs) Me Dispose() End Sub Private Sub btnCancel_Click_ ()Sub btnCancel_Click_ (ByVal sender As System Object ByVal e As System EventArgs) Handles btnCancel Click Me Close() End Sub End Class 关于在 NET中使用组件 NET可以向后兼容 并支持了和ActiveX对象等早期版本的应用程序 在 NET中使用等很有趣 NET创建一个包将它们包装起来 而它们之间的交互就是通过这个包装来进行的 这个包就叫做运行时可呼叫包装(RCW) 可以直接使用 也可以先转换成 NET程序集后再使用 直接使用组件是通过Add Reference来实现的 这种方法通过RCW来包装 缺点 无法放到 GAC中 不能重用 通过转换成 NET程序集来使用 是通过利用 tlbimp 命令行工具来实现的 语法 tlbimp Name dll /out:Comp dll /namespace:myNS /a *** Version: myVersion /reference:refname 第一个为的名称 第二个为要生成的 NET组件名称 第三个为要生成的名称空间 第四个为 版本号 第四个指定引用的文件名 lishixinzhi/Article/program/net/201311/12392
Q4: VB做proe二次开发,驱动模型尺寸过程中程序报错。
我以前做过用VB开发ProE,需要安装一个第三方软件,而且需要配置连接。
SW我没开发过。
下面是我用VB开发ProE做的连接:
下载了一个第三方软件AGW4.2进行安装,试了好几次终于成功了,里面关键的一步是找到ProE的安装路径,然后找到AGW4.2的许可证。前几次安装不成功都是因为我找的是ProE的许可证。弄清楚之后找到了AGW4.2的许可证,并且将该许可证更名为license.dat后复制到安装目录下,然后再连接就可以成功了。当然连接之前要起动ProE,否则还是连接不成功。你的计算机安装有多个ProE的话,可以在环境变量里面修改,将不同版本的ProE的安装目录都放在一起,用分号隔开。AGW4.2支持ProE wildfire 2.0以上的版本。
打开ProE,再打开AGW4.2进行连接,连接成功后就可以用VB进行简单的编程,试了一个示例,还可以。(后来发现不起动AGW4.2也一样。)
首先练得是一个AGW4.2自带的一个VB程序。用这个小程序可以打开原先用ProE做的模型,可以设定工作目录,可以关闭并拭除。从这里面主要了解了需要建立一个AGW对象,然后用这个AGW对象来操作ProE。而在VB里面要引用这个对象,因此在工程里面添加引用,浏览到AGW4.2的安装目录,把GWAX.exe加进来,这样就可以用AGW对象了。
后来开始自己编齿轮的程序,用尺寸约束可以实现,但是渐开线又成了问题。不能实现全参数化,所以就开始琢磨用VB改ProE里面的参数。因此在ProE中建模就有技巧,不能锁定这些参数,得允许VB修改这些参数。结果一试还真好用,一下子就成功了,我特高兴。终于实现了在VB里面写几句程序,生成对话框,填几个参数就能让ProE里面自动再生齿轮。那些关于ProE二次开发发表的论文所实现的东西我也能做到了。
这里面有软件和软件匹配的问题,还有解决问题的方法问题,总之,这个星期让我看到了用VB操纵ProE的可能性。
vb.net开发proe的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet delegate、vb.net开发proe的信息别忘了在本站进行查找喔。







