Re: Friday Flashback #258

2016-01-15 Thread Jason S

  
  
Or not enough said, 
  you could have included the part just prior to that ;)
  
  Our
founding principles are rooted in the idea that, regardless of
its
technological underpinnings, 3D content creation is a
fundamentally
artistic pursuit – that technology should empower artists, not
restrict
them.
  
  
  On 01/15/16 16:59, Olivier Jeannel wrote:


  For
  the last twenty years Softimage has set a breakneck pace of
innovation
  that has driven the 3D industry forward.

  
Nuff
said !
  
  
On Fri, Jan 15, 2016 at 8:24 PM,
  Stephen Blair 
  wrote:
  

  
Softimage Co.:
20 Years of Character Animation Innovation
  
  
  
  http://wp.me/powV4-3gT
  

  


  


  



Re: Friday Flashback #258

2016-01-15 Thread Olivier Jeannel
For the last twenty years Softimage has set a breakneck pace of
innovation that has driven the 3D industry forward.

Nuff said !

On Fri, Jan 15, 2016 at 8:24 PM, Stephen Blair 
wrote:

>
> Softimage Co.:
> 20 Years of Character Animation Innovation
>
> http://wp.me/powV4-3gT
>


Friday Flashback #258

2016-01-15 Thread Stephen Blair
Softimage Co.:
20 Years of Character Animation Innovation

http://wp.me/powV4-3gT


Re: Object motion converted to path animation but normalized atorigin?

2016-01-15 Thread Steven Caron
oh and PS... I wonder how easy it would be to do in Maya? This being an
honest question because I am sure I would have to do this again eventually
in Maya.

On Fri, Jan 15, 2016 at 10:49 AM, Steven Caron  wrote:

> Ya, the live relationship might be nice to have since I need to put my
> effect back out in world space eventually. Thanks Peter!
>
>


Re: Object motion converted to path animation but normalized atorigin?

2016-01-15 Thread Steven Caron
Ya, the live relationship might be nice to have since I need to put my
effect back out in world space eventually. Thanks Peter!

On Fri, Jan 15, 2016 at 10:32 AM,  wrote:

