iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 22163|回复: 1
打印 上一主题 下一主题

如何得到草图里的直线

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-9 11:01:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

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

x
我想获取图中草图的直线.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;
     }
    }
   }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
发表于 2012-12-10 09:44:47 | 只看该作者

马上注册登录,享用更多网站功能!

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

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

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-16 10:33 , Processed in 0.017015 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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