discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

module is ignored

GH
Gene Heskett
Tue, Jun 22, 2021 7:07 PM

On Tuesday 22 June 2021 12:56:50 Ray West wrote:

view-thrown together helps, too.

Unforch, not in this case, Ray. The preview shows it but neither the
render or the print gets it into plastic.  So I'm confused.  Have I
triggered a bug?

On 22/06/2021 16:19, Gene Heskett wrote:

Greetings all;

I have composed this script to cap the output side of a harmonic
drive: But the bearing module is totally ignored.  As seperate code
elsewhere in this drive it works great.

// new output disk to contain 62 tooth spline
// and incorporate for space savings the output shaft bearings
/hakespear, what am I doing wrong?

Thanks all.

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.

On Tuesday 22 June 2021 12:56:50 Ray West wrote: > view-thrown together helps, too. Unforch, not in this case, Ray. The preview shows it but neither the render or the print gets it into plastic. So I'm confused. Have I triggered a bug? > On 22/06/2021 16:19, Gene Heskett wrote: > > Greetings all; > > > > I have composed this script to cap the output side of a harmonic > > drive: But the bearing module is totally ignored. As seperate code > > elsewhere in this drive it works great. > > === > > // new output disk to contain 62 tooth spline > > // and incorporate for space savings the output shaft bearings > > /hakespear, what am I doing wrong? Thanks all. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene>
LM
Leonard Martin Struttmann
Tue, Jun 22, 2021 7:08 PM

That appears to be because the final square() extends beyond the top and
bottom of the rings. The final square does not intersect with anything.

To see this, comment out the cap, and use #bearing()

On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett gheskett@shentel.net wrote:

On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote:

Put a "#" in front of the bearing() call, i.e.,

#bearing();

That worked fine, and I've made that difference into a union and added
another item to make a thin break between the two parts, makiing a
bearing channel in the middle of that thick rim, but when I take the #
away for a normal render, the break is the cap disappears from the
render, as if the 3rd argument to the union is beiing ignored. How many
items can be combined in one union() {...} statement?

With the #bearing(); I can see the break thru the top disk even at a .1mm
gap, too narrow to render but its not there in the render, so I'm
rendering to see if it is present with the # and a .5mm gap.  And no,
that gap is not there in the render.  The bearing race channal is there
but not the third argument. And it won't work without it.

So I'm bumfuzzled.  This is the new version:

===
// new output disk to contain 62 tooth spline
// and incorporate for space savings the output shaft bearings
// and a timing belt pulley for output coupling.
// turn upside down to print so no supports needed
// will superglue timing pulley in center hole, and make bearing race
// addition later after verifying fit.

IDofspl=67.99;// to fit OD of 60 or 62 tooth spline
splsocht=6.00;// height of cup for spline
ODofCup=IDofspl+splsocht*2;// incorporate bearing in space
echo(11,ODofCup);
bb=4.36;// crosman bb dia plus clearance
//instclr=.4100;
// need some data for rotate_extrude
ctr_ht=splsocht/2;// center bb groove vertically
innr=ODofCup-splsocht/2;// get radius of bb groove
bbofs=splsocht/2;// might be useful
$fn=360;
translate([0,0,splsocht/2])
difference() {
// builds inner|outer walls of splined ring socket
cylinder(h=splsocht,d=ODofCup,center=true);// outer
cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st subtract
#bearing();
};// ends difference from line 20
// now cap it, this works! turn upside down to render
translate([0,0,splsocht+1.5]) // looks good
difference() {
cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in center
cylinder(h=splsocht,d=20,center=true);
};

module bearing() {
rotate_extrude()
translate([ODofCup/2.16,1.0]) // below main gfx so can see
union()
{
circle(d=bb);
square([.40splsocht, 1.35splsocht],center=true);
square([.5,14],center=true);

 }

};

The preview looks great, but the render does not show the last square
statements effect. And a test print doesn't show it either, so I stopped
it.

Thanks for some insight.

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

