Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Geometry
Public Class ZwcadApps
<CommandMethod("CreateArcD")> _
Public Sub CreateArcD()
Dim ZcDoc As Document = Application.DocumentManager.MdiActiveDocument
Dim ZcDB As Database = ZcDoc.Database
Dim ZcEd As Editor = ZcDoc.Editor
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 ent As Arc = Nothing
Do
Dim peo1 As New PromptEntityOptions(vbLf & "Select an arc:")
peo1.SetRejectMessage(vbLf & "Must be an arc")
peo1.AddAllowedClass(GetType(Arc), True)
Dim per1 As PromptEntityResult = ZcEd.GetEntity(peo1)
If per1.Status <> PromptStatus.OK Then
Return
End If
ent = DirectCast(ZcTran.GetObject(per1.ObjectId, OpenMode.ForRead), Arc)
Loop While ent Is Nothing
Dim peo2 As New PromptPointOptions(vbLf & "Specify point:")
Dim per2 As PromptPointResult = ZcEd.GetPoint(peo2)
If per2.Status <> PromptStatus.OK Then
Return
End If
Dim pt2 As Point3d = per2.Value
Dim styleID As ObjectId = ZcDB.Dimstyle
Dim DimEnt As ArcDimension = New ArcDimension(ent.Center, ent.StartPoint, ent.EndPoint, pt2, "<>", styleID)
ZcBLTR.AppendEntity(DimEnt)
ZcTran.AddNewlyCreatedDBObject(DimEnt, True)
ZcTran.Commit()
End Using
End Sub
End Class
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Geometry
Public Class ZwcadApps
<CommandMethod("CreateArcD")> _
Public Sub CreateArcD()
Dim ZcDoc As Document = Application.DocumentManager.MdiActiveDocument
Dim ZcDB As Database = ZcDoc.Database
Dim ZcEd As Editor = ZcDoc.Editor
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 ent As Arc = Nothing
Do
Dim peo1 As New PromptEntityOptions(vbLf & "Select an arc:")
peo1.SetRejectMessage(vbLf & "Must be an arc")
peo1.AddAllowedClass(GetType(Arc), True)
Dim per1 As PromptEntityResult = ZcEd.GetEntity(peo1)
If per1.Status <> PromptStatus.OK Then
Return
End If
ent = DirectCast(ZcTran.GetObject(per1.ObjectId, OpenMode.ForRead), Arc)
Loop While ent Is Nothing
Dim peo2 As New PromptPointOptions(vbLf & "Specify point:")
Dim per2 As PromptPointResult = ZcEd.GetPoint(peo2)
If per2.Status <> PromptStatus.OK Then
Return
End If
Dim pt2 As Point3d = per2.Value
Dim styleID As ObjectId = ZcDB.Dimstyle
Dim DimEnt As ArcDimension = New ArcDimension(ent.Center, ent.StartPoint, ent.EndPoint, pt2, "<>", styleID)
ZcBLTR.AppendEntity(DimEnt)
ZcTran.AddNewlyCreatedDBObject(DimEnt, True)
ZcTran.Commit()
End Using
End Sub
End Class