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

iCAx开思网

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

[求助] 怎样读取UG的装配树中,所选装配的文件名

[复制链接]
跳转到指定楼层
1
发表于 2010-4-16 21:20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样读取UG的装配树中,所选装配的文件名.。 open c 和 grip都行。我常做CAM, 这个不熟。
       谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2010-4-18 12:48:16 | 只看该作者
出手指点一下,可能实现吗?有时候最困难的就是方向
3
发表于 2010-4-19 00:47:20 | 只看该作者
今天搞出来了,做个总结。
1. UG的装配树不能按程序一样理解,而要将它考虑为obj
2. 选择了装配树也就是obj后,再找它的装配文件
4
发表于 2010-4-22 08:57:25 | 只看该作者
《UG应用开发教程与实例精解》有全套代码
5
发表于 2010-5-21 20:20:18 | 只看该作者
UF_SETUP_ask_geom_root( tSetup, &tGeometryRoot);
        UF_NCGROUP_ask_member_list(tGeometryRoot,&nGeomCount,&tGeomList);
        for (i=0; i<nGeomCount; i++)
        {
                UF_OBJ_ask_name(tGeomList[i],chGeomName);
                sGeomName=chGeomName;
                if (sGeomName.CompareNoCase("MCS_MILL") == 0)
                        return tGeomList[i];
        }

把上面的for循环换成UF_UI_ONT_ask_selected_nodes( &object_count, &objects ):就可以实现了
6
发表于 2010-5-23 01:54:32 | 只看该作者
5 楼的兄台,搞了个CAM 模块程序来说装配问, 高手啊!
7
发表于 2010-5-23 06:56:37 | 只看该作者
你可以直接查询高亮显示的物件获取出tag再查出名字
8
发表于 2010-5-23 20:37:06 | 只看该作者
不好意思,复制的时候选错地方了。
tPrtroot=UF_ASSEM_ask_root_part_occ(tEdm_Disprt);
        count=UF_ASSEM_ask_part_occ_children(tPrtroot,&child_components);
        if (count > 0)
        {
                for (i=0; i<count; i++)
                {               
                        nStatus=0;
                        tInstance=UF_ASSEM_ask_inst_of_part_occ(child_components[i]);      
                        UF_ASSEM_ask_part_name_of_child(tInstance,chName);
                        if(ask_part_is_ELE_part(chName))
                        {
                                for (k=0; k<Ele_list.size(); k++)
                                {
                                        if (Ele_list[k] == chName)
                                        {
                                                nStatus=1;
                                                break;
                                        }
                                       
                                }
                                if (nStatus != 1)                       
                                        Ele_list.push_back(chName);
                        }
9
发表于 2010-5-23 20:39:33 | 只看该作者
chName里面就是放的组件的名字
至于如果是查找选择的组件的名字的话,直接把选择的Tag传给child_components[i]); 来查询就可以了
tInstance=UF_ASSEM_ask_inst_of_part_occ(child_components[i]);      
                        UF_ASSEM_ask_part_name_of_child(tInstance,chName);
10
发表于 2010-9-22 07:39:15 | 只看该作者
顶一下,对我有用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-25 21:27 , Processed in 0.028978 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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