iCAx开思网

标题: NXOPEN FOR .NET的机理与优势 [打印本页]

作者: 深夜摔键盘    时间: 2005-3-23 19:08
标题: NXOPEN FOR .NET的机理与优势
以前UG/UGNX提供的开发工具除了GRIP之外,有
1.OPEN API
2.OPEN C++,对OPEN API做的封装,感觉意义不是很大。不像MFC对windows API的封装那样。
  
从NX3开始,多了下面俩
3.NXOPEN C++
4.NXOPEN FOR .NET
  
文档里称OPEN FOR .NET提供的好处如下:
  
1.支持vb.net和C#,在.net平台上,写自化化程序。(注:不解其意啊,原文如下:Write automation programs in Microsoft .NET supported languages like C# and Visual Basic .NET)。
  
2.支持visual stdio.net开发环境的特性。
3.可以使用.net框架类
4.可以使用winforms创建图形用户接口(GUI),应该是指可以使用WinForms创建窗口了。(winforms不属于.net框架的类么?)
5.可以写分布式客户机程序,在不同的机器上可访问同一个NX session。
  
6.可以访问采用NX OPEN API写的并被封装在.net托管动态连接库( managed .NET DLLs)中的类.
  
7.不明白什么意思了。原文:
Write mixed mode programs using both NX Open for .NET and .NET-wrapped User Function calls
  
感觉NXOPEN C++与NXOPEN FOR .NET好像有密切的关系。似乎NXOPEN FOR.NET是基于NXOPEN C++的。看文档里的意思,说NXOPEN C++应该是托管代码,那用来做它的NX OPEN API是托管的还是非托管的呢?
  
UG/UGNX时代,OPEN API是传统的DLL的输出函数。com技术兴起的时候,UG/UGNX似乎并未采用COM吧,好像NX3也没有。
所以小弟以为现在的NXOPEN FOR .NET仅仅有一个.net的壳子,里面装的还是OPEN API。
作者: zhjb113    时间: 2005-3-23 19:41
1.支持vb.net和C#,在.net平台上,写自动化程序。
  
NXOPEN FOR .NET是一套全新的UGAPI,与UGOpen没有关系。与UGOpen相比,NXOpen具有更好的开放性。
  
把你的操作系统换成NX内核,把OpenAPI换成JA Layer,把NXOpenC++换成,NXOpen for .net + NXOpen for C++, java,把用户程序左边的箭头去掉,你再看看。
  
中间的JA层支持Automation,所以上曾可以支持VB,C#,C++。
  
如果你会CAA,你可以把NXOpen和CAA进行比较
在我写的例子程序中,你几乎看不到任何 UGOpen的踪影
作者: 深夜摔键盘    时间: 2005-3-23 21:10
把图改改,如下:
张兄所说的JA层是指?
作者: spartutu    时间: 2005-3-23 22:12
不明白,
“3.NXOPEN C++  
4.NXOPEN FOR .NET”
在UG目录下哪个文件夹里,我只看见有UGOPEN和UGOPENPP
作者: 深夜摔键盘    时间: 2005-3-23 22:41
NXOPENC++应该在UGOPEN文件夹中
NXOPEN FOR 。NET用vs.net 2003的对象浏览器可以看到。
  
有点蒙了。但愿以后的学习,能搞清楚这些东西。也期望前辈多给讲讲原理上的东东,不致于很长时间里一头雾水。
作者: vodka    时间: 2005-3-24 01:28
深夜摔键盘 wrote:

1. 可以有两个理解,其一是指俺们中国人说的二次开发(design automation),二是指代码自动生成,也就是JA (Journal and Automation). 用户可以用交互的方式操作CAD来捕捉代码样板然后再编辑,使用。这种自动生成的代码是VB.net的。我的理解是指后者
7。就是NX API 和UG API 混合使用。最近的几个版本NX API还不能覆盖所有的功能,所以,混合的方法是必需的
还有,深夜摔东西轻一点,第二天拣起来拍1拍还可以用
作者: 深夜摔键盘    时间: 2005-3-24 01:55
老兄也没睡啊。
从文档里找到了解释,和vodka兄说的基本一致。但Automation program应该指前者。
1.Automation program:
A program written using the NX Open API. The program can be written in Visual Basic .NET, C#, C++, or Java (NX 4). An automation program is compiled and run in interactive or batch mode.
  
