明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1548|回复: 2

请版主和高手指点,困扰我很久了,急呀

[复制链接]
发表于 2008-9-19 12:13:00 | 显示全部楼层 |阅读模式

我想在模型空间中选一多边形,然后在布局空间把这个多边形区域用视口剪切出来,可用旋转和缩放.现在我在旋转时发现视口边界里面的图形与模型空间的多边形不完全重合,缩放是没有问题的.

  AcDbViewport *pViewport = new AcDbViewport();
 pViewport->setCenterPoint(AcGePoint3d(printableXmin/2+printableXmax/2, printableYmin/2+printableYmax/2,0)); 
 double width,height;width=0;height=0;
 width=GetViewportWidth(trimobjectid);
 height=GetViewportHeigth(trimobjectid);
 pViewport->setHeight(height);
 pViewport->setWidth(width);
 AcGePoint3d rotatemodelcenterpt;
 rotatemodelcenterpt=GetModelSpaceObjectCenter(entId);
 rotatemodelcenterpt=rotatemodelcenterpt.rotateBy(twistangle,AcGeVector3d(0,0,1)); 
 pViewport->setViewCenter(AcGePoint2d(rotatemodelcenterpt.x,rotatemodelcenterpt.y)); 
 pViewport->setLensLength(50.0);  
 pViewport->setNonRectClipEntityId(trimobjectid);
 pViewport->setNonRectClipOn();
 pViewport->setViewHeight(height*scale);
 pViewport->setViewDirection(AcGeVector3d(0,0,1));
 SetViewPortScale(pViewport,scale);
 pViewport->setTwistAngle(twistangle);
 // 将新的布局对象添加到图纸空间块表记录中
 AcDbObjectId viewportId;
 pBlkTblRcd->appendAcDbEntity(viewportId, pViewport);
 //pViewport->downgradeOpen();
 pViewport->setOn();
 pViewport->upgradeOpen();
 pViewport->close();
 pBlkTblRcd->close();

 楼主| 发表于 2008-9-19 12:20:00 | 显示全部楼层

这个是图片

 楼主| 发表于 2008-9-19 12:22:00 | 显示全部楼层
我的图片怎么不能上传
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-29 07:11 , Processed in 0.141482 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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