Thanks for the help so far ... I have managed to push past the UCS issue. I still hate it that we cannot set to "World" without having to create a named UCS.
Let me give you a little bit of insight into what I am doing .. it may make a bit more sense to you ...
We use hatch for a variety of fill patterns, once upon a time we used "line" at various scales to represent shiplap siding, and board & batten siding, not to mention AR-CONC, AR-B816C etc ... about 2 years ago, I broke down and defined custom hatch patterns for all of our most common fills and some that were not so common to make our life easier, not to mention moving toward BOM also makes it easier as well ... The simplest method to distinguish between an 8" lap and 6" lap was to define the scale when placing the hatch and then retrieve the scale and size of the hatch for BOM .. but this led to people doing math incorrectly (some called out 8" some called out 7 1/2" etc .... ) we now have predefined hatched, the name is all we need now ...
Anyway, the various hatches (by standard) are to be placed on the various layers to which they are associated. We were getting incorrect scales, colors, layers, and the hatch origin would be off making the hatch not look correct. So, enter the reactor ...
The reactor will grab the hatch item and its name, set a UCS at the bottom left of the hatch pattern, set the layer, color, scale and rotation (our stone pattern is done randomly) based on predefined standards, re-evaluate the hatch, update the entity and finally return the UCS to the previous condition.
Now I have one more task ....
We have a hatch pattern for metal roofing that aligns properly on a square roof, but many times we have a triangular section. By default I am using the lower left of the bounding box. It would be better to use the upper right of the bounding box when the triangular section is on the left. So ... I suppose I need to get the outer loop and find the longest vertical plane between any 2 points ...
<goes back to key pounding>