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

iCAx开思网

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

CAA问题:对投影圆标注它与直线间的距离

[复制链接]
跳转到指定楼层
1
发表于 2008-5-20 15:51:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
问题是这样:
我想创建3D投影元素(圆和直线)之间的距离,这个尺寸线应该是从圆心到直线的距离,但是他却创建的是圆的边界与直线的距离;
同样的程序,对2D手画的圆和直线,就可以标出圆心到直线的距离。
我想标出3D投影元素(圆和直线)之间的从圆心到直线的距离,但是不能先画出圆心再标,就是说不能再创建新的元素!(这个问题也问过Dassault,他们也解决不了,很有挑战啊!呵呵)
请各位指点一下! 多谢!
其实我觉得开关就是dimDef._Info = ifCenter;这句,但是不知为什么,他对3D投影圆不管用,对2D手画的圆就OK!
程序如下:

CreateDim(IUnknown_var  _circle,IUnknown_var  _line)
{
        // Gets the view annotation factory
        CATIDrwAnnotationFactory_var spAnnFactory = _pView;
   
        // Vertical distance dimension creation between Circle and Line
        CATDrwDimType dimType = DrwDimDistance;
        CATDimDefinition dimDef;
        CATIUnknownList * piSelectionsList =NULL;
        CATIUnknownListImpl * piListsel = new CATIUnknownListImpl();
        piListsel->QueryInterface(IID_CATIUnknownList, (void **) &piSelectionsList);
        piListsel->Release(); piListsel=NULL;

        if (piSelectionsList)
        {
                piSelectionsList->Add(0, _circle);
                piSelectionsList->Add(1, _line);
        }

        double pts[2][2];
        dimDef.Orientation = DrwDimAuto ;
        dimDef._Info = ifCenter;
        if(SUCCEEDED( spAnnFactory->CreateDimension(piSelectionsList,(double**)pts,dimType,&dimDef,&_piDim) ) )
        {
                piSelectionsList->Release();
                piSelectionsList = NULL;
                return true;
        }
        else
        {
                if (piSelectionsList) {piSelectionsList->Release(); piSelectionsList = NULL;}
                return false;
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-9-30 19:26 , Processed in 0.020746 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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