找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 724|回复: 7

[求助] 求助各位大神

[复制链接]

已领礼包: 6个

财富等级: 恭喜发财

发表于 2018-7-12 15:50:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
各位大神帮帮忙,现在布局空间有一个视口,我怎么用代码改变他的大小
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-7-12 16:00:33 | 显示全部楼层
AcDbViewport::setWidth Function Acad::ErrorStatus

setWidth(

double unnamed);

unnamed Input viewport width

This function sets width to be the width of the viewport entity's window in drawing units. This is the width in paperspace of the viewport itself, not the width of the model space view within the viewport.

Returns Acad::eOk if successful.

The viewport height is used for DXF group code 40.


AcDbViewport::setHeight Function
Acad::ErrorStatus
setHeight(
double unnamed);
unnamedInput height for the viewport window
This function sets the viewport's window to be height drawing units high.
Returns Acad::eOk if successful.
The viewport height is used for DXF group code 41.

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2018-7-12 16:19:18 | 显示全部楼层
newer 发表于 2018-7-12 16:00
AcDbViewport::setWidth Function Acad::ErrorStatus

setWidth(

view.setCenterPoint(PtCenter);
view.setHeight(5.0);
view.setWidth(5.0);

这样写的,命令执行完也不变,需要更新什么东西吗

点评

你这VIEW是什么,把完整代码贴上来看看  详情 回复 发表于 2018-7-12 16:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-7-12 16:25:34 | 显示全部楼层
1784290342 发表于 2018-7-12 16:19
view.setCenterPoint(PtCenter);
view.setHeight(5.0);
view.setWidth(5.0);

你这VIEW是什么,把完整代码贴上来看看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2018-7-12 16:26:57 | 显示全部楼层
newer 发表于 2018-7-12 16:25
你这VIEW是什么,把完整代码贴上来看看

网上找的代码

double scale;

    if (ads_getreal(_T("Enter scale:"), &scale) != RTNORM) goto END1;

    AcDbObjectId idVp;

    if ((idVp=acdbGetCurViewportObjectId())==AcDbObjectId::kNull)
        {
                ads_printf(_T("No current viewport. (tilemode=1?)\n"));
   
                goto END1;
    }

    AcDbViewport* pVp;

    Acad::ErrorStatus es;

    if((es=acdbOpenObject(pVp,idVp,AcDb::kForWrite))==Acad::eOk)
        {
                double height = pVp->height();
     
                AcDbViewTableRecord view;
     
                AcGePoint2d max;

                max.x = 5.0;
       
                max.y = 5.0;
     
                view.setCenterPoint(max);
   
                view.setHeight(5.0);
   
                view.setWidth(5.0);

                if ((es=acedSetCurrentView( &view, pVp))==Acad::eOk)
                {
                        ads_printf(_T("Scale set to %f.\n",scale));
       
                }else
                {
                        ads_printf(_T("Failed to set scale.\n"));
                }

                pVp->close();
    }

    if (es!=Acad::eOk) ads_printf(_T("ERROR: es = %s\n"),acadErrorStatusText(es));

点评

你这个代码是设置视口的缩放的,不是设置视口的宽和高。你要设置AcDbViewPort的宽和高。  详情 回复 发表于 2018-7-12 20:01
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5060个

财富等级: 富甲天下

发表于 2018-7-12 18:26:07 来自手机 | 显示全部楼层
这个是view不是viewport
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-7-12 20:01:20 | 显示全部楼层
1784290342 发表于 2018-7-12 16:26
网上找的代码

double scale;

你这个代码是设置视口的缩放的,不是设置视口的宽和高。你要设置AcDbViewPort的宽和高。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6个

财富等级: 恭喜发财

 楼主| 发表于 2018-7-16 10:00:49 | 显示全部楼层
newer 发表于 2018-7-12 20:01
你这个代码是设置视口的缩放的,不是设置视口的宽和高。你要设置AcDbViewPort的宽和高。

好的,我试试,先谢谢啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-25 09:01 , Processed in 0.239169 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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