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

iCAx开思网

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

[原创] 如何得到草图里的直线

[复制链接]
跳转到指定楼层
1
发表于 2012-12-9 11:01:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
我想获取图中草图的直线.4,下面是我写的代码,可是我得到却是绝对轴里的横向和纵向两条线。

//得到草图底部的直线
   CATIDescendants * piSketPart = NULL;
   rc=spSketchFeat->QueryInterface(IID_CATIDescendants,(void **)& piSketPart);
   if (SUCCEEDED(rc))
   {
    cout<<"查询CATIDescendants成功"<<endl;
   }
   else
    cout<<"查询CATIDescendants失败"<<endl;
   CATLISTV(CATISpecObject_var) lineList;
   piSketPart->GetAllChildren("CATCurve",lineList);
   int lineNum = lineList.Size();
   cout<<"直线的个数为"<<lineNum<<endl;
   CATISpecObject * spLineFeat= NULL;
   CATLine * piButtonLine = NULL;
   for (int i=1;i<=lineNum;i++)
   {
    spLineFeat = lineList;
    if (NULL_var != spLineFeat)
    {
     cout<<"spLineFeat不为空"<<endl;
     CATCurve * piLine= NULL;
     rc=spLineFeat->QueryInterface(IID_CATCurve,(void **)& piLine);
     if (SUCCEEDED(rc))
     {
      cout<<"查询CATLine成功"<<endl;
      CATIAlias * piLineAlias = NULL;
      if (SUCCEEDED(spLineFeat->QueryInterface(IID_CATIAlias,(void **)&piLineAlias)))
      {
       cout<<"查询CATIAlias成功"<<endl;
       CATUnicodeString LineName=piLineAlias->GetAlias();
       cout<<LineName<<endl;
       const CATUnicodeString ButtonLineName = "直线.4";
       if (LineName == ButtonLineName)
       {
        piButtonLine = piLine;
       }
       if (NULL != piButtonLine)
       {
        cout<<"piButtonLine不为空"<<endl;
       }
      }
      piLineAlias->Release();
      piLineAlias = NULL;
     }
    }
   }

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2012-12-10 09:44:47 | 只看该作者

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

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-11-26 05:24 , Processed in 0.023530 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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