文档库 最新最全的文档下载
当前位置:文档库 › ug二次开发经验

ug二次开发经验

(1)
在UG开发过程中,有几种方式可以查找bug,
一种是加打印语句,
第二种是设断点调试,
第三种是可以查找log文件中的错误号,对bug快速定位。
第一第二种没有什么好说的,和我们便普通的程序没有什么两样。第三种方法如果你在UG中,可以用help->Unigraphics NX log file 打开一个文本文件,在其中搜索errno,每个errno后面可以清楚地看到是那个函数出了问题,是什么问题。如果UG退出了,可以在temp路径下,找到最后的log文件,同样可以找到问题。 对了,打印的话,直接用uc1601()即可。

(2)
NULL_TAG的作用:
大家知道每个UG对象(uf objects,expressions,parts)都可以由一个通过tag_t定义的标识符(无符号整数)来进行标识。
但是NULL_TAG(而不是0)不是任何一个对象的标识;其主要作用为:
1. 生成对象时用来检验是否生产了正确有效的对象;如果失败,就会返回NULL_TAG。
2. 用于如UF_OBJ_cycle_等一些命令中,作为遍历的开始点或结束点。
3. 用于初始化tag_t类型的变量。

(3)
occurrences是装配环境下的一个概念,与之相对应的是uf objects的真实几何原型(prototype,如线,面等),
在装配中,如果需要一次或多次装配一个part,并不复制该part中包含的几何原型,而是
建立该prototype对应的occurrence(可理解为指针)。occurrence随prototype的改变
而改变。occurrence可以被其他对象引用,可以给occurrence添加属性或改变颜色,
在装配环境中的occurrence对象都是由occurrence tag标识 ,你可以通过UF_ASSEM_ask_prototype_of_occ
来得到对应的prototype tag.
还有instances的概念,在总装配中多次装配零件part或者装配part(我们统称之为component),我们就称总装配
文件中多次出现的这些components为instances;那么instances与part occurrence(与part prototype相对应)
有什么区别呢?我们可以考虑一个part(零件或装配)在一个总装配中所出现的part occurrences,它包括总装配
所有层次下该part现的情况; 但是对于该part的instances,我们只能考虑在哪一级装配层次下出现的情况,而
在其子层下出现的情况不能成为该层的instances;同样也有instances tag 和 part occurrence tag来分别进行
标识。

(4)
加了下面的语句才会有DOS窗口出来,记得要关闭她哟
/* allocate console window conout$ */
AllocConsole();
/* reopen stdout on conout$ for fprintf and printf */
fp = freopen("conout$", "w", stdout);
fprintf( stdout, "%s\n", "Begin of program" );


(5)
为 tool palette, option menu等item添加多幅位图

做一个后缀为ubm的文件,记事本编辑。里面分行存放所有需要的位图文件名称。在tool palatte的位图输入框中输入ubm文件的全称,也可以使用浏览对话框定位u

bm文件,但是记着把路径删去,这是出于程序发行的考虑,因为程序运行的环境设置不可能和你机器上的一样。

ubm文件和位图文件存放在application中(其上一级目录需要注册,相信大家都知道了)。估计放在UG能认识的bitmaps目录里面也是一样,可以试一下,望回帖告知结果。

text.ubm文件内容:

1.bmp

2.bmp

3.bmp

可以用于有三个选项的tool palatte。

同样的道理可以应用与option menu等item上。


相关文档