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

iCAx开思网

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

[求助] CAA 循环中出现更新问头

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

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

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

x
  //通过拓扑获取选定边界上小的边界曲线段的个数,对每个小曲线段进行外插延伸
        int index;
for(index=1; index<=LISTCellB.Size();index++)
{  
         //将每个小曲线段小曲线段特征化
         CATIGSMBoundary_var spGSMBoundary = pFact->CreateBoundary(spEdgeElem,SpecObj2,BOUNDARY_NO_PROPAG
         if (NULL_var == spGSMBoundary){cout<<"Create Boundary Failed!"<<endl;}
        CATIGSMExtrapol_var _spExtrapolSurf = pFact->CreateExtrapOl(spGSMBoundary,SpecObj2,ickStart,CATGSMTangentContinuity,CATGSMTangentBorder,FALSE,CATGSMNoPropagation);//创建外插延伸
        if(_spExtrapolSurf==NULL_var)
        {
              cout<<"创建延伸失败" <<endl;
              continue;
        }
       else
       {
              cout<<"创建延伸成功"<<endl;
             CATISpecObject_var spSpecTmp=_spExtrapolSurf;
              if (spSpecTmp==NULL_var){cout<<"获取CATISpecObject类型失败"<<endl;}
             CATISpecObject_var ispInputParent=spGsmTool;
             rcc=InsertInProceduralView(spSpecTmp,ispInputParent);//放到GSMTOOL里面
             HRESULT rc=ExtrapolUpdate(spSpecTmp);
            if (FAILED(rc))
           {   
                 cout<<"无法更新!!!"<<endl;
                CATISpecObject_var ispInputParent=spGsmTool;
                ispInputParent->Remove(spSpecTmp);
              spSpecTmp=NULL_var;
              continue;
            }
           else
          {
              cout<<"成功创建外插延伸,开始判断"<<endl;
             //判断方法:将外插延伸得到曲面的四个角点投影,并通过直线的夹角判断
             if (_piAngle<=0.05)
             {
                  cout<<"第"<<index<<"次试拉伸的曲面片满足要求"<<endl;
                  break;
             }
             else
             {
                     cout<<"该试拉伸的曲面片不满足要求,继续拉伸"<<endl;
                     CATISpecObject_var ispFather = spSpecTmp->GetFather();
                     ispFather->Remove(spSpecTmp);
                     spSpecTmp=NULL_var;
            }
      }
   }
}
现在出现的问题就是将第一次外插延伸出的曲面删去以后,从第二次外插延伸开始出现更新问题,说是The Handle is NULL;
请问高手,哪边除了问题。在线等答案
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-11-26 02:49 , Processed in 0.019980 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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