QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 6642|回复: 1
打印 上一主题 下一主题

[分享] 小白学UG二次开发_UG菜单、UI和实体建模综合练习

[复制链接]

三级士官

Rank: 3Rank: 3

11

主题

54

帖子

641

积分
跳转到指定楼层
楼主
发表于 2015-3-27 14:55:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
之前一直在学习UG菜单的创建,UIStyler 对话框的设计,以及通过DLL文件创建实体零件。接下来要将三者结合起来应用。
实验目的:编写一个程序,通过菜单调用UIStyler对话框,通过在对话框中输入相应参数后,控制UG生成一个Block实体。
实验思路:找到ufun里创建block的函数,弄清需要输入哪些变量,设计UIStyler后,生成生成的dlg文件,并编写带有回调函数的 DLL文件。最后通过菜单栏调用UI对话框,输入参数后,生成实体模型。

1.      实体模型创建函数
还是参照之前的例子,使用UF_MODL_create_block1.其中里面需要的几个参数先提取出来,这个例子比较简单,所以做了些简化处理,UF_FEATURE_SIGN 这里就默认选为UF_NULLSIAN.后续可以添加枚举变量,来控制这个sign的值。这个例子里只在后面的回调函数里简单设置了下。
  
UF_FEATURE_SIGN
  

sign


Input


The sign of the operation to be performed.
  UF_NULLSIGN = create new target solid
  UF_POSITIVE = add to target solid
  UF_NEGATIVE = subtract from target solid
  UF_UNSIGNED = intersect with target solid


double


corner_pt [ 3 ]


Input


Corner point (origin) of block


char *


edge_len [ 3 ]


Input


Three edge lengths of block


tag_t *


blk_obj_id


Output


Feature object identifier of created block.

   坐标值需要的是double,貌似老的UI只有REAL这个变量类型,char这个是个字符,用UI里的string来,tag_t也在回调函数里去定义。根据这些需求,设计UIStyler,因为是实验性质的,所以功能上有些不合理,本来坐标应该可以自己输入,也可以快速选择。目前对UI不算很熟悉,只能简单输入。后续如果成功将UIStyler、菜单栏和生成的DLL文件链接成功后,可以在目前的基础上继续优化目前的设计。将生成的.dlg .h 和.c文件放在之前UGII_USER_DIR目录下面,application文件夹中,并建立一个C++工程,建立好工程后,将.h文件和.cpp文件添加到工程中,编写回调函数。编译通过后,生成DLL文件。完成这几步工作后,修改菜单栏文件menu.men文件,添加相应的按钮和Action对应的dlg和dll文件。修改完成后保存。重启UG,菜单文件就加载进去了。
最后的效果如图所示:
  也顺便将之前的一个小程序也挂到这个菜单栏下面,也可以正常运行。
  
代码和之前的基本一致,就是复制组合一下,所以不去另外贴了。


有奖推广贴子: 

回复

使用道具 举报

上等兵

Rank: 1

1

主题

8

帖子

84

积分
沙发
发表于 2015-4-9 22:35:56 | 只看该作者
挺有用,学习一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-11-28 19:16

返回顶部