here's some sample code for creating a circle in VBA style and .Net
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Geometry
Public Class Class1
<Autodesk.AutoCAD.Runtime.CommandMethod("VBACircle")> _
Public Sub AddVBACircle()
Dim p(0 To 2) As Double, r As Double
p(0) = 10 : p(1) = 50 : p(2) = 0
r = 150
Dim thisDrawing As Object = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.AcadDocument()
thisDrawing.ModelSpace.AddCircle(p, r)
End Sub
<Autodesk.AutoCAD.Runtime.CommandMethod("NETCircle")> _
Public Shared Sub AddNetCircle()
Dim p As New Point3d(10, 50, 0), r As Double = 150
Using db As Database = HostApplicationServices.WorkingDatabase()
Using tr As Transaction = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction()
Dim myDWG As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument
Using lock As DocumentLock = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument
Dim cir As New Circle()
cir.SetDatabaseDefaults()
cir.Radius = r
cir.Center = p
Dim bt As BlockTable = DirectCast(tr.GetObject(db.BlockTableId, OpenMode.ForRead), BlockTable)
Dim ms As BlockTableRecord = DirectCast(tr.GetObject(bt(BlockTableRecord.ModelSpace), OpenMode.ForWrite), BlockTableRecord)
Dim mtId As ObjectId
mtId = ms.AppendEntity(cir)
tr.AddNewlyCreatedDBObject(cir, True)
tr.Commit()
End Using
End Using
End Using
End Sub
End Class
---------------------------

(defun botsbuildbots() (botsbuildbots))