@Gaganpatel hi,
To do what you want out of your sample dwg is impossible. there is no much different between your drawing and manual drawing, you need to start using the system as CAD program by using blocks for repeating symbols - ok? 🤣
so Attached profile.zip file containing 2 files:
1. A modified "Sample Str.dwg"
2. profile.VLX (load it with appload)
in the modified dwg i created a new block called "profile" it is a dynamic attribute block to cover all annotations. this block is intended to replace each of your "profiles". of course it could be done manually but profile.VLX contain a PROFILE command to to it.
follow these instruction carefully
Command: PROFILE
Pick "section" annotation: < pick "L75X75X6" >
the function here will reject unmatched text, only "section" is applicable.
Select mark number...
Select objects: < select the mark no + the circle >
Delete existing profile <Y>: < Yes or No for deleting the origin >
profile is replaced, you need to do it for each one. when finished, you move to BOM table. remember, "Sample Str.dwg" is ready for table.
Command: BOM
Select objects(s): < Select all profile blocks >
Table insertion point: < specify upper left corner >
if you use INSERT to insert profile block and the MARK NO comes on the wrong side, you can pick the mark and move it. also if the mark angle is not 0, you can pick the rotation grip to rotate it. these 2 functions does not effect the "section" annotation. also do not change attributes tag names and their order, this will cause the lisp command to not work.
that it mate 😀
enjoy
Moshe