cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - You can change your system assigned username to something more personal in your community settings. X

Modeling a globoidal cam

gfraulini
17-Peridot

Modeling a globoidal cam

Hi all,

what I'm trying to do is the same cam you can see in this youtube video.

I have the motion law I want to assign to the rotation of the tower in function of the rotation of the cam.
In Mechanism environment, I've made the trace curves of some points of the roller that I've used to cut the cam with surfaces or variable section sweep.
For now, I've tried only one roller cut (three in total).
The cut was decent but there were points where I have interpenetration between cam and roller; especially at the start and the end of the cut.
2.JPG1.JPG3.JPG

So I've thinked that I had to rotate the plane of the roller where I've put the points for the trace curves. The situation was better but the motion law I've assigned to the roller was random: a sinusoidal law, as the main one, that at the half reverses the direction (otherwise the cut plane too on itself).

But, which is the right motion law to assign to the cut plane of the roller?

How would you have done?

Would you know tell me where can I find more detailed informations about this kind of 3D modeling?

I searched on the web, but I've not found nothing if not videos like what I've attached where, however, you can't see HOW to do it.

Thanks.
Bye


This thread is inactive and closed by the PTC Community Management Team. If you would like to provide a reply and re-open this thread, please notify the moderator and reference the thread. You may also use "Start a topic" button to ask a new question. Please be sure to include what version of the PTC product you are using so another community member knowledgeable about your version may be able to assist.
59 REPLIES 59

I've tried to make the 3D curves guided by the graph, as I saw in some documents.
But in that manner, you should have the graph that was accurate, and with graph tool you can only SKETCH the graph curve...it is not properly accurate...Or may I don't know how to use that tool.

In the files I've uploaded was remained the graph feature.

That is what I was thinking.

True, there are some useful tips for making good graphs and some tips on how to use splines with better accuracy. I will explain more later today.

Giulio, the process of making graphs with an arithmatic equation is not too difficult but certainly not direct. You can project an equation curve into a sketch. You can save the sketch as a .sec file. You can then insert (get data) the section file into the graph.

Here is a comparison; top is the graph driven sweep, and the bottom is a cosine equation datum curve.

graph_from_section.PNG

Attached is the source section file.

Another way to get a points file is to pattern points along an equation datum curve. When you export this, you can easily extract the point locations to manipulate in excel or elsewhere and bring it back into the mechanism table driven servo. Be careful with this, however, since the time steps for patterning is not always as accurate as you would want. this is why I prefer writing the equation in the servo definition itself.

As for splines... yikes! Yes, they need help in the user interface. One issue is locating that intermediate point. You cannot move it once it is placed. This means that the ratio along the spline is fixed. And it affects every other action form then on. If you are "certain" the midpoint is exactly 50% along the curve at creation, it will stay there and you can work with it. But if it is arbitrary, all hope is lost. However, you can control radius of curvature and tangent angle directly from the spline... or you can use the controlled polygon mode. Either way, you want to know exactly where any of the points between the ends are located with respect to ratio along the curve. There is one way to manage the points along the curve using a local coordinate system. But even that has implications. It is not as simple as saying, for instance, "1/2 way along the curve".

asifcad
12-Amethyst
(To:gfraulini)

Hello Giulio fraulini....really impressive work...please can u tell me how to make a table for servo motor.for run at certain time and rotation...

Regards

Adif

gfraulini
17-Peridot
(To:asifcad)

Hi,

I've made it with an internal software we have at work.

The type of the law is a sinusoid, like the type you can find in proE

Cattura.JPG

In other way, I write the law in MathCad, and I export it as points' curve into a text file.

Here is a very straight forward sinusoidal sweep with defined dwell times for a servo motor.

the math gets a little tedious as you have to keep track of "t" within the process, but it is fairly easy to edit and watch the updated graph. If the sequence suddenly changes, it will warn you and show you the results.

cam_servo_defined.PNG

This one dwells for 3 seconds at 0 degrees; "-1*" inverses the cosine; "(t-3)" resets t to 0; "/4" account for 4 seconds for a 1/2 cosine sweep making t range 0 to 1; "*180" makes the sweep 1/2 cycle; *30 set amplitude (1/2 of overall since the cosine function returns -1 to 1); the "+30" manages the offset to start at the last known position... in this case, 0. Followed by another 3 seconds of dwell, holding at position at 60 degrees. In angle terms... you could divide the time segment into 360 steps and you time would equal 1 degree per value of "t".

Be sure the domains remain continuous.

...and as an aside, you can change the curve somewhat using power functions on the Cos statement.

Here you have a hard start and a soft stop by brining the statement up to the power of 4. You can play with both sin offsets and cosine to tweak the profile you prefer. I don't know why you'd do that, but it can be done.

cam_servo_defined_softstop.PNG

I didn't know graphs did this during playback

(the red tracking line in from the measure graph)

Video Link : 5582

oh, and yes, you can make point files from these graphs too.

No matter how often I do it, I can never get use to capturing graph data into a file that can be imported as a curve.

However, each time I do it, I seem to learn something new.

I defined a motor profile using a cosine function.

The preview graph only used 0.2 second intervals. I couldn't find a way to change that.

However, when I define the analysis, I could set the step size. In my test case it was set to 0.1 seconds.

I can then use the mechanism Measure to get the axis rotation based on the analysis and it returns ever step of the analysis.

I can save that measure graph to a text file.

I edit the text file to replace the header (1st 4 lines)

Open Arclength

Begin section

Begin curve

...and rename the .txt to .ibl

Next, you can read the .ibl file to a "Curve from File" ...which for some extra-ordinarily silly reason, is not in the ribbon. When you use the command search just type curve and it shows up.

Select a coordinate system and then select you .ibl file.

The thing I learned today is that the .ibl file does not need a Z value! This is huge as you do not need to do this in Excel.

Now you can make the section by projecting the curve into the section...

Then you can save the section...

Then you can import the section into the graph... and add the coordinate system it wants... and lock the remaining applicable dimensions. Be careful not to let the imported section get distorted.

See, simple !!!

...and importing iges files into datum graphs works too. This eliminates the interim section generation.

save_iges_curves.PNG

Ugh... this actually kills me. I'm in the Creo NC Enhancement meeting right now and I am still struggling to completely understand this issue. I'm trying to get trained up enough right now so I can communicate this to the team.

'Sup Brian! Hope all's well with ya! We're looking forward to being able to use solid bodies to add or remove material in sweeps etc.. I've run into this before as well, and had to fudge things. Good luck!

Have a look at these videos... it is a pretty simple thing to wrap your head around...

Video Link : 5595

And this thread...

Timing Screw

Hope that helps...

...need to find the video to show that SolidWorks does this already

Patriot_1776
22-Sapphire II
(To:TomD.inPDX)

Funny how advanced Pro/E is......yet for this you still have to use almost the exact same technique I had to use in the early '90's as a boolean operation in AutoCAD to do a barrel cam.....

How did it go with the meeting?

Did you discuss this argument with your colleagues?

Regards

asifcad
12-Amethyst
(To:gfraulini)

hello i asif here....really want to thanks all participant of this thread(specially Giulio Fraulini and Antonius Dirriwachter..because with the help of there inputs and illustreated help and uploaded files//.. i am able to make my globoidal cam ...model....please look this video ...and give me suggessition regarding manufacturing .....

Patriot_1776
22-Sapphire II
(To:asifcad)

Pretty cool!

Maybe some of the Creo manufacturing extension guys can help with this.

It is worth a separate post on how to best prepare for the machinist.

Basically, the machinist needs to duplicate the motion of the rollers while rotating the cam.

Yeah, the machinists need the two motions I have gave to the two motion axis: the cam and the follower.

1)The cutter, that should be the roller in my assembly, has to rotate of an arc with the motion law that I've give to the follower, while, obviously, the cutter rotates on its own axe;

2) the cam has to rotate with a constant velocity;

3) the two motions must be synchronized.

Heh, if all this was done to get the cam manufactured, then you have really given yourself a hard time. The manufacurer doesn't need a 3D model for a cam like this. All you need is the moving profile of the follower versus the rotation angle of the cam. And specify some tolerances.

