Changing piviot point for a pose.

I'm working on Windows 10, Daz V 4.10.x
I am venturing off to techniques I've need to use in Daz before. I created and saved a new pose. As expected when rotating the pose it uses the oritional piviot point which is, from side view, in the center and bottom of the foot. This makes positioning the posed character awkward. I learned how to move the piviot point to the new position manually using the joint editor but would really like to create a script to do the job for me. Actually I'd really love to create a script to do it as the pose is selected (I know, asking a lot). I'm sure the first option is doable but I haven't written daze scripts before (I know I can pick that part up pretty quickly). I guess what I really need to know is how to identify the origin and destination location, i.e., how to you define those points so they can be referenced in a script?
Any help offered would greatly appreciated.
Bruce
Comments
I meant to include an image to illustrate what I need. See attached
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/object_index/node_dz#a_1a52682ea251abcd473d4872b4c8f76a9f
http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/object_index/node_dz#a_1ae0d7a5a2c72eeb9c1ba2067eb23b2a1a
in http://docs.daz3d.com/doku.php/public/software/dazstudio/4/referenceguide/scripting/api_reference/object_index/node_dz and the correxsponding get methods. So you need to get your node (either by using one of the find methods in the Scene object or from Scene.getPrimarySeelction() or the like), get the current origin and end points, and adjust as needed.
Why talking about a complicated script? I mean if you like to go ahead there may be some advantages, but I think this can easily been done without writing a script.
The simplest thing you can do is to parent the figure to a Null or a Group positioned at the desired location and use this as the new pivot point.
Another way would be to create a Property for that descriped below.
After you've changed the origin of the root node with Joint Editor you can create a new Property in the Parameters pane (right-click menu at the pane Edit-Mode then select it to be a Type: Modifier/Pose).
Once created right-click that Property and use ERC-Freeze to save the new loacation of the Origin to the slider. Also check the Reset Rigging in the ERC-Freeze dialogue.
You propably don't want your actual pose to be part of the new Property so before using ERC-Freeze to shorten the list in the dialogue first use Memorize Figure Pose from the Parameters pane options menu (the lined button at top).
Next if you dial up this property and save your pose as Pose Preset it will include the correction of the Origin because its defined as Type: Pose. Well you could even change the data type to Bool to make it 'jump' into position with an On/Off button instead of sliding up as you dial. Finaly don't forget to save the Morph Asset of your new property to the DazStudio library. Make shure the default value of the property is zeroed have a look at the Parameter Settings (the gear icon) before saving the morph asset.
I've done this in the past, set the origin to the hip location but then the Move to Foor action shortcut Ctrl+D set the figure half way into the ground. But as I discovered recently the Move to Foor script got updated and there should be no such issue anymore.
However keep in mind that the figure root node origin is also used as the scaling center. If you scale your figure up-down it will no longer stay with the feet on the ground but hitting Ctrl+D Move to Floor should fix this.
PS use smooth shaded instead of texture shaded for your screenshots next time the DAZ TOS is very restricted about nudity see Acceptable Ways of Handling Nudity.
I thank you both for great answers. I will follow up on both. Syrus, there is an advantage to writting a script besides accomplishing my goal. It will motovate me to learn scripting and a goal to work toward.
Again, thank you both for great responses. They are truely appreciated.
Bruce