找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

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

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

[复制链接]
61
发表于 2003-3-26 20:40:33 | 只看该作者
我刚刚接触UG的二次开发,按以上过程试了一下(只是在创建工程时,选择的是UG/OPEN WIZAND V18),结果调试通过,只是运行时,马上出来对话框,菜单却找不着,恳请解答一下!
62
发表于 2003-3-27 10:36:43 | 只看该作者
mazhiguo wrote:
我刚刚接触UG的二次开发,按以上过程试了一下(只是在创建工程时,选择的是UG/OPEN WIZAND V18),结果调试通过,只是运行时,马上出来对话框,菜单却找不着,恳请解答一下!

  
找到文件UGII\menus\custom_dirs.dat添加用户路径
# Customer modifications can follow on here
你的starup所在位置路径比如e:\project_insession\standard_part;
  
也可以在UGII\ugii_env.dat内把#UGII_USER_DIR=${HOME}改为UGII_USER_DIR=你的starup所在位置路径比如e:\project_insession\standard_part。
63
发表于 2003-3-28 13:57:54 | 只看该作者
在平移的问题中,Dxyz是一个Input量,它定义了对象在x,y,z方向上的平移值。
double Dxyz[3]={50,80,0};
至于D_target,它是uf5943函数中的一个输出量,是uf5947函数中的一个输入矩阵值,其中就包含了Dxyz定义的平移量。
FTN(uf5943) (Dxyz,D_target );  
  FTN(uf5947) (D_target,[$temp_csys_id,&one,&one,&zero,&two,NULL,NULL,&resp)]  
后来我跟踪调试了resp的值,显示为0,表示成功了。但我用UG里面的工具检查一点的坐标,却一点变化也没有。
后来我调试了ZZZ兄的一段代码,发现copy是成功的,但我定义为move,即把UF_MTX4_identity( matrix );  
  UF_MTX4_edit_translation( matrix, vec );  
  
  FTN(uf5947)(matrix, [$srcObj, &count, &copy]Flag, &layer,  
        [$curveFlag, copyedObj, NULL, &rtState)]  
中的[$copy]Flag设定为1,你的rtState可以为0,但对象object却没执行什么操作。
现在我想把我的object进行move(这个对象包含了blend,hole,extrude等特征操作),请问ZZZ兄有什么高招?
现在我调试的程序可以对point,curve等进行操作了,但带参数的就不行。
在此先谢谢ZZZ兄昨天的解答。
64
发表于 2003-3-28 14:33:51 | 只看该作者
你先在交互环境中试一下,UGNX地移动好像是有些问题。
另外,tag的类型对了吗?
65
发表于 2003-3-31 17:53:46 | 只看该作者
版主,继续啊,讲讲如何通过该对话框再调出一个对话框吧
66
发表于 2003-3-31 19:16:22 | 只看该作者
c:\temp\first_dlg_template.c(639) : warning C4013: 'strcpy' undefined; assuming extern returning int
67
发表于 2003-4-1 09:53:55 | 只看该作者
上面的问题不好意思,
  
不过版主,我编译时还有问题,如下:
C:\TEMP\first_dlg_template.c(511) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char ** '
C:\TEMP\first_dlg_template.c(511) : warning C4024: 'UF_UI_write_listing_window' : different types for formal and actual parameter 1
我看了一下,应该是在MY_import_cb中value.value.string = string与
MY_ok_cb中UF_UI_write_listing_window(value.value.strings)引用的参数不一致引起的,结果程序执行时按OK,信息窗口输出内容不对,改成UF_UI_write_listing_window(value.value.string编译时不出错,但执行也不对,望指点!
68
发表于 2003-4-1 11:14:10 | 只看该作者
对不起,这是显示的问题,strings后面应该是带有下标的。建议你去加强一下c语言。
69
发表于 2003-4-1 19:01:26 | 只看该作者
关于平移的问题,受斑竹的启发,我调试了下面两个函数,同样可以对Object进行平移操作(只能copy而不能进行move ).
double Dxyz[3]={50,80,0};
  double D_target[16];
tag_t copy_object_id;
  FTN(uf5943) (Dxyz,D_target );
  FTN(uf5947)(D_target,Object_selected,&one,&two,&zero,&two,&copy_object_id,NULL,&resp).
70
发表于 2003-4-1 19:10:03 | 只看该作者
现在我调试我的程序发现不能进行move 操作之后,和我的同学讨论了一下,他的意见是复杂的物体带有了许多参数,如果要把带参数的整个Object进行move操作,之需要把根feature进行平移,而其他的特征会自动跟着平移.下面着段程序就是要获得根feature的操作.
uf_list_p_t cmtag;
int ug_type,ug_subtype;
int N_features;
i_ret=UF_OBJ_ask_type_and_subtype (*Object_selected,[$ug_type,&ug_subtype )]
  i_ret=UF_MODL_ask_object (ug_type,ug_subtype,[$body_object )]
  i_ret=UF_MODL_ask_body_feats (body_object,[$cmtag )]
  i_ret=UF_MODL_ask_list_count(cmtag,[$N_features)]
但进行调试时候.老是cmtag的值为空,请问斑竹对这几个函数熟悉不?
下面的这张图片是我在交互界面下进行Transform时出来的警告信息.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-26 00:03 , Processed in 0.024056 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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