Hello,
I got a few moments to play with OpenSCAD again, and decided to play with
BOSL2 anchors. The simple part I wanted to model is a DIY track for a saw
and router. The code is as follows (with inline questions in the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this is a
// DIY track which can function as a straight edge for circular/plunge
// saws, and routers. The "guide" module allows for "extra" width to be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the bit
(router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split between
sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but I was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to drill
and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the center
of the rail channels for mounting hardware -- I would like to find the
distances so that I can pre-drill and countersink the guide board.
Also, if there are better ways to do all this, I would gladly accept the
criticism.
EBo --
There is no concept of anchors in NopSCADlib. You can retrieve all the
properties of the extrusion using the functions documented here:
https://github.com/nophead/NopSCADlib/tree/master?tab=readme-ov-file#extrusions
.
extrusion_width(type) will return the width of the extrusion in this case
and there is also extrusion_height(type), which will be different if the
extrusion isn't square.
When you draw the extrusion with extrusion(type, length, center = true,
cornerHole = false) you can choose its origin to be in the centre or the
lower end, like a cylinder.
On Sat, 23 Mar 2024 at 09:56, John David via Discuss <
discuss@lists.openscad.org> wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play with
BOSL2 anchors. The simple part I wanted to model is a DIY track for a saw
and router. The code is as follows (with inline questions in the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this is a
// DIY track which can function as a straight edge for circular/plunge
// saws, and routers. The "guide" module allows for "extra" width to be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the bit
(router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split between
sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but I
was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to drill
and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the center
of the rail channels for mounting hardware -- I would like to find the
distances so that I can pre-drill and countersink the guide board.
Also, if there are better ways to do all this, I would gladly accept the
criticism.
EBo --
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
NopSCADlib and BOSL2 are completely unrelated, and I think are built
according to different principles of operation. Anchoring is a BOSL2
feature and is only available on the objects within BOSL2, which have
special code to support it. If you wanted to use BOSL2 anchoring for an
object from NopSCADlib you'd need to make a BOSL2 version of that object by
making a new module that wraps it with an attachable() call. This would
definitely not be worth the trouble for a one-off application; it would
only maybe make sense if you wanted to use that object in many projects, I
think.
On Sat, Mar 23, 2024 at 8:39 AM nop head via Discuss <
discuss@lists.openscad.org> wrote:
There is no concept of anchors in NopSCADlib. You can retrieve all the
properties of the extrusion using the functions documented here:
https://github.com/nophead/NopSCADlib/tree/master?tab=readme-ov-file#extrusions
.
extrusion_width(type) will return the width of the extrusion in this case
and there is also extrusion_height(type), which will be different if the
extrusion isn't square.
When you draw the extrusion with extrusion(type, length, center = true,
cornerHole = false) you can choose its origin to be in the centre or the
lower end, like a cylinder.
On Sat, 23 Mar 2024 at 09:56, John David via Discuss <
discuss@lists.openscad.org> wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play with
BOSL2 anchors. The simple part I wanted to model is a DIY track for a saw
and router. The code is as follows (with inline questions in the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this is a
// DIY track which can function as a straight edge for circular/plunge
// saws, and routers. The "guide" module allows for "extra" width to
be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the
bit (router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split between
sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but I
was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to drill
and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the center
of the rail channels for mounting hardware -- I would like to find the
distances so that I can pre-drill and countersink the guide board.
Also, if there are better ways to do all this, I would gladly accept the
criticism.
EBo --
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
On 3/23/24 05:56, John David via Discuss wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play
with BOSL2 anchors. The simple part I wanted to model is a DIY track
for a saw and router. The code is as follows (with inline questions in
the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this is a
// DIY track which can function as a straight edge for circular/plunge
// saws, and routers. The "guide" module allows for "extra" width to be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the
bit (router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split
between sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but I
was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to
drill and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the
center of the rail channels for mounting hardware -- I would like to
find the distances so that I can pre-drill and countersink the guide board.
Also, if there are better ways to do all this, I would gladly accept the
criticism.
This is where OpenSCAD's basic lack of a unit stick's out like a sore
thumb. It is handy as sliced bread to feed a printer in mm. Doing this
at a usable size must translate into common wood measurements which
needs a library of canned solutions, as it is much too big for a
printer. I've wondered how one could develop a system to use for
furniture or other structural things. Generally for furniture I have
just broken it down into pieces that I can fit of my machinery, and just
written the gcode by hand. The huge advantage there is the ability to
roll it up into loops, compacting the final code by 98%. The big finger
joints of the Green & Green furniture is a prime example. Computers have
not yet learned how to look at a shape and carve it directly. The best
they can do in rasterize it, like slicers for printers do now.
So I haven't contributed to a solution. I'm easily ignored.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
If we desire respect for the law, we must first make the law respectable.
Nop Head,
re: no concept of attach/anchor in NopSCADlib...
OK. I wounded if there was some trick to possibly write a function which
uses your objects (I think you call them vitamins). I see from Adrian's
comments that I would have to write a wrapper or migrate things into BOSL2.
re: hardware placement locations...
I had looked at the documentation and saw the extrusion_corner_hole,
extrusion_center_hole, but not something that returns the center of the
channel to calculate fastener placement. Maybe it is
extrusion_channel_recess or extrusion_channel_width? While writing this
email, I played around a little and got something to work. I'll look at
that more, and maybe write a function given the properties to give the
locations for holes at some distance along the extrusion length.
Adrian,
Thank you for the reality check. Yea, I see that it would not be worth the
time for a one-off. I'll think if I have enough work to do that it would
be worth it. I might do it anyway as a learning exercise.
Gene,
Yea, it would be nice to set something up where you could specify units. I
bet there is a workaround, but I doubt that people would care for it much.
But for now I will do everything in mm or in depending on what the part
naturally wants to be given its purpose and what it is made from.
Thanks all,
EBo --
On Sat, Mar 23, 2024 at 10:32 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:
On 3/23/24 05:56, John David via Discuss wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play
with BOSL2 anchors. The simple part I wanted to model is a DIY track
for a saw and router. The code is as follows (with inline questions in
the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this is a
// DIY track which can function as a straight edge for circular/plunge
// saws, and routers. The "guide" module allows for "extra" width to
be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the
bit (router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split
between sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but I
was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to
drill and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the
center of the rail channels for mounting hardware -- I would like to
find the distances so that I can pre-drill and countersink the guide
board.
Also, if there are better ways to do all this, I would gladly accept the
criticism.
This is where OpenSCAD's basic lack of a unit stick's out like a sore
thumb. It is handy as sliced bread to feed a printer in mm. Doing this
at a usable size must translate into common wood measurements which
needs a library of canned solutions, as it is much too big for a
printer. I've wondered how one could develop a system to use for
furniture or other structural things. Generally for furniture I have
just broken it down into pieces that I can fit of my machinery, and just
written the gcode by hand. The huge advantage there is the ability to
roll it up into loops, compacting the final code by 98%. The big finger
joints of the Green & Green furniture is a prime example. Computers have
not yet learned how to look at a shape and carve it directly. The best
they can do in rasterize it, like slicers for printers do now.
So I haven't contributed to a solution. I'm easily ignored.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
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
On Sat, 23 Mar 2024 at 18:48, John David via Discuss <
discuss@lists.openscad.org> wrote:
Nop Head,
re: no concept of attach/anchor in NopSCADlib...
OK. I wounded if there was some trick to possibly write a function which
uses your objects (I think you call them vitamins). I see from Adrian's
comments that I would have to write a wrapper or migrate things into BOSL2.
There are always functions or modules to get enough information from my
vitamins to be able to place them in a design. They wouldn't be useful
otherwise.
[image: image.png]
For example, these extrusion brackets are placed relative to extrusions and
the code for all the examples is linked to in the documentation.
https://github.com/nophead/NopSCADlib/tree/master?tab=readme-ov-file#extrusion_brackets
re: hardware placement locations...
I had looked at the documentation and saw the extrusion_corner_hole,
extrusion_center_hole, but not something that returns the center of the
channel to calculate fastener placement. Maybe it is
extrusion_channel_recess or extrusion_channel_width? While writing this
email, I played around a little and got something to work. I'll look at
that more, and maybe write a function given the properties to give the
locations for holes at some distance along the extrusion length.
Adrian,
Thank you for the reality check. Yea, I see that it would not be worth
the time for a one-off. I'll think if I have enough work to do that it
would be worth it. I might do it anyway as a learning exercise.
Gene,
Yea, it would be nice to set something up where you could specify units.
I bet there is a workaround, but I doubt that people would care for it
much. But for now I will do everything in mm or in depending on what the
part naturally wants to be given its purpose and what it is made from.
Thanks all,
EBo --
On Sat, Mar 23, 2024 at 10:32 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:
On 3/23/24 05:56, John David via Discuss wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play
with BOSL2 anchors. The simple part I wanted to model is a DIY track
for a saw and router. The code is as follows (with inline questions in
the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this is
a
// DIY track which can function as a straight edge for
circular/plunge
// saws, and routers. The "guide" module allows for "extra" width
to be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the
blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the
bit (router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split
between sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from
the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but
I
was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to
drill and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the
center of the rail channels for mounting hardware -- I would like to
find the distances so that I can pre-drill and countersink the guide
board.
Also, if there are better ways to do all this, I would gladly accept
the
criticism.
This is where OpenSCAD's basic lack of a unit stick's out like a sore
thumb. It is handy as sliced bread to feed a printer in mm. Doing this
at a usable size must translate into common wood measurements which
needs a library of canned solutions, as it is much too big for a
printer. I've wondered how one could develop a system to use for
furniture or other structural things. Generally for furniture I have
just broken it down into pieces that I can fit of my machinery, and just
written the gcode by hand. The huge advantage there is the ability to
roll it up into loops, compacting the final code by 98%. The big finger
joints of the Green & Green furniture is a prime example. Computers have
not yet learned how to look at a shape and carve it directly. The best
they can do in rasterize it, like slicers for printers do now.
So I haven't contributed to a solution. I'm easily ignored.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
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
I'm not sure what the issue with units is. You can work in inches or feet
or miles or whatever units you want to in OpenSCAD. If you need a model in
mm to keep your slicer happy or something you can define inch=25.4 and do
6*inch and so on. (Or BOSL2 actually defines INCH already.)
On Sat, Mar 23, 2024 at 3:37 PM nop head via Discuss <
discuss@lists.openscad.org> wrote:
On Sat, 23 Mar 2024 at 18:48, John David via Discuss <
discuss@lists.openscad.org> wrote:
Nop Head,
re: no concept of attach/anchor in NopSCADlib...
OK. I wounded if there was some trick to possibly write a function which
uses your objects (I think you call them vitamins). I see from Adrian's
comments that I would have to write a wrapper or migrate things into BOSL2.
There are always functions or modules to get enough information from my
vitamins to be able to place them in a design. They wouldn't be useful
otherwise.
[image: image.png]
For example, these extrusion brackets are placed relative to extrusions
and the code for all the examples is linked to in the documentation.
https://github.com/nophead/NopSCADlib/tree/master?tab=readme-ov-file#extrusion_brackets
re: hardware placement locations...
I had looked at the documentation and saw the extrusion_corner_hole,
extrusion_center_hole, but not something that returns the center of the
channel to calculate fastener placement. Maybe it is
extrusion_channel_recess or extrusion_channel_width? While writing this
email, I played around a little and got something to work. I'll look at
that more, and maybe write a function given the properties to give the
locations for holes at some distance along the extrusion length.
Adrian,
Thank you for the reality check. Yea, I see that it would not be worth
the time for a one-off. I'll think if I have enough work to do that it
would be worth it. I might do it anyway as a learning exercise.
Gene,
Yea, it would be nice to set something up where you could specify units.
I bet there is a workaround, but I doubt that people would care for it
much. But for now I will do everything in mm or in depending on what the
part naturally wants to be given its purpose and what it is made from.
Thanks all,
EBo --
On Sat, Mar 23, 2024 at 10:32 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:
On 3/23/24 05:56, John David via Discuss wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play
with BOSL2 anchors. The simple part I wanted to model is a DIY track
for a saw and router. The code is as follows (with inline questions
in
the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this
is a
// DIY track which can function as a straight edge for
circular/plunge
// saws, and routers. The "guide" module allows for "extra" width
to be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the
blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the
bit (router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split
between sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from
the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but
I
was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to
drill and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the
center of the rail channels for mounting hardware -- I would like to
find the distances so that I can pre-drill and countersink the guide
board.
Also, if there are better ways to do all this, I would gladly accept
the
criticism.
This is where OpenSCAD's basic lack of a unit stick's out like a sore
thumb. It is handy as sliced bread to feed a printer in mm. Doing this
at a usable size must translate into common wood measurements which
needs a library of canned solutions, as it is much too big for a
printer. I've wondered how one could develop a system to use for
furniture or other structural things. Generally for furniture I have
just broken it down into pieces that I can fit of my machinery, and just
written the gcode by hand. The huge advantage there is the ability to
roll it up into loops, compacting the final code by 98%. The big finger
joints of the Green & Green furniture is a prime example. Computers have
not yet learned how to look at a shape and carve it directly. The best
they can do in rasterize it, like slicers for printers do now.
So I haven't contributed to a solution. I'm easily ignored.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
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
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Sorry. It is not clear to me what some of the documentation meant/means.
Looking at the code in
https://github.com/nophead/NopSCADlib/blob/master/vitamins/extrusion_bracket.scad
it looks like what I may need is
extrusion_inner_corner_bracket_screw_offsets(type) (which for
'E20_inner_corner_bracket' returns [7, 6] and is later used with
screw_offsets.y and x to find the placement of the sliding nut). As a
note, when I read through the extrusion code I thought there would be some
function there, but see that you have functions and modules for the
brackets which I can extract some of the meaning from. I had just wondered
if there was a convenience function to provide it at the extrusion level.
Thank you for pointing me to the brackets.
On Sat, Mar 23, 2024 at 3:37 PM nop head via Discuss <
discuss@lists.openscad.org> wrote:
On Sat, 23 Mar 2024 at 18:48, John David via Discuss <
discuss@lists.openscad.org> wrote:
Nop Head,
re: no concept of attach/anchor in NopSCADlib...
OK. I wounded if there was some trick to possibly write a function which
uses your objects (I think you call them vitamins). I see from Adrian's
comments that I would have to write a wrapper or migrate things into BOSL2.
There are always functions or modules to get enough information from my
vitamins to be able to place them in a design. They wouldn't be useful
otherwise.
[image: image.png]
For example, these extrusion brackets are placed relative to extrusions
and the code for all the examples is linked to in the documentation.
https://github.com/nophead/NopSCADlib/tree/master?tab=readme-ov-file#extrusion_brackets
re: hardware placement locations...
I had looked at the documentation and saw the extrusion_corner_hole,
extrusion_center_hole, but not something that returns the center of the
channel to calculate fastener placement. Maybe it is
extrusion_channel_recess or extrusion_channel_width? While writing this
email, I played around a little and got something to work. I'll look at
that more, and maybe write a function given the properties to give the
locations for holes at some distance along the extrusion length.
Adrian,
Thank you for the reality check. Yea, I see that it would not be worth
the time for a one-off. I'll think if I have enough work to do that it
would be worth it. I might do it anyway as a learning exercise.
Gene,
Yea, it would be nice to set something up where you could specify units.
I bet there is a workaround, but I doubt that people would care for it
much. But for now I will do everything in mm or in depending on what the
part naturally wants to be given its purpose and what it is made from.
Thanks all,
EBo --
On Sat, Mar 23, 2024 at 10:32 AM gene heskett via Discuss <
discuss@lists.openscad.org> wrote:
On 3/23/24 05:56, John David via Discuss wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play
with BOSL2 anchors. The simple part I wanted to model is a DIY track
for a saw and router. The code is as follows (with inline questions
in
the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this
is a
// DIY track which can function as a straight edge for
circular/plunge
// saws, and routers. The "guide" module allows for "extra" width
to be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the
blade
(saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the
bit (router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split
between sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge,
extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from
the
extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but
I
was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to
drill and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the
NopSCADlib extruded rails, nor what is the best method to find the
center of the rail channels for mounting hardware -- I would like to
find the distances so that I can pre-drill and countersink the guide
board.
Also, if there are better ways to do all this, I would gladly accept
the
criticism.
This is where OpenSCAD's basic lack of a unit stick's out like a sore
thumb. It is handy as sliced bread to feed a printer in mm. Doing this
at a usable size must translate into common wood measurements which
needs a library of canned solutions, as it is much too big for a
printer. I've wondered how one could develop a system to use for
furniture or other structural things. Generally for furniture I have
just broken it down into pieces that I can fit of my machinery, and just
written the gcode by hand. The huge advantage there is the ability to
roll it up into loops, compacting the final code by 98%. The big finger
joints of the Green & Green furniture is a prime example. Computers have
not yet learned how to look at a shape and carve it directly. The best
they can do in rasterize it, like slicers for printers do now.
So I haven't contributed to a solution. I'm easily ignored.
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author, 1940)
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
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
I cannot confirm whether NopSCADlib and BOSL2 can work together, as they are both large libraries that likely have namespace collisions that could cause issues.
Having said that, BOSL2 does have a way to provide attachment capabilities to non-BOSL2 shapes, using the attachable() {...}
module.
https://github.com/BelfrySCAD/BOSL2/wiki/attachments.scad#module-attachable
In general this will take the form:
attachable(anchor,spin,orient, [GEOMETRY_SPEC_HERE]) {
YOUR_CENTERED_SHAPE_HERE();
children();
}
The geometry spec can be something like size=[30,40]
, for a cuboid, or r=30, h=50
for a cylinder. There's a number more available specs, most of which are discusses in the attachables tutorial:
https://github.com/BelfrySCAD/BOSL2/wiki/Tutorial-Attachments#making-attachables
You can also make custom string named anchors, using the anchors= argument:
https://github.com/BelfrySCAD/BOSL2/wiki/Tutorial-Attachments#making-named-anchors
On Mar 23, 2024, at 2:54 AM, John David via Discuss discuss@lists.openscad.org wrote:
Hello,
I got a few moments to play with OpenSCAD again, and decided to play with BOSL2 anchors. The simple part I wanted to model is a DIY track for a saw and router. The code is as follows (with inline questions in the comments):
// extrusion_track_jig.scad: a track saw/router jig. Basically this is a
// DIY track which can function as a straight edge for circular/plunge
// saws, and routers. The "guide" module allows for "extra" width to be
// trimmed to final size.
include <NopSCADlib/lib.scad>
include <BOSL2/std.scad>
length = 1000;
type = E2040; // E2020, E2040
saw_blade_to_edge = 125; // distance from edge of saw plate to the blade (saw dependent)
router_to_edge = 80; // distance from edge of router base-plate to the bit (router dependent)
extra = 10; // cut an extra 10mm for something to cut off. (split between sides)
thickness = 6.35; // thickness of the guide board. 6.35mm == 0.25"
guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra);
module guide (type,length,thickness,saw_blade_to_edge,router_to_edge, extra) {
// the extrusion rail type.
// FIXME: is there a way to extract the actual dimenstions from the extrusion.
rail = (E2040==type)?20:40; //
// FIXME: it would be nice to anchor points on the extrusion, but I was
// not able to figure out how
translate([rail/2,0,0]) extrusion(type, length);
// the guide board
difference() {
union() {
// The saw side.
cube([thickness,((E2040==type)?20:40)+saw_blade_to_edge+extra/2,
length], anchor=RIGHT+FRONT);
// the router side
cube([thickness,((E2040==type)?20:40)+router_to_edge+extra/2,
length], anchor=RIGHT+BACK);
}
// FIXME: how do I find the center of the extrusion rail to drill and
// countersink holes for the mounting hardware
}
}
I am not sure how if there is a trick to attach an anchor point to the NopSCADlib extruded rails, nor what is the best method to find the center of the rail channels for mounting hardware -- I would like to find the distances so that I can pre-drill and countersink the guide board.
Also, if there are better ways to do all this, I would gladly accept the criticism.
EBo --
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org