明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2046|回复: 3

一个能自由按90度旋转模型的程序

[复制链接]
发表于 2006-8-24 09:42:00 | 显示全部楼层 |阅读模式

一直以来都在想着实现这个,一个模型的视图方向除能用AIP本身的功能实现,还应能快速向左、向右、向上、向下、顺时针、逆时针旋转90度的要求,做了很长时间的试才试出来。最有作用的地方是当用AIP的观察方向命令得到的视图方向不适合自己,需要顺时针或逆时针旋转90度才适合时,用个就最好了。有没有意义这个就要你自己评价了。
来个视频:

 

想来想去,最后出来的效果是直接用快捷方式控制,当然你要其它效果或者更多角度,自己按需求改代码。
1、在VBA中新建一个模块(你亦可以在原有模块中加入),复制以下代码进去。
Private View1 As View
Private Camera1 As Camera
Private TransGeom1 As TransientGeometry
Private point1, point2 As Point2d

Private Sub ffu1(ByVal inte1 As Single, ByVal inte2 As Single)
If ThisApplication.Documents.Count = 0 Then
Exit Sub
End If
If ThisApplication.ActiveDocument.DocumentType = 12291 Or 12290 Then
Set View1 = ThisApplication.ActiveView
Set Camera1 = View1.Camera
Set TransGeom1 = ThisApplication.TransientGeometry
Set point1 = TransGeom1.CreatePoint2d(0, 0)
Set point2 = TransGeom1.CreatePoint2d(inte1, inte2)
Call Camera1.ComputeWithMouseInput(point1, point2, 0, 30209)
End If
End Sub

Sub fu4() '向左转,可设置Ctrl键+小数字键盘4作快捷键
Call ffu1(94.24775, 0)
Camera1.Apply
End Sub

Sub fu6() '向右转,可设置Ctrl键+小数字键盘6作快捷键
Call ffu1(-94.24775, 0)
Camera1.Apply
End Sub

Sub fu8()  '向上转,可设置Ctrl键+小数字键盘8作快捷键
Call ffu1(0, 94.24775)
Camera1.Apply
End Sub

Sub fu2()  '向下转,可设置Ctrl键+小数字键盘2作快捷键
Call ffu1(0, -94.24775)
Camera1.Apply
End Sub

Sub fu1()  '逆时针转,可设置Ctrl键+小数字键盘1作快捷键
Call ffu1(94.24775, 0)
Set point2 = TransGeom1.CreatePoint2d(0, 94.24775)
Call Camera1.ComputeWithMouseInput(point1, point2, 0, 30209)
Set point2 = TransGeom1.CreatePoint2d(-94.24775, 0)
Call Camera1.ComputeWithMouseInput(point1, point2, 0, 30209)
Camera1.Apply
End Sub

Sub fu3()  '顺时针转,可设置Ctrl键+小数字键盘3作快捷键
Call ffu1(94.24775, 0)
Set point2 = TransGeom1.CreatePoint2d(0, -94.24775)
Call Camera1.ComputeWithMouseInput(point1, point2, 0, 30209)
Set point2 = TransGeom1.CreatePoint2d(-94.24775, 0)
Call Camera1.ComputeWithMouseInput(point1, point2, 0, 30209)
Camera1.Apply
End Sub

2、设置快捷方式,如图示。


3、在零部件环境(包括草图)中需要转动时直接按定义好的快捷键。
4、还没有想到好方法将快捷方式加到鼠标上,如果加在鼠标上,要先启动命令,再用鼠标控制,还没有好想法利用鼠标的三个键控制6种或更多方向的旋转。

本帖子中包含更多资源

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

x
发表于 2006-8-24 13:03:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2006-8-24 19:33:00 | 显示全部楼层
感谢分享!不过你的程序能不能做到像AIP本身工程图创建中,自定义视图中的按任意角度旋转(45)等命令.不知道AIP为什么不在零件环境下启用这个命令.
发表于 2006-8-24 21:53:00 | 显示全部楼层

这个不能满足要求吗?

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-12-21 20:03 , Processed in 0.214300 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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