That appears to be because the final square() extends beyond the top and bottom of the rings. The final square does not intersect with anything. To see this, comment out the cap, and use #bearing() On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett <gheskett@shentel.net> wrote: > On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote: > > > Put a "#" in front of the bearing() call, i.e., > > > > #bearing(); > > That worked fine, and I've made that difference into a union and added > another item to make a thin break between the two parts, makiing a > bearing channel in the middle of that thick rim, but when I take the # > away for a normal render, the break is the cap disappears from the > render, as if the 3rd argument to the union is beiing ignored. How many > items can be combined in one union() {...} statement? > > With the #bearing(); I can see the break thru the top disk even at a .1mm > gap, too narrow to render but its not there in the render, so I'm > rendering to see if it is present with the # and a .5mm gap. And no, > that gap is not there in the render. The bearing race channal is there > but not the third argument. And it won't work without it. > > So I'm bumfuzzled. This is the new version: > > === > // new output disk to contain 62 tooth spline > // and incorporate for space savings the output shaft bearings > // and a timing belt pulley for output coupling. > // turn upside down to print so no supports needed > // will superglue timing pulley in center hole, and make bearing race > // addition later after verifying fit. > > IDofspl=67.99;// to fit OD of 60 or 62 tooth spline > splsocht=6.00;// height of cup for spline > ODofCup=IDofspl+splsocht*2;// incorporate bearing in space > echo(11,ODofCup); > bb=4.36;// crosman bb dia plus clearance > //instclr=.4100; > // need some data for rotate_extrude > ctr_ht=splsocht/2;// center bb groove vertically > innr=ODofCup-splsocht/2;// get radius of bb groove > bbofs=splsocht/2;// might be useful > $fn=360; > translate([0,0,splsocht/2]) > difference() { > // builds inner|outer walls of splined ring socket > cylinder(h=splsocht,d=ODofCup,center=true);// outer > cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st subtract > #bearing(); > };// ends difference from line 20 > // now cap it, this works! turn upside down to render > translate([0,0,splsocht+1.5]) // looks good > difference() { > cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in center > cylinder(h=splsocht,d=20,center=true); > }; > > module bearing() { > rotate_extrude() > translate([ODofCup/2.16,1.0]) // below main gfx so can see > union() > { > circle(d=bb); > square([.40*splsocht, 1.35*splsocht],center=true); > square([.5,14],center=true); > > } > }; > === > > The preview looks great, but the render does not show the last square > statements effect. And a test print doesn't show it either, so I stopped > it. > > Thanks for some insight. > > Cheers, Gene Heskett > -- > "There are four boxes to be used in defense of liberty: > soap, ballot, jury, and ammo. Please use in that order." > -Ed Howdershelt (Author) > If we desire respect for the law, we must first make the law respectable. > - Louis D. Brandeis > Genes Web page <http://geneslinuxbox.net:6309/gene> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Tue, Jun 22, 2021 7:17 PM

The difference subtracts the bearing successfully but the cap fills it in
again.

On Tue, 22 Jun 2021 at 20:09, Leonard Martin Struttmann <
lenstruttmann@gmail.com> wrote:

That appears to be because the final square() extends beyond the top and
bottom of the rings. The final square does not intersect with anything.

To see this, comment out the cap, and use #bearing()

On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett gheskett@shentel.net wrote:

On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote:

Put a "#" in front of the bearing() call, i.e.,

#bearing();

That worked fine, and I've made that difference into a union and added
another item to make a thin break between the two parts, makiing a
bearing channel in the middle of that thick rim, but when I take the #
away for a normal render, the break is the cap disappears from the
render, as if the 3rd argument to the union is beiing ignored. How many
items can be combined in one union() {...} statement?

With the #bearing(); I can see the break thru the top disk even at a .1mm
gap, too narrow to render but its not there in the render, so I'm
rendering to see if it is present with the # and a .5mm gap.  And no,
that gap is not there in the render.  The bearing race channal is there
but not the third argument. And it won't work without it.

So I'm bumfuzzled.  This is the new version:

===
// new output disk to contain 62 tooth spline
// and incorporate for space savings the output shaft bearings
// and a timing belt pulley for output coupling.
// turn upside down to print so no supports needed
// will superglue timing pulley in center hole, and make bearing race
// addition later after verifying fit.

IDofspl=67.99;// to fit OD of 60 or 62 tooth spline
splsocht=6.00;// height of cup for spline
ODofCup=IDofspl+splsocht*2;// incorporate bearing in space
echo(11,ODofCup);
bb=4.36;// crosman bb dia plus clearance
//instclr=.4100;
// need some data for rotate_extrude
ctr_ht=splsocht/2;// center bb groove vertically
innr=ODofCup-splsocht/2;// get radius of bb groove
bbofs=splsocht/2;// might be useful
$fn=360;
translate([0,0,splsocht/2])
difference() {
// builds inner|outer walls of splined ring socket
cylinder(h=splsocht,d=ODofCup,center=true);// outer
cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st subtract
#bearing();
};// ends difference from line 20
// now cap it, this works! turn upside down to render
translate([0,0,splsocht+1.5]) // looks good
difference() {
cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in center
cylinder(h=splsocht,d=20,center=true);
};

module bearing() {
rotate_extrude()
translate([ODofCup/2.16,1.0]) // below main gfx so can see
union()
{
circle(d=bb);
square([.40splsocht, 1.35splsocht],center=true);
square([.5,14],center=true);

 }

};

The preview looks great, but the render does not show the last square
statements effect. And a test print doesn't show it either, so I stopped
it.

Thanks for some insight.

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

