I have been using these forums for a few years now to get skill help. This is a great forum!
Now I find I need to post my question here.
I have skill code that will modify a via pcell/cdf to add and sub rows and columns by key strokes. This all works great on flat data. Once I edit in place and the instance I am in is rotated throught the hierarchy somewhere, now the keys that were supposed to grow the via pcell north now go west or east.
How can I pass the proper hierarchical orientation to my skill?
I think this is the right way around, but forgive me if it ends up with the transform back to front - I'm sure you can fix it if it is. The trick is to use geGetInstHierPath() to find out the hierarchical path down to where you are, and then to concatenate the transformations at each stage. Because I'm not worried about the translation part (i.e. the offset), I don't worry about handling mosaics properly - this is just to collect the orientation.
Anyway, something like this should do it:
procedure(CCSgetCurrentOrient(@optional (win hiGetCurrentWindow()))
transform=list(0:0 "R0" 1)
In reply to Andrew Beckett:
This is exactly what I needed.
In reply to Vaughn:
This information is also readily available off the window id:
You can also get the current edit-in-place cell x and y offset relative to the top level. Getting it from the window id will require that you divide by the geGetEditCellView()~>DBUPerUU (database units, usually 1000.0):hiGetCurrentWindow()~>e2dTransXhiGetCurrentWindow()~>e2dTransY
Thus, the transform of the current edit-in-place cell is:layWin=hiGetCurrentWindow()curTransform=list(geEditToWindowPoint(layWin 0:0) layWin~>e2dTransOrient 1.0)
In reply to dmay: