找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2145|回复: 6

[求助]:AcDbViewport的问题

[复制链接]
发表于 2007-3-17 18:28:18 | 显示全部楼层 |阅读模式

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

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

×
比如把一个直线水平的放在视口中间
setTwistAngle设置为直线倾角的负值
setViewCenter设置为直线中点
直线到是平行于视口了,可是中点并不在视口中心,请问该怎么设置?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-3-19 21:44:39 | 显示全部楼层
你的问题:
AcDbViewport使用求助
想把一条直线设置在视口中心平行显示
设置了customerscale,twistangle,viewcenter
扭转角度倒是正确,直线确实平行了,可是中心不对,把直线的中心设为viewcenter,直线并没在视口中,偏很远
请问该怎么设置?

不太明白你的意识,你不是可以根据视口中心的坐标反过来推算出直线的起点和终点坐标吗?
如有问题还需要描述清楚一点,实在有点不清楚你的用意。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-20 10:52:47 | 显示全部楼层
假如有条直线l从(0,0,0)到(100,100,0),默认这条直线会以45度角显示在视口中
现在想让它水平在视口中间显示,那么
把twistangle设为315度(要转化为弧度),viewcenter设为直线中点(50,50,0),customerscale随意
这个时候直线只是水平了,但并没有像预想的那样中心在视口中心,偏很远
viewcenter应该就是把模型空间中的点设为视口的中心啊,难道该用别的办法设置
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-20 22:02:24 | 显示全部楼层
^_^,你把模型空间原点坐标看作圆规的一个脚,不动。直线看作圆规的另一个脚,转动圆规315度,怎么样?这个脚的坐标就是你要设的viewcenter。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-21 12:23:51 | 显示全部楼层
VIEWCTR是只读的系统变量,尽管你进行了设置,但此操作是失败的而AutoCAD并不报错的。
你应当用ZOOM之类的命令将直线显示在当前屏幕中心,当然ZOOM的参数你是要仔细进行分析计算的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-3-21 20:44:19 | 显示全部楼层
我在线路自动分图里面设置视口中心点何旋转角度就是这样处理的。
下面这段代码是arx文档里拷贝的,怎么成了只读的系统变量了呢?
Acad::ErrorStatus

setViewCenter(

const AcGePoint2d& pt);

pt Input new center point (in Model Space coordinates) for the viewport's view

This function sets pt to be the new center point of the viewport抯 view.

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

使用道具 举报

发表于 2007-3-21 21:43:59 | 显示全部楼层
这是CAD2004帮助文件里描述的:
VIEWCTR 系统变量
(只读)
类型:三维点
保存位置:图形

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 13:08 , Processed in 0.247959 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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