天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 76|回复: 0

设置视口中心点setViewCenter

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
ads_point pt;
        ads_name ent,ss;
        //切换到模型空间
        acedMspace();
        if (RTNORM != acedGetPoint(NULL,_T("\n选择新的视口中心点:"),pt))
        {
            return;
        }
        acutPrintf(_T("\n拾取视口中心点(%0.4lf,%0.4lf)"),pt[X],pt[Y]);
        // 转换坐标系的标记
        struct resbuf ucs, dcs;
        ucs.restype = RTSHORT;
        ucs.resval.rint = 1;
        dcs.restype = RTSHORT;
        dcs.resval.rint = 2;        
        acedTrans(pt,&ucs,&dcs,NULL,pt);
        AcGePoint2d ptCenter=asPnt2d(pt);
        //切换到图纸空间
        acedPspace();
        if (RTNORM != acedSSGet(NULL,NULL,NULL,NULL,ss))
        {
            return;
        }
        Adesk::Int32 nLength;
        acedSSLength(ss,&nLength);
        for (Adesk::Int32 i=0;i<nLength;i++)
        {
            AcDbObjectId objId=AcDbObjectId::kNull;
            acedSSName(ss,i,ent);
            acdbGetObjectId(objId,ent);
            AcDbObjectPointer<AcDbViewport> pVp(objId,AcDb::kForWrite);
            if (Acad::eOk != pVp.openStatus() || pVp == NULL)
            {
                continue;
            }
            //pVp->setViewCenter()
            AcGePoint2d ptOld= pVp->viewCenter();
            acutPrintf(_T("\n原有视口中心点(%0.4lf,%0.4lf)"),ptOld.x,ptOld.y);
            acutPrintf(_T("\n设置视口中心点(%0.4lf,%0.4lf)"),ptCenter.x,ptCenter.y);
            pVp->setViewCenter(ptCenter);
            ptOld= pVp->viewCenter();
            acutPrintf(_T("\n结果视口中心点(%0.4lf,%0.4lf)"),ptOld.x,ptOld.y);
        }
        acedSSFree(ss);

 

 

 

 

设置视口中心点setViewCenter
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 11:26 , Processed in 0.164038 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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