discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: [OpenSCAD] puzzlecutlib rendering problem & STL export error Current top level object is empty.

R
Ronaldo
Sun, Jun 5, 2016 4:19 PM

I don't recommend the use of Sketchup. I had used it because I am used to it
and had not much experience with other tools. But it is cumbersome. I think
Netfabb should be the first choice. The site Torsten referred is easy to use
and the results are usually good. You always can submit the fixed part again
if the first fixing wasn't enough. I think that was my procedure. You should
try it. Meshlab is a big software with lots of options but requires some
experience.

Regarding your cuts: I understand that you want to puzzlecut the part at
that line in order to strenght the joints by the mounting bolts. But I would
not cut it upright like you did because the printing will require support to
deal with the notches when the part is laid down on the printer table. I
would cut it laid down so the notches goes vertically as Torsten's image
shows. Anyway, you should choose the cutSize and xCut1 parameters to avoid
interference with part features and thin surfaces. With cutSize=6, your cut
seems to work.

I still think dovetails are a better choice. I did not understood what were
your troubles with them.

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17564.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I don't recommend the use of Sketchup. I had used it because I am used to it and had not much experience with other tools. But it is cumbersome. I think Netfabb should be the first choice. The site Torsten referred is easy to use and the results are usually good. You always can submit the fixed part again if the first fixing wasn't enough. I think that was my procedure. You should try it. Meshlab is a big software with lots of options but requires some experience. Regarding your cuts: I understand that you want to puzzlecut the part at that line in order to strenght the joints by the mounting bolts. But I would not cut it upright like you did because the printing will require support to deal with the notches when the part is laid down on the printer table. I would cut it laid down so the notches goes vertically as Torsten's image shows. Anyway, you should choose the cutSize and xCut1 parameters to avoid interference with part features and thin surfaces. With cutSize=6, your cut seems to work. I still think dovetails are a better choice. I did not understood what were your troubles with them. -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17564.html Sent from the OpenSCAD mailing list archive at Nabble.com.
RW
Rob Ward
Sun, Jun 5, 2016 8:50 PM

Just to throw in an experience I had of a small 'L' bracket part that snapped. There was no way I could brace it any more than I had, so I made up a batch of 5min epoxy and with a toothpick smeared and poked the glue back into the 30% fill. Then a point of weakness became very strong.
So my question is could you over dimension the parts to be joined, then remove the excess 'skin' and bond the two parts in that fashion? On a bigger area an old tooth brush could help penetrate the fill matrix quickly.  Marker indentations into the faces to be joined could help determine how much plastic to remove.

Rob

On 6 June 2016 2:19:41 AM AEST, Ronaldo rcmpersiano@gmail.com wrote:

I don't recommend the use of Sketchup. I had used it because I am used
to it
and had not much experience with other tools. But it is cumbersome. I
think
Netfabb should be the first choice. The site Torsten referred is easy
to use
and the results are usually good. You always can submit the fixed part
again
if the first fixing wasn't enough. I think that was my procedure. You
should
try it. Meshlab is a big software with lots of options but requires
some
experience.

Regarding your cuts: I understand that you want to puzzlecut the part
at
that line in order to strenght the joints by the mounting bolts. But I
would
not cut it upright like you did because the printing will require
support to
deal with the notches when the part is laid down on the printer table.
I
would cut it laid down so the notches goes vertically as Torsten's
image
shows. Anyway, you should choose the cutSize and xCut1 parameters to
avoid
interference with part features and thin surfaces. With cutSize=6, your
cut
seems to work.

I still think dovetails are a better choice. I did not understood what
were
your troubles with them.

--
View this message in context:
http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17564.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

--
Sent from my Android

