I don't quite understand what do you exactly want to achieve with attributes in Layout
Its a part of a larger program, where I'm creating layouts and viewports and zooming on the same attributed block; and I do need to obtain the exact attribute position
in the layout space, so I could do conditional changes for the TextString property based on the TagString.
My intention is to entmake MTEXTs in the layout space, matching the properties of the projected attribute definitions (position, rotation, size, style).
Unfortunately creating multiple attributed blocks in each layout's space is not a option.
but I'd try exploding block, seleting attributes, change space (CHSPACE command), do with attributes what had to be done, and finally undo all until before exploding... I don't know if this helps you, but we need more info about copy-re-entmaking and so on... that you plan to do...
Sounds like a working idea, although I've got 100+ layouts and each one has multiple viewports zooming on different blocks,
and I'm not sure how much the command call will slow down the whole thing.
My main problem is to figure out on
how to perform the point translations from the OCS of the block ref to the PCS of the layout -
so I've thought about implementing the 'refgeom' subfunction by gile but I have no clue how to use it.
If you have a object in modelspace and chspace it will disappear in other viewports. Do you mean to leave it behind ? But replicate/copy it to the layout at correct orientation and position over multiple viewports ? May have some clues how to do.
I'm just trying to 'explode it on top' of a certaion viewport in a certain layout, hence if I provide these handles <BlockRefHandle> <ViewportHandle> to the subfunction I would know exactly from which block I can extract its geometry to which layout. But by exploding I mean like the method vla-Explode, where the block in modelspace remains untouched.
A possible alternative would be to translate/scale the whole block reference to the layout space as a copy and then explode it.
But that would deviate from the question on how to translate a point from OCS to PCS.