Blocks are like mini drawings. The figure shows a block, inserted at two different places in the drawing.

Inserting a block does not copy the objects of the block. A reference to the block is created in the form of a block insertion object. The block insertion object (or Block insert for short) has a number of attributes
kCADColorUncolored,
which retains individual line colors.
Setting it to another color, recursively overrules line colors of objects in the block
kCADColorUncolored,
which retains individual fill colors.
Setting it to another color, recursively overrules fill colors of objects in the block
A block can be inserted not only in a drawing but also in another block. DemoCAD lets you edit blocks recursively with option double-click, the code is worth studying.
In fact, there is little difference between a block and the true drawing,
except that the true drawing has a drawing plane attached and is immediately visible.
The true drawing can be considered the root block in the drawing’s block hierarchy and
for programming purposes the true drawing is considered a block with a special block ID assigned,
kCADRootBlockID.
A block has the following attributes
kCADTrue if the block was imported from a DXF file,
kCADFalse if not (see Importing DXF files)
kCADTrue if the block is a dimension in
the DXF file from which it was imported (see Importing DXF files)
Methods
CADAddBlock, CADRemoveBlock, CADGetBlocks,
CADGetBlockInfo, CADSetBlockName,
CADGetBlockKey, CADSetBlockKey,
CADAddInsertXY, CADAddInsert, CADObjInsert,
CADGetInsertID, CADGetInsert, CADGetInsertXY,
CADSetInsertID, CADSetInsert, CADSetInsertXY,
CADGetInsertColor, CADSetInsertColor,
CADClear.