找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

手把手教你做UG二次开发。

[复制链接]
51
发表于 2003-3-26 12:15:31 | 只看该作者
请问能不能介绍一下用menuscript开发下拉菜单,包括菜单的级联阿!谢谢!来信指教好吗?谢谢
辛苦啦!
52
发表于 2003-3-26 12:18:01 | 只看该作者
呵呵!不是没有看懂啦!只是觉得太简单,内容太少啦!想多了解一点嘛!
53
发表于 2003-3-26 12:22:39 | 只看该作者
to eastcamel  
  .men可以执行很多类型的可执行程序,比如.exe,.dll, .dlg .macro等
action没必要一定是my_first.dll,这是他给你的一个例子,如果你用UISTyler生成了my_first.dlg,那么你就可以在action后写上my_first.dlg。
  
to   visionphone  
论坛是交流问题的地方,不是教学,
关于menuscript开发下拉菜单,包括菜单的级联在清华那一本书上已经很清楚了,还能找得出比他更清楚的资料吗?另外menuscript已经简单得不能再简单了,还能找得出比他更简单的编程方法吗?
54
发表于 2003-3-26 12:24:44 | 只看该作者
to visionphone  
内容全面的话,请看document,书籍仅是入门
55
发表于 2003-3-26 12:29:04 | 只看该作者
谢谢darkhorse
56
发表于 2003-3-26 12:42:21 | 只看该作者
to darkhorse:
谢谢你的回答,你说的这点我知道,照道理执行.dll 和.dlg应该结果是一样的吧?可按照他的例子,我用.dlg可以调出对话框,但不能执行对话框里按键的动作,而用.dll就可以,所以想知道用.dlg应该注意什么?
57
发表于 2003-3-26 14:18:39 | 只看该作者
我现在在试一个把物体平移的功能.我看了UG/open 里面的函数帮助,也仔细研究了清华出的那本书,他里面是先将所选对象的坐标矩正进行正则化处理,然后为正则化矩正给出一个新的ID,最后创建一个零时坐标系.然后就用uf5943,uf5947两个函数进行平移了.
而现在我自己做的时候,也采用上面相同的步骤,但我调试时发现我选取的对象没有矩阵ID,当然也就得不到坐标系统矩阵.我后面采用获取工作坐标系的ID,然后获取其矩阵ID的方法,但调试后仍得不到平移结果.
请指教:下面是我的一段代码;
i_ret=UF_CSYS_ask_wcs ([$wcs_id )]
   UF_CSYS_ask_csys_info (wcs_id,[$matrix_id,csys_origin)]
   UF_CSYS_ask_matrix_values (matrix_id,matrix_values);
   UF_MTX3_ortho_normalize(matrix_values);
   i_ret=UF_CSYS_create_matrix(matrix_values,[$new_matrix_id)]
   i_ret=UF_CSYS_create_temp_csys(csys_origin,new_matrix_id,[$temp_csys_id)]
  
   FTN(uf5943) (Dxyz,D_target );
   FTN(uf5947) (D_target,[$temp_csys_id,&one,&one,&zero,&two,NULL,NULL,&resp)]
  
程序的前后两段好像没有什么联系?Dxyz和D_target在哪赋值?
58
发表于 2003-3-26 14:30:00 | 只看该作者
这里介绍的是入门的入门,是对开发过程的一个精炼。
我从98年开始,使用UG,二次开发,从没有看过什么书,uG的文档就是最好的书。特别是15版以前的文档,写得非常清楚。
  
UG二次开发的这套体系,至少是在10年前推出的,在我看来,当时是很先进的,现在也没有落后很多。里面使用了很多面向对象的思想,消息驱动等。如果你会面向对象编程,看UG的程序,应该是小菜一碟。
  
像上面提出的为什么使用.dll和.dlg不一样,我也不知道,既然是用.dll很好,为什么要用.dlg呢。
59
发表于 2003-3-26 15:16:58 | 只看该作者
平移的例子
  
double matrix[16];
  int count=1, copyFlag=2, layer=2, curveFlag=2, rtState;
  
  UF_MTX4_identity( matrix );
  UF_MTX4_edit_translation( matrix, vec );
  
  FTN(uf5947)(matrix, &srcObj, &count, &copyFlag, &layer,
        [$curveFlag, copyedObj, NULL, &rtState)]
  
  return rtState;
60
发表于 2003-3-26 17:46:46 | 只看该作者
虽然对zzz的水平很佩服,但没想到算是前辈了,我从2001年才开始接触UG17,
请多多指教.
  
to eastcamel  
我没仔细看清华的教程,大体了解了一下,没有我需要的东西也就没仔细看.
你说不能执行对话框里按键的动作这是是因为你没有定义对应按钮的执行函数
这与dll dlg没多大关系,你仔细看看按钮是否有对应的执行函数,执行函数中是否有
痕迹表明他是否执行.
  
不太了解你的意思,继续交流.
   
  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-25 23:56 , Processed in 0.026586 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表