The difference subtracts the bearing successfully but the cap fills it in again. On Tue, 22 Jun 2021 at 20:09, Leonard Martin Struttmann < lenstruttmann@gmail.com> wrote: > That appears to be because the final square() extends beyond the top and > bottom of the rings. The final square does not intersect with anything. > > To see this, comment out the cap, and use #bearing() > > > > On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett <gheskett@shentel.net> wrote: > >> On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote: >> >> > Put a "#" in front of the bearing() call, i.e., >> > >> > #bearing(); >> >> That worked fine, and I've made that difference into a union and added >> another item to make a thin break between the two parts, makiing a >> bearing channel in the middle of that thick rim, but when I take the # >> away for a normal render, the break is the cap disappears from the >> render, as if the 3rd argument to the union is beiing ignored. How many >> items can be combined in one union() {...} statement? >> >> With the #bearing(); I can see the break thru the top disk even at a .1mm >> gap, too narrow to render but its not there in the render, so I'm >> rendering to see if it is present with the # and a .5mm gap. And no, >> that gap is not there in the render. The bearing race channal is there >> but not the third argument. And it won't work without it. >> >> So I'm bumfuzzled. This is the new version: >> >> === >> // new output disk to contain 62 tooth spline >> // and incorporate for space savings the output shaft bearings >> // and a timing belt pulley for output coupling. >> // turn upside down to print so no supports needed >> // will superglue timing pulley in center hole, and make bearing race >> // addition later after verifying fit. >> >> IDofspl=67.99;// to fit OD of 60 or 62 tooth spline >> splsocht=6.00;// height of cup for spline >> ODofCup=IDofspl+splsocht*2;// incorporate bearing in space >> echo(11,ODofCup); >> bb=4.36;// crosman bb dia plus clearance >> //instclr=.4100; >> // need some data for rotate_extrude >> ctr_ht=splsocht/2;// center bb groove vertically >> innr=ODofCup-splsocht/2;// get radius of bb groove >> bbofs=splsocht/2;// might be useful >> $fn=360; >> translate([0,0,splsocht/2]) >> difference() { >> // builds inner|outer walls of splined ring socket >> cylinder(h=splsocht,d=ODofCup,center=true);// outer >> cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st subtract >> #bearing(); >> };// ends difference from line 20 >> // now cap it, this works! turn upside down to render >> translate([0,0,splsocht+1.5]) // looks good >> difference() { >> cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in center >> cylinder(h=splsocht,d=20,center=true); >> }; >> >> module bearing() { >> rotate_extrude() >> translate([ODofCup/2.16,1.0]) // below main gfx so can see >> union() >> { >> circle(d=bb); >> square([.40*splsocht, 1.35*splsocht],center=true); >> square([.5,14],center=true); >> >> } >> }; >> === >> >> The preview looks great, but the render does not show the last square >> statements effect. And a test print doesn't show it either, so I stopped >> it. >> >> Thanks for some insight. >> >> Cheers, Gene Heskett >> -- >> "There are four boxes to be used in defense of liberty: >> soap, ballot, jury, and ammo. Please use in that order." >> -Ed Howdershelt (Author) >> If we desire respect for the law, we must first make the law respectable. >> - Louis D. Brandeis >> Genes Web page <http://geneslinuxbox.net:6309/gene> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GH
Gene Heskett
Tue, Jun 22, 2021 7:22 PM

On Tuesday 22 June 2021 15:08:39 Leonard Martin Struttmann wrote:

That appears to be because the final square() extends beyond the top
and bottom of the rings. The final square does not intersect with
anything.

yes it does, its superimposed on the first 2 items and extends thru both
the top and bottoms of them.

To see this, comment out the cap, and use #bearing()

But, and this may be a clue, I want the .2mm break line to extend thru
the cap too, which it does in the preview. Do I need to reorder the code
to make cap part of the rim somehow, then use the difference to do the
cut?

On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett gheskett@shentel.net

wrote:

On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote:

Put a "#" in front of the bearing() call, i.e.,

#bearing();

That worked fine, and I've made that difference into a union and
added another item to make a thin break between the two parts,
makiing a bearing channel in the middle of that thick rim, but when
I take the # away for a normal render, the break is the cap
disappears from the render, as if the 3rd argument to the union is
beiing ignored. How many items can be combined in one union() {...}
statement?

With the #bearing(); I can see the break thru the top disk even at a
.1mm gap, too narrow to render but its not there in the render, so
I'm rendering to see if it is present with the # and a .5mm gap.
And no, that gap is not there in the render.  The bearing race
channal is there but not the third argument. And it won't work
without it.

So I'm bumfuzzled.  This is the new version:

===
// new output disk to contain 62 tooth spline
// and incorporate for space savings the output shaft bearings
// and a timing belt pulley for output coupling.
// turn upside down to print so no supports needed
// will superglue timing pulley in center hole, and make bearing
race // addition later after verifying fit.

IDofspl=67.99;// to fit OD of 60 or 62 tooth spline
splsocht=6.00;// height of cup for spline
ODofCup=IDofspl+splsocht*2;// incorporate bearing in space
echo(11,ODofCup);
bb=4.36;// crosman bb dia plus clearance
//instclr=.4100;
// need some data for rotate_extrude
ctr_ht=splsocht/2;// center bb groove vertically
innr=ODofCup-splsocht/2;// get radius of bb groove
bbofs=splsocht/2;// might be useful
$fn=360;
translate([0,0,splsocht/2])
difference() {
// builds inner|outer walls of splined ring socket
cylinder(h=splsocht,d=ODofCup,center=true);// outer
cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st
subtract #bearing();
};// ends difference from line 20
// now cap it, this works! turn upside down to render
translate([0,0,splsocht+1.5]) // looks good
difference() {
cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in
center cylinder(h=splsocht,d=20,center=true);
};

module bearing() {
rotate_extrude()
translate([ODofCup/2.16,1.0]) // below main gfx so can see
union()
{
circle(d=bb);
square([.40splsocht, 1.35splsocht],center=true);
square([.5,14],center=true);

 }

};

The preview looks great, but the render does not show the last
square statements effect. And a test print doesn't show it either,
so I stopped it.

Still looking for a solution that renders.

Thanks Leonard.

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.

On Tuesday 22 June 2021 15:08:39 Leonard Martin Struttmann wrote: > That appears to be because the final square() extends beyond the top > and bottom of the rings. The final square does not intersect with > anything. yes it does, its superimposed on the first 2 items and extends thru both the top and bottoms of them. > To see this, comment out the cap, and use #bearing() But, and this may be a clue, I want the .2mm break line to extend thru the cap too, which it does in the preview. Do I need to reorder the code to make cap part of the rim somehow, then use the difference to do the cut? > On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett <gheskett@shentel.net> wrote: > > On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote: > > > Put a "#" in front of the bearing() call, i.e., > > > > > > #bearing(); > > > > That worked fine, and I've made that difference into a union and > > added another item to make a thin break between the two parts, > > makiing a bearing channel in the middle of that thick rim, but when > > I take the # away for a normal render, the break is the cap > > disappears from the render, as if the 3rd argument to the union is > > beiing ignored. How many items can be combined in one union() {...} > > statement? > > > > With the #bearing(); I can see the break thru the top disk even at a > > .1mm gap, too narrow to render but its not there in the render, so > > I'm rendering to see if it is present with the # and a .5mm gap. > > And no, that gap is not there in the render. The bearing race > > channal is there but not the third argument. And it won't work > > without it. > > > > So I'm bumfuzzled. This is the new version: > > > > === > > // new output disk to contain 62 tooth spline > > // and incorporate for space savings the output shaft bearings > > // and a timing belt pulley for output coupling. > > // turn upside down to print so no supports needed > > // will superglue timing pulley in center hole, and make bearing > > race // addition later after verifying fit. > > > > IDofspl=67.99;// to fit OD of 60 or 62 tooth spline > > splsocht=6.00;// height of cup for spline > > ODofCup=IDofspl+splsocht*2;// incorporate bearing in space > > echo(11,ODofCup); > > bb=4.36;// crosman bb dia plus clearance > > //instclr=.4100; > > // need some data for rotate_extrude > > ctr_ht=splsocht/2;// center bb groove vertically > > innr=ODofCup-splsocht/2;// get radius of bb groove > > bbofs=splsocht/2;// might be useful > > $fn=360; > > translate([0,0,splsocht/2]) > > difference() { > > // builds inner|outer walls of splined ring socket > > cylinder(h=splsocht,d=ODofCup,center=true);// outer > > cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st > > subtract #bearing(); > > };// ends difference from line 20 > > // now cap it, this works! turn upside down to render > > translate([0,0,splsocht+1.5]) // looks good > > difference() { > > cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in > > center cylinder(h=splsocht,d=20,center=true); > > }; > > > > module bearing() { > > rotate_extrude() > > translate([ODofCup/2.16,1.0]) // below main gfx so can see > > union() > > { > > circle(d=bb); > > square([.40*splsocht, 1.35*splsocht],center=true); > > square([.5,14],center=true); > > > > } > > }; > > === > > > > The preview looks great, but the render does not show the last > > square statements effect. And a test print doesn't show it either, > > so I stopped it. Still looking for a solution that renders. Thanks Leonard. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene>
LM
Leonard Martin Struttmann
Tue, Jun 22, 2021 7:46 PM

Yep. The cap needs to be unioned with the rings before subtracting the
bearing.

On Tue, Jun 22, 2021, 14:23 Gene Heskett gheskett@shentel.net wrote:

On Tuesday 22 June 2021 15:08:39 Leonard Martin Struttmann wrote:

That appears to be because the final square() extends beyond the top
and bottom of the rings. The final square does not intersect with
anything.

yes it does, its superimposed on the first 2 items and extends thru both
the top and bottoms of them.

To see this, comment out the cap, and use #bearing()

But, and this may be a clue, I want the .2mm break line to extend thru
the cap too, which it does in the preview. Do I need to reorder the code
to make cap part of the rim somehow, then use the difference to do the
cut?

On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett gheskett@shentel.net

wrote:

On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote:

Put a "#" in front of the bearing() call, i.e.,

#bearing();

That worked fine, and I've made that difference into a union and
added another item to make a thin break between the two parts,
makiing a bearing channel in the middle of that thick rim, but when
I take the # away for a normal render, the break is the cap
disappears from the render, as if the 3rd argument to the union is
beiing ignored. How many items can be combined in one union() {...}
statement?

With the #bearing(); I can see the break thru the top disk even at a
.1mm gap, too narrow to render but its not there in the render, so
I'm rendering to see if it is present with the # and a .5mm gap.
And no, that gap is not there in the render.  The bearing race
channal is there but not the third argument. And it won't work
without it.

So I'm bumfuzzled.  This is the new version:

===
// new output disk to contain 62 tooth spline
// and incorporate for space savings the output shaft bearings
// and a timing belt pulley for output coupling.
// turn upside down to print so no supports needed
// will superglue timing pulley in center hole, and make bearing
race // addition later after verifying fit.

