iCAx开思网

标题: 关于UG二次开发系统的开发模式问题 [打印本页]

作者: dinghua2002    时间: 2009-5-26 16:12
标题: 关于UG二次开发系统的开发模式问题
请问各位:我想开发一个参数化CAD系统,现在大多都是嵌入UG内部的方法,我想请教各位,如果开发一个界面和运行环境都独立于UG软件之外的系统,也就是用VB或VC来调用启动UG,可行吗?如果可行,请介绍一下方法。谢谢了!
作者: plmfe    时间: 2009-5-26 17:51
“针对程序运行的环境不同,UF程序可分为外部UF和内部UF;
外部UF是可执行程序(.EXE),运行时只要有UG Licence 的支持,就可以由操作系统直接执行,不需要启动UG Getway(主界面)。它具体应用在Visual C++和C++Bulider 的*.EXE工程中,可以调用UF中的函数来实现UG功能。”-------《图表详解UGNX二次开发》

我也是初学,不怎么懂,看到书上有这么段话,发给你,或许对你有些启发!!
作者: dinghua2002    时间: 2009-5-27 09:40
谢谢plmfe 的热心帮助!我也找到了一段解释:
UG/Open  API 函数能在两种不同的环境下运行,根据编译链接情况的不同,UG/Open API 二次开发程序又具有两种形式:
a、外部式(External):此时UG/Open API程序可以脱离UG环境,在操作系统下单独运行,或者作为UG的一个子进程独立运行。  特点:调用灵活,用途广泛。但是无法利用UG的交互界面。
b、内部式(Internal):此时UG/Open API程序在UG环境下运行,与程序相关的各种事务通过UG代理执行。这样做的一个好处是可执行程序更小,同时链接的速度也更快。另外,一旦程序被装入,它将驻留在内存中,下次使用时不需重新加载,这样也节省了时间。而且这种方式下用户可与计算机交互,开发的程序能与UG无缝集成。  特点:直接控制UG的行为。 和用户交互。
上面这段提到的外部式的特点“无法利用UG的交互界面”意思是最终调用UG后不显示UG界面吗?那能否打开一个UG模型呢?请问一般是开发什么类型的软件才会用到外部式,什么时候又会用到内部式呢?能否举两个实例?谢谢各位耐心帮助!

本帖最后由 dinghua2002 于 2009-5-27 10:04 编辑
作者: ffhi    时间: 2009-5-27 11:56
帮助中的解释已经很清楚了。
如果不需要NX交互操作,即不用打开NX,则可使用外部模式,否则就要用内部模式了。
外部模式也可以打开NX部件,只不过由于NX没有启动而看不到而已。
作者: zhangbin7    时间: 2009-5-28 12:59
看看,学习了
作者: dinghua2002    时间: 2009-5-30 11:03
UG/Open API 二次开发外部模式生成的EXE文件,VB或VC是否可以直接调用呢?
详细点说:开发一个VB或VC界面,然后设置一个按钮,按下这个按钮能不能调用开发好的EXE文件呢?我没有找到相关文献,所以恳请大家帮忙!
作者: 173173    时间: 2009-5-30 16:43
EXE单独运行用ShellExecute,调用里面的涵数用DLL
作者: gjh20030901    时间: 2009-6-30 10:35
外部模式的好像很少看到有人做,难道是不好用?




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