Flatten curved surface?
 1-6  7-26  27-30

Previous
Next
 From:  Michael Gibson
3042.7 In reply to 3042.3 
Hi Anis,

> I believe Michael have a plan like "flatten surface" in
> Rhino in the feature.

Actually I do not currently have any plans for this - it is just not an area that I have a lot of experience in.

- 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:  Michael Gibson
3042.8 In reply to 3042.1 
Hi Dan,

> Is it possible in MoI by some method, to flatten a curved surface?

No, there are not any functions built in to MoI to do that.

Probably your best bet for that purpose would be to take your data into Rhino, and then there is a command in Rhino called UnrollSrf that can do what you want over there.


That unrolling process is not going to be very feasible to attempt to do manually, moving control points is just not going to produce the right result, the process for unrolling needs to look more directly at the lengths of the pieces being unrolled and there is not something like a 1 to 1 relationship where moving a control point by one distance means that a curve's length (as traveled along the curve) gets altered by the same amount.


Like Anis mentions above, there also some other options:

Lamina Design: http://www.laminadesign.com
Pepakura Designer: http://www.tamasoft.co.jp/pepakura-en/

Those programs produce a flattened layout of polygonal data.


But if you have a developable surface that you want to cut out of stock and then bend into shape, Rhino's UnrollSrf command would be the way to go with that.


MoI itself just does not have any specialized focus on producing or flattening developable surfaces, you will need to use a program that is more focused in these particular areas to do those kinds of things.

- 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:  BurrMan
3042.9 In reply to 3042.8 
Yeah, I was off base with that post for sure :O
  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:  Dan (LICHENROCK)
3042.10 
Thanks very much to everyone for your help and suggestions.
Anis, I just spent some time looking at those links you supplied to Pepakura and Lamina Design. I could have LOTS of fun with either of those programs! Ultimately I may pick up an application that is designed for that specific purpose of flattening surfaces. Still, MoI is the best and I am always surprised by what CAN be done with it.
Burrman, thanks for the attempt. I’m smiling because you probably approached the problem as I did. It really looked like a simple exercise. In real life it is easy to flatten things. Then I found myself scratching my head and stumped. That script for Curve Length will be very useful to me for this project and others, thanks. As for now because I am impatient, once I am satisfied with a design, I will go back and convert the original curve to a Polyline as I described in the first post. That script will allow me to use fewer points (and fewer rotation operations = less time), because I can Scale 1D the result to the correct length.
Michael, MoI just keeps getting better, Thanks
- Dan
  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
3042.11 In reply to 3042.10 
Hi Dan,
Yeah, I always fool around with these and try to figure out how it is being done, but never get there. Here's a file of the process I used that also includes a surface from Rhino that unrolled the same solid. I failed with mine to match it. Though when researching this type of thing, I always find it being asked, and many answers are "it is not precise". Even Rhino's output is off a bit from the actual edge.

MoI's edge = 18.7470243394886

Rhino's unrolled edge = 18.7500218509622

I was stuck on developing the "Hieght" properley to have the curve edge be the same as the solids. AN interesting thing I found was that a Conic Curve is created from the 3 points. I was trying to fool around with how to staighten that out to flat. Usually I have found though, that when Michael tells me I beating my head on a tree.... I have a headache at the end of the day! AND I DONT KNOW WHY :O

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:  BurrMan
3042.12 In reply to 3042.11 
Hi Michael,
I'm fooling around with the Conic Curve and was wondering if there was an answer readily at hand, or it is more complex.

Is there a way to reverse engineer the rho value?





Also, when I have a curve like this, can you present a method for me to find the "Highest point" of the curve perp to the 2 endpoints? On this simple curve, if I draw a line from midpoint to the top point, this gives it to me, but if the curve was made up of several different points?

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
3042.13 In reply to 3042.12 
Hi Burr,

> Is there a way to reverse engineer the rho value?

You mean recover the rho value for an existing conic?

Yeah, I guess that is possible by drawing a new conic and snapping all the points including using the "through point" for the final one by picking a point rather than typing in a rho.

When you move the mouse around to pick a "through point", the rho value in the UI will update so with all points snapped on to an existing conic the UI should show the proper rho value there.

Make sure you turn on control points for the conic you want to snap on to so that you can place the initial 3 points on to the 3 control points.

Let me know if the above is not clear.



> Also, when I have a curve like this, can you present a
> method for me to find the "Highest point" of the curve
> perp to the 2 endpoints? On this simple curve, if I draw a
> line from midpoint to the top point, this gives it to me, but
> if the curve was made up of several different points?

I'm not sure if I completely understand, but it sounds like you probably want to use a perp/perp snap to find that spot.

First drag out a construction line for what you want to be perpendicular from, which it sounds like you want to be between the 2 endpoints.

Then drag another construction line (or you can also draw a line), starting somewhere relatively near the spot you're looking for, and then there will be a perp/perp snap that will be calculated to find a line of shared perpendicular between the base line and the curve which I think is what you want. Here's what it looks like in action, here I'm using the Draw curve / More / Point command to place a point in that spot:



