offset / loft problem
All  1-2  3-15

Previous
Next
 From:  Michael Gibson
1181.3 In reply to 1181.1 
Hi Lemo, a .3dm model example file would help a lot, it can be difficult to figure out what is happening just with a description.

But I think you have figured out the problem already - when you offset a wiggly curve, the offset will get trimmed in the areas where there are tight bends, and it will come to a sharp point there.

If you Loft between curves that are made up of many little segments, your resulting loft will also be split up into many little segments as well. If each curve has a different number of segments, the problem will be magnified further because the loft will inherit the segmentation of every input curve all combined together.

To get a smooth loft you need to have smooth input curves.

There isn't currently any easy way to "heal" your mutli-segment curve - you will need to actually change the shape of that curve since it will have a lot of little sharp corners in it.

Right now it will take some manual work to do this. One way you can do it is to turn points on for the curve, and then go in and select the point where 2 segments join together and then delete it. That will fuse the segments together into one single smooth segment.

But really the way that I would recommend would be to trace a new curve using Draw curve / Freeform / Control points (or Through points), and snap the points on to the offset curve. If you place quite a few points using this method, your resulting curve will follow along the basic shape of your segmented curve but be one smooth piece. That is probably the best method.

In MoI version 2 I want to add a "rebuild" tool which will be able to do this kind of process automatically. But MoI version 1 does not have this kind of function.


Very irregular curves can tend to cause a number of problems with creating very dense surfaces. Some things will just not work very well with them. MoI is generally set up with the idea that most curves and surfaces will be smoother and not very chaotic. If you need a lot of very bumpy type shapes, you would probably be better off using a different modeler that uses subdivision surfaces, they are more tuned up for those kinds of shapes.

- 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:  Lemo (LEMONNADO)
1181.4 In reply to 1181.3 
Here is a quick sample attached. Two loft curves derived from the bottom one. The offset function creates sharp corners and that's the end of the loft fun. The original underlying loft curve is still one segment. But once loft digest it, the result is broken up. In the attached sample there is also some cool distortion going on which I have not had in other samples.
Cheers
Lemo
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
1181.5 In reply to 1181.4 
Hi Lemo, thanks for posting the file, that makes it much easier to help you.

MoI is not able to do a good job of automatically matching curves for lofting when there are different number of segments. It can easily happen that a piece of one curve is mapped to attach to the piece of the next curve around a corner, causing a kind of torquing or twisting effect. That's what causes the kind of wild surfaces that you are seeing.

To get a good result in this situation, you will need to prepare the curves a little more before doing the loft.

To do this, I selected all your curves and then ran Edit / Separate to break them into their individual segments. Then I clicked on them to examine the structure of the segments.

The goal is to split longer segments up so that there are an equal number of segments between all curves.

To split a curve, select it and then run Edit / Trim. At the "Select cutting objects" prompt, push the "Add trim points" button - this allows you to pick points on the curve to act as cutters, instead of picking other objects in the scene like other lines or curves. After you pick the "Add trim points" button you can now click on the curve to place points for where you want to split it, and then right-click or push "Done". Then at the next prompt you can pick pieces you wish to discard - in this case you want to keep everything, so right-click or push "Done" there again instead of picking anything.

Using that process you can split the curves up at strategic areas to make a better mapping between the different segments.

So for the outside smooth curve, I added trim points at these locations to split it up:



Each of those points correspond to the endpoint of a segment on one of the offset curves. Also the middle curve needs to be split up at one point in the lower-right:



After performing that splitting, there are now an equal number of segments between all curves - this means that MoI will connect each segment directly with one another. So now you can select all the segments, and use Join to make them into longer curves, and then use Loft on them to get this much improved result:



The adjusted curves are attached here as loft_segmented_fixed.zip

Basically right now MoI does not have the kind of intelligence at picking those kind of alignment split points as a human does, you need to help it out by giving it more structured input.

Sometimes you may have a different number of segments because some pieces of the offset curve are completely eaten away. When this happens then you have to work by doing Lofts in smaller pieces at a time instead of joining all the curves together and doing one big Loft. But if there are an equal number of segments one big Loft is ok.

Hope this helps!

- 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:  xrok1
1181.6 
wouldn't a better workflow in this type of thing be to scale/copy the orininal curve multiple times? i tried it and it works with no problems at all.
  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
1181.7 In reply to 1181.6 
Hi xrok1 - a scaled copy would not require any other adjustments, but scaling produces a different shape than offsetting.

Here's one example of a base curve (yellow) and its offset:



Notice how the proportions of the curve change in the offset - the end segments are smaller and the middle segment is larger, it is not the same kind of process as a scale.

If you're looking for a kind of "even thickness", then offsetting will be the thing that generates that.

If you don't need a constant thickness and just want something to generally shrink down, then you could use scaling instead.

- Michael
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:  Lemo (LEMONNADO)
1181.8 In reply to 1181.7 
Yess, offsetting is a very important function. However, I can't get the results. After an offset, I end up with a curve which contains MANY more segments. And the subsequent loft is twisted again. Sighhh. I have to play with it a bit more.
Cheers
Lemo
  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
1181.9 In reply to 1181.8 
Hi Lemo,

> However, I can't get the results.

You mean on the same curves that you posted before, or on a different set of curves?

On the curves that you posted before, I needed to do the steps to split up the original curve so that it matched the offset segments.

If you're talking about a different set of curves, please post them as well and I can give you some more recommendations and steps on how to process them. But it will likely be the same steps I showed above about using Trim to split up the original curve into matching segments.


> After an offset, I end up with a curve which contains MANY more segments.

There isn't really any way around this - when your offset creates sharp corners you will get segments between each sharp corner piece. So you need to split up the original curve into equivalent segments.

- 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:  Lemo (LEMONNADO)
1181.10 In reply to 1181.9 
Same curves. The offset function is 'subdividing' smooth curves as well, the result is that the 'forced' edges are lost and the artifacts are visible again. If I create new curves following the offset generated ones and add points where I would like to force edges according to the underlying original, then it works again. But that is a LOT of work. I downloaded TSplines last night and that deals with this problem perfectly.
Cheers
Lemo
  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
1181.11 In reply to 1181.10 
Hi Lemo,

> The offset function is 'subdividing' smooth curves as well, the result
> is that the 'forced' edges are lost and the artifacts are visible again.

I don't quite understand - you mentioned using the same curves, but are you doing another offset? That means making a new curve... If so if you can post your new curves with the new offset that might help me figure out what is happening. But in general I'd recommend doing the splitting after you have done all the offsets.


> If I create new curves following the offset generated ones and add points
> where I would like to force edges according to the underlying original, then
> it works again. But that is a LOT of work.

Really? Over here it only took me about a minute's worth of work to adjust your original model so that it lofted well.


> I downloaded TSplines last night and that deals with this problem perfectly.

Great, I'm glad you have found a good solution!

- 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:  Lemo (LEMONNADO)
1181.12 In reply to 1181.11 
I'll post some screen shots later....
And yes, a lot of work. Some of my objects have about 50 lofts.... And to edit every one... sighhhh
And no, TSplines is not the answer. It can loft nicely as it does not seem to reply on the underlying control points, BUT it cramps up at other limitations. There is not way to affect the subd weights and creasing is a pita. Not the ultimate answer... I guess I have to go back to Silo and continue to 'loop' around with that.
Lemo
  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
1181.13 In reply to 1181.12 
Hi Lemo, I see - yes if you need to create a large number of these things it will take a while.

Since you have Rhino you may want to use Rhino's Rebuild command on your offset curve to reconstruct them with a single smooth curve, you will need to use a lot of points to make the new curve follow along your original though.

There is usually not any single super-easy "one button push" type solution to making a loft between many different pieces with different numbers of segments and corners in them work very well. It will usually require some manual tuning and even possibly working with smaller pieces at a time.

If you want to post some more examples of problems you're running into I may be able to give you some additional tips.

But a complex model made up of 50 different pieces, each of which lofts through mutli-segment curves.... I'm sorry but it is just normal that it will take many hours of work to produce such a model...

- 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:  Lemo (LEMONNADO)
1181.14 In reply to 1181.13 
Thanks for your never ending stream of hints and support! Yes, I will continue to tickle the beast ;).
However, there is one thing where I wonder if there is a fast way to do it. And that is to 'puff up' closed curves/ flat surfaces. Like a soap bubble surface which is inflated. I tried the rail revolve which is pretty cool, but fails when you have segments like a star fish.
cheers
Lemo
  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
1181.15 In reply to 1181.14 
Hi Lemo - slightly raised type relief type shapes are pretty hard to do in MoI right now, except for the ones that work well with Rail revolve.

You might try making a bitmap file version of your outline and then fill it in with a gradient and use ZSurf to create a heightfield type surface from it, see here: http://moi3d.com/forum/index.php?webtag=MOI&msg=602.7

I usually tell people that relief work is best done in a program like ArtCAM that has more specialized tools specifically oriented towards puffed up or bubbly type designs.


Since you have Rhino you could also give Rhino's Patch command a try for this type of thing. Either create some additional inside curves that you pull up in Z, and then patch through all of those, or extrude your outline upwards and patch the top open edge (instead of the original curve) so that tangency in the Patch will create some force in the z direction to make it bubbly. Probably the first way with additional curves is better though - the additional curves do not need to be closed, they can be a kind of center line running down the middle of your shape.

Patch will fit a single large surface that kind of curves and twists to pass through points sampled on the curves that you input.

It can be kind of fussy in several ways, like if you have a thin starfish arm it can tend to get kind of lumpy and imperfect in narrow areas that don't have enough fitted surface control points to make the surface flexible enough in that small area. Increasing the "Surface U spans" and "Surface V spans" will create a denser surface with more control points in it which can help with that.

I do plan on having a Patch type command in MoI in the future but it will be missing it for version 1.0 .

- 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

 

 
 
Show messages: All  1-2  3-15