Scaling about an arbitrary point

The animated gif above shows the result of scaling an object about a point that is not the origin. This is like moving an object’s center and then scaling the object.

Here’s an ICE tree that scales an object (a cube in this example) about an arbitrary point.

I didn’t freeze the transforms on the cube, so I used a StaticKineState property to hold the initial SRT values. Otherwise, when I had the plugged into the tree, I ended up with some weird results sometimes.

A null named “pivot_position” is used to specify the scaling point.

First, we translate the scaling point back to the origin of the cube coord system.
Then we apply the scaling, and then we translate back to the “pivot position”.
Because the cube transforms weren’t frozen, I then multiple by the cube’s initial transfo matrix to get the final result.
On-Line Computer Graphics Notes

Adding your ICE operators to menus

The User Tools menu in an ICE Tree view has an Add Operator to Menu command that adds your compounds to menus, so you can apply them to the selected object. “Add Operators to Menu” is implemented in VBScript in %XSI_HOME%\Addons\ICEUserTools\Application\Plugins\ICEUserTools.vbs.

Unfortunately, this command wasn’t updated after 2011 Advantage Pack, so it doesn’t know about the new ICE toolbar and menu structure.

So, here’s a Python version that adds ICE operators to either the Particles > Create or Deform > Create menus in the ICE toolbar. When you apply the operators, they will be applied to all selected objects.

The addon adds a “PSS Add Operators to Menu” command to the User Tools menu of the ICE Tree view, so it does add a bit of clutter (since I cannot programmatically remove the original Add Operators to Menu command).

To add operators to menus:

  1. Export your compound.
  2. In the ICE Tree view, click User Tools > PSS Add Operator to Menu.
  3. Type the name of the xsicompound file (without the .xsicompound extension).
  4. The next time you open the menu, it will be dynamically updated to include a command that applies your operator (with ApplyICEOp) to all selected objects.

See below the fold for the plugin code.
Continue reading

Carl Bass talks to Architosh about Apple in the CAD/3D industries

Exclusive Interview: Carl Bass, CEO of Autodesk, talks to Architosh about Apple in the CAD/3D industries | Architosh.

We have had more than six million downloads of SketchBook mobile. We’ve had almost two million downloads of AutodCAD WS in a fraction of the time SketchBook has been available. Even things like TinkerBox…we’ve had over a million downloads of that. So I think when you look at the numbers they speak for themselves. It shows you just how popular and compelling those devices are.