使用 VB.NET 和 AutoCAD .NET 打印出 RXClass 信息


使用 VB.NET 和 AutoCAD .NET 打印出 RXClass 信息
在这篇文章中,让我们详细了解一下 RXClass,看看它在使用 AutoCAD .NET 编程时能给我们带来什么。那么我们将来可能会很好地利用它。

这是在 RXClass 中检查 Circle 类的测试命令和代码:

<CommandMethod("RxClassInfo")> _
Public Shared Sub RxClassInfo_Method()
    Dim ed As Editor = MgdAcApplication.DocumentManager.MdiActiveDocument.Editor

    Dim rxClass__1 As RXClass = RXClass.GetClass(GetType(Circle))
    Dim str As String = "RXClass info for Circle:" & vbLf
    str += String.Format(vbTab & "Name: {0}" & vbLf, rxClass__1.Name)
    str += String.Format(vbTab & "DxfName: {0}" & vbLf, rxClass__1.DxfName )
    str += String.Format(vbTab & "AppName: {0}" & vbLf, rxClass__1.AppName)
    str += String.Format(vbTab & "ClassVersion: {0}" & vbLf, rxClass__1.ClassVersion)
    str += String.Format(vbTab & "父: {0}" & vbLf,rxClass__1.MyParent.Name)
    str += String.Format(vbTab & "ProxyFlags: {0}" & vbLf, rxClass__1.ProxyFlags)
    str += String.Format(vbTab & "AutoDelete: {0}" & vbLf, rxClass__1.AutoDelete)
    str += String .Format(vbTab & "IsDisposed: {0}" & vbLf, rxClass__1.IsDisposed)

    ed.WriteMessage(str)
End Sub

这里是输出:

命令:RxClassInfo
RXClass info for Circle:
 名称:AcDbCircle
 DxfName:CIRCLE
 AppName:ObjectDBX Classes
 ClassVersion:19.0.0.0
 Parent:AcDbCurve
 ProxyFlags:0
 AutoDelete:False
 IsDisposed:False

因此,RXClass 的名称可以预期为前缀 AcDb 加上 AutoCAD .NET 类名,而 DxfName 是 .NET 类名的大写。AppName 似乎始终是 AutoCAD 本机类的 ObjectDBX 类。尽管测试命令/代码在 AutoCAD 2012(内部/注册表版本 18.2)中运行,但此处的 ClassVersion 为 19.0.0.0。Circle 的父 RXClass 也是预期的 AcDbCurve。ProxyFlags 为 0 表示 Circle 不是来自第三方或定义它的应用程序(例如 ObjectDBX)正在加载和启用。AutoDelete 和 IsDisposed 很简单。

领先的AutoCAD .NET 插件向导 (AcadNetAddinWizard)提供了各种项目向导、项目向导、编码器和小部件,以帮助对 AutoCAD .NET 插件进行编程。

https://spiderinnet1.typepad.com/blog/2015/02/prin ... ing-vbnet-and-autocad-net.html



IO.Path.Combine



欢迎关注微信公众账号ByCAD