IDofspl=67.99;// to fit OD of 60 or 62 tooth spline
splsocht=6.00;// height of cup for spline
ODofCup=IDofspl+splsocht*2;// incorporate bearing in space
echo(11,ODofCup);
bb=4.36;// crosman bb dia plus clearance
//instclr=.4100;
// need some data for rotate_extrude
ctr_ht=splsocht/2;// center bb groove vertically
innr=ODofCup-splsocht/2;// get radius of bb groove
bbofs=splsocht/2;// might be useful
$fn=360;
translate([0,0,splsocht/2])
difference() {
// builds inner|outer walls of splined ring socket
cylinder(h=splsocht,d=ODofCup,center=true);// outer
cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st
subtract #bearing();
};// ends difference from line 20
// now cap it, this works! turn upside down to render
translate([0,0,splsocht+1.5]) // looks good
difference() {
cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in
center cylinder(h=splsocht,d=20,center=true);
};

module bearing() {
rotate_extrude()
translate([ODofCup/2.16,1.0]) // below main gfx so can see
union()
{
circle(d=bb);
square([.40splsocht, 1.35splsocht],center=true);
square([.5,14],center=true);

 }

};

The preview looks great, but the render does not show the last
square statements effect. And a test print doesn't show it either,
so I stopped it.

Still looking for a solution that renders.

Thanks Leonard.

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Yep. The cap needs to be unioned with the rings before subtracting the bearing. On Tue, Jun 22, 2021, 14:23 Gene Heskett <gheskett@shentel.net> wrote: > On Tuesday 22 June 2021 15:08:39 Leonard Martin Struttmann wrote: > > > That appears to be because the final square() extends beyond the top > > and bottom of the rings. The final square does not intersect with > > anything. > yes it does, its superimposed on the first 2 items and extends thru both > the top and bottoms of them. > > > To see this, comment out the cap, and use #bearing() > > But, and this may be a clue, I want the .2mm break line to extend thru > the cap too, which it does in the preview. Do I need to reorder the code > to make cap part of the rim somehow, then use the difference to do the > cut? > > > On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett <gheskett@shentel.net> > wrote: > > > On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote: > > > > Put a "#" in front of the bearing() call, i.e., > > > > > > > > #bearing(); > > > > > > That worked fine, and I've made that difference into a union and > > > added another item to make a thin break between the two parts, > > > makiing a bearing channel in the middle of that thick rim, but when > > > I take the # away for a normal render, the break is the cap > > > disappears from the render, as if the 3rd argument to the union is > > > beiing ignored. How many items can be combined in one union() {...} > > > statement? > > > > > > With the #bearing(); I can see the break thru the top disk even at a > > > .1mm gap, too narrow to render but its not there in the render, so > > > I'm rendering to see if it is present with the # and a .5mm gap. > > > And no, that gap is not there in the render. The bearing race > > > channal is there but not the third argument. And it won't work > > > without it. > > > > > > So I'm bumfuzzled. This is the new version: > > > > > > === > > > // new output disk to contain 62 tooth spline > > > // and incorporate for space savings the output shaft bearings > > > // and a timing belt pulley for output coupling. > > > // turn upside down to print so no supports needed > > > // will superglue timing pulley in center hole, and make bearing > > > race // addition later after verifying fit. > > > > > > IDofspl=67.99;// to fit OD of 60 or 62 tooth spline > > > splsocht=6.00;// height of cup for spline > > > ODofCup=IDofspl+splsocht*2;// incorporate bearing in space > > > echo(11,ODofCup); > > > bb=4.36;// crosman bb dia plus clearance > > > //instclr=.4100; > > > // need some data for rotate_extrude > > > ctr_ht=splsocht/2;// center bb groove vertically > > > innr=ODofCup-splsocht/2;// get radius of bb groove > > > bbofs=splsocht/2;// might be useful > > > $fn=360; > > > translate([0,0,splsocht/2]) > > > difference() { > > > // builds inner|outer walls of splined ring socket > > > cylinder(h=splsocht,d=ODofCup,center=true);// outer > > > cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st > > > subtract #bearing(); > > > };// ends difference from line 20 > > > // now cap it, this works! turn upside down to render > > > translate([0,0,splsocht+1.5]) // looks good > > > difference() { > > > cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in > > > center cylinder(h=splsocht,d=20,center=true); > > > }; > > > > > > module bearing() { > > > rotate_extrude() > > > translate([ODofCup/2.16,1.0]) // below main gfx so can see > > > union() > > > { > > > circle(d=bb); > > > square([.40*splsocht, 1.35*splsocht],center=true); > > > square([.5,14],center=true); > > > > > > } > > > }; > > > === > > > > > > The preview looks great, but the render does not show the last > > > square statements effect. And a test print doesn't show it either, > > > so I stopped it. > > Still looking for a solution that renders. > > Thanks Leonard. > > Cheers, Gene Heskett > -- > "There are four boxes to be used in defense of liberty: > soap, ballot, jury, and ammo. Please use in that order." > -Ed Howdershelt (Author) > If we desire respect for the law, we must first make the law respectable. > - Louis D. Brandeis > Genes Web page <http://geneslinuxbox.net:6309/gene> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Tue, Jun 22, 2021 8:26 PM

Yes the bearing shows up above the ring when highlighted but it never shows
a cut in the preview.

On Tue, 22 Jun 2021 at 20:47, Leonard Martin Struttmann <
lenstruttmann@gmail.com> wrote:

Yep. The cap needs to be unioned with the rings before subtracting the
bearing.

On Tue, Jun 22, 2021, 14:23 Gene Heskett gheskett@shentel.net wrote:

On Tuesday 22 June 2021 15:08:39 Leonard Martin Struttmann wrote:

That appears to be because the final square() extends beyond the top
and bottom of the rings. The final square does not intersect with
anything.

yes it does, its superimposed on the first 2 items and extends thru both
the top and bottoms of them.

To see this, comment out the cap, and use #bearing()

But, and this may be a clue, I want the .2mm break line to extend thru
the cap too, which it does in the preview. Do I need to reorder the code
to make cap part of the rim somehow, then use the difference to do the
cut?

On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett gheskett@shentel.net

wrote:

On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote:

Put a "#" in front of the bearing() call, i.e.,

#bearing();

That worked fine, and I've made that difference into a union and
added another item to make a thin break between the two parts,
makiing a bearing channel in the middle of that thick rim, but when
I take the # away for a normal render, the break is the cap
disappears from the render, as if the 3rd argument to the union is
beiing ignored. How many items can be combined in one union() {...}
statement?

With the #bearing(); I can see the break thru the top disk even at a
.1mm gap, too narrow to render but its not there in the render, so
I'm rendering to see if it is present with the # and a .5mm gap.
And no, that gap is not there in the render.  The bearing race
channal is there but not the third argument. And it won't work
without it.

So I'm bumfuzzled.  This is the new version:

===
// new output disk to contain 62 tooth spline
// and incorporate for space savings the output shaft bearings
// and a timing belt pulley for output coupling.
// turn upside down to print so no supports needed
// will superglue timing pulley in center hole, and make bearing
race // addition later after verifying fit.

IDofspl=67.99;// to fit OD of 60 or 62 tooth spline
splsocht=6.00;// height of cup for spline
ODofCup=IDofspl+splsocht*2;// incorporate bearing in space
echo(11,ODofCup);
bb=4.36;// crosman bb dia plus clearance
//instclr=.4100;
// need some data for rotate_extrude
ctr_ht=splsocht/2;// center bb groove vertically
innr=ODofCup-splsocht/2;// get radius of bb groove
bbofs=splsocht/2;// might be useful
$fn=360;
translate([0,0,splsocht/2])
difference() {
// builds inner|outer walls of splined ring socket
cylinder(h=splsocht,d=ODofCup,center=true);// outer
cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st
subtract #bearing();
};// ends difference from line 20
// now cap it, this works! turn upside down to render
translate([0,0,splsocht+1.5]) // looks good
difference() {
cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in
center cylinder(h=splsocht,d=20,center=true);
};

module bearing() {
rotate_extrude()
translate([ODofCup/2.16,1.0]) // below main gfx so can see
union()
{
circle(d=bb);
square([.40splsocht, 1.35splsocht],center=true);
square([.5,14],center=true);

 }

};

The preview looks great, but the render does not show the last
square statements effect. And a test print doesn't show it either,
so I stopped it.

Still looking for a solution that renders.

