UG二次开发:C语言实现自动测量并填充重量属性代码
4星 · 超过85%的资源 需积分: 50 128 浏览量
更新于2024-09-12
1
收藏 947B TXT 举报
"该资源是关于UG二次开发的代码示例,主要功能是测量并自动填写文件中的物体重量属性。这段代码使用C语言编写,通过UG的API接口获取模型的重量信息,并将其显示和保存为文件属性。"
在UG(Unigraphics Solutions)这款三维CAD软件中,二次开发允许用户根据需求定制功能,提高工作效率。这段代码就是一个实例,展示了如何在UG环境中通过编程获取零件的重量信息。以下是对代码的详细解释:
1. `Write_weight()` 函数是这段代码的核心,它遍历当前显示的部分(`display_part`),对每个实体进行处理。
2. 使用 `tag_tobject_tag=NULL_TAG;` 初始化对象标签,`tag_tdisplay_part=UF_PART_ask_display_part();` 获取当前显示部分的标签,这是进一步操作的基础。
3. 通过 `UF_OBJ_cycle_objs_in_part(display_part,UF_solid_type,&object_tag);` 循环遍历零件中的所有对象,如果对象类型为固体,则进行下一步处理。
4. 使用 `UF_OBJ_ask_type_and_subtype(object_tag,&type,&subtype);` 获取对象的类型和子类型,检查 `subtype` 是否等于 `UF_solid_body_subtype`,确认对象是否为实体。
5. `UF_WEIGHT_estab_solid_props(object_tag,0.999,units,&properties);` 这一行代码是关键,它通过UG的重量计算接口,以0.999作为密度比例(通常为材料密度),以`UF_WEIGHT_units_kmm`(千克/立方米)为单位,获取实体的重量属性并存储在`properties`结构体中。
6. `zhongliang=properties.mass;` 提取重量信息到变量 `zhongliang` 中,`sprintf(msg,"%6.4f\n",zhongliang);` 将重量格式化为字符串,并添加换行符。
7. `uc1601(msg,1);` 显示重量信息,这可能是指向特定设备(如LCD屏幕)的输出函数。
8. 当重量大于0时,代码会创建一个属性值对象 `value`,类型为字符串,将重量信息赋值给它。然后使用 `UF_ATTR_assign(display_part,"weight",value);` 将这个属性值分配给当前显示部分的“weight”属性,从而完成重量信息的保存。
9. 通过 `while(object_tag!=NULL_TAG);` 循环,代码会继续处理下一个实体,直到所有实体都被检查。
这段代码对于UG的二次开发者来说,是一个实用的例子,演示了如何通过程序自动化获取和设置模型的重量属性,提高了UG在实际工程应用中的灵活性和效率。
2021-11-10 上传
2011-06-12 上传
jiangwenjie520
- 粉丝: 0
- 资源: 2
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性