Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

figure eight curve

dakeb1

New member
<DIV =wordwrap itxtvisited="1">Hi guys,<BR itxtvisited="1"><BR itxtvisited="1">I am trying to construct a figure-8 curve in ProE and have so far not found the right expression.<BR itxtvisited="1"><BR itxtvisited="1">The type of figure-8 curve I need is a full circle, constant radius throughout, i.e. two full circles tangential to each other (is it called a hippopede?)<BR itxtvisited="1"><BR itxtvisited="1">ProE can accept either a cartesian or polar expression. for cartesian I will need two expressions, one in terms of x and one in terms of y. For Polar it would be in terms of theta.<BR itxtvisited="1"><BR itxtvisited="1">Background: I have a sub-sea piece of equipment with a stowed cable. The cable is stowed by wrapping it around two parallel mandrels in a figure-8 helical fashion. I need to model the cable in 3D in its stowed position, so will sweep a solid circular shape along whatever curve is most appropriate. I reckon I can add a z-factor in ProE to generate the wound coils once I have the basic curve shape (at least I hope so).<BR itxtvisited="1"><BR itxtvisited="1">I'm not a mathematician, I'm a mech eng, so please keep it simple!<BR itxtvisited="1"><BR itxtvisited="1">Cheers,<BR itxtvisited="1"><BR itxtvisited="1">Dave </DIV>
 
Hi kdem


It's similar in that it is a figure eight, but not quite there. Both sides of the curve must be full circles tangential to each other. Your curve has two teardrop shapes. I cannot seem to make the step from your type of curve to the one I need.


Thanks


Dave
 
fig-8_fin.PNG

Originally I thought this could be achieved with If then relations to get the correct variance of the sin functions for the single variation in narrow direction. However if then relations are not possible for Equation Driven curves. This may be possible for a Variable Section Sweep for a sketched line with an endpoint dimensioned to drive x and y locations of that edge and use it for your origin trajectory.
The other problem is in order to get the figure 8 with the circles split properly you;d need to have the opposite circles connect accross the change in curvature. This can be done using a Variable section Sweep or by sketching a half loop and then patterning in the vertical and around axis directions. I''ll try to create an example of this some time later today. The model shown in this Post is a WF2 student version which I have at home but I can generate a trailfile for WF3 or 4 that might show the options more clearly.


fig-8_step1_vss.PNG


fig-8_step2_swept-blend_2xsec.PNG


fig-8_myometric.PNG




Edited by: mjcole_ptc
 
Michael,


That's exactly the type of output I want, with modifiable parameters for the rads and pitch. I can't quite see from your pictures exactly how you constructed LOOP1-CRV. It looks likethe intersection of two double-pitch helixes,patternedin z?


You replied on eng-tips with acurve expression that wasn't quite there, do you think an expression cannot be found to do this curve by equation?


Any chance you can send me the part readable into WF3?


Thanks


Dave
 
I used a VSS to simplify procedure the key is to do one set up feature then pattern.

Here's my trail file. I can post it in the other forum.
Next I'll try if then statements in VSS. I might post a model like this one with various techniques.


2010-09-03_073318___Helix4Dave.TXT-not.zip

Use cap letter extension not Winzip it's just a text file.
Model tree should be shown and all datums visible and Browser should be hidden.

Let me know if it runs okay. I tested it here and it worked.

Michael
 
Hi Michael


Thanks for the trail file. Somethings up with it, it crashes WF3 about half way thru, after the vss has been created durign some copy commands I think.


I was also playing around with pairs ofhelical sweeps.


I set up an offetdatum planeto drivethe radius and anotherto drive the pitch, and used it tocreate the firstcircuit of a right hand helical sweep. Then I created another helical sweep, this time left hand, start point on those offset datum planes and used the offset plane dimensions as relations to drive the pitch andradius.


That worked gave me a complete single figure eight. I though I would go on and pattern it for the number of coils.


Problem isif I vary the position of the pitch datum plane the pitch of the helix (that is entered in the dialogue box) doesnt update parametrically. I can change it by editing the sweep definition, I can even say "d34" for the pitch. But as soon as you change d34 it loses that relationship. Can you not drive a helical sweep pitch from arelation to a dimension?


Getting there slowly,


Thanks


Dave
 
Dave:


