iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
 楼主| 发表于 2013-10-8 08:46:36 | 只看该作者

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

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

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

本版积分规则

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

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

GMT+8, 2024-11-16 04:05 , Processed in 0.022763 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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