Suggestions?

 From:  Michael Gibson
4123.27 In reply to 4123.26 
Hi Felix,

> When I did a union on the 2 gray boxes on the left I
> get the red box where the edges at the intersection of
> the 2 gray box just disappeared as I would expect.

That's due to some special handling of plane surfaces - during a Boolean Union the boolean code looks for areas where there are 2 pieces of planes that would end up adjacent to each other and switches them with one larger plane. It can also combine surfaces together if each adjacent surface is a trimmed sub portion from the same original larger surface.

But in other cases it's normal for the very same edge structure in the original objects to come through into the boolean result.


> I then copied the red box and made a strait line and a
> curve that I joined and used this curve to create the green
> and orange shape using a diff.

So when you joined the straight line and the curve together, you have a multi-segment curve. When you use that curve as a cutting object, it will become extruded into a surface and that extruded surface is what will actually be used in the boolean.

When you extrude a joined curve, it is normal for the extrusion to have one surface in it for each segment in your original object.

So for example, extruding a rectangle made up of 4 lines joined together will result in 4 surfaces for the side walls of the extruded result, like this (I turned end caps off for this example):





Here's another example where the curve is made up of 8 joined segments like this:



Extruding this 8-segment curve will result in 8 surfaces, one for each of those segments, like this:




So in your case your curve was made up of 2 segments with the segments something like this:


So with 2 segments in your curve, it then follows that the extrusion will have 2 surfaces in it just matching the same structure as your curve, making a result like this:


So that's where that edge that you're mentioning comes from, it's the edge between the 2 extruded surfaces, and there are 2 surfaces because you had 2 segments in your curve...

Having the extruded object structure be the same as the original curve structure can be useful in many circumstances because it means you can work on the surfaces in the same way as the original curve, like for example with this one you can very easily remove some portions of the object that correspond to your original segments:






Does that help to explain where that edge is coming from?


If you don't want that edge it is possible to get rid of it by making a different kind of curve - instead of a curve made up of 2 sub segments you will instead want to make a curve that is made up of just a single segment. The extruded result of a single segment curve will be just a single surface instead of being in multiple pieces.

You can fuse the 2 segments in your curve together into a single segment by turning on control points and deleting the control point where they join at, or you can use the Rebuild command which will reconstruct a curve and it will make longer single segments out of areas in the curve where there are currently multiple segments that are smooth where they touch each other. More info on the Rebuild command here:
http://moi3d.com/2.0/docs/moi_command_reference10.htm#rebuild

So in your particular example it looks like the 2 segments were tangent at their join point, so you can use the Rebuild command on that curve to make it into a single segment curve instead of your previous 2-segment curve, and if you then use your new single segment curve as the cutting object in the boolean it will produce the result that you wanted where there is no edge at that one spot.


> I think I understand where the blue edge on the green
> shape comes from but I would have thought I would see
> no edge there.

But I'm not sure why you would expect this - doesn't it make sense for a curve made up of 2 segments to produce a surface made up of 2 faces when it is extruded? It just makes a result that is the same as your curve structure...


> I think that a break like this can cause a retract in the
> g-code and on simple objects like these it doesn't matter
> but on more complex object with a lot of similar breaks, all
> these retract can increase machine time significantly.

I can't remember ever hearing that having a model made up of several joined pieces has any negative effect on g-code production...

I mean it's really a fundamental thing that there will be many different edges in a model even where pieces are smooth with each other, if there was a problem with that it would basically be impossible to model anything with fillets in it - every CAD program that produces fillets will have edges around the fillets where they join together with the other pieces.

The only way to not have any edges in a model is to have the whole model made up of just one single surface and that's not very practical...

Could you maybe describe a bit more about why you're particularly worried about that?

But if you are really worried about it you can remove such edges by making your cutting curves be only single segment curves instead of multi-segment curves, and the Rebuild command can help with that.

But I think it's likely to be something that you don't really need to worry about so much though.

- Michael