Thanks Leonard.

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Yes the bearing shows up above the ring when highlighted but it never shows a cut in the preview. On Tue, 22 Jun 2021 at 20:47, Leonard Martin Struttmann < lenstruttmann@gmail.com> wrote: > Yep. The cap needs to be unioned with the rings before subtracting the > bearing. > > On Tue, Jun 22, 2021, 14:23 Gene Heskett <gheskett@shentel.net> wrote: > >> On Tuesday 22 June 2021 15:08:39 Leonard Martin Struttmann wrote: >> >> > That appears to be because the final square() extends beyond the top >> > and bottom of the rings. The final square does not intersect with >> > anything. >> yes it does, its superimposed on the first 2 items and extends thru both >> the top and bottoms of them. >> >> > To see this, comment out the cap, and use #bearing() >> >> But, and this may be a clue, I want the .2mm break line to extend thru >> the cap too, which it does in the preview. Do I need to reorder the code >> to make cap part of the rim somehow, then use the difference to do the >> cut? >> >> > On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett <gheskett@shentel.net> >> wrote: >> > > On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote: >> > > > Put a "#" in front of the bearing() call, i.e., >> > > > >> > > > #bearing(); >> > > >> > > That worked fine, and I've made that difference into a union and >> > > added another item to make a thin break between the two parts, >> > > makiing a bearing channel in the middle of that thick rim, but when >> > > I take the # away for a normal render, the break is the cap >> > > disappears from the render, as if the 3rd argument to the union is >> > > beiing ignored. How many items can be combined in one union() {...} >> > > statement? >> > > >> > > With the #bearing(); I can see the break thru the top disk even at a >> > > .1mm gap, too narrow to render but its not there in the render, so >> > > I'm rendering to see if it is present with the # and a .5mm gap. >> > > And no, that gap is not there in the render. The bearing race >> > > channal is there but not the third argument. And it won't work >> > > without it. >> > > >> > > So I'm bumfuzzled. This is the new version: >> > > >> > > === >> > > // new output disk to contain 62 tooth spline >> > > // and incorporate for space savings the output shaft bearings >> > > // and a timing belt pulley for output coupling. >> > > // turn upside down to print so no supports needed >> > > // will superglue timing pulley in center hole, and make bearing >> > > race // addition later after verifying fit. >> > > >> > > IDofspl=67.99;// to fit OD of 60 or 62 tooth spline >> > > splsocht=6.00;// height of cup for spline >> > > ODofCup=IDofspl+splsocht*2;// incorporate bearing in space >> > > echo(11,ODofCup); >> > > bb=4.36;// crosman bb dia plus clearance >> > > //instclr=.4100; >> > > // need some data for rotate_extrude >> > > ctr_ht=splsocht/2;// center bb groove vertically >> > > innr=ODofCup-splsocht/2;// get radius of bb groove >> > > bbofs=splsocht/2;// might be useful >> > > $fn=360; >> > > translate([0,0,splsocht/2]) >> > > difference() { >> > > // builds inner|outer walls of splined ring socket >> > > cylinder(h=splsocht,d=ODofCup,center=true);// outer >> > > cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st >> > > subtract #bearing(); >> > > };// ends difference from line 20 >> > > // now cap it, this works! turn upside down to render >> > > translate([0,0,splsocht+1.5]) // looks good >> > > difference() { >> > > cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in >> > > center cylinder(h=splsocht,d=20,center=true); >> > > }; >> > > >> > > module bearing() { >> > > rotate_extrude() >> > > translate([ODofCup/2.16,1.0]) // below main gfx so can see >> > > union() >> > > { >> > > circle(d=bb); >> > > square([.40*splsocht, 1.35*splsocht],center=true); >> > > square([.5,14],center=true); >> > > >> > > } >> > > }; >> > > === >> > > >> > > The preview looks great, but the render does not show the last >> > > square statements effect. And a test print doesn't show it either, >> > > so I stopped it. >> >> Still looking for a solution that renders. >> >> Thanks Leonard. >> >> Cheers, Gene Heskett >> -- >> "There are four boxes to be used in defense of liberty: >> soap, ballot, jury, and ammo. Please use in that order." >> -Ed Howdershelt (Author) >> If we desire respect for the law, we must first make the law respectable. >> - Louis D. Brandeis >> Genes Web page <http://geneslinuxbox.net:6309/gene> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GH
Gene Heskett
Tue, Jun 22, 2021 8:32 PM

On Tuesday 22 June 2021 15:17:58 nop head wrote:

The difference subtracts the bearing successfully but the cap fills it
in again.

Another aha! moment.

Hmmmmm.

So I should make the bearing 6mm thick as it is now and 9mm tall, at the
speced id, and put the cap inside it instead of on top. I can do that I
think. Done and printing with a .2mm gap. In this particular instance
every fraction of a mm of height I can get rid of will help. Same
height, built right side up for cura this time. Looks like .2mm isn't
enough gap but we'll see if it breaks in the right place as I put in the
bearings. It should.

Thank you very much, nop head.  That was the magic phrase, like the song
Rosanne Cash made a few $ with on 16th Avenue in Nashville many years
ago.

On Tue, 22 Jun 2021 at 20:09, Leonard Martin Struttmann <

lenstruttmann@gmail.com> wrote:

That appears to be because the final square() extends beyond the top
and bottom of the rings. The final square does not intersect with
anything.

To see this, comment out the cap, and use #bearing()

On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett gheskett@shentel.net

wrote:

On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote:

Put a "#" in front of the bearing() call, i.e.,

#bearing();

That worked fine, and I've made that difference into a union and
added another item to make a thin break between the two parts,
makiing a bearing channel in the middle of that thick rim, but when
I take the # away for a normal render, the break is the cap
disappears from the render, as if the 3rd argument to the union is
beiing ignored. How many items can be combined in one union() {...}
statement?

With the #bearing(); I can see the break thru the top disk even at
a .1mm gap, too narrow to render but its not there in the render,
so I'm rendering to see if it is present with the # and a .5mm gap.
And no, that gap is not there in the render.  The bearing race
channal is there but not the third argument. And it won't work
without it.

So I'm bumfuzzled.  This is the new version:

===
// new output disk to contain 62 tooth spline
// and incorporate for space savings the output shaft bearings
// and a timing belt pulley for output coupling.
// turn upside down to print so no supports needed
// will superglue timing pulley in center hole, and make bearing
race // addition later after verifying fit.

IDofspl=67.99;// to fit OD of 60 or 62 tooth spline
splsocht=6.00;// height of cup for spline
ODofCup=IDofspl+splsocht*2;// incorporate bearing in space
echo(11,ODofCup);
bb=4.36;// crosman bb dia plus clearance
//instclr=.4100;
// need some data for rotate_extrude
ctr_ht=splsocht/2;// center bb groove vertically
innr=ODofCup-splsocht/2;// get radius of bb groove
bbofs=splsocht/2;// might be useful
$fn=360;
translate([0,0,splsocht/2])
difference() {
// builds inner|outer walls of splined ring socket
cylinder(h=splsocht,d=ODofCup,center=true);// outer
cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st
subtract #bearing();
};// ends difference from line 20
// now cap it, this works! turn upside down to render
translate([0,0,splsocht+1.5]) // looks good
difference() {
cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in
center cylinder(h=splsocht,d=20,center=true);
};

