1+ #Copyright(c) 2021, Hồ Văn Chương
2+ # @chuongmep, https://chuongmep.com/
3+ import clr
4+ import sys
5+ sys .path .append ('C:\Program Files (x86)\IronPython 2.7\Lib' )
6+ import os
7+ import math
8+ clr .AddReference ('acmgd' )
9+ clr .AddReference ('acdbmgd' )
10+ clr .AddReference ('accoremgd' )
11+ # Import references from AutoCAD
12+ from Autodesk .AutoCAD .Runtime import *
13+ from Autodesk .AutoCAD .ApplicationServices import *
14+ from Autodesk .AutoCAD .EditorInput import *
15+ from Autodesk .AutoCAD .DatabaseServices import *
16+ from Autodesk .AutoCAD .Geometry import *
17+ doc = Application .DocumentManager .MdiActiveDocument
18+ ed = doc .Editor
19+ db = doc .Database
20+ #Code Here :
21+ objects = []
22+ p1 = Point3d (0 ,0 ,0 )
23+ p2 = Point3d (2000 ,2000 ,0 )
24+ line1 = Line (p1 ,p2 )
25+ result1 = ed .GetPoint ("Please select a point" )
26+ if (result1 .Status == PromptStatus .OK ):
27+ centerPt = result1 .Value
28+ result2 = ed .GetInteger ("Please input radius" )
29+ if (result2 .Status == PromptStatus .OK ):
30+ radius = result2 .Value
31+ with doc .LockDocument ():
32+ with doc .Database as db :
33+ with db .TransactionManager .StartTransaction () as t :
34+ bt = t .GetObject (db .BlockTableId ,OpenMode .ForRead )
35+ btr = t .GetObject (bt [BlockTableRecord .ModelSpace ],OpenMode .ForWrite )
36+ circle = Circle (centerPt , Vector3d .ZAxis , radius )
37+ btr .AppendEntity (circle )
38+ t .AddNewlyCreatedDBObject (circle ,True )
39+ t .Commit ()
40+ print ("Circle Created" )
0 commit comments