> > Sounds like it might work.
> > Did you run the scripts? You will see what the curve does... If your
> suggestion does exactly the same thing then you're correct. :)
>
> ran it now – looks the same to me.
> since there’s no plotting involved it could be interesting in keeping the
> relation live...
> (but you would need to keep the copy of the curve and second null’s
> animation identical then )
>
>
> here it is:
>
> Application.CreatePrim("Spiral", "NurbsCurve", "", "")
> Application.SetValue("spiral.spiral.height", 10, "")
> Application.GetPrim("Null", "", "", "")
> Application.ApplyPath("null", "spiral", 1, 100, "", True, True)
> Application.DeselectAll()
> Application.SelectObj("spiral", "", True)
> Application.Duplicate("spiral", "", 2, 1, 1, 0, 0, 1, 0, 1, "", "", "",
> "", "", "", "", "", "", "", 0)
> Application.GetPrim("Null", "", "", "")
> Application.ApplyPath("null1", "spiral1", 1, 100, "", True, True)
> Application.SelectObj("spiral", "", "")
> Application.Translate("", 10, 0, 0, "siAbsolute", "siPivot", "siObj",
> "siX", "", "", "", "", "", "", "", "", "", 0, "")
> Application.Translate("", 0, 0, 10, "siAbsolute", "siPivot", "siObj",
> "siZ", "", "", "", "", "", "", "", "", "", 0, "")
> Application.Translate("", 0, 10, 0, "siAbsolute", "siPivot", "siObj",
> "siY", "", "", "", "", "", "", "", "", "", 0, "")
> Application.ActivateObjectSelTool("")
> Application.SelectObj("spiral1", "", True)
> Application.ActivateObjectSelTool("")
> Application.ApplyOp("ICETree", "spiral1", "siNode", "", "", 0)
> Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\GetDataNode.Preset",
> "spiral1.crvlist.ICETree")
> Application.SetValue("spiral1.crvlist.ICETree.SceneReferenceNode.reference",
> "null.kine.global.pos", "")
> Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\GetDataNode.Preset",
> "spiral1.crvlist.ICETree")
> Application.SetValue("spiral1.crvlist.ICETree.SceneReferenceNode[1].reference",
> "spiral.kine.global.pos", "")
> Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\SubtractNode.Preset",
> "spiral1.crvlist.ICETree")
> Application.ConnectICENodes("spiral1.crvlist.ICETree.SubtractNode.first",
> "spiral1.crvlist.ICETree.SceneReferenceNode.value")
> Application.ConnectICENodes("spiral1.crvlist.ICETree.SubtractNode.second",
> "spiral1.crvlist.ICETree.SceneReferenceNode[1].value")
> Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\MultiplyByScalarNode.Preset",
> "spiral1.crvlist.ICETree")
> Application.ConnectICENodes("spiral1.crvlist.ICETree.MultiplyByScalarNode.value",
> "spiral1.crvlist.ICETree.SubtractNode.result")
> Application.SetValue("spiral1.crvlist.ICETree.MultiplyByScalarNode.factor",
> -1, "")
> Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\SRTToMatrixNode.Preset",
> "spiral1.crvlist.ICETree")
> Application.ConnectICENodes("spiral1.crvlist.ICETree.SRTToMatrixNode.translation",
> "spiral1.crvlist.ICETree.MultiplyByScalarNode.result")
> Application.AddICECompoundNode("Set Data", "spiral1.crvlist.ICETree")
> Application.ConnectICENodes("spiral1.crvlist.ICETree.Set_Data.Value",
> "spiral1.crvlist.ICETree.SRTToMatrixNode.matrix")
> Application.ConnectICENodes("spiral1.crvlist.ICETree.port1",
> "spiral1.crvlist.ICETree.Set_Data.Execute")
> Application.SetValue("spiral1.crvlist.ICETree.Set_Data.Reference",
> "spiral1.kine.global", "")
> Application.SetValue("PlayControl.Key", 7, "")
> Application.SetValue("PlayControl.Current", 7, "")
>
>


Re: Object motion converted to path animation but normalized atorigin?

2016-01-15 Thread peter_b
> Sounds like it might work.
> Did you run the scripts? You will see what the curve does... If your 
> suggestion does exactly the same thing then you're correct. :)

ran it now – looks the same to me.
since there’s no plotting involved it could be interesting in keeping the 
relation live... 
(but you would need to keep the copy of the curve and second null’s animation 
identical then )

here it is:
Application.CreatePrim("Spiral", "NurbsCurve", "", "")
Application.SetValue("spiral.spiral.height", 10, "")
Application.GetPrim("Null", "", "", "")
Application.ApplyPath("null", "spiral", 1, 100, "", True, True)
Application.DeselectAll()
Application.SelectObj("spiral", "", True)
Application.Duplicate("spiral", "", 2, 1, 1, 0, 0, 1, 0, 1, "", "", "", "", "", 
"", "", "", "", "", 0)
Application.GetPrim("Null", "", "", "")
Application.ApplyPath("null1", "spiral1", 1, 100, "", True, True)
Application.SelectObj("spiral", "", "")
Application.Translate("", 10, 0, 0, "siAbsolute", "siPivot", "siObj", "siX", 
"", "", "", "", "", "", "", "", "", 0, "")
Application.Translate("", 0, 0, 10, "siAbsolute", "siPivot", "siObj", "siZ", 
"", "", "", "", "", "", "", "", "", 0, "")
Application.Translate("", 0, 10, 0, "siAbsolute", "siPivot", "siObj", "siY", 
"", "", "", "", "", "", "", "", "", 0, "")
Application.ActivateObjectSelTool("")
Application.SelectObj("spiral1", "", True)
Application.ActivateObjectSelTool("")
Application.ApplyOp("ICETree", "spiral1", "siNode", "", "", 0)
Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\GetDataNode.Preset", 
"spiral1.crvlist.ICETree")
Application.SetValue("spiral1.crvlist.ICETree.SceneReferenceNode.reference", 
"null.kine.global.pos", "")
Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\GetDataNode.Preset", 
"spiral1.crvlist.ICETree")
Application.SetValue("spiral1.crvlist.ICETree.SceneReferenceNode[1].reference", 
"spiral.kine.global.pos", "")
Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\SubtractNode.Preset", 
"spiral1.crvlist.ICETree")
Application.ConnectICENodes("spiral1.crvlist.ICETree.SubtractNode.first", 
"spiral1.crvlist.ICETree.SceneReferenceNode.value")
Application.ConnectICENodes("spiral1.crvlist.ICETree.SubtractNode.second", 
"spiral1.crvlist.ICETree.SceneReferenceNode[1].value")
Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\MultiplyByScalarNode.Preset", 
"spiral1.crvlist.ICETree")
Application.ConnectICENodes("spiral1.crvlist.ICETree.MultiplyByScalarNode.value",
 "spiral1.crvlist.ICETree.SubtractNode.result")
