使用.NET(C#或VB.NET)开发NX外部程序
1.如何不用将exe程序拷贝到UGII目录下运行?
答:
在调用NX Open命令函数前,将当前目录移动到NX安装目录\UGII\,NX安装目录必须和环境变量UGII_BASE_DIR的值一致,否则报错。可以使用如下代码:
Dim instalDir As String = Environment.GetEnvironmentVariable("UGII_BASE_DIR")
System.IO.Directory.SetCurrentDirectory(instalDir)
2.我的外部程序很小,不想打包NX的.NET库文件一起发布,而是使用用户的库文件,要怎样做呢?
答:
第一步,显示项目所有文件,展开Application.myapp文件,再打开Application.Designer.vb文件,为MyApplication添加Startup事件回调函数,在里面添加如下代码:
Dim ufdir As String = Environment.GetEnvironmentVariable("UGII_BASE_DIR")
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.dll"))
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.UF.dll"))
Reflection.Assembly.LoadFrom(IO.Path.Combine(ufdir, "\UGII\managed\NXOpen.Utilities.dll"))
第二步,修改程序运行配置文件:你的exe程序文件名.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NXOpen" culture="neutral" publicKeyToken="null"/>
<codeBase version="8.0.2.2" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NXOpen.UF" culture="neutral" publicKeyToken="null"/>
<codeBase version="8.0.2.2" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.UF.dll"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NXOpen.Utilities" culture="neutral" publicKeyToken="null"/>
<codeBase version="4.0.0.0" href="FILE://D:\Program Files\Siemens\NX 8.0\UGII\managed\NXOpen.Utilities.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
使用.NET(C#或VB.NET)开发NX外部程序的更多相关文章
- VB.NET开发中遇到的一点小问题
在用vb.net开发的security support时,遇到一个问题,在trainingCourses.aspx页面上增加了一个HyperLink控件 <asp:HyperLink runat ...
- NX二次开发-NX+VS写代码设断点调试技巧
在做NX二次开发的时候写完代码,编译可以通过,但是执行的时候却没有反应,或者得到的结果不对,说明肯定有地方传值出错了.我在查找代码错误的时候有几种方法:1.uc1601打印函数输入和输出的值看对不对. ...
- NX二次开发-NX访问SqlServer数据库(增删改查)C#版
版本:NX9+VS2012+SqlServer2008r2 以前我写过一个NX访问MySQL数据库(增删改查)的文章https://www.cnblogs.com/nxopen2018/p/12297 ...
- VB.NET开发中遇到的一个小问题
在修改公司用vb.net的写的代码时,遇到一个小问题 页面上有一个button, ID是btnNext, 在属性页中,它的click事件对应的是cmdNext, 我像在c#中一样,在属性页中双击cmd ...
- 使用 VB.NET 开发多线程
摘要:.NET 框架提供了新的类,可以方便地创建多线程应用程序.本文介绍如何使用 Visual Basic® .NET 的多线程编程技术来开发效率更高.响应速度更快的应用程序. 目录 简介 多线程处理 ...
- NX二次开发-NX访问MySQL数据库(增删改查)
版本:NX11+VS2013+MySQL5.6(x64)+SQLyog 1.新建一个NX项目(多字节) 2.设置VC++目录(调用MySQL的头文件,dll和lib库文件) 3.设置番茄助手 然后重启 ...
- 演练:使用Xamarin.Forms开发产品介绍性质的应用(VB版)
概述 Xamarin这个使用mono和.net core的跨平台开发框架这几年在不断发展.被微软收购后的Xamarin为个人开发者提供了免费版的Xamarin for Visual Studio,吸引 ...
- VB.NET设置控件和窗体的显示级别
前言:在用VB.NET开发射频检测系统ADS时,当激活已存在的目标MDI子窗体时,被其他子窗体遮住了,导致目标MDI子窗体不能显示. 这个问题怎么解决呢?网上看到一篇帖子VB.NET设置控件和窗体的显 ...
- 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇
本文摘自:http://www.job168.com/info/read_100394.html 微软的许多技术,如OLE.ActiveX.以及DirectX等都是基于COM技术而建立起来的.微软本身 ...
随机推荐
- Linux centos7 mysql 的安装配置
2021-07-21 1. 创建用户 # 创建用户useradd mysql# 修改密码 passwd mysql 2. 下载 wget 网址 3. 解压 # 创建安装文件夹mkdir app# 解压 ...
- CSS 是啥?前端小白入门级理解
What is CSS? CSS stands for Cascading Style Sheets CSS describes how HTML elements are to be display ...
- Python - 面向对象编程 - __repr__()
为什么要讲 __repr__ 在 Python 中,直接 print 一个实例对象,默认是输出这个对象由哪个类创建的对象,以及在内存中的地址(十六进制表示) 假设在开发调试过程中,希望使用 print ...
- DH算法图解+数学证明
前几天和同事讨论IKE密钥交换流程时,提到了Diffie-Hellman交换.DH算法最主要的作用便是在不安全的网络上成功公共密钥(并未传输真实密钥).但由于对于DH算法的数学原理则不清楚,因此私下对 ...
- weblogic漏洞分析之CVE-2021-2394
weblogic漏洞分析之CVE-2021-2394 简介 Oracle官方发布了2021年7月份安全更新通告,通告中披露了WebLogic组件存在高危漏洞,攻击者可以在未授权的情况下通过IIOP.T ...
- Python中with...as...的用法详解
简介 with是从Python2.5引入的一个新的语法,它是一种上下文管理协议,目的在于从流程图中把 try,except 和finally 关键字和资源分配释放相关代码统统去掉,简化try-.exc ...
- 洛谷P1583——魔法照片(结构体排序)
https://www.luogu.org/problem/show?pid=1583#sub 题目描述 一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人. ...
- 判断javaScript变量是Ojbect类型还是Array类型
JavaScript是弱类型的语言,所以对变量的类型并没有强制控制类型.所以声明的变量可能会成为其他类型的变量, 所以在使用中经常会去判断变量的实际类型. 对于一般的变量我们会使用typeof来判 ...
- P4022-[CTSC2012]熟悉的文章【广义SAM,dp,单调队列】
正题 题目链接:https://www.luogu.com.cn/problem/P4022 题目大意 给出\(m\)个模板串. 然后\(n\)次询问给出一个串\(S\)要求找到一个最大的\(L\)使 ...
- CF438E-The Child and Binary Tree【生成函数】
正题 题目链接:https://www.luogu.com.cn/problem/CF438E 题目大意 每个节点有\(n\)个权值可以选择,对于\(1\sim m\)中的每个数字\(k\),求权值和 ...