a possible manifold problem

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

a possible manifold problem

David Goodenough
I am trying to track down a problem with a non-manifold STL file.

When I dug down into the SCAD file and I think have found something odd.

With the following code:-

        pipeR = 3;
        bendR = pipeR/2;
        cubeS = SqFromCirc(pipeR);
        blockS = bendR+(pipeR*2);
        intersection() {
                // torus
                rotate_extrude()
                        translate([bendR + pipeR, 0, 0])
                                circle(r=pipeR,h=0.1);
                translate([0,0,-blockS/2]) cube([blockS,blockS,blockS]);
                }

when I look at it (after F5) from the direction such that x and y are
both coming (+ve) towards me and z is up, an odd while "sheet" gets in
the way.

If I create an STL file (it does F6 and export as STL without complaint)
Meshlab does not indicate any problems, and everything seems complete
and the "white sheet" does not appear.  However when this object is
used to cut out a pend in a pipe I think it causes a problem.

I am using the latest git version on Linux.

David

Reply | Threaded
Open this post in threaded view
|

Re: a possible manifold problem

nophead
It needs a convexity of at least 2 in the rotate_extrude() to display correctly with F5. That has no effect on the F6 result though, it is just required for the preview mode.

The other problem is the cube it intersects with is exactly tangential. That is a big no no with CSG as it creates an infinitely sharp knife edge, so I would expect it to cause problems. If you simply make the cube a little bigger I think it will work fine.



On 12 May 2012 12:02, David Goodenough <[hidden email]> wrote:
I am trying to track down a problem with a non-manifold STL file.

When I dug down into the SCAD file and I think have found something odd.

With the following code:-

       pipeR = 3;
       bendR = pipeR/2;
       cubeS = SqFromCirc(pipeR);
       blockS = bendR+(pipeR*2);
       intersection() {
               // torus
               rotate_extrude()
                       translate([bendR + pipeR, 0, 0])
                               circle(r=pipeR,h=0.1);
               translate([0,0,-blockS/2]) cube([blockS,blockS,blockS]);
               }

when I look at it (after F5) from the direction such that x and y are
both coming (+ve) towards me and z is up, an odd while "sheet" gets in
the way.

If I create an STL file (it does F6 and export as STL without complaint)
Meshlab does not indicate any problems, and everything seems complete
and the "white sheet" does not appear.  However when this object is
used to cut out a pend in a pipe I think it causes a problem.

I am using the latest git version on Linux.

David
_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: a possible manifold problem

David Goodenough
I keep on forgetting this convexity thing, I have now put it in everywhere.

I have made the cube .1 bigger in each direction.

Thanks.

David

On Saturday 12 May 2012, nop head wrote:

> It needs a convexity of at least 2 in the rotate_extrude() to display
> correctly with F5. That has no effect on the F6 result though, it is just
> required for the preview mode.
>
> The other problem is the cube it intersects with is exactly tangential.
> That is a big no no with CSG as it creates an infinitely sharp knife edge,
> so I would expect it to cause problems. If you simply make the cube a
> little bigger I think it will work fine.
>
> On 12 May 2012 12:02, David Goodenough
<[hidden email]>wrote:

> > I am trying to track down a problem with a non-manifold STL file.
> >
> > When I dug down into the SCAD file and I think have found something odd.
> >
> > With the following code:-
> >
> >        pipeR = 3;
> >        bendR = pipeR/2;
> >        cubeS = SqFromCirc(pipeR);
> >        blockS = bendR+(pipeR*2);
> >        intersection() {
> >        
> >                // torus
> >                rotate_extrude()
> >                
> >                        translate([bendR + pipeR, 0, 0])
> >                        
> >                                circle(r=pipeR,h=0.1);
> >                
> >                translate([0,0,-blockS/2]) cube([blockS,blockS,blockS]);
> >                }
> >
> > when I look at it (after F5) from the direction such that x and y are
> > both coming (+ve) towards me and z is up, an odd while "sheet" gets in
> > the way.
> >
> > If I create an STL file (it does F6 and export as STL without complaint)
> > Meshlab does not indicate any problems, and everything seems complete
> > and the "white sheet" does not appear.  However when this object is
> > used to cut out a pend in a pipe I think it causes a problem.
> >
> > I am using the latest git version on Linux.
> >
> > David
> > _______________________________________________
> > OpenSCAD mailing list
> > [hidden email]
> > http://rocklinux.net/mailman/listinfo/openscad