In this workflow, blocks represent parts and nested blocks represent assemblies.
No, not every block is counted by the BOM. Only the blocks you mark by attaching a block part reference are considered "parts". If you create a nested block with “part” blocks, and attach a block part reference to the nested block, the BOM considers the nested block to be an assembly. In the BOM, the part blocks are nested under the assembly to which they belong. In this manner you can build a hierarchy of assemblies, subassemblies, and parts within the drawing using the BOM.
A block part reference is a special type of part reference designed to be placed on blocks. You create block part references with the AMPARTREF_BLOCK command or with the Block option of the AMPARTREF command. When you attach a block part reference to a block reference, all other instances of that block inherit that block part reference. Each instance of that block increments the count of that part in the BOM.
When you attach a block part reference to a block reference, the part reference automatically imports block attribute values to component properties of th part reference, if they both have the same name. For example, say the block has an attribute named DESC, and the part reference has a component property named DESC. When you attach a block part reference to the block reference, the component property DESC automatically acquires the value of the block attribute DESC.