Rail revolve question

Next
 From:  FelixPQ (FELIX)
4508.1 
Hi Michael,


I've tried using a 3d curve (part of it shown in the image) as the rail with rail revolve. The result surprise me a little, because the curve was apparently flatten to 2D, then revolved. Is there any chance we can use a 3D curve as the rail in V3 without having it flattened? Or maybe there is a workaround for situation like this?

Thanks,
FRelix


Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Mike K4ICY (MAJIKMIKE)
4508.2 In reply to 4508.1 
Felix,

The Rail Revolver command will only produce a result with a flat edged surface, as it is a revolving sweep that simply scales the profile to match the rail as it is revolved.

A workaround can be done with a "two-rail" Sweep.

Use the shape you drew on the bottom, but place a small arc or circle on the other end of the profile shape you want to revolve.
Sweep, after choosing both rails, will then make the new surface conforming to the desired rails.

Hope this helps.

Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
4508.3 In reply to 4508.1 
Hi Felix - rail revolve works by taking the regular revolve and basically applying a scale factor for control points of the rail by how far they are away from the revolve axis.

But it basically expects for the rail to be planar and perpendicular to the revolve axis, not to have the rail jumping around in 3D like that.

For something like that you'll need to use an alternate surfacing method, like Mike mentions with Sweep.

In the future I want to expand Rail revolve to have an additional mode that will work more like sweep instead of the scale factor technique. The nice thing about the scale factor technique though is that it is exact - the result surface has the exact same control point structure as the rail curve, while sweeping method use a kind of iterative fitting process to generate the surface.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Mike K4ICY (MAJIKMIKE)
4508.4 In reply to 4508.3 
Michael,

If you enhance the Rail Revolve to work like a sweep, please keep the old option as default.

Both the scale factorization and the center axis attributes of the Rail Revolve have a particular behavior that comes in handy.

And the scaling works in a radial direction from the pivot, which yields predictable results.

The scaling could be applied to the "non-linear" Z direction. This might produce a different result then sweeping. ..worth a try.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
4508.5 In reply to 4508.4 
Hi Mike yeah the current method would not go away, just an alternate method would be used for some particular situations, like if you had selected more than one profile curve, or maybe if the rail curve was non-planar like mentioned in this thread.

It would be a kind of modified version of sweep because it would still incorporate a pivot around the revolve axis as it was doing the sweep.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  FelixPQ (FELIX)
4508.6 
Michael & Mike,

thanks to both of you.

This was more of a surprised then a problem. As you mention Michael, as it is the rail revolve uses a kind of radial scale (only) and it works fine (I like it a lot). Out of curiosity, instead of a sweep type method, would it be possible to scale radially (as it is) and scale say axially as well. It looks to me as if the operation is just discarting any metrics other then the radius value, the resulting object is exactly the same as if I used a planar rail.

Thanks,
Felix
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  BurrMan
4508.7 In reply to 4508.5 
The other thing Rail revolve will do for you here, is create a curve you could extract from the surface to then run a network with the original rail and revolve curves...

The shape is a bit different , but may give you something to look at for now...

EDITED: 19 Jun 2012 by BURRMAN

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
4508.8 In reply to 4508.6 
Hi Felix,

> Out of curiosity, instead of a sweep type method, would it be
> possible to scale radially (as it is) and scale say axially as well.

I'm not really sure if it's feasible to do that - the method that I was describing as scaling actually has to do with computing some particular weight values in the control point grid for the surface of revolution. That ends up having an effect that is similar to scaling the surface towards the axis at each control point of the rail, but I don't really know if it is feasible to control the scaling in some other way using the same method. I don't believe that other scaling directions are mentioned in the NURBS research literature for this type of NURBS surface creation.

This type of surface construction is also often called a "Swung surface" if you want to look up any research papers on it.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  FelixPQ (FELIX)
4508.9 In reply to 4508.8 
Michael,

earlier you said: "But it basically expects for the rail to be planar and perpendicular to the revolve axis, not to have the rail jumping around in 3D like that." When I used this jumping around 3D rail curve, rail revolve produced a shape as if the curve was planar to begin with. To me it seems like the Z value where simply not used or discarted since in this particular case the curve (rail) was drawn in the XY plane with varying Z values, the profile was in YZ plane and the revolve axis was in Z. I didn't save my work and lost it (power failure) but if you need, I can recreate my process and results.

I understand my rail as exactly the same X and Y coordinates as if I projected this curve on the XY plane and this is why I interpreted the result of rail revolved as if it discarted or didn't use the Z values. I just wanted to understand what was happening. Maybe I should have ask why the command didn't fail, since the rail curve wasn't planer?

As suggested, I did a search on "Swung surface" and most papers I've found are way out of my league but I saw a description of the functionality that is basically the same as what you describe earlier. I even found that NURBS is much older then I would have thought since it was first implemented in Fortran.

Thanks Michael, I learned a few things,
Felix
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
4508.10 In reply to 4508.9 
Hi Felix,

> To me it seems like the Z value where simply not used or discarted
> since in this particular case the curve (rail) was drawn in the XY
> plane with varying Z values, the profile was in YZ plane and the
> revolve axis was in Z.

Yeah I believe that's how the Swung surface method works - I think it bases the weighting factor by the distance from the rail's control point to the center axis which basically has the result of ignoring z values.


> Maybe I should have ask why the command didn't fail, since the
> rail curve wasn't planer?

It's because the geometry library routine that generates these swung surfaces does not give back an error result when given a non-planar rail curve, it just produces the result that you saw.


> I even found that NURBS is much older then I would have
> thought since it was first implemented in Fortran.

Yes, most of the research and base level work comes from the 1960s and 70s.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All