Glad to help! :)
On Mon, Aug 5, 2013 at 12:14 PM, Ponthieux, Joseph G. (LARC-E1A)[LITES] < [email protected]> wrote: > Alan,**** > > ** ** > > THANKS! This turned out to be extraordinarily useful!**** > > ** ** > > --**** > > Joey Ponthieux**** > > LaRC Information Technology Enhanced Services (LITES)**** > > Mymic Technical Services**** > > NASA Langley Research Center**** > > __________________________________________________**** > > Opinions stated here-in are strictly those of the author and do not **** > > represent the opinions of NASA or any other party.**** > > ** ** > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Alan Fregtman > *Sent:* Friday, August 02, 2013 1:48 PM > *To:* XSI Mailing List > > *Subject:* Re: Convert curve to linear**** > > ** ** > > Here's a script that I made that I use when I need nicely spaced curve > points:**** > > ** ** > > si = Application**** > > **** > > *def* frange(x, y, jump):**** > > '''**** > > Like range() but with float values.**** > > '''**** > > *while* x < y:**** > > *yield* x**** > > x += jump**** > > **** > > *def* evenPositions(crv, quantity):**** > > '''**** > > Get an amount of evenly spaced positions on a given curve.**** > > '''**** > > subcrv = crv.ActivePrimitive.Geometry.Curves(0)**** > > percs = [num *for* num *in* frange(0.0, 100.0, 100.0 / quantity)]**** > > percs.append(100)**** > > ppos = [ subcrv.EvaluatePosition( subcrv.GetUFromPercentage(percs[i]) > )[0] *for* i *in* xrange(len(percs)) ]**** > > *return* ppos**** > > **** > > *def* main():**** > > size = float( Application.XSIInputBox("What spacing do you want between > points, in XSI units?", "Spacing?", 1) )**** > > **** > > newCurves = []**** > > si.OpenUndo("Make evenly spread linear curves")**** > > *for* crv *in* si.Selection:**** > > quantity = int(crv.ActivePrimitive.Geometry.Curves(0).Length / > size)**** > > positions = evenPositions(crv, quantity)**** > > **** > > positions = ["(%s,%s,%s)" % (a.X,a.Y,a.Z) *for* a *in* positions]**** > > newCurve = si.CreateCurve( 1, 0, ",".join(positions), > False)('Value')**** > > **** > > newCurve.Name = crv.Name+'_evenlySpaced'**** > > newCurves.append(newCurve)**** > > si.SelectObj(newCurves)**** > > si.CloseUndo()**** > > **** > > main()**** > > ** ** > > ** ** > > On Fri, Aug 2, 2013 at 11:26 AM, Ponthieux, Joseph G. (LARC-E1A)[LITES] < > [email protected]> wrote:**** > > Rob, > > Yeah, its turns out that this might be a far more reliable method than > what I was trying to accomplish. I guess I'll have to make a copy of every > curve, but there are far fewer curves than objects or strands. This might > solve the problem nicely. > > Thanks**** > > > -- > Joey Ponthieux > LaRC Information Technology Enhanced Services (LITES) > Mymic Technical Services > NASA Langley Research Center > __________________________________________________ > Opinions stated here-in are strictly those of the author and do not > represent the opinions of NASA or any other party.**** > > -----Original Message----- > From: [email protected] [mailto: > [email protected]] On Behalf Of Rob Chapman > Sent: Friday, August 02, 2013 9:16 AM > To: [email protected] > Subject: Re: Convert curve to linear**** > > yes! create > curve > fit on curve > > I was going to suggest it earlier but your point 3. requirements said it > must fit with *any* curve :) > > change to degree linear, subdivision high and untick maintain discontinuity > > > > On 2 August 2013 15:11, Ponthieux, Joseph G. (LARC-E1A)[LITES] < > [email protected]> wrote: > > Is there in any way in Soft to convert a NURBS curve of any shape, to > > a high density linear curve with equidistant points? > > > > > > > > -- > > > > Joey Ponthieux > > > > LaRC Information Technology Enhanced Services (LITES) > > > > Mymic Technical Services > > > > NASA Langley Research Center > > > > __________________________________________________ > > > > Opinions stated here-in are strictly those of the author and do not > > > > represent the opinions of NASA or any other party. > > > >**** > > ** ** >