module bearing() {
rotate_extrude()
translate([ODofCup/2.16,1.0]) // below main gfx so can see
union()
{
circle(d=bb);
square([.40splsocht, 1.35splsocht],center=true);
square([.5,14],center=true);

 }

};

The preview looks great, but the render does not show the last
square statements effect. And a test print doesn't show it either,
so I stopped it.

Thanks for some insight.

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law
respectable. - Louis D. Brandeis
Genes Web page http://geneslinuxbox.net:6309/gene


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

Cheers, Gene Heskett

"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.

On Tuesday 22 June 2021 15:17:58 nop head wrote: > The difference subtracts the bearing successfully but the cap fills it > in again. Another aha! moment. Hmmmmm. So I should make the bearing 6mm thick as it is now and 9mm tall, at the speced id, and put the cap inside it instead of on top. I can do that I think. Done and printing with a .2mm gap. In this particular instance every fraction of a mm of height I can get rid of will help. Same height, built right side up for cura this time. Looks like .2mm isn't enough gap but we'll see if it breaks in the right place as I put in the bearings. It should. Thank you very much, nop head. That was the magic phrase, like the song Rosanne Cash made a few $ with on 16th Avenue in Nashville many years ago. > On Tue, 22 Jun 2021 at 20:09, Leonard Martin Struttmann < > > lenstruttmann@gmail.com> wrote: > > That appears to be because the final square() extends beyond the top > > and bottom of the rings. The final square does not intersect with > > anything. > > > > To see this, comment out the cap, and use #bearing() > > > > On Tue, Jun 22, 2021 at 1:41 PM Gene Heskett <gheskett@shentel.net> wrote: > >> On Tuesday 22 June 2021 11:32:05 Leonard Martin Struttmann wrote: > >> > Put a "#" in front of the bearing() call, i.e., > >> > > >> > #bearing(); > >> > >> That worked fine, and I've made that difference into a union and > >> added another item to make a thin break between the two parts, > >> makiing a bearing channel in the middle of that thick rim, but when > >> I take the # away for a normal render, the break is the cap > >> disappears from the render, as if the 3rd argument to the union is > >> beiing ignored. How many items can be combined in one union() {...} > >> statement? > >> > >> With the #bearing(); I can see the break thru the top disk even at > >> a .1mm gap, too narrow to render but its not there in the render, > >> so I'm rendering to see if it is present with the # and a .5mm gap. > >> And no, that gap is not there in the render. The bearing race > >> channal is there but not the third argument. And it won't work > >> without it. > >> > >> So I'm bumfuzzled. This is the new version: > >> > >> === > >> // new output disk to contain 62 tooth spline > >> // and incorporate for space savings the output shaft bearings > >> // and a timing belt pulley for output coupling. > >> // turn upside down to print so no supports needed > >> // will superglue timing pulley in center hole, and make bearing > >> race // addition later after verifying fit. > >> > >> IDofspl=67.99;// to fit OD of 60 or 62 tooth spline > >> splsocht=6.00;// height of cup for spline > >> ODofCup=IDofspl+splsocht*2;// incorporate bearing in space > >> echo(11,ODofCup); > >> bb=4.36;// crosman bb dia plus clearance > >> //instclr=.4100; > >> // need some data for rotate_extrude > >> ctr_ht=splsocht/2;// center bb groove vertically > >> innr=ODofCup-splsocht/2;// get radius of bb groove > >> bbofs=splsocht/2;// might be useful > >> $fn=360; > >> translate([0,0,splsocht/2]) > >> difference() { > >> // builds inner|outer walls of splined ring socket > >> cylinder(h=splsocht,d=ODofCup,center=true);// outer > >> cylinder(h=splsocht+1,d=IDofspl,center=true);//inner,1st > >> subtract #bearing(); > >> };// ends difference from line 20 > >> // now cap it, this works! turn upside down to render > >> translate([0,0,splsocht+1.5]) // looks good > >> difference() { > >> cylinder(h=splsocht/2,d=ODofCup,center=true);// make hole in > >> center cylinder(h=splsocht,d=20,center=true); > >> }; > >> > >> module bearing() { > >> rotate_extrude() > >> translate([ODofCup/2.16,1.0]) // below main gfx so can see > >> union() > >> { > >> circle(d=bb); > >> square([.40*splsocht, 1.35*splsocht],center=true); > >> square([.5,14],center=true); > >> > >> } > >> }; > >> === > >> > >> The preview looks great, but the render does not show the last > >> square statements effect. And a test print doesn't show it either, > >> so I stopped it. > >> > >> Thanks for some insight. > >> > >> Cheers, Gene Heskett > >> -- > >> "There are four boxes to be used in defense of liberty: > >> soap, ballot, jury, and ammo. Please use in that order." > >> -Ed Howdershelt (Author) > >> If we desire respect for the law, we must first make the law > >> respectable. - Louis D. Brandeis > >> Genes Web page <http://geneslinuxbox.net:6309/gene> > >> _______________________________________________ > >> OpenSCAD mailing list > >> To unsubscribe send an email to discuss-leave@lists.openscad.org > > > > _______________________________________________ > > OpenSCAD mailing list > > To unsubscribe send an email to discuss-leave@lists.openscad.org Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene>