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

iCAx开思网

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

[求助] 在自定义特征中实例化UDF时报错

[复制链接]
跳转到指定楼层
1
发表于 2012-8-31 20:47:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    想在程序中加入一段创建UDF的代码,但每次创建特征没有问题,更新特征时就在UDF实例化时报错,提示“The destination is not valid."如果此时不对零件进行任何操作,只用CATIA自己的按钮创建UDF,也有基本同样的提示。
图1是程序运行到Instantiate时的出错提示:
图2是关掉这个提示后,用CATIA的功能创建UDF的提示:
    Instantiate(NULL_var)这里的参数不知道有没有问题。另外,如果我创建的特征是特征树的最后一个节点,创建和更新都是没有问题,只是在后面还新建了其他特征时出错。我也不确定是UDF代码的问题,还是我自定义特征的问题,望高手指点。

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2012-9-6 11:16:27 | 只看该作者
看你提示的错误,应该是放置UDF的目录路径错了,一般这个路径就是当前的Part文件,程序会默认找到当前文件中激活的GSD集或者Body集,然后将UDF或者PC放在该目录下,给你一段代码,我运行木有问题的~~

CATISpecObject_var spSpecPrtPartNew = spPart;(CATIPrtPart_var类型,当前的part文件)   
CATBaseUnknown_var spBaseUnknownPrtPartNew = spSpecPrtPartNew ;
CATBaseUnknown* pBaseUnknownPrtPartNew= (CATBaseUnknown*)spBaseUnknownPrtPartNew;
CATPathElement PathNewPart(pBaseUnknownPrtPartNew);

CATPathElement * FirstUIactiveObject1 = NULL ;
CATBaseUnknown_var FirstDest1 = NULL_var ;
hr = pIUdfInstantiate->SetDestinationPath(&PathNewPart,FirstUIactiveObject1,FirstDest1);  
3
发表于 2012-9-9 12:28:42 | 只看该作者
linlily0925 发表于 2012-9-6 11:16
看你提示的错误,应该是放置UDF的目录路径错了,一般这个路径就是当前的Part文件,程序会默认找到当前文件中 ...

谢谢你。这种放置位置的办法我也试过,有同样的问题出现。如果我将特征更新中的删除节点的代码注释掉,就不会在这里报错,所以我怀疑是不是因为我更新特征时有删除节点导致的。
4
发表于 2012-9-9 15:41:33 | 只看该作者
特征更新中的删除节点?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-27 13:34 , Processed in 0.029088 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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