So notice that the one that you want is the one that reads "Perp/Perp" for a line of shared perpendicular between 2 curves. It will read that on both the target point and the base point. This is a snap (along with Tan/Tan) that doesn't just snap to one point but also moves the previous point as well.

Let me know if that does not make sense.

Also another method you could use is to orient your construction plane and then use the BoundingBox command.

- 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:  Michael Gibson
3042.14 In reply to 3042.13 
Hi Burr, just another example - you can generally use Perp/Perp to find things like closest or furthest points between things.

Here for example I'm drawing a line and using it to find the shortest line available between these 2 curves:



To use it you need to have picked the initial point somewhere in the general neighborhood of the actual spot, something like within 100 pixels or so.

Then there will be a target snap location calculated on the second curve, and if you move your mouse to target that one, it will get the special "Perp/Perp" snap.

Usually the perp/perp target point is just a little bit past the "single perp" one. There will usually be several different snap points available in that area, so move your mouse a bit slowly around there to see all the different ones.

The single perp one is the perpendicular from the initial point location dropped to the target curve. The double perp/perp one is the shared perpendicular between 2 curves.

There is also a Tan/Tan that works in the same way for tangents.

- 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:  BurrMan
3042.15 In reply to 3042.14 
Oh the Perp/Perp is the one for me. Way cool, and thank you for the time on that.

As for the Conic. I did do the "use the tool to click the existing points and read the value" method. I was wondering about if you didnt have those points? Do all conic curves have only those three points. I'm trying to read up on this area and wanted to start using it somemore in my work to be proficient. I was reading a post from a guy who said you can create G2 using it (Slightly uncommon but doable) and also get some better results with it for Class A. I was more asking as a means to understand it's value and derivation. The big long math rules are going to be beyond me, and the value itself seems "relative" as a 0 to 1 ratio of "Whatever"? The whatever being what I was asking if it can be defined with some other trig or something.

I'm just starting in this area so I dont fully understand what I'm asking yet. I may have to study the whole equation to understand. Always led to someone doing conic math for nano precision optics and talking about the precision of their curves.

It may be beyond what I could expect from a short Forum answer. Was just wondering if there was an "Expression" that would read that value without the tool. Then I may understand it better.
  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
3042.16 In reply to 3042.15 
Hi Burr,

> Do all conic curves have only those three points.

Well, all ones made with the conic tool do...

It's possible to have a curve that is a "conic section" that has more points in it though, for things like an ellipse or a circle. But those are actually the equivalent of several 3-point conic beziers that are glued together into a longer curve.

Also it is possible to have a conic sections that are defined by other ways than how the conic command happens to do it, so there is not necessarily an automatic Rho value to associate with every kind of possible conic curve, because the Rho only applies to the particular construction method of the "Conic" command. I don't think it is a thing that is universal that applies to every possible conic section if that is what you were thinking. There is something else called "eccentricity" that is like that - that is an inherent property of all conic sections. But that is different than the Rho value.


> I was more asking as a means to understand it's value and derivation.

I think it was historically used as a convenient way to describe a curve in compact form for use in airfoil tables or something like that.


If you want some more technical information, you could try The NURBS Book, 2nd edition, Les Piegl and Wayne Tiller, pg. 294, "Conics and Circles".


But basically it is just a way to control a shape by manipulating a parameter value.

If Rho < 0.5, the shape is an ellipse
If Rho = 0.5, the shape is a parabola
If Rho> 0.5 and < 1.0 the shape is a hyperbola


> and the value itself seems "relative" as a 0 to 1 ratio of "Whatever"?

If I remember right, it actually ends up as a percentage of the distance from the midpoint between the 2 endpoints being 0.0, and the point at the corner being 1.0. That's for a location of where the curve will pass through.

So for example say you've got these 3 shoulder points, where the distance from the corner to the line between the ends is 10 units like this:



If you make a conic there and type in 0.25 for the Rho value, that will place the high point of the curve at 25% of the distance, so in this case the high point of the curve will be at 2.5 units tall (25% of 10 units), like this:



Does that help?

Note that this also involves setting a special "weight" value on the control points of the curves to get the particular conic section shape.

Just because you see any curve that happens to be made up of 3 points does not necessarily mean it is a conic section curve.

- 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:  Michael Gibson
3042.17 In reply to 3042.16 
Hi Burr,

Actually now that I think about it, this part that I wrote:

> Just because you see any curve that happens to be
> made up of 3 points does not necessarily mean it is a
> conic section curve.

is wrong I guess, because if you have a 3 point curve, that makes it a quadratic bezier and that will have the shape of a parabola I guess even if it does not have weights set.

Something like that anyway...

- 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:  BurrMan
3042.18 In reply to 3042.17 
Thanks Michael!
That was the answer I was looking to find. The percentage of the conic height thing. I can now continue.

I very much appreciate your help on this.

BTW: As I was fooling around with this, The Conic Curve in MoI, at an rho of less than .5, will produce a curve with 3 points across the top. The middle point being "on" the curve (Not always). If I follow the tan of the first two in relation to the top outer 2, it meets at the point of the usual third one. This threw me for a second but your explanation has lightened the room a bit :O

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:  BurrMan
3042.19 In reply to 3042.18 
Could that be a bug? It doesnt seem to be the same curve as if I delet the 2 top outer ones, then move the center one up to the point.???
  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
3042.20 In reply to 3042.18 
Hi Burr,

> BTW: As I was fooling around with this, The Conic Curve in
> MoI, at an rho of less than .5, will produce a curve with 3
> points across the top.

Yeah, that will happen when you generate an ellipse segment that is longer than a certain size.

It's somewhat traditional to break up circles / arcs / ellipses of more than 90 degrees into chunks like that, for semi-arcane reasons.

You'll also find with those ones (Rho < 0.5) will have a center point snap for them way off to the side where the center of the ellipse actually is.

- 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:  Michael Gibson
3042.21 In reply to 3042.19 
Hi Burr,

> Could that be a bug? It doesnt seem to be the same
> curve as if I delet the 2 top outer ones, then move the
> center one up to the point.???

Sorry, I'm not following this - it does not seem to be the same curve as what?

But remember, the Conic command also works by setting a "weight" value in addition to placing the points.

If you just drag the points around it is not changing the weight so you will not get the exact same result as the conic command is doing.

- 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:  BurrMan
3042.22 In reply to 3042.21 
>>>Sorry, I'm not following this - it does not seem to be the same curve as what?
>>>

My Bad Michael, I just dont understand what I'm looking at yet. I meant a curve with only three points as opposed to the one created with 5. I was wondering if because it had more than the 3 points if it was doing something wrong.

But I understand your explanation so I'm good to go. :)

Thanks again
  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
3042.23 In reply to 3042.22 
Hi Burr, no you're not doing anything wrong there.

It would be technically possible for those ones to have only 3 points, it's just kind of a convention that circular and elliptical arcs are broken into multiple sub-segments if they span more than 90 degrees or so.

- 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:  Michael Gibson
3042.24 In reply to 3042.22 
Hi Burr, also I see that I confused the situation when I said earlier that all the curves created by the Conic command are made up of 3 points.

That was wrong for ellipse segments unless it is a small sized ellipse piece.

- 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:  BurrMan
3042.25 In reply to 3042.24 
No worries Michael,
We got it squared away and I'm off and running in my quest....:O

It was just a very small rho of my confusion on the subject.....Hehe.
  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:  Dan (LICHENROCK)
3042.26 
Hi folks,
This is what I have so far with regard to “flattening” a cylindrical surface. The multitude of illustrations and the detailed step-by-step are for the sake of any newcomers to MoI. I create a form according to the method described above. In this example I wanted to use a form with a dramatic curve which changes direction:
I move to the side all surfaces except the one containing the original generating curve (the one I extruded in order to create the surface in the above description). :

I draw a line of any length along the Y axis. Then, using the Curve Length script from <http://kyticka.webzdarma.cz/3d/moi/#CurveLength>, (Thank you Burrman and whoever wrote this awesome script!) I pick up the length of the original curve. Selecting the straight line just drawn on the Y axis, I edit the length in the upper right of the UI,

and position it with one endpoint on the origin (no reason for this move, just for the sake of it):

I then draw a point on the endpoint of the original curve and another on the corresponding endpoint of the straight line of the same length.
Next I select the point on the endpoint of the curve and array it along the curve. For this example I chose 15 as the item count in the Array Along Curve dialog. And I do the same with the straight line. This marks the curve and the line with 15 points of correspondence.
In Front View I draw a series of line segments, snapping one end on each point along the curve, and parallel to the X axis, snapping to the point of intersection on the edge of the surface:

I move the surface back to its position on the form and position 3D View to easily see the each line drawn along the curve and its corresponding position along the straight line.

Then one by one I select each line and move it to its corresponding position on the straight line:


Next I draw a curve using Freeform Curve / Through points, snapping in succession on the endpoints of the line segments as shown:
I select the top and bottom segment and this new curve and Mirror them along the Y axis:

And the result here:

should be a close enough approximation of the flattened surface I was going for and would be used to create a template for cutting a shape out of flat stock. As I see it, the points, intersections and endpoints are all true. The only approximation is with the curve through points. Then again, How many smooth curves can be drawn through 15 points? If I needed greater accuracy I could use 150 points of correspondence. The whole process doesn't take very long at all. As it is, once the sawdust starts flying and I’m straining to see the cutline through badly scratched safety goggles, tiny fractions of a millimeter are not going to matter.
I think I will be able to develop a similar method to “flatten” a surface derived from the surface of a cone.
By the way, Michael, earlier in this thread you described the Perp/Perp snap and the Tan/Tan snap. Incredible! I will be using these all the time. Thanks!
- Dan

  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

 

 
Show messages:  1-6  7-26  27-30