找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 864|回复: 4

[ARX程序]:实体旋转后的显示?

[复制链接]
发表于 2002-5-14 21:51:38 | 显示全部楼层 |阅读模式

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

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

×
//tansform matrix;
//旋转+平移;
   anglea=60;
   AcGeMatrix3d mat;
//平移:
   mat(0,3)=point3.x-ept.x;
   mat(1,3)=point3.y-ept.y;
   mat(2,3)=0;
//旋转:
   mat(0,0)=1;
   mat(0,0)=cos(anglea);
   mat(0,1)=-sin(anglea);
   mat(1,1)=cos(anglea);
   mat(1,0)=sin(anglea);
   pPolyEnt->transformBy(mat);
编译无错误。  
运行也无错误,但屏幕上不显示旋转后的实体,去掉此部分会显示。
问题何在?
谢谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 145个

财富等级: 日进斗金

发表于 2002-5-14 23:29:54 | 显示全部楼层

Re: [ARX程序]:实体旋转后的显示?

最初由 bluesolar 发布
[B]//tansform matrix;
//旋转+平移;
   anglea=60;
   AcGeMatrix3d mat;
//平移:
   mat(0,3)=point3.x-ept.x;
   mat(1,3)=point3.y-ept.y;
   mat(2,3)=0;
//旋转:
   mat(0,0)=1;
   mat(0,0)=cos(an... [/B]


你用mat.setToTranslation(..),mat.setToRotation(....)设置平移和旋转矩阵试试。

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

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-5-15 21:31:38 | 显示全部楼层

Re: [ARX程序]:实体旋转后的显示?

最初由 bluesolar 发布
[B]//tansform matrix;
//旋转+平移;
   anglea=60;
   AcGeMatrix3d mat;
//平移:
   mat(0,3)=point3.x-ept.x;
   mat(1,3)=point3.y-ept.y;
   mat(2,3)=0;
//旋转:
   mat(0,0)=1;
   mat(0,0)=cos(an... [/B]


角度应该用弧度,不应该写成 60 ,还有既然用了AcGeMatrix3d对象,那么构造平移、旋转矩阵都有现成的方法可以用的,自己写麻烦不说,也造成了出错的可能。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-5-15 21:31:50 | 显示全部楼层
是对多义线的操作。
在CAD下加载后却看不见多义线了。
ZOOM+PAN;满屏幕都找不见。
程序中没有涉及到坐标系。
mat.setToTranslation(..)的参数有那几个?
谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 13个

财富等级: 恭喜发财

发表于 2002-5-15 21:40:18 | 显示全部楼层
最初由 bluesolar 发布
[B]是对多义线的操作。
在CAD下加载后却看不见多义线了。
ZOOM+PAN;满屏幕都找不见。
程序中没有涉及到坐标系。
mat.setToTranslation(..)的参数有那几个?
谢谢! [/B]


AcGeMatrix3d&
setToTranslation(

    const AcGeVector3d& vec);

vec        Input vector that defines the translation

Sets this matrix to the matrix of the translation by the vector vec.
Returns the reference to this matrix.

参数是个向量,也就是相对位移,也就是终点-起始点,用AcGePoint3d表示:
vec=(ePt-sPt).asVector();

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 01:50 , Processed in 0.371065 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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