从文档中得到的比8较严格的说法 NX OPEN API现在包括OPEN C API,OPEN C++ API,NX OPEN C++还有NX OPEN FOR .NET。Automation program应该指的是二次开发程序。
  
7.UF Wrapper
Another name for the .NET wrapped user functions. This is because creating NX Open for .NET involves “wrapping” the Open C API (also called UF).
  
第6条,我那样理解不对,不好翻。
原文:Access the classes in the NX Open API, which are packaged in managed .NET DLLs
  
有点矛盾,学习.net开发,还要不要study c# and .net framwork?
作者: zhjb113    时间: 2005-3-24 15:46
spartutu wrote:
不明白,  
  “3.NXOPEN C++   
  4.NXOPEN FOR .NET”  
  在UG目录下哪个文件夹里,我只看见有UGOPEN和UGOPENPP

  
在这里:ugii\managed
  
看看我前面的例子吧
作者: zhjb113    时间: 2005-3-24 16:05
JA是一个层,UGS准备把所有的内部功能都用JA层表示,所以未来的UG版本里面,JA将应用十分的广泛,不仅仅是你自己开发的时候是基于JA层,UG的UI也是基于JA层。也就是说你所看到的UG交互功能都是基于JA实现的。
  
UGOpen只是把UG内部的功能包装了很少一部分提供了出来,并且包装UGOpen比较麻烦,连UG都觉得维护UGOpen 很烦,所以UGOpen将不再包装新的函数了。
  
学习NXOpen,你还是需要学习.net的。想想看,用C#写界面,和程序,比C++快多了。
  
JA (Journal and Automation).可以帮助你快速开发程序,例如,你需要创建一个Block,你的代码可以这样生成,
1在UG里面打开Journal 工具条,开始记录你的操作过程
2手工创建一个Block
3停止jaurnal
4把jaurnal工具生成的VB代码复制出来,把关键的地方,复制到你的VB工程里面
5加上你的UI编译运行,就OK了
  
我的C#的例子就是这样做出来的,只不过我把VB的代码翻译成了C# 的代码
作者: 深夜摔键盘    时间: 2005-3-24 22:02
这就是文档说的JA啊,看的时候没弄明白它的意思。
谢谢zhjb兄指点。
作者: spartutu    时间: 2005-3-26 09:06
深夜摔键盘 wrote:
  NXOPEN FOR 。NET用vs.net 2003的对象浏览器可以看到。  
  

新装了vs.net,但是没有看到NXOPEN FOR .net,请问怎么才能看到?
作者: thomasw    时间: 2005-4-7 13:14
深夜摔键盘和zhjb113 两位仁兄:
哪儿能找到NXOPEN的相关资料啊?书店里现在有没有卖的啊,我找了很多家书店,都没有找到啊,能不能指点一下?
  
作者: zhjb113    时间: 2005-4-7 20:27
书店里面没有,看UG的help吧
  
你可以看看本论坛里面的另外一篇文章,标题是:开发NX3 用VC6 好还是.net好?   ,里面有一个人说他的DOC安装出现错误,在截图的文字上你可以看到NXOPEN的的HELP安装路径为NXOPEN_NET_REF
作者: begtostudy    时间: 2008-7-6 17:00
从NX3开始,多了下面俩
3.NXOPEN C++
4.NXOPEN FOR .NET

是一个东西,是一个体系

其实UG的二次开发有两个体系OPEn和NXOPEN
https://blog.csdn.net/begtostudy/archive/2008/05/17/2453735.aspx




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3