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

iCAx开思网

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

通过CAA如何获取三维投影到二维drawing中生成的点的坐标????

[复制链接]
跳转到指定楼层
1
发表于 2013-10-7 19:44:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
只能取得投影生成的点的三维坐标,现在我只能取得此生成点的X和Y的坐标,但一直无法取得Z轴的坐标值。
代码如下:
        CATIDftGenGeomAccess *piGenGeomAccess = NULL;
        IUnknown *piGenView = NULL;
        if (NULL != piCurrentView)
        {
                if (SUCCEEDED( piCurrentView->GetApplicativeExtension(IID_CATIDftGenView,&piGenView)))
                {
                        if (SUCCEEDED( piGenView->QueryInterface(IID_CATIDftGenGeomAccess, (void**) & piGenGeomAccess) ) )
                        {
                                CATIUnknownList * piList = NULL;

                                // Get a list containing all Generated Geometry of the view.
                                if( SUCCEEDED( piGenGeomAccess->GetAllGeneratedItems(IID_CATIDftGenGeom, &piList) ) )
                                {
                                        unsigned int piListSize = 0;
                                        piList->Count(&piListSize);

                                        CATIDftGenGeom * piGenGeom = NULL;
                                        IUnknown * item = NULL;
                                        CATUnicodeString  PartName;
                                        CATIVisProperties *piVisProp = NULL;
                                        CATVisPropertiesValues ioValues;
                                        CATVisPropertyType       iPropertyType = CATVPColor;

                                        // Loop on all Generated Geometry of the view.
                                        for(unsigned int i=0 ; i<piListSize ; i++)
                                        {
                                                if( SUCCEEDED( piList->Item(i, &item) ) )
                                                {
                                                        if(SUCCEEDED( item->QueryInterface(IID_CATIDftGenGeom, (void**) & piGenGeom) ) )
                                                        {
                                                                // 只能获得X和Y
                                                                IDMPoint2D * Point2D = NULL;
                                                                if (SUCCEEDED(piGenGeom->QueryInterface(IID_IDMPoint2D,(void **)& Point2D)))
                                                                {
                                                                        double pt1[2];
                                                                        Point2D->GetPointData(pt1);


                                                                }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
 楼主| 发表于 2013-10-8 08:46:36 | 只看该作者

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

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

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

本版积分规则

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

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

GMT+8, 2024-5-7 05:42 , Processed in 0.023965 second(s), 15 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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