明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4083|回复: 6

[分享]simulate AutoCAD command "zoom"

[复制链接]
发表于 2004-7-23 08:42:00 | 显示全部楼层 |阅读模式
////////////////////////////////////////////////////////////////////////////
//
// This is command 'ZOOMEXT, by Fenton Webb [Apr/17/2002], DevTech, Autodesk
void asdkzoomExt()
{
// get the extents of the drawing
AcDbViewTableRecord view;
AcGePoint3d max =
acdbHostApplicationServices()->workingDatabase()->extmax(),
min = acdbHostApplicationServices()->workingDatabase()->extmin();

AcGePoint2d max_2d (max[X], max[Y]);
AcGePoint2d min_2d (min[X], min[Y]);
// now set the view centre point
view.setCenterPoint (min_2d + (max_2d - min_2d) / 2.0);
// now height and width of view
view.setHeight(max_2d[Y] - min_2d[Y]);
view.setWidth (max_2d[X] - min_2d[X]);
// set the view
acedSetCurrentView (&view, NULL);
// updates the extents
acdbHostApplicationServices()->workingDatabase()->updateExt(TRUE);
}

////////////////////////////////////////////////////////////////////////////
//
// This is command 'ZOOMWIN, by Fenton Webb [Apr/17/2002], DevTech, Autodesk
void asdkzoomWin()
{
AcGePoint3d max, min;
// get the window coords
int res = acedGetPoint (NULL, "\nPick zoom window pnt : ",
asDblArray(min));
// if ok
if (res == RTNORM)
{
res = acedGetCorner (asDblArray(min), "\nPick other corner : ",
asDblArray(max));
// get the extents of the drawing
AcDbViewTableRecord view;

AcGePoint2d max_2d (max[X], max[Y]);
AcGePoint2d min_2d (min[X], min[Y]);
// now set the view centre point
view.setCenterPoint (min_2d + (max_2d - min_2d) / 2.0);
// now height and width of view
view.setHeight(max_2d[Y] - min_2d[Y]);
view.setWidth (max_2d[X] - min_2d[X]);
// set the view
acedSetCurrentView (&view, NULL);
// updates the extents
acdbHostApplicationServices()->workingDatabase()->updateExt(TRUE);
}
}

评分

参与人数 1威望 +1 金钱 +5 收起 理由
zfbj + 1 + 5 【好评】好程序

查看全部评分

发表于 2004-8-2 10:00:00 | 显示全部楼层

回复

谢谢
发表于 2004-8-2 11:39:00 | 显示全部楼层
VBA 的不太明白. 还望楼主在百忙之中给个说明, 这样对初学的朋友会起到很好的帮助.         没有什么好的礼物, 就先送你朵鲜花以表谢意
发表于 2004-8-7 09:52:00 | 显示全部楼层
谢谢!
发表于 2004-9-25 20:12:00 | 显示全部楼层
ARX的,不是VBA的。
发表于 2004-9-26 13:19:00 | 显示全部楼层
我是新手,请问如何使用


Thanks!!!
发表于 2008-6-7 09:44:00 | 显示全部楼层
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 11:53 , Processed in 0.145922 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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