Application.SetValue("spiral1.crvlist.ICETree.MultiplyByScalarNode.factor", -1, 
"")
Application.AddICENode("$XSI_DSPRESETS\\ICENodes\\SRTToMatrixNode.Preset", 
"spiral1.crvlist.ICETree")
Application.ConnectICENodes("spiral1.crvlist.ICETree.SRTToMatrixNode.translation",
 "spiral1.crvlist.ICETree.MultiplyByScalarNode.result")
Application.AddICECompoundNode("Set Data", "spiral1.crvlist.ICETree")
Application.ConnectICENodes("spiral1.crvlist.ICETree.Set_Data.Value", 
"spiral1.crvlist.ICETree.SRTToMatrixNode.matrix")
Application.ConnectICENodes("spiral1.crvlist.ICETree.port1", 
"spiral1.crvlist.ICETree.Set_Data.Execute")
Application.SetValue("spiral1.crvlist.ICETree.Set_Data.Reference", 
"spiral1.kine.global", "")
Application.SetValue("PlayControl.Key", 7, "")
Application.SetValue("PlayControl.Current", 7, "")
*written with my thumbs

On Jan 15, 2016 3:05 AM,  wrote:

  if I read this correctly – you’re just doing position – not orientation right?

  it works in ICE like this:

  for a null path constrained on curve.
  make an identical copy (null1 on curve1)

  [( null global pos – curve global pos ) multiply by –1 ]   >> translation 
port of an SRT to Matrix >> set curve1 global transform 

  null1 stays put at the origin...

  I’m probably oversimplifying things?
  From: Steven Caron 
  Sent: Thursday, January 14, 2016 8:56 PM
  To: softimage@listproc.autodesk.com 
  Subject: Re: Object motion converted to path animation but normalized 
atorigin?

  For those interested in following... 

  here is two scripts, one to set up the scene so you can see the scenario to 
start, and then another to normalize the motion per David's simpler method. 

  #python
  #setup example scene
  Application.SICreateCurve("crvlist", 3, 0)
  Application.SIAddPointOnCurveAtEnd("crvlist", 486.895161434139, 
325.493002786473, 34.5570511051906, False, 0, "")
  Application.SIAddPointOnCurveAtEnd("crvlist", 409.033597647559, 
271.688103800014, 29.5535480810531, False, 0, "")
  Application.SIAddPointOnCurveAtEnd("crvlist", 85.4440658602002, 
300.987801267806, -66.6103573229066, False, 0, "")
  Application.SIAddPointOnCurveAtEnd("crvlist", -246.20762156975, 
272.753547344553, -147.807009721528, False, 0, "")
  Application.SIAddPointOnCurveAtEnd("crvlist", -497.571600133753, 
131.0495559517, -173.495355859157, False, 0, "")
  Application.SIAddPointOnCurveAtEnd("crvlist", -456.369852362362, 
-4.26177417487577, -122.038908353107, False, 0, "")
  Application.SIAddPointOnCurveAtEnd("crvlist", -81.5713

Re: Redshift users?

2016-01-15 Thread balazs kiss
Hi Morten,

we're also on redshift here, and I've made another small studio to switch
too ( by showing a few frames and the corresponding render times ).. great
stuff :)

