找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 18984|回复: 12
打印 上一主题 下一主题

CAA:求助 如何把2DRep里的字符给转90度显示

[复制链接]
跳转到指定楼层
1
发表于 2006-4-6 13:26:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在我是做个CAT2DAnnotationTextGP,然后把它设到一个CAT2DCustomRep,再传给CAT2DBagRep, 然后显示到CAT2DViewer

给CAT2DCustomRep::SetMatrix, 但发现只是相对坐标变了,CAT2DAnnotationTextGP里的字符不能旋转
(用CAT2DAnnotationTextGP是因为我不想让它zoom)

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 赞一下!赞一下!
2
发表于 2006-4-6 15:53:13 | 只看该作者
// 座標変換
                CATMathVector2Df dir1f( 0.f, 1.f);
                CATMathVector2Df dir2f( -1.f, 0.f);
                CATMathPoint2Df oriP;
                CAT3x3Matrix RevMatrix( dir1f, dir2f, oriP);

                // create text
                CATMathPoint2Df iPoint;// = ((CAT2DViewer*)_CustomComponent001)->GetModelCoordinates( CATMathPoint2Df( 0.f, 0.f));  
                float iHeight = 1.f;
                CAT2DAnnotationTextGP* pAnnoTxt = new CAT2DAnnotationTextGP( iPoint, "_TEST", TOP_LEFT, iHeight, 1);

                // create customrep
                CAT2DCustomRep* p2DCustomRep = new CAT2DCustomRep();
                // put GP test  in
                p2DCustomRep->AddGP( pAnnoTxt, graphicAttributeSet);

                // create BagRep( can define a callback)
                CAT2DBagRep* pBagRep = new CAT2DBagRep();
                // put customrep in
                pBagRep->AddChild( *p2DCustomRep );
                // 位置変更
                pBagRep->SetMatrix( RevMatrix);
                //pBagRep->ComputeBoundingElement( );

                // 2DView更新
                ((CAT2DViewer*)_CustomComponent001)->AddRep(pBagRep);
3
发表于 2006-4-6 16:36:05 | 只看该作者
我认为CAT2DCustomRep::SetMatrix只管本REP相对的坐标偏移,不管下面GP本身的旋转这些属性的,所以设置这个没有用。
在CAT2DAnnotationTextGP里面并没有看见设置旋转角度的API, 但是在CAT2DGeometricTextGP 构造函数里面就能找到控制旋转角度的参数
const float  iOrientationAngle =0.0.

供acoka兄参考  
4
发表于 2006-4-6 19:42:55 | 只看该作者
我用过CAT3DAnnotationTextGP, 记得无论用鼠标怎样转动模型, 文字并不随着转动.
用CAT2DGeometricTextGP的话,如果zoom很大,Text就得缩小, 但当文字高度小到10.0以下时,CPU被全部占用,5到10分钟之后才恢复,也不知道在算什么.
5
发表于 2006-4-6 21:33:27 | 只看该作者
我是在命令的panel里做个4个CAT2DViewer, 然后分别在里面建动态阵列,每个cell都可以响应click

CAT2DGeometricTextGP可以选达到旋转效果,但字体大小不知道如何控制,同样的设定,在不同大小的2DViewer里大小不同,很是头疼

CAT2DCustomRep::SetMatrix的确如unnamed9所说,但我试过修改CAT3x3Matrix的值对角线列外的值,发现字没有倾斜,字的背景色雀可以变成斜菱形之类的,莫名其妙
6
发表于 2006-4-7 09:06:25 | 只看该作者
CAT2DGeometricTextGP构造函数里面的默认的大小是10,const float  iHeight =10.。
虽然viewer的scale确是可以影响到text的大小的,但是需要在text里面设置的,默认状态应该是不受影响的。acoka兄应该没做这些设置的,奇怪竟然在不同的2DViewer里面竟然大小不一样,也没发现有什么API可以影响到这些设置。。。。。。
测试看看
7
发表于 2006-4-7 10:25:53 | 只看该作者
下面右边是我要做的目标
左边的图里4个2DViewer大小不同,但字体设置大小相同,不知道为什么右下角这个最大

本帖子中包含更多资源

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

x
8
发表于 2006-4-7 12:33:02 | 只看该作者
会不会是
CAT2DCustomRep::SetMatrix
使用的matrix的scaling不一样?
9
发表于 2006-4-7 16:56:11 | 只看该作者
如果文字内容不变化的话,建议做成图片试试,省心省资源(记得当初是这么跟江头说的)
如果变化的话。。。算我没说
另外,有没有试过用转90度的字体?
10
发表于 2006-4-7 22:59:11 | 只看该作者
会不会是这四个窗口的Viewport (clipping area)不一样, 如果不一样, 相当于窗口被放大或缩小了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-23 23:11 , Processed in 0.026031 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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