Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.DatabaseServices
Imports System.Runtime.InteropServices
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.Geometry
Namespace test
Public Class test
<DllImport("zwcad.exe", EntryPoint:="zcedCmd", CallingConvention:=CallingConvention.Cdecl)> _
Private Shared Function zcedCmd(vlist As System.IntPtr) As Integer
End Function
Shared Function SendCmd(cmds() As String) As Integer
Dim rb As New ResultBuffer()
For Each cmd As String In cmds
rb.Add(New TypedValue(5005, cmd))
Next
Return SendCmd(rb)
End Function
Shared Function SendCmd(rb As ResultBuffer) As Integer
Return zcedCmd(rb.UnmanagedObject)
End Function
'使用非托管的acedCmd方法调用平台命令及由ObjectARX或.NET API定义的命令
<CommandMethod("CallCmd")> _
Public Sub CallCmd()
Dim ZcDoc As Document = Application.DocumentManager.MdiActiveDocument
Dim ZcDB As Database = ZcDoc.Database
Using ZcTran As Transaction = ZcDB.TransactionManager.StartTransaction
Dim ZcBLT As BlockTable = ZcTran.GetObject(ZcDB.BlockTableId, OpenMode.ForRead)
Dim ZcBLTR As BlockTableRecord = ZcTran.GetObject(ZcBLT(BlockTableRecord.ModelSpace), OpenMode.ForWrite)
Dim line As Line = New Line(New Point3d(0, 0, 0), New Point3d(10, 10, 0))
ZcBLTR.AppendEntity(line)
ZcTran.AddNewlyCreatedDBObject(line, True)
ZcTran.Commit()
End Using
SendCmd({"_.ZOOM", "_E"})
End Sub
End Class
End Namespace
Imports ZwSoft.ZwCAD.DatabaseServices
Imports System.Runtime.InteropServices
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.Geometry
Namespace test
Public Class test
<DllImport("zwcad.exe", EntryPoint:="zcedCmd", CallingConvention:=CallingConvention.Cdecl)> _
Private Shared Function zcedCmd(vlist As System.IntPtr) As Integer
End Function
Shared Function SendCmd(cmds() As String) As Integer
Dim rb As New ResultBuffer()
For Each cmd As String In cmds
rb.Add(New TypedValue(5005, cmd))
Next
Return SendCmd(rb)
End Function
Shared Function SendCmd(rb As ResultBuffer) As Integer
Return zcedCmd(rb.UnmanagedObject)
End Function
'使用非托管的acedCmd方法调用平台命令及由ObjectARX或.NET API定义的命令
<CommandMethod("CallCmd")> _
Public Sub CallCmd()
Dim ZcDoc As Document = Application.DocumentManager.MdiActiveDocument
Dim ZcDB As Database = ZcDoc.Database
Using ZcTran As Transaction = ZcDB.TransactionManager.StartTransaction
Dim ZcBLT As BlockTable = ZcTran.GetObject(ZcDB.BlockTableId, OpenMode.ForRead)
Dim ZcBLTR As BlockTableRecord = ZcTran.GetObject(ZcBLT(BlockTableRecord.ModelSpace), OpenMode.ForWrite)
Dim line As Line = New Line(New Point3d(0, 0, 0), New Point3d(10, 10, 0))
ZcBLTR.AppendEntity(line)
ZcTran.AddNewlyCreatedDBObject(line, True)
ZcTran.Commit()
End Using
SendCmd({"_.ZOOM", "_E"})
End Sub
End Class
End Namespace