Just to throw in an experience I had of a small 'L' bracket part that snapped. There was no way I could brace it any more than I had, so I made up a batch of 5min epoxy and with a toothpick smeared and poked the glue back into the 30% fill. Then a point of weakness became very strong. So my question is could you over dimension the parts to be joined, then remove the excess 'skin' and bond the two parts in that fashion? On a bigger area an old tooth brush could help penetrate the fill matrix quickly. Marker indentations into the faces to be joined could help determine how much plastic to remove. Rob On 6 June 2016 2:19:41 AM AEST, Ronaldo <rcmpersiano@gmail.com> wrote: >I don't recommend the use of Sketchup. I had used it because I am used >to it >and had not much experience with other tools. But it is cumbersome. I >think >Netfabb should be the first choice. The site Torsten referred is easy >to use >and the results are usually good. You always can submit the fixed part >again >if the first fixing wasn't enough. I think that was my procedure. You >should >try it. Meshlab is a big software with lots of options but requires >some >experience. > >Regarding your cuts: I understand that you want to puzzlecut the part >at >that line in order to strenght the joints by the mounting bolts. But I >would >not cut it upright like you did because the printing will require >support to >deal with the notches when the part is laid down on the printer table. >I >would cut it laid down so the notches goes vertically as Torsten's >image >shows. Anyway, you should choose the cutSize and xCut1 parameters to >avoid >interference with part features and thin surfaces. With cutSize=6, your >cut >seems to work. > >I still think dovetails are a better choice. I did not understood what >were >your troubles with them. > > > >-- >View this message in context: >http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17564.html >Sent from the OpenSCAD mailing list archive at Nabble.com. > >_______________________________________________ >OpenSCAD mailing list >Discuss@lists.openscad.org >http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org -- Sent from my Android
R
Ronaldo
Sun, Jun 5, 2016 9:19 PM

I am not sure I have understood well your problem, solution and question. Are
they about puzzlecutlib.scad cuts? In the puzzlecutlib demos, the parameter
"kerf" allows for control how tight or loose the joint will be. FourDr, who
is dealing with those issues, may have an experience to share.

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17566.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I am not sure I have understood well your problem, solution and question. Are they about puzzlecutlib.scad cuts? In the puzzlecutlib demos, the parameter "kerf" allows for control how tight or loose the joint will be. FourDr, who is dealing with those issues, may have an experience to share. -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17566.html Sent from the OpenSCAD mailing list archive at Nabble.com.
F
FourthDr
Mon, Jun 6, 2016 8:07 PM

Hi:

That was my original design. But I thought is would come apart. I finally
did get the two parts cut with dove tail and separated into 4 individual
parts for printing over the weekend using the design you suggested.

As usual, I thought to myself what if the parts don't fit? So I quickly
created a sample coin shaped part and cut it in half for a test pint.

The first print was way too tight and the two half would not join. So I
revised the design using KERF, and printed a second version.

The second revision didn't fit either, the only change with kerf of .4 was a
gap at the bottom of the female dovetail cut outs. I though kerf would add a
gap along the entire cut? But apparently not. Or could it be a problem with
the dovetail code which was not originally part of the puzzlecutlib?

So how would I adjust the fit on the two parts of kerf doesn't do it?

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17569.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi: That was my original design. But I thought is would come apart. I finally did get the two parts cut with dove tail and separated into 4 individual parts for printing over the weekend using the design you suggested. As usual, I thought to myself what if the parts don't fit? So I quickly created a sample coin shaped part and cut it in half for a test pint. The first print was way too tight and the two half would not join. So I revised the design using KERF, and printed a second version. The second revision didn't fit either, the only change with kerf of .4 was a gap at the bottom of the female dovetail cut outs. I though kerf would add a gap along the entire cut? But apparently not. Or could it be a problem with the dovetail code which was not originally part of the puzzlecutlib? So how would I adjust the fit on the two parts of kerf doesn't do it? -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17569.html Sent from the OpenSCAD mailing list archive at Nabble.com.
F
FourthDr
Mon, Jun 6, 2016 8:22 PM

Hi Ronaldo:

I created a test coin over the weekend to test the fit of the split parts.
This only took a few minute per print compared to several hours for the
final parts. In my tests, the first print had a kerf of 0 and was so tight
the parts would not fit. On the second print with kerf of .4, again the
parts did not fit and the only difference was a gap at the bottom of the
dovetail cut instead of along the entire puzzle cut. What do you think is
the cause? See files below:

