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

iCAx开思网

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

[讨论] 零件编号是怎么写入属性页的?

[复制链接]
跳转到指定楼层
1
发表于 2012-5-4 16:51:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

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

x
在装配环境下,点击generate number按钮,选取根产品会对以下的part在属性页中生成number属性。请问我通过哪个接口能够获得这一属性呢??通过属性遍历的方式,并没有获得这一生成的属性。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2012-5-7 15:03:22 | 只看该作者
具体没研究过,应该是记录在Part的实例当中,
你对实例(不是引用)的属性进行遍历查找看看。
3
发表于 2012-5-7 16:02:50 | 只看该作者
SkyWolf88 发表于 2012-5-7 15:03
具体没研究过,应该是记录在Part的实例当中,
你对实例(不是引用)的属性进行遍历查找看看。

这样操作过,没有获得想要的,不知道是不是遍历方式的问题。
CATIAttributesDescription *piAttrDesc = NULL;
               

                spProduct->QueryInterface(IID_CATIAttributesDescription, (void **) &piAttrDesc);


                spProduct->QueryInterface(IID_CATIInstance, (void **) &piInstance);
               
                piAttrDesc->List(&attrInfoList);

        }
        for (int i = 1; i <= attrInfoList.Size(); i++)

        {

                CATAttributeInfos attrInfo = attrInfoList;

                CATUnicodeString propertyName =attrInfo.Name(); //属性名

                CATUnicodeString valueType = attrInfo.Type()->Name(); //属性类型

                CATIValue *pValue = piInstance->GetValue(propertyName); //获得对应属性名的属性值
                CATUnicodeString NameVal;
                pValue->AsString(NameVal);
                cout<<propertyName<<"属性名"<<endl;
                cout<<valueType<<"属性类型"<<endl;
                cout<<NameVal<<endl;
4
发表于 2012-5-7 16:04:10 | 只看该作者
本帖最后由 walkerjiang 于 2012-5-10 07:49 编辑
SkyWolf88 发表于 2012-5-7 15:03
具体没研究过,应该是记录在Part的实例当中,
你对实例(不是引用)的属性进行遍历查找看看。


ding!
5
发表于 2012-5-7 16:43:59 | 只看该作者
你用VB的API获取属性的,应该用CAA的吧?大致程序如下:(你测试下看看)
//注意:各指针在使用前,需判断是否为空,
//          还有那个pListChildProduct,在使用后,需释放
CATProduct_var spRootProduct=........;
CATListValCATBaseUnknown_var *pListChildProduct=NULL;
pListChildProduct = spRootProduct->GetAllChildren(); //获取所有的子Product (获得的是实例)
for(int i=1;i<=pListChildProduct->Size();i++) {
   CATIProduct_var spiChildProduct=pListChildProduct[i];
   CATISpecObject_var spiSpecOnPrd=spiChildProduct;
   CATIParmPublisher_var spParmPub(spiSpecOnPrd);
   CATLISTV(CATISpecObject_var) oListParms;
   spParmPub->GetAllChildren("CATICkeParm",oListParms);
   for(int j=1;j<=oListParms.Size();j++) {
     CATICkeParm_var spiCkeParm=oListParms[j];
     CATUnicodeString attName=spiCkeParm->Name();
     CATUnicodeString attValue=spiCkeParm->Show();
   }
}
6
发表于 2012-5-7 16:51:06 | 只看该作者
本帖最后由 walkerjiang 于 2012-5-10 08:12 编辑
SkyWolf88 发表于 2012-5-7 16:43
你用VB的API获取属性的,应该用CAA的吧?大致程序如下:(你测试下看看)
//注意:各指针在使用前,需判断 ...


哪个是VB的API啊?
谢谢你的指导,我明天早上试下!
7
发表于 2012-5-7 16:53:02 | 只看该作者
CATIAttributesDescription 好像是VB的API吧?一般CATIA开头的,都是VB的API,但也有特例的。。。呵呵
CATIAttributesDescription 这个API没怎么用过。。。
8
发表于 2012-5-7 16:57:07 | 只看该作者
SkyWolf88 发表于 2012-5-7 16:53
CATIAttributesDescription 好像是VB的API吧?一般CATIA开头的,都是VB的API,但也有特例的。。。呵呵
CAT ...

这样啊,这个应该是这样的CATI    Att......
9
发表于 2012-5-8 08:13:04 | 只看该作者
SkyWolf88 发表于 2012-5-7 16:43
你用VB的API获取属性的,应该用CAA的吧?大致程序如下:(你测试下看看)
//注意:各指针在使用前,需判断 ...

今天早上试了下这段代码,依然没有成功。得到的都是结构树上的参数。还需要继续研究啊。
10
发表于 2012-5-10 08:42:41 | 只看该作者
本帖最后由 walkerjiang 于 2012-5-18 14:35 编辑

自己顶一下,希望高手来关注!


建立个群,有想法的朋友也可以来这里面研讨。148843173
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-23 06:55 , Processed in 0.033500 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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