Here is another method for creating the figure 8. Maybe not as eloquent but pretty simple. I create two curves, one for the side view "pitch" and the other is the top view of the "eight" and then intersect them. That creates one half of the eight, so I did the second half and then patterned them:


2010-09-03_081709_fig8.prt.zip


Bob
 
Thanks Bob,


Not sure exactly what you are doing there, your part won't retrieve into my WF3. What version are you using?


Cheers,


Dave
 
Okay. I managed to achieve the solution by using two helical sweeps, one right hand, one left hand anchored to the other via datum planes, with pitch, radius, and coil dia driven by parameters,then grouped and patterned.


I still cannot adjust the helical sweep pitch as a parameter though, ProE wont let me.


2010-09-03_103055_figure-eight.prt.zip


Dave
 
dakeb1 said:
Okay. I managed to achieve the solution by using two helical sweeps, one right hand, one left hand anchored to the other via datum planes, with pitch, radius, and coil dia driven by parameters,then grouped and patterned.


I still cannot adjust the helical sweep pitch as a parameter though, ProE wont let me.


2010-09-03_103055_figure-eight.prt.zip


Dave

That's 'cuz you wrote the relation incorrectly.

Pitch is d22, not d20
d22=PITCH works.
 
If you are still interested in trying equations as well here are some in cartesian coordinates. I split the curves into three sections although you could do it with two.


x = cos(t*180)*RAD+RAD
y = sin(t*180)*RAD
z = 0.5*t*DIA


x = cos(t*360)*RAD-RAD
y = -sin(t*360)*RAD
z = t*DIA+0.5*DIA


x = cos(t*180)*RAD+RAD
y = -sin(t*180)*RAD
z = -0.5*t*DIA+2*DIA
 
kdem said:
I split the curves into three sections although you could do it with two.

Very good, here are the curves for splitting in two

x = RAD-cos(t*360)*RAD
y = sin(-1*t*360)*RAD
z = t*DIA

x = cos(t*360)*RAD-RAD
y = -sin(t*360)*RAD
z = t*DIA+DIA
 
Great work guys I will try these out at the office tomorrow.

Of course, the "holy grail" in this exercise for me is to find an
equation to do it with a single curve!
 
Maybe there's a way but I'm not so expert in writing equations in proE. You should be able to write something like x = calc1*exp1+calc2*exp2 where calc1 is 0 when 0<t<DIA and calc1 is 1 when DIA<t<2*DIA, while exp1 and exp2 are the portion of curve I indicated in the two curves above... this should work. To obtain that "selective" calc1 and calc2 without using if statements you'll have to use rounds, ceils and truncs

Paolo
 
zpaolo said:
you'll have to use rounds, ceils and truncs

Ok forget it, from the help about curves from equations:

<div style="text-align: left; text-indent: 0pt; font-family: Verdana; margin-bottom: 3pt; color: rgb(71, 105, 127); margin-left: 0pt; font-size: 11pt; font-weight: bold; margin-right: 0pt;">Note</div>
<div style="line-height: 1.3; widows: 3; margin-top: 7pt; text-indent: 0pt; orphans: 3; margin-left: 0pt; margin-right: 0pt;">You
cannot use the following statements in an equation that defines a datum curve: abs,
ceil,
floor,
else,
extract,
if,
endif,
itos,
and search.</div>
 
zpaolo said:
kdem said:
I split the curves into three sections although you could do it with two.

Very good, here are the curves for splitting in two

x = RAD-cos(t*360)*RAD
y = sin(-1*t*360)*RAD
z = t*DIA

x = cos(t*360)*RAD-RAD
y = -sin(t*360)*RAD
z = t*DIA+DIA


I really like that. It works very well.


I have an equation from a mathcad guy (bronsona on eng-tips)but I can't get it to work.


polar:


r = sqrt(4*b*(a - b*sin(theta)^2))


you have to set a = b to get full circles.


problem: it splits the curve into two-halves of a figure eight so you cannot apply a z factor.


cartesian:


x=2*R*cos(2*pi*t)*sqrt(cos(2*pi*t)^2)<BR itxtvisited="1">y=2*R*cos(2*pi*t)*sin(2*pi*t)<BR itxtvisited="1">z=0


problem: looks interesting but not working for me, only getting a small segment of curve.


incidentally, a loose definition of "hippopede curve" is "the intersection of a torus with a plane". In my case the torus has no internal diameter, which is why a=b in the polar expression.
 

Sponsor

Back
Top