Test_Cylinder.scad
http://forum.openscad.org/file/n17570/Test_Cylinder.scad
puzzlecutlib.scad http://forum.openscad.org/file/n17570/puzzlecutlib.scad
Cylinder.stl http://forum.openscad.org/file/n17570/Cylinder.stl

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17570.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi Ronaldo: I created a test coin over the weekend to test the fit of the split parts. This only took a few minute per print compared to several hours for the final parts. In my tests, the first print had a kerf of 0 and was so tight the parts would not fit. On the second print with kerf of .4, again the parts did not fit and the only difference was a gap at the bottom of the dovetail cut instead of along the entire puzzle cut. What do you think is the cause? See files below: Test_Cylinder.scad <http://forum.openscad.org/file/n17570/Test_Cylinder.scad> puzzlecutlib.scad <http://forum.openscad.org/file/n17570/puzzlecutlib.scad> Cylinder.stl <http://forum.openscad.org/file/n17570/Cylinder.stl> -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17570.html Sent from the OpenSCAD mailing list archive at Nabble.com.
R
Ronaldo
Tue, Jun 7, 2016 3:59 PM

If you comment out the translate([0,-20,0]) in cutInTwo(), the render will
display the two parts joined together. And you will see the gap between them
around the peg when kerf is greater than 0. A low kerf will require more
precision from the 3D printer. If your printer is not well calibrated you
should try to enlarge the kerf.

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17577.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

If you comment out the translate([0,-20,0]) in cutInTwo(), the render will display the two parts joined together. And you will see the gap between them around the peg when kerf is greater than 0. A low kerf will require more precision from the 3D printer. If your printer is not well calibrated you should try to enlarge the kerf. -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17577.html Sent from the OpenSCAD mailing list archive at Nabble.com.
F
FourthDr
Tue, Jun 7, 2016 8:12 PM

Hi Ronaldo:

That's what I did finally when I tested the kerf with the original T shaped
cut. Which worked correctly with a -.4 kerf. But when I switched back to the
dovetail code, the kerf is not working correctly. What happens is with a +.4
I get a gap at the top of the dovetails and when I use a -.4 I get a gap at
the bottom of the dovetails. Not what is suppose to happen. What I expected
it to do was change the gap size along the entire dovetail, larger gap with
negative values and smaller gap with positive values. But that is not what
is happening.

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17578.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi Ronaldo: That's what I did finally when I tested the kerf with the original T shaped cut. Which worked correctly with a -.4 kerf. But when I switched back to the dovetail code, the kerf is not working correctly. What happens is with a +.4 I get a gap at the top of the dovetails and when I use a -.4 I get a gap at the bottom of the dovetails. Not what is suppose to happen. What I expected it to do was change the gap size along the entire dovetail, larger gap with negative values and smaller gap with positive values. But that is not what is happening. -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17578.html Sent from the OpenSCAD mailing list archive at Nabble.com.
R
Ronaldo
Wed, Jun 8, 2016 5:56 AM

You are right. There is an error in the way dovetail() deals with kerf.

Although it can be corrected I found a better way to define the joints.
Redefine makePuzzleStamp as:

module makePuzzleStamp(kerf = 0) {
difference() {
//make the cube
translate ([0,stampSize[0] / 2 - kerf,0])
cube (stampSize, center = true);

	//make the cuts
	for ( i = cutLocations )
		translate([i,0,0]) tenon(cutSize, kerf, stampSize[2]); 

and at the beginning of puzzlecutlib.scad add:

// profiles
t = tan(12);
dovetail = [ [-3/8, 1], [3/8, 1], [3/8-t, -0.1], [-3/8+t, -0.1] ] ;
// rounded dovetail
round_dt = [ [-1/2+1/7, 1-1/10], [-1/3+1/8,  1], [1/3-1/8,  1], [1/2-1/7,
1-1/10],
[1/2-1/8,  1-2/7], [3/16,  -0.1], [-3/16, -0.1], [-1/2+1/8,
1-2/7], ] ;

t_lock  = [ [-1/4, -0.1], [-1/4, 1/3], [-1/2, 1/3], [-1/2,  3/4],
[ 1/2,  3/4], [ 1/2, 1/3], [ 1/4, 1/3], [ 1/4, -0.1] ];

profile = dovetail; // choose any of above profiles

module tenon(size=6, kerf=0, h=100) {
translate([0,0,-1])
linear_extrude(height = h+2)
offset(delta=-kerf)
polygon(size*profile);
}

To define a new cut shape it is enough to provide its list of points as a
new profile. The profile round_dt is an example.

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17582.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

You are right. There is an error in the way dovetail() deals with kerf. Although it can be corrected I found a better way to define the joints. Redefine makePuzzleStamp as: > module makePuzzleStamp(kerf = 0) { > difference() { > //make the cube > translate ([0,stampSize[0] / 2 - kerf,0]) > cube (stampSize, center = true); > > //make the cuts > for ( i = cutLocations ) > translate([i,0,0]) tenon(cutSize, kerf, stampSize[2]); and at the beginning of puzzlecutlib.scad add: > // profiles > t = tan(12); > dovetail = [ [-3/8, 1], [3/8, 1], [3/8-t, -0.1], [-3/8+t, -0.1] ] ; > // rounded dovetail > round_dt = [ [-1/2+1/7, 1-1/10], [-1/3+1/8, 1], [1/3-1/8, 1], [1/2-1/7, > 1-1/10], > [1/2-1/8, 1-2/7], [3/16, -0.1], [-3/16, -0.1], [-1/2+1/8, > 1-2/7], ] ; > > t_lock = [ [-1/4, -0.1], [-1/4, 1/3], [-1/2, 1/3], [-1/2, 3/4], > [ 1/2, 3/4], [ 1/2, 1/3], [ 1/4, 1/3], [ 1/4, -0.1] ]; > > profile = dovetail; // choose any of above profiles > > module tenon(size=6, kerf=0, h=100) { > translate([0,0,-1]) > linear_extrude(height = h+2) > offset(delta=-kerf) > polygon(size*profile); > } To define a new cut shape it is enough to provide its list of points as a new profile. The profile round_dt is an example. -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17582.html Sent from the OpenSCAD mailing list archive at Nabble.com.
F
FourthDr
Wed, Jun 8, 2016 4:06 PM

Hi Ronaldo:

I added that code. It did fix the dovetail. But it is doing something weird
at the origin 0,0,0. Also, the T and the ballsocket do not render now. With
the ballsock code I get a dovetail with a half ballsocket at the origin and
with the T code I get a zigzag at the origin on one of the cuts the rest
stay as a dovetail.

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17599.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Hi Ronaldo: I added that code. It did fix the dovetail. But it is doing something weird at the origin 0,0,0. Also, the T and the ballsocket do not render now. With the ballsock code I get a dovetail with a half ballsocket at the origin and with the T code I get a zigzag at the origin on one of the cuts the rest stay as a dovetail. -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17599.html Sent from the OpenSCAD mailing list archive at Nabble.com.
R
Ronaldo
Thu, Jun 9, 2016 1:31 AM

FourthDr,

I could not find any trouble with the new dovetail at the origin neither
with the t_lock shape. Are you sure your xCut1 positions are correctly
spaced? If you have two of them too close, you may get strange results.

I did not include the ballsocket in my last version. As I said, to have any
other cut shape it is enough to write a list of points of the new profile.
For the ballsocket I propose something like this:

ball_sock = concat( [ for(i=[245:-31:-65]) 0.4*[cos(i), 1.5+sin(i)] ],
[ [0.4cos(-65),-0.1], [-0.4cos(-65),-0.1] ] );
profile = ball_sock;

The previous round_dt shape is indeed a crude form of a rounded dovetail.

--
View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17609.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

FourthDr, I could not find any trouble with the new dovetail at the origin neither with the t_lock shape. Are you sure your xCut1 positions are correctly spaced? If you have two of them too close, you may get strange results. I did not include the ballsocket in my last version. As I said, to have any other cut shape it is enough to write a list of points of the new profile. For the ballsocket I propose something like this: > ball_sock = concat( [ for(i=[245:-31:-65]) 0.4*[cos(i), 1.5+sin(i)] ], > [ [0.4*cos(-65),-0.1], [-0.4*cos(-65),-0.1] ] ); > profile = ball_sock; The previous round_dt shape is indeed a crude form of a rounded dovetail. -- View this message in context: http://forum.openscad.org/puzzlecutlib-rendering-problem-STL-export-error-Current-top-level-object-is-empty-tp17440p17609.html Sent from the OpenSCAD mailing list archive at Nabble.com.