Is MPOLYGON a CUSTOM ENTITY ?
have you also thought about "exporting" from ARX environment
functions to create custom entities ?
(in addition to MPOLYGON)
Not a custom entity
The underlying core supports it,
It's just that AUTUCAD didn't make it for end users.
ARX supports creating it
Through XDRX-API, LISP can operate it
Query method:
Command: (xdrx-mpolygon-make (entlast))
<Entity name: 2378c48c0a0>
Command: (xdrx-getpropertyvalue (entlast))
Class AcDbMPolygon:
├─Area (None or Int)
├─Detach
├─DetachLoopAt (Point or Int)
├─Elevation
├─ExtractLoopAt (Point or Int)
├─IsBalanced
├─OffsetVector
├─PatternDefinitionAt
├─Perimeter
├─Length
├─Normal
├─NumPatternDefinitions
├─IncludesTouchingLoops
├─IsPointInsideMPolygon
├─IsPointOnLoopBoundary
├─SelfCrosses
├─PatternAngle
├─patternColor
├─PatternScale
├─PatternDouble
├─PatternSpace
├─PatternName
├─PatternType
├─Perimeter
Loops Class:
├─ChildLoops(ParentLoop Inx [T])
├─ClosestLoopTo / LoopIndexTo (Int or Point)
├─HasChildLoop([T])
├─GetLoopAt / LoopAT(Int or Point)
├─GetLoops/ALLLoops (None or T)
├─GetLoopsAt(Int .... Int)
├─LoopAtGsMarker
├─LoopDirection
├─MPolygonLoopAt (Int or Point)
├─MPolygonLoops (None or T)
├─NumLoops
├─OverLapLoops([T])
├─ParentLoop
├─RootLoop / RootLoopAt(Int or Point)
├─RootLoopIndexAt / RootLoopIndex(Int or Point)
├─RootLoops
Class AcDbEntity:
├─9PT
├─BoundingBox
├─Color (None or T[real color])
├─ColorIndex(None or T)
├─Centroid
├─ECS
├─Elevation
├─Ename
├─GeomExtents
├─ GripPoints
├─IsMemoryEntity
├─Layer(None or T or NIL)
├─Layout
├─Linetype(None or T or NIL)
├─LinetypeScale
├─LineWeight
├─OrthoProject(Plane T)
├─Project(Plane Normal T)
├─PersistentReactor
├─Plane
├─PlotStyleName
├─StretchPoint
├─Transparency
├─Visibility
├─XDir
Class AcDbObject:
├─ClassName
├─OriginalDatabase
├─Database
├─ExtensionDictionary
├─FieldDictionary
├─IsA
├─IsAProxy
├─IsErased
├─IsReallyClosing
├─Handle
├─HasFields
├─HasPersistentReactor
├─MyParent
├─ObjectID
├─Owner
├─xData
Editing method:
Command: (xdrx-setpropertyvalue (entlast))
Class AcDbMPolygon:
├─BalanceTree (None)
├─BalanceDisplay (None)
├─Elevation (Double)
├─Gradient (Int STR)
├─GradientAngle (Double)
├─GradientShift (Int)
├─Normal (Vector)
├─LoopDirection (Int Int)
├─Pattern (Int Str)
├─PatternAngle (double)
├─PatternColor (POINT or Int)
├─PatternDouble (T or NIL)
├─PatternScale (Double or Int)
├─PatternSpace (Double or Int)
├─AppendLoop ((Ename or GeEnt or DBEnt or (Points and Doubles) or T))
├─AppendMPolygonLoop (Points and Doubles or T)
├─AppendLoopFromBoundary (Enames [T])
├─InsertMPolygonLoopAt (INT Enames Doubles [T])
├─RemoveHatch (None)
├─removeMPolygonLoopAt (Int)
├─evaluateHatch (None or T)
Class AcDbEntity:
├─Color(Int)
├─Elevation(Int or Real)
├─Layer(STR)
├─Linetype(STR)
├─LinetypeScale(Real or Int)
├─LineWeight(INT)
├─PlotStyleName(STR)
├─OrthoProject(Plane T)
├─Project(Plane Normal T)
├─TransformBy
├─Transparency(0-100)
├─Visibility(T or Nil)
├─Z->0(None Or T)
Class AcDbObject:
├─CopyFrom (Ename)
├─RemovePersistentReactor (ENAME)
├─CreateExtensionDictionary (None)
├─releaseExtensionDictionary (None)
├─SetXdata (STR val1...valn)
├─xDataTransformBy (matrix)