On Fri, Jan 15, 2016 at 2:54 AM, Kris Rivel  wrote:

> Loove RS! Switched over after briefly playing with Vray and never
> looked back. It has been amazing so far.
>
> Kris
>
> On Fri, Jan 8, 2016 at 8:11 AM, Ognjen Vukovic  wrote:
>
>> I thought they mentioned having rendermaps in soft actually working
>> partially, they were just looking for a method on how to implement it
>> across the board.
>> I could be completely wrong though. Either way i would like  the volumes
>> more :), sorry baking guys.
>>
>> On Fri, Jan 8, 2016 at 12:13 PM, Matt Morris  wrote:
>>
>>> I'd say the timescale for rendermapping/baking will be months rather
>>> than weeks - seems like complex volume rendering will come before baking.
>>>
>>> On 8 January 2016 at 09:28, Ognjen Vukovic  wrote:
>>>
 It wasn't supported up till now, I think they will be introducing it in
 the coming weeks.

 On Fri, Jan 8, 2016 at 9:18 AM, James De Colling <
 james.decoll...@gmail.com> wrote:

> sorry for the potentially silly question, but how is redshift with
> Rendermap? we use it extensively with MR, and would need redshift to have
> the same capability
>
> James,
>
> On Fri, Jan 8, 2016 at 8:01 PM, Morten Bartholdy 
> wrote:
>
>> Wow, it is quite impressive what an impact Redshift has made already.
>>
>>
>>
>> I have done a fair amount of testing with Redshift too and find on
>> average scenes to be 5-10 times faster than Arnold with comparable 
>> quality,
>> plus a number of things are simpler to set up the way you want it, in 
>> part
>> because of the rapid feedback in the renderregion. I have yet to test it 
>> on
>> really complex scenes, so that will be the next thing to check. I agree 
>> on
>> a lack of shader support in certain parts, especially compared to
>> Arnold/Sitoa, so it is reassuring that Burtnyk and Co are so responsive 
>> :)
>>
>>
>>
>> We will likely also incorporate it to some extent when it supports
>> vdb and volumetric rendering and see where it takes us.
>>
>>
>>
>>
>>
>> Morten
>>
>>
>>
>>
>>
>>
>> Den 5. januar 2016 kl. 19:50 skrev "Emilio Hernández" <
>> emi...@e-roja.com>:
>>
>> Softimage and Redshift.Best marriage ever!
>>
>>
>>
>> I have 4 licenses.
>>
>>
>>
>>
>
>

>>>
>>>
>>> --
>>> www.matinai.com
>>>
>>
>>
>


Re: Plotting animated boolean geometry?

2016-01-15 Thread Morten Bartholdy
Didn't know Alembic supports that - will give it a spin.

Thanks Eric and have a nice weekend :)


Morten




Den 15. januar 2016 kl. 16:04 skrev Eric Thivierge :

> Alembic?
> 
> 
> Eric Thivierge
> http://www.ethivierge.com 
> 
> On Fri, Jan 15, 2016 at 9:54 AM, Morten Bartholdy < x...@colorshopvfx.dk
>  > wrote:
> > I would like to plot the geometry from an animated boolean operation. Is
> > there a tool that allows saving geometry with changing nb of vertices out
> > per frame and read it back in?
> > 
> > Perhaps some nifty ICE solution?
> > 
> > Thanks
> > Morten
> > 
> > 
> > 


RE: Plotting animated boolean geometry?

2016-01-15 Thread Neil Kidney
Obj sequence?
 
From: softimage-boun...@listproc.autodesk.com 
[mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Morten Bartholdy
Sent: 15 January 2016 14:54
To: softimage@listproc.autodesk.com
Subject: Plotting animated boolean geometry?
 
I would like to plot the geometry from an animated boolean operation. Is there 
a tool that allows saving geometry with changing nb of vertices out per frame 
and read it back in? 
 
Perhaps some nifty ICE solution? 
 
Thanks 
Morten 
 
 
 


Re: Object motion converted to path animation but normalized atorigin?

2016-01-15 Thread Steven Caron
Sounds like it might work.

Did you run the scripts? You will see what the curve does... If your
suggestion does exactly the same thing then you're correct. :)

*written with my thumbs
On Jan 15, 2016 3:05 AM,  wrote:

> if I read this correctly – you’re just doing position – not orientation
> right?
>
> it works in ICE like this:
>
> for a null path constrained on curve.
> make an identical copy (null1 on curve1)
>
> [( null global pos – curve global pos ) multiply by –1 ]   >> translation
> port of an SRT to Matrix >> set curve1 global transform
>
> null1 stays put at the origin...
>
> I’m probably oversimplifying things?
> *From:* Steven Caron 
> *Sent:* Thursday, January 14, 2016 8:56 PM
> *To:* softimage@listproc.autodesk.com
> *Subject:* Re: Object motion converted to path animation but normalized
> atorigin?
>
> For those interested in following...
>
> here is two scripts, one to set up the scene so you can see the scenario
> to start, and then another to normalize the motion per David's simpler
> method.
>
> #python
> #setup example scene
> Application.SICreateCurve("crvlist", 3, 0)
> Application.SIAddPointOnCurveAtEnd("crvlist", 486.895161434139,
> 325.493002786473, 34.5570511051906, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", 409.033597647559,
> 271.688103800014, 29.5535480810531, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", 85.4440658602002,
> 300.987801267806, -66.6103573229066, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", -246.20762156975,
> 272.753547344553, -147.807009721528, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", -497.571600133753,
> 131.0495559517, -173.495355859157, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", -456.369852362362,
> -4.26177417487577, -122.038908353107, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", -81.571345301959,
> 14.3834878497712, -26.3265899671214, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", 233.227806621437,
> 145.965765570476, 19.5179940313196, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", 553.247813449155,
> 111.871572155872, 116.146231591289, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", 537.167802185775,
> -116.666068097906, 179.907658216995, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", 228.873883716215,
> -268.49177316504, 141.853471471277, False, 0, "")
> Application.SIAddPointOnCurveAtEnd("crvlist", 124.433876714773,
> -305.782297213815, 124.747175301071, False, 0, "")
> Application.CreatePrim("Cone", "MeshSurface", "", "")
> Application.SetValue("cone.cone.radius", 3, "")
> Application.SetValue("cone.cone.height", 12, "")
> Application.ApplyCns("Path", "cone", "crvlist", "")
> Application.SaveKey("cone.kine.pathcns.perc", 1, "", "", "", "", "")
> Application.SetValue("PlayControl.Current", 100, "")
> Application.SetValue("PlayControl.Key", 100, "")
> Application.SetValue("cone.kine.pathcns.perc", 100, "")
> Application.SaveKey("cone.kine.pathcns.perc", 100, "", "", "", "", "")
> Application.SetValue("cone.kine.pathcns.tangent", True, "")
> Application.SetValue("cone.kine.pathcns.dirx", 0, "")
> Application.SetValue("cone.kine.pathcns.diry", 0, "")
> Application.SetValue("cone.kine.pathcns.dirz", 1, "")
> Application.SetValue("cone.kine.pathcns.dirx", 0, "")
> Application.SetValue("cone.kine.pathcns.diry", 1, "")
> Application.SetValue("cone.kine.pathcns.dirz", 0, "")
> Application.SetValue("cone.kine.pathcns.upvct_active", True, "")
>
> #python
> #normalize and invert motion of path cns
> Application.GetPrim("Null", "", "", "")
> Application.SetValue("null.Name", "parent", "")
> Application.Duplicate("parent", "", 2, 1, 1, 0, 0, 1, 0, 1, "", "", "",
> "", "", "", "", "", "", "", 0)
> Application.SetValue("parent1.Name", "child", "")
> Application.CopyPaste("child", "", "parent", 1)
> Application.SelectObj("parent", "", "")
> Application.ApplyCns("Position", "parent", "cone", "")
> Application.SelectObj("child", "", "")
> Application.ApplyCns("Position", "child", "crvlist", "")
> Application.PlotConstrainedTransformsToActions("child", "plot", 1, 100, 1,
> 20, 3, False, 0.01, True, True, True, True, True)
> Application.SelectObj("parent,child", "", "")
> Application.RemoveAllCns("", "")
> Application.SelectObj("crvlist", "", True)
> Application.ApplyCns("Position", "crvlist", "child", "")
> Application.SelectObj("parent", "", "")
> Application.ResetTransform("", "siObj", "siTrn", "siXYZ")
>
>
> On Thu, Jan 14, 2016 at 11:48 AM, Steven Caron  wrote:
>
>> Not really, I have it working how I want now, I had come up with my own
>> way but also David Barosin on the SItoA list (I accidentally posted there)
>> gave me a simpler answer. Here is David's response...
>>
>>
>>> If the plane is on a curve, a hierarchy of 2 nulls could do it.
>>> The parent null is constrained to the plane. The child null is
>>> constrained to the curve.  Plot the child null's position.
>>> Remove the constraints from b

Re: Plotting animated boolean geometry?

2016-01-15 Thread Eric Thivierge
Alembic?


Eric Thivierge
http://www.ethivierge.com

On Fri, Jan 15, 2016 at 9:54 AM, Morten Bartholdy 
wrote:

> I would like to plot the geometry from an animated boolean operation. Is
> there a tool that allows saving geometry with changing nb of vertices out
> per frame and read it back in?
>
>
> Perhaps some nifty ICE solution?
>
>
> Thanks
>
> Morten
>
>
>
>
>


Plotting animated boolean geometry?

2016-01-15 Thread Morten Bartholdy
I would like to plot the geometry from an animated boolean operation. Is
there a tool that allows saving geometry with changing nb of vertices out
per frame and read it back in?

Perhaps some nifty ICE solution?

Thanks
Morten

OT: reverse engineer a vr shoot to 3d scene and some other questions

2016-01-15 Thread Gerbrand Nel

Hey guys
I might have mailed this to 3dpro earlier by mistake :)
Was suppose to be here, although 3dpro might not be the worst place to 
ask these questions.


Anyway..
Really exited to be pitching on a vr project!!
The project would consist of a spherical stereo shoot for the mid and 
far ground, and pre-rendered cg for the foreground.

My questions:
Does anyone know of a way to generate a rough point cloud of the 
environment, from the two spherical images you get from shooting 360 
stereo?
My guess is that this will help allot to place the cg into the 
environments.


Has anyone used this rig, or know of something else in this price range ?
http://www.izugar.com/product/z6x3d.html

How big a problem is sync when shooting with multi gopros?

In the past I used whirligig, but with the new oculus runtime, I 
switched to building my own vr player in unreal. What do you guys use to 
publish vr content to clients?


Thanks
Gerbrand


Re: Object motion converted to path animation but normalized atorigin?

2016-01-15 Thread peter_b
if I read this correctly – you’re just doing position – not orientation right?

it works in ICE like this:

for a null path constrained on curve.
make an identical copy (null1 on curve1)

[( null global pos – curve global pos ) multiply by –1 ]   >> translation port 
of an SRT to Matrix >> set curve1 global transform 

null1 stays put at the origin...

I’m probably oversimplifying things?
From: Steven Caron 
Sent: Thursday, January 14, 2016 8:56 PM
To: softimage@listproc.autodesk.com 
Subject: Re: Object motion converted to path animation but normalized atorigin?

For those interested in following... 

here is two scripts, one to set up the scene so you can see the scenario to 
start, and then another to normalize the motion per David's simpler method. 

#python
#setup example scene
Application.SICreateCurve("crvlist", 3, 0)
Application.SIAddPointOnCurveAtEnd("crvlist", 486.895161434139, 
325.493002786473, 34.5570511051906, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 409.033597647559, 
271.688103800014, 29.5535480810531, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 85.4440658602002, 
300.987801267806, -66.6103573229066, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", -246.20762156975, 
272.753547344553, -147.807009721528, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", -497.571600133753, 
131.0495559517, -173.495355859157, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", -456.369852362362, 
-4.26177417487577, -122.038908353107, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", -81.571345301959, 
14.3834878497712, -26.3265899671214, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 233.227806621437, 
145.965765570476, 19.5179940313196, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 553.247813449155, 
111.871572155872, 116.146231591289, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 537.167802185775, 
-116.666068097906, 179.907658216995, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 228.873883716215, 
-268.49177316504, 141.853471471277, False, 0, "")
Application.SIAddPointOnCurveAtEnd("crvlist", 124.433876714773, 
-305.782297213815, 124.747175301071, False, 0, "")
Application.CreatePrim("Cone", "MeshSurface", "", "")
Application.SetValue("cone.cone.radius", 3, "")
Application.SetValue("cone.cone.height", 12, "")
Application.ApplyCns("Path", "cone", "crvlist", "")
Application.SaveKey("cone.kine.pathcns.perc", 1, "", "", "", "", "")
Application.SetValue("PlayControl.Current", 100, "")
Application.SetValue("PlayControl.Key", 100, "")
Application.SetValue("cone.kine.pathcns.perc", 100, "")
Application.SaveKey("cone.kine.pathcns.perc", 100, "", "", "", "", "")
Application.SetValue("cone.kine.pathcns.tangent", True, "")
Application.SetValue("cone.kine.pathcns.dirx", 0, "")
Application.SetValue("cone.kine.pathcns.diry", 0, "")
Application.SetValue("cone.kine.pathcns.dirz", 1, "")
Application.SetValue("cone.kine.pathcns.dirx", 0, "")
Application.SetValue("cone.kine.pathcns.diry", 1, "")
Application.SetValue("cone.kine.pathcns.dirz", 0, "")
Application.SetValue("cone.kine.pathcns.upvct_active", True, "")


#python
#normalize and invert motion of path cns
Application.GetPrim("Null", "", "", "")
Application.SetValue("null.Name", "parent", "")
Application.Duplicate("parent", "", 2, 1, 1, 0, 0, 1, 0, 1, "", "", "", "", "", 
"", "", "", "", "", 0)
Application.SetValue("parent1.Name", "child", "")
Application.CopyPaste("child", "", "parent", 1)
Application.SelectObj("parent", "", "")
Application.ApplyCns("Position", "parent", "cone", "")
Application.SelectObj("child", "", "")
Application.ApplyCns("Position", "child", "crvlist", "")
Application.PlotConstrainedTransformsToActions("child", "plot", 1, 100, 1, 20, 
3, False, 0.01, True, True, True, True, True)
Application.SelectObj("parent,child", "", "")
Application.RemoveAllCns("", "")
Application.SelectObj("crvlist", "", True)
Application.ApplyCns("Position", "crvlist", "child", "")
Application.SelectObj("parent", "", "")
Application.ResetTransform("", "siObj", "siTrn", "siXYZ")


On Thu, Jan 14, 2016 at 11:48 AM, Steven Caron  wrote:

  Not really, I have it working how I want now, I had come up with my own way 
but also David Barosin on the SItoA list (I accidentally posted there) gave me 
a simpler answer. Here is David's response... 



If the plane is on a curve, a hierarchy of 2 nulls could do it.  
The parent null is constrained to the plane. The child null is constrained 
to the curve.  Plot the child null's position. 
Remove the constraints from both nulls. 
Now constrain the curve to the child null and zero out the parent null's 
SRT.   
Hope that makes sense.