To our manufacturers we give the drawing and the points file of the motion axes.

TomU
23-Emerald IV
(To:unickque)

True, if you're using a 3rd party cam manufacturer that has specialized cam software. If however you want to produce it yourself internally without specialized cam software, you're going to need an accurate 3D model.

TomD.inPDX
17-Peridot
(To:TomU)

I am not sure I want the CNC programmer to follow the edges, but rather go back to the intent.

Since the rotating mill head will be offset in Z anyway, it requires interpolation. A circular path for the center of the roller shaft is one point on the mill axis so it is easy to accomplish and easily interpolated into angles. The path for each step anywhere inside that radius is the mill head angle. The trace curves is created on a series of points that seem to be double precision. There are 600 points generated. I don't know if this is a constant but this was for 3 revolutions. A spline is driven through these points which never has sharp corners. Therefore a curve is fitted to points but makes up its own mind between points. Of course, those points are not on an evenly spaced angle measurement, they are based on distance to the next point.

I would want to work with a programmer that can input the curve as given by a sinusoidal law if that is the motion of the cam, or some other arithmetic representation. So far, I've had pretty good luck defining the cam that very same way. This minimizes any rounding or offsets that might exist in point interpretations or some other projection technique.

Speaking of offsets, a good code person for CNC will also know how to interpolate for using smaller mill cutters. Since this discussion has assured that a surface offset functions properly, an axis offset too should be equivalent. This is much better than trying to use a mill cutter at the exact diameter of the roller with clearance. This will also lessen the deformation in the floor of the cut. I am not certain at this point what else may change in the mill axis by doing this. Again, this is where the CNC people get paid the big bucks. This is also why you would want to be able to confirm the work and know it is correct within the CAD software. If you question the skills of the programmer, definitely confirm the characteristics using a smaller mill cutter. If this discussion has taught us anything it is to really confirm the reliability of your data, and assumptions.

The key takeaway from parts like these is that they are subjected to very high loads. The rollers must have linear contact after a short break-in period. If the machining is done wrong, the life of the parts are highly compromised. In this case I certainly agree that the CAD model should be as close to accurate as possible. You should be able to do a 3D inspection scan and overlay the cad model, and they should be very close to the same within the allowable tolerance if not identical.

A little more information. 1st of all, you can get all kinds of point files including cylindrical and spherical output. However, I question the accuracy level. I have the accuracy set to default (relative .0012) and this is the return of the trace curve set to spherical. I get 100 points and the trace point is exactly 1" away from the CSYS. That means that R should always be 1.00000000000. Judge for yourself if this level of accuracy matters to you. Changing the accuracy to absolute at .00005 did -not- change these values! I don't know if this error level is the result of the trace curve or the precision used for the analysis. I suspect the ladder. 100 points for a 360 degree element seems a little sparse to me.

points_trace_curve.PNG

Patriot_1776
22-Sapphire II
(To:TomD.inPDX)

Hmmm, that's interesting. I remember back in the day when they "fixed" pi. I used to be if you used it in an equation, it was always a little off (as on wraps - then formed datum curves), then they fixed it. Maybe they need to go over this as well?

Numbers are all -off- a little in Creo Parametric. Anything beyond single precision seems to be fair game.

Too many number return x.9999999999 when you look at the actual property value regardless of how accurately you input the value.

This is also maddening when you input equations into pattern values for instance. It defaults to whatever your number of digits is set to and locks to that truncated value. You have to go back and enter a relation for those values that will properly evaluate the pattern. Values of 1/3 or 2/3 come up all too often as a real requirement, but it takes two steps to actually do that. If you don't know about it, you end up chasing your tail trying to solve this significant error level.

Patriot_1776
22-Sapphire II
(To:TomD.inPDX)

Yup!

Patriot_1776
22-Sapphire II
(To:unickque)

....but what FUN would that be?

That's why I didn't say anything till now

I'm very impressed with all the modelling in this thread, wouldn't want to have missed it!

Top Tags