Acad和VB。Net我该怎么改变
任何人都有VB。net命令将当前平面视图模型空间更改为任何等轴测空间;但仍在模型空间中。我搜索了所有没有运气,我一定没有使用正确的关键字。。。。。谢谢你的帮助!抢劫 V点1,1,1 和。净额:
可以从数据库中获取ViewportTableRecord对象。CurrentViewportTableRecordId(通过事务)。
可以像vpoint命令一样修改视图:
ViewportTableRecord。ViewDirection=新Vector3d(1.0、1.0、1.0)
(提交事务)
使用以下选项重新生成视图:
编辑UpdateTimedViewPortsFromDatabase()
谢谢你的提示,所以我很接近,但我有这个错误,是我没有使用AutoCAD 2011和更新的。net framework?还是我错过了一份推荐信?
谢谢
编辑ActiveViewportId属性仅适用于Acad2009或更高版本 这个NET API自AutoCAD 2005(配置文件中列出的版本)以来发生了很大变化。因此,下面显示的示例可能不起作用。
导入Autodesk。AutoCAD。运行时
导入Autodesk。AutoCAD。数据库服务
导入Autodesk。AutoCAD。编辑输入
导入Autodesk。AutoCAD。几何学
导入Autodesk。AutoCAD。应用程序服务
<CommandMethod("IV")> _
Public Sub IsoView()
Dim Doc As Document = Application.DocumentManager.MdiActiveDocument
Dim db As Database = HostApplicationServices.WorkingDatabase
If (db.TileMode = True) Then
Using tran As Transaction = db.TransactionManager.StartTransaction()
Dim vpr As ViewportTableRecord = DirectCast(tran.GetObject(db.CurrentViewportTableRecordId, OpenMode.ForWrite), ViewportTableRecord)
If vpr IsNot Nothing Then
Dim v3d As Vector3d = New Vector3d(1.0, -1.0, 1.0)
vpr.ViewDirection = v3d
End If
tran.Commit()
End Using
Doc.Editor.UpdateTiledViewportsFromDatabase()
End If
End Sub
我也有点这样想,但不确定。。。。。。。
方案b
好的,我现在正在使用acad 2009,上面的代码正在运行。
如果有人使用acad 2006-2008,则可以将当前模型视图更改为等轴测视图。这是从中国的一个网站上得到的
' set iso mode
Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
Dim vtr As ViewTableRecord = ed.GetCurrentView()
Dim newVtr As ViewTableRecord = vtr
newVtr.ViewDirection = New Vector3d(1, -1, 1)
ed.SetCurrentView(newVtr)
' close Iso mode
页:
[1]