discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files?

WF
William F. Adams
Tue, Aug 11, 2020 1:17 PM

Tried sending this before and it didn't go through.
Image of the design at: https://imgur.com/g9pQxS6
It was also discussed at:https://www.reddit.com/r/openscad/comments/i2do7a/managed_to_model_a_finger_joint_box_with_relieved/?If folks want to see the code it's at: https://community.carbide3d.com/uploads/short-url/cb4ilRtY2Hestsi1kbgdht9yM0Z.zip(and further discussion at: https://community.carbide3d.com/t/cnc-finger-joint-box/8880 )The problems are:

  • performance at any reasonable quality level is glacial --- the app essentially becomes unusable
  • the rounding is simply a straight-line move --- how do I get those numbers out of RapCAD or OpenSCAD and into a DXF or SVG? I'm not seeing a way to get these coordinates written out to a file or to put a non-closed path into a DXF or SVG

There simply isn't a way to export an open path in a DXF from OpenSCAD --- I don't want to use a rectangle since that may result in a doubling back on the cut and increased machine time.
Another consideration is I can't find a CAM tool which will model a radiused endmill such as: https://www.amazon.com/gp/product/B00Q8M1SRS
A simple work-around would be if OpenSCAD would allow opening a text file and writing out coordinate information --- this would be a lot easier than the parallel-coding I've used for simpler projects:

http://www.tug.org/TUGboat/tb40-2/tb125adams-3d.pdf
If that's not an option --- do any of the OpenSCAD alternatives allow writing out text files? I'm wondering if I shouldn't just try writing out G-Code directly.
Please don't tell me to just use Autodesk Fusion 360 --- I can't afford the bar bill that would require --- if someone has a suggestion for FreeCAD tutorials which would guide along this I'd be glad of them though.
William

Tried sending this before and it didn't go through. Image of the design at: https://imgur.com/g9pQxS6 It was also discussed at:https://www.reddit.com/r/openscad/comments/i2do7a/managed_to_model_a_finger_joint_box_with_relieved/?If folks want to see the code it's at: https://community.carbide3d.com/uploads/short-url/cb4ilRtY2Hestsi1kbgdht9yM0Z.zip(and further discussion at: https://community.carbide3d.com/t/cnc-finger-joint-box/8880 )The problems are: - performance at any reasonable quality level is glacial --- the app essentially becomes unusable - the rounding is simply a straight-line move --- how do I get those numbers out of RapCAD or OpenSCAD and into a DXF or SVG? I'm not seeing a way to get these coordinates written out to a file or to put a non-closed path into a DXF or SVG There simply isn't a way to export an open path in a DXF from OpenSCAD --- I don't want to use a rectangle since that may result in a doubling back on the cut and increased machine time. Another consideration is I can't find a CAM tool which will model a radiused endmill such as: https://www.amazon.com/gp/product/B00Q8M1SRS A simple work-around would be if OpenSCAD would allow opening a text file and writing out coordinate information --- this would be a lot easier than the parallel-coding I've used for simpler projects: http://www.tug.org/TUGboat/tb40-2/tb125adams-3d.pdf If that's not an option --- do any of the OpenSCAD alternatives allow writing out text files? I'm wondering if I shouldn't just try writing out G-Code directly. Please don't tell me to just use Autodesk Fusion 360 --- I can't afford the bar bill that would require --- if someone has a suggestion for FreeCAD tutorials which would guide along this I'd be glad of them though. William
NH
nop head
Tue, Aug 11, 2020 1:34 PM

I get text out of OpenSCAD by using echo and the command line and capturing
it with a Python script that extracts the text from the echo format. There
is no access to the geometry coordinates though unless you generate it with
polygon, etc.

On Tue, 11 Aug 2020 at 14:18, William F. Adams via Discuss <
discuss@lists.openscad.org> wrote:

Tried sending this before and it didn't go through.

Image of the design at: https://imgur.com/g9pQxS6

It was also discussed at:

https://www.reddit.com/r/openscad/comments/i2do7a/managed_to_model_a_finger_joint_box_with_relieved/
?
If folks want to see the code it's at:
https://community.carbide3d.com/uploads/short-url/cb4ilRtY2Hestsi1kbgdht9yM0Z.zip
(and further discussion at:
https://community.carbide3d.com/t/cnc-finger-joint-box/8880 )
The problems are:

- performance at any reasonable quality level is glacial --- the app
essentially becomes unusable
- the rounding is simply a straight-line move --- how do I get those
numbers out of RapCAD or OpenSCAD and into a DXF or SVG? I'm not seeing a
way to get these coordinates written out to a file or to put a non-closed
path into a DXF or SVG

There simply isn't a way to export an open path in a DXF from OpenSCAD ---
I don't want to use a rectangle since that may result in a doubling back on
the cut and increased machine time.

Another consideration is I can't find a CAM tool which will model a
radiused endmill such as: https://www.amazon.com/gp/product/B00Q8M1SRS

A simple work-around would be if OpenSCAD would allow opening a text file
and writing out coordinate information --- this would be a lot easier than
the parallel-coding I've used for simpler projects:

http://www.tug.org/TUGboat/tb40-2/tb125adams-3d.pdf

If that's not an option --- do any of the OpenSCAD alternatives allow
writing out text files? I'm wondering if I shouldn't just try writing out
G-Code directly.

Please don't tell me to just use Autodesk Fusion 360 --- I can't afford
the bar bill that would require --- if someone has a suggestion for FreeCAD
tutorials which would guide along this I'd be glad of them though.

William


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

I get text out of OpenSCAD by using echo and the command line and capturing it with a Python script that extracts the text from the echo format. There is no access to the geometry coordinates though unless you generate it with polygon, etc. On Tue, 11 Aug 2020 at 14:18, William F. Adams via Discuss < discuss@lists.openscad.org> wrote: > Tried sending this before and it didn't go through. > > Image of the design at: https://imgur.com/g9pQxS6 > > It was also discussed at: > > https://www.reddit.com/r/openscad/comments/i2do7a/managed_to_model_a_finger_joint_box_with_relieved/ > ? > If folks want to see the code it's at: > https://community.carbide3d.com/uploads/short-url/cb4ilRtY2Hestsi1kbgdht9yM0Z.zip > (and further discussion at: > https://community.carbide3d.com/t/cnc-finger-joint-box/8880 ) > The problems are: > > - performance at any reasonable quality level is glacial --- the app > essentially becomes unusable > - the rounding is simply a straight-line move --- how do I get those > numbers out of RapCAD or OpenSCAD and into a DXF or SVG? I'm not seeing a > way to get these coordinates written out to a file or to put a non-closed > path into a DXF or SVG > > > There simply isn't a way to export an open path in a DXF from OpenSCAD --- > I don't want to use a rectangle since that may result in a doubling back on > the cut and increased machine time. > > Another consideration is I can't find a CAM tool which will model a > radiused endmill such as: https://www.amazon.com/gp/product/B00Q8M1SRS > > A simple work-around would be if OpenSCAD would allow opening a text file > and writing out coordinate information --- this would be a lot easier than > the parallel-coding I've used for simpler projects: > > > http://www.tug.org/TUGboat/tb40-2/tb125adams-3d.pdf > > If that's not an option --- do any of the OpenSCAD alternatives allow > writing out text files? I'm wondering if I shouldn't just try writing out > G-Code directly. > > Please don't tell me to just use Autodesk Fusion 360 --- I can't afford > the bar bill that would require --- if someone has a suggestion for FreeCAD > tutorials which would guide along this I'd be glad of them though. > > William > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
WF
William F. Adams
Tue, Aug 11, 2020 4:09 PM

If I could create the design as a polygon I'd start there --- maybe arguably that's the better route --- have a master program which writes out both an OpenSCAD file and a matching G-Code file --- but I'd really rather just do it from w/in OpenSCAD or a similar 3D modeling tool.
Toolpath Language isn't an option since it can't model radius endmills.
I've gone ahead and put in an issue w/ both OpenSCAD and RapCAD to add the ability to write out numbers from calculations to a text file --- that and some plain text would let one directly create G-Code which would allow either be a very powerful 3D CAM tool.
If there's some other scripted 3D modeling tool which allows writing out numbers from calculation and text already I'd be glad to hear of it.
William

If I could create the design as a polygon I'd start there --- maybe arguably that's the better route --- have a master program which writes out both an OpenSCAD file and a matching G-Code file --- but I'd really rather just do it from w/in OpenSCAD or a similar 3D modeling tool. Toolpath Language isn't an option since it can't model radius endmills. I've gone ahead and put in an issue w/ both OpenSCAD and RapCAD to add the ability to write out numbers from calculations to a text file --- that and some plain text would let one directly create G-Code which would allow either be a very powerful 3D CAM tool. If there's some other scripted 3D modeling tool which allows writing out numbers from calculation and text already I'd be glad to hear of it. William
WF
William F. Adams
Wed, Aug 12, 2020 12:31 PM

Thanks!
Raised an issue on GitHub and had some really good discussion there:
https://github.com/openscad/openscad/issues/3400
Just adding a pair of menus to the File menu:
File | Save Console Text (Filtered) == only the text added in the .scad file programmatically using either echo or some new command
and 
Save Console Text (Complete) == all the text in the Console area
and having a command which would allow specifying the file extension (and name, though using the current filename would be fine for me) would work.
It would be a lot easier for me, and I think more expressive than the alternatives:
 - using a second programming language to write out a matched pair of .scad and .nc (G-Code) files - using a second programming language to capture the text output from the console and filter it to create the G-Code file
Thank you for taking the time to read and consider this.
William

Thanks! Raised an issue on GitHub and had some really good discussion there: https://github.com/openscad/openscad/issues/3400 Just adding a pair of menus to the File menu: File | Save Console Text (Filtered) == only the text added in the .scad file programmatically using either echo or some new command and  Save Console Text (Complete) == all the text in the Console area and having a command which would allow specifying the file extension (and name, though using the current filename would be fine for me) would work. It would be a lot easier for me, and I think more expressive than the alternatives:  - using a second programming language to write out a matched pair of .scad and .nc (G-Code) files - using a second programming language to capture the text output from the console and filter it to create the G-Code file Thank you for taking the time to read and consider this. William
WF
William F. Adams
Wed, Aug 12, 2020 3:35 PM

Issue was closed, so continuing this at:
https://github.com/openscad/openscad/issues/2017

-----Original Message-----
From: William F. Adams via Discuss discuss@lists.openscad.org
To: discuss@lists.openscad.org discuss@lists.openscad.org
Cc: William F. Adams willadams@aol.com
Sent: Wed, Aug 12, 2020 8:31 am
Subject: Re: [OpenSCAD] Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files?

Thanks!
Raised an issue on GitHub and had some really good discussion there:
https://github.com/openscad/openscad/issues/3400
Just adding a pair of menus to the File menu:
File | Save Console Text (Filtered) == only the text added in the .scad file programmatically using either echo or some new command
and 
Save Console Text (Complete) == all the text in the Console area
and having a command which would allow specifying the file extension (and name, though using the current filename would be fine for me) would work.
It would be a lot easier for me, and I think more expressive than the alternatives:
 - using a second programming language to write out a matched pair of .scad and .nc (G-Code) files - using a second programming language to capture the text output from the console and filter it to create the G-Code file
Thank you for taking the time to read and consider this.
William


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

Issue was closed, so continuing this at: https://github.com/openscad/openscad/issues/2017 -----Original Message----- From: William F. Adams via Discuss <discuss@lists.openscad.org> To: discuss@lists.openscad.org <discuss@lists.openscad.org> Cc: William F. Adams <willadams@aol.com> Sent: Wed, Aug 12, 2020 8:31 am Subject: Re: [OpenSCAD] Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files? Thanks! Raised an issue on GitHub and had some really good discussion there: https://github.com/openscad/openscad/issues/3400 Just adding a pair of menus to the File menu: File | Save Console Text (Filtered) == only the text added in the .scad file programmatically using either echo or some new command and  Save Console Text (Complete) == all the text in the Console area and having a command which would allow specifying the file extension (and name, though using the current filename would be fine for me) would work. It would be a lot easier for me, and I think more expressive than the alternatives:  - using a second programming language to write out a matched pair of .scad and .nc (G-Code) files - using a second programming language to capture the text output from the console and filter it to create the G-Code file Thank you for taking the time to read and consider this. William _______________________________________________ OpenSCAD mailing list Discuss@lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
WF
William F. Adams
Thu, Aug 13, 2020 2:19 PM

Still surprised this issue was closed with such little consideration.
Writing out text files from OpenSCAD could be quite useful (and apparently some folks are already using the Console output by filtering it --- allowing a bit more control over writing out files would make this far more workable).
Potential uses:
 - debugging - calculating coordinates to make specialized files such as polygons - B.O.M.s - assembly instructions and other documentation - doing CAM as raw G-Code
Just adding a parallel output where if one called echo() only that text was written out to a second file (with a user configurable file extension) would work --- no added menu entry, just a pair of configuration options:
[ ] write out echo text in separate file[ ] custom file extension, use ____ instead of .txt
would work for me.
William

Still surprised this issue was closed with such little consideration. Writing out text files from OpenSCAD could be quite useful (and apparently some folks are already using the Console output by filtering it --- allowing a bit more control over writing out files would make this far more workable). Potential uses:  - debugging - calculating coordinates to make specialized files such as polygons - B.O.M.s - assembly instructions and other documentation - doing CAM as raw G-Code Just adding a parallel output where if one called echo() only that text was written out to a second file (with a user configurable file extension) would work --- no added menu entry, just a pair of configuration options: [ ] write out echo text in separate file[ ] custom file extension, use ____ instead of .txt would work for me. William
AC
A. Craig West
Thu, Aug 13, 2020 2:22 PM

I would find general file io to be VERY useful, it would allow me to
write code to support file type we don't currently support, for both
input and output

On Thu, Aug 13, 2020 at 10:20 AM William F. Adams via Discuss
discuss@lists.openscad.org wrote:

Still surprised this issue was closed with such little consideration.

Writing out text files from OpenSCAD could be quite useful (and apparently some folks are already using the Console output by filtering it --- allowing a bit more control over writing out files would make this far more workable).

Potential uses:

  • debugging
  • calculating coordinates to make specialized files such as polygons
  • B.O.M.s
  • assembly instructions and other documentation
  • doing CAM as raw G-Code

Just adding a parallel output where if one called echo() only that text was written out to a second file (with a user configurable file extension) would work --- no added menu entry, just a pair of configuration options:

[ ] write out echo text in separate file
[ ] custom file extension, use ____ instead of .txt

would work for me.

William


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

I would find general file io to be VERY useful, it would allow me to write code to support file type we don't currently support, for both input and output On Thu, Aug 13, 2020 at 10:20 AM William F. Adams via Discuss <discuss@lists.openscad.org> wrote: > > Still surprised this issue was closed with such little consideration. > > Writing out text files from OpenSCAD could be quite useful (and apparently some folks are already using the Console output by filtering it --- allowing a bit more control over writing out files would make this far more workable). > > Potential uses: > > - debugging > - calculating coordinates to make specialized files such as polygons > - B.O.M.s > - assembly instructions and other documentation > - doing CAM as raw G-Code > > Just adding a parallel output where if one called echo() only that text was written out to a second file (with a user configurable file extension) would work --- no added menu entry, just a pair of configuration options: > > [ ] write out echo text in separate file > [ ] custom file extension, use ____ instead of .txt > > would work for me. > > William > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
JB
Jordan Brown
Thu, Aug 13, 2020 3:42 PM

If you want to experiment with writing other file types, it's not too
hard.  Use echo() and copy-paste the output, or run OpenSCAD from the
command line and capture the output.  You'd have to post-process it a
bit to remove the noise, but it wouldn't be terribly hard.  nop head
does this to generate BOMs.  I do it to generate lists of models from
multi-model files.

But make sure that you can actually do what you want before thinking
about adding new features.  Remember that nothing in the OpenSCAD
language has access to the coordinates.

translate([x,y,z]) {
    /* Nothing here has any way to access the the new origin in global coordinates. */
}

If you want access to the coordinates you'd have to do your own
transforms in parallel.

If you want to experiment with writing other file types, it's not too hard.  Use echo() and copy-paste the output, or run OpenSCAD from the command line and capture the output.  You'd have to post-process it a bit to remove the noise, but it wouldn't be terribly hard.  nop head does this to generate BOMs.  I do it to generate lists of models from multi-model files. But make sure that you can actually do what you want before thinking about adding new features.  Remember that nothing in the OpenSCAD language has access to the coordinates. translate([x,y,z]) { /* Nothing here has any way to access the the new origin in global coordinates. */ } If you want access to the coordinates you'd have to do your own transforms in parallel.
AC
A. Craig West
Thu, Aug 13, 2020 3:55 PM

I am actually more interested in arbitrary file input, but both input and
output would be useful. Must of my libraries work entirely in userspace, so
I have all of the co-ordinate already

On Thu, 13 Aug 2020, 11:43 Jordan Brown, openscad@jordan.maileater.net
wrote:

If you want to experiment with writing other file types, it's not too
hard.  Use echo() and copy-paste the output, or run OpenSCAD from the
command line and capture the output.  You'd have to post-process it a bit
to remove the noise, but it wouldn't be terribly hard.  nop head does this
to generate BOMs.  I do it to generate lists of models from multi-model
files.

But make sure that you can actually do what you want before thinking about
adding new features.  Remember that nothing in the OpenSCAD language has
access to the coordinates.

translate([x,y,z]) {
/* Nothing here has any way to access the the new origin in global coordinates. */
}

If you want access to the coordinates you'd have to do your own transforms
in parallel.


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

I am actually more interested in arbitrary file input, but both input and output would be useful. Must of my libraries work entirely in userspace, so I have all of the co-ordinate already On Thu, 13 Aug 2020, 11:43 Jordan Brown, <openscad@jordan.maileater.net> wrote: > If you want to experiment with writing other file types, it's not too > hard. Use echo() and copy-paste the output, or run OpenSCAD from the > command line and capture the output. You'd have to post-process it a bit > to remove the noise, but it wouldn't be terribly hard. nop head does this > to generate BOMs. I do it to generate lists of models from multi-model > files. > > But make sure that you can actually do what you want before thinking about > adding new features. Remember that nothing in the OpenSCAD language has > access to the coordinates. > > translate([x,y,z]) { > /* Nothing here has any way to access the the new origin in global coordinates. */ > } > > If you want access to the coordinates you'd have to do your own transforms > in parallel. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
C
cbernhardt
Thu, Aug 13, 2020 4:36 PM

To answer your original question “how do I get those numbers out of RapCAD or
OpenSCAD and into a DXF or SVG?”
I took your 3d_Fingerjoint.scad file and exported it to an STL.  I imported
the STL file into AutoCAD and traced a POLYLINE around the boundary of the 4
pieces and then exported a DXF file of just the POLYLINES.  And imported
that into OpenSCAD.  I can understand why you choose not to use AutoCAD but
FreeCAD (according to their manual) can do the same thing.
http://forum.openscad.org/file/t1309/outline.jpg

--
Sent from: http://forum.openscad.org/

To answer your original question “how do I get those numbers out of RapCAD or OpenSCAD and into a DXF or SVG?” I took your 3d_Fingerjoint.scad file and exported it to an STL. I imported the STL file into AutoCAD and traced a POLYLINE around the boundary of the 4 pieces and then exported a DXF file of just the POLYLINES. And imported that into OpenSCAD. I can understand why you choose not to use AutoCAD but FreeCAD (according to their manual) can do the same thing. <http://forum.openscad.org/file/t1309/outline.jpg> -- Sent from: http://forum.openscad.org/
WF
William F. Adams
Thu, Aug 13, 2020 5:54 PM

I don't need a tracing of the outlines, I need a series of offset lines for specific fingers --- the radiuscut module movements.
As I've noted in pseudo code I have the numbers there (I appreciate JordanBrown's note about the numbers being in the local coordinate space --- I'll have to see if it's necessary to re-work things so that any transforms are taken into consideration --- actually, this is pretty easily done in G-Code).
Yes, I know now that I can write things into the Console and extract/filter them --- but that's a lot of extra post-processing which isn't convenient, and isn't suited for a naïve end-user and I'd like for this to be a supported and turnkey usage of OpenSCAD.
Is there an OpenSCAD developer who is interested in CNC and doesn't have a machine and who thinks implementing this would be feasible? If so, please contact me directly and we'll see what can be worked out.
William

-----Original Message-----
From: cbernhardt charlie@carols62.com
To: discuss@lists.openscad.org
Sent: Thu, Aug 13, 2020 12:36 pm
Subject: Re: [OpenSCAD] Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files?

To answer your original question “how do I get those numbers out of RapCAD or
OpenSCAD and into a DXF or SVG?”
I took your 3d_Fingerjoint.scad file and exported it to an STL.  I imported
the STL file into AutoCAD and traced a POLYLINE around the boundary of the 4
pieces and then exported a DXF file of just the POLYLINES.  And imported
that into OpenSCAD.  I can understand why you choose not to use AutoCAD but
FreeCAD (according to their manual) can do the same thing.
http://forum.openscad.org/file/t1309/outline.jpg

--
Sent from: http://forum.openscad.org/


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

I don't need a tracing of the outlines, I need a series of offset lines for specific fingers --- the radiuscut module movements. As I've noted in pseudo code I have the numbers there (I appreciate JordanBrown's note about the numbers being in the local coordinate space --- I'll have to see if it's necessary to re-work things so that any transforms are taken into consideration --- actually, this is pretty easily done in G-Code). Yes, I know now that I can write things into the Console and extract/filter them --- but that's a lot of extra post-processing which isn't convenient, and isn't suited for a naïve end-user and I'd like for this to be a supported and turnkey usage of OpenSCAD. Is there an OpenSCAD developer who is interested in CNC and doesn't have a machine and who thinks implementing this would be feasible? If so, please contact me directly and we'll see what can be worked out. William -----Original Message----- From: cbernhardt <charlie@carols62.com> To: discuss@lists.openscad.org Sent: Thu, Aug 13, 2020 12:36 pm Subject: Re: [OpenSCAD] Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files? To answer your original question “how do I get those numbers out of RapCAD or OpenSCAD and into a DXF or SVG?” I took your 3d_Fingerjoint.scad file and exported it to an STL.  I imported the STL file into AutoCAD and traced a POLYLINE around the boundary of the 4 pieces and then exported a DXF file of just the POLYLINES.  And imported that into OpenSCAD.  I can understand why you choose not to use AutoCAD but FreeCAD (according to their manual) can do the same thing. <http://forum.openscad.org/file/t1309/outline.jpg> -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list Discuss@lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
RW
Ray West
Thu, Aug 13, 2020 8:44 PM

Hi William, I've not followed this whole thread, but if you want to cnc
finger joints, I would not start with scad. What cutting tool will you
be using, and what is the material? What tolerances are you looking for?
Unless you intend standing the pieces on edge, you will not get square
corners profiling them with a router bit, although if in wood, with a
small diameter bit, woodfiller can solve that. If you are using edm,
plasma, laser or waterjet, then that will require a different solution,
depending on how thick the material is too. The tricky area is the
interface between theory and practicality. It would be relatively
trivial to 3d print it, if it was just a proof of the model you were
looking for - But you'd most likely have to take into account tolerances
again.

Best wishes,

Ray

On 13/08/2020 18:54, William F. Adams via Discuss wrote:

I don't need a tracing of the outlines, I need a series of offset
lines for specific fingers --- the radiuscut module movements.

As I've noted in pseudo code I have the numbers there (I appreciate
JordanBrown's note about the numbers being in the local coordinate
space --- I'll have to see if it's necessary to re-work things so that
any transforms are taken into consideration --- actually, this is
pretty easily done in G-Code).

Yes, I know now that I can write things into the Console and
extract/filter them --- but that's a lot of extra post-processing
which isn't convenient, and isn't suited for a naïve end-user and I'd
like for this to be a supported and turnkey usage of OpenSCAD.

Is there an OpenSCAD developer who is interested in CNC and doesn't
have a machine and who thinks implementing this would be feasible? If
so, please contact me directly and we'll see what can be worked out.

William

-----Original Message-----
From: cbernhardt charlie@carols62.com
To: discuss@lists.openscad.org
Sent: Thu, Aug 13, 2020 12:36 pm
Subject: Re: [OpenSCAD] Managed to model a finger joint box with
relieved fingers --- now how to actually cut it? Allow OpenSCAD to
write out files?

To answer your original question “how do I get those numbers out of
RapCAD or

OpenSCAD and into a DXF or SVG?”

I took your 3d_Fingerjoint.scad file and exported it to an STL.  I
imported
the STL file into AutoCAD and traced a POLYLINE around the boundary of
the 4
pieces and then exported a DXF file of just the POLYLINES. And imported
that into OpenSCAD.  I can understand why you choose not to use
AutoCAD but
FreeCAD (according to their manual) can do the same thing.
http://forum.openscad.org/file/t1309/outline.jpg

--
Sent from: http://forum.openscad.org/


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


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

Hi William, I've not followed this whole thread, but if you want to cnc finger joints, I would not start with scad. What cutting tool will you be using, and what is the material? What tolerances are you looking for? Unless you intend standing the pieces on edge, you will not get square corners profiling them with a router bit, although if in wood, with a small diameter bit, woodfiller can solve that. If you are using edm, plasma, laser or waterjet, then that will require a different solution, depending on how thick the material is too. The tricky area is the interface between theory and practicality. It would be relatively trivial to 3d print it, if it was just a proof of the model you were looking for - But you'd most likely have to take into account tolerances again. Best wishes, Ray On 13/08/2020 18:54, William F. Adams via Discuss wrote: > I don't need a tracing of the outlines, I need a series of offset > lines for specific fingers --- the radiuscut module movements. > > As I've noted in pseudo code I have the numbers there (I appreciate > JordanBrown's note about the numbers being in the local coordinate > space --- I'll have to see if it's necessary to re-work things so that > any transforms are taken into consideration --- actually, this is > pretty easily done in G-Code). > > Yes, I know now that I can write things into the Console and > extract/filter them --- but that's a lot of extra post-processing > which isn't convenient, and isn't suited for a naïve end-user and I'd > like for this to be a supported and turnkey usage of OpenSCAD. > > Is there an OpenSCAD developer who is interested in CNC and doesn't > have a machine and who thinks implementing this would be feasible? If > so, please contact me directly and we'll see what can be worked out. > > William > > > -----Original Message----- > From: cbernhardt <charlie@carols62.com> > To: discuss@lists.openscad.org > Sent: Thu, Aug 13, 2020 12:36 pm > Subject: Re: [OpenSCAD] Managed to model a finger joint box with > relieved fingers --- now how to actually cut it? Allow OpenSCAD to > write out files? > > To answer your original question “how do I get those numbers out of > RapCAD or > > OpenSCAD and into a DXF or SVG?” > > I took your 3d_Fingerjoint.scad file and exported it to an STL.  I > imported > the STL file into AutoCAD and traced a POLYLINE around the boundary of > the 4 > pieces and then exported a DXF file of just the POLYLINES. And imported > that into OpenSCAD.  I can understand why you choose not to use > AutoCAD but > FreeCAD (according to their manual) can do the same thing. > <http://forum.openscad.org/file/t1309/outline.jpg> > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org <mailto:Discuss@lists.openscad.org> > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
O
OzAtMichael
Thu, Aug 13, 2020 11:23 PM

arbitrary file input

You can get close with include <>, if you wrap the data with "file1=[" and "];"

You would need to format to suit.


From: Discuss [mailto:discuss-bounces@lists.openscad.org] On Behalf Of A. Craig West
Sent: Fri, 14 Aug 2020 01:55
To: OpenSCAD general discussion
Subject: Re: [OpenSCAD] Potential uses for writing out text files from OpenSCAD (was Re: Managed to
model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to
write out files?)

I am actually more interested in arbitrary file input, but both input and output would be useful.
Must of my libraries work entirely in userspace, so I have all of the co-ordinate already

On Thu, 13 Aug 2020, 11:43 Jordan Brown, openscad@jordan.maileater.net wrote:

If you want to experiment with writing other file types, it's not too hard.  Use echo() and
copy-paste the output, or run OpenSCAD from the command line and capture the output.  You'd have to
post-process it a bit to remove the noise, but it wouldn't be terribly hard.  nop head does this to
generate BOMs.  I do it to generate lists of models from multi-model files.

But make sure that you can actually do what you want before thinking about adding new features.
Remember that nothing in the OpenSCAD language has access to the coordinates.

translate([x,y,z]) {
/* Nothing here has any way to access the the new origin in global coordinates. */
}

If you want access to the coordinates you'd have to do your own transforms in parallel.


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

--
This email has been checked for viruses by AVG.
https://www.avg.com

> arbitrary file input You can get close with include <>, if you wrap the data with "file1=[" and "];" You would need to format to suit. _____ From: Discuss [mailto:discuss-bounces@lists.openscad.org] On Behalf Of A. Craig West Sent: Fri, 14 Aug 2020 01:55 To: OpenSCAD general discussion Subject: Re: [OpenSCAD] Potential uses for writing out text files from OpenSCAD (was Re: Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files?) I am actually more interested in arbitrary file input, but both input and output would be useful. Must of my libraries work entirely in userspace, so I have all of the co-ordinate already On Thu, 13 Aug 2020, 11:43 Jordan Brown, <openscad@jordan.maileater.net> wrote: If you want to experiment with writing other file types, it's not too hard. Use echo() and copy-paste the output, or run OpenSCAD from the command line and capture the output. You'd have to post-process it a bit to remove the noise, but it wouldn't be terribly hard. nop head does this to generate BOMs. I do it to generate lists of models from multi-model files. But make sure that you can actually do what you want before thinking about adding new features. Remember that nothing in the OpenSCAD language has access to the coordinates. translate([x,y,z]) { /* Nothing here has any way to access the the new origin in global coordinates. */ } If you want access to the coordinates you'd have to do your own transforms in parallel. _______________________________________________ OpenSCAD mailing list Discuss@lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org -- This email has been checked for viruses by AVG. https://www.avg.com
WF
William F. Adams
Fri, Aug 14, 2020 1:56 AM

Ray West wrote:

I've not followed this whole thread,

Apparently.

but if you want to cnc finger joints, I would not start with scad.

It's the CAD tool which I prefer to use --- and I've modeled fingerjoints in it before:
https://community.carbide3d.com/t/cnc-finger-joint-box/8880

What cutting tool will you be using, and what is the material?

I am planning on using a 1/4" square endmill, a 1/16" ball-nosed tapered endmill, and a 1/4" radiusing endmill.

What tolerances are you looking for?

Tight enough for a void free joint.

Unless you intend standing the pieces on edge, you will not get square corners profiling them with a router bit,

I created a fixture for doing that:
https://cutrocket.com/p/5cb25f3380844/
and I've cut boxes thus:
https://cutrocket.com/p/5cb536396c281/
It's a tedious pain.

although if in wood, with a small diameter bit, woodfiller can solve that.

The refuge of the incompetent woodworker --- I'm trying to design a joinery system where joints have no visible voids --- hence the radius endmill which I intend to use to relieve the fingers to match the radius left by the 1/4" endmill. See the images at:
https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54
and
https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113
and
https://imgur.com/g9pQxS6
William

Ray West wrote: >I've not followed this whole thread, Apparently. >but if you want to cnc finger joints, I would not start with scad. It's the CAD tool which I prefer to use --- and I've modeled fingerjoints in it before: https://community.carbide3d.com/t/cnc-finger-joint-box/8880 >What cutting tool will you be using, and what is the material? I am planning on using a 1/4" square endmill, a 1/16" ball-nosed tapered endmill, and a 1/4" radiusing endmill. >What tolerances are you looking for? Tight enough for a void free joint. >Unless you intend standing the pieces on edge, you will not get square corners profiling them with a router bit, I created a fixture for doing that: https://cutrocket.com/p/5cb25f3380844/ and I've cut boxes thus: https://cutrocket.com/p/5cb536396c281/ It's a tedious pain. >although if in wood, with a small diameter bit, woodfiller can solve that. The refuge of the incompetent woodworker --- I'm trying to design a joinery system where joints have no visible voids --- hence the radius endmill which I intend to use to relieve the fingers to match the radius left by the 1/4" endmill. See the images at: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54 and https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113 and https://imgur.com/g9pQxS6 William
RW
Ray West
Fri, Aug 14, 2020 10:47 AM

Hi,

Use scad for showing the picture, but imnsho, you would be better off
generating the gcode separately. I've attached a screen shot of a simple
box generator - no cad used whatsoever. The joints are not finger
joints, but are a sort of stepped butt joint, modern glues are stronger
than the wood.

I'm not sure if you need the ballnosed bit, or the tapered bit. Tool
changing is a pain, unless you have some high end machine, or possibly
designing a machine specifically for making finger joints. I've used 
cutters similar to this, quite successfully for wood carving, which sort
of combines a taper and a ballend.
https://www.amazon.co.uk/SpeTool-Tapered-2-Flute-0-25mm-Coated/dp/B077883PDW/ref=sr_1_13?dchild=1&keywords=tapered+milling+cutter&qid=1597401368&sr=8-13

I'm guessing you have a sort of flatbed cnc routing table, and you do
not really want to have to change tool bits, or manipulate the sheet
which you are machining, and all pieces will be the same thickness for
an individual box. I hope the juice will be worth the squeeze. It will
be fun getting the fingers correct at the corners. Maybe start by
restricting the dimensions to a multiple of the finger size  plus.

Best wishes,

Ray

On 14/08/2020 02:56, William F. Adams via Discuss wrote:

Ray West wrote:

I've not followed this whole thread,

Apparently.

but if you want to cnc finger joints, I would not start with scad.

It's the CAD tool which I prefer to use --- and I've modeled
fingerjoints in it before:

https://community.carbide3d.com/t/cnc-finger-joint-box/8880

What cutting tool will you be using, and what is the material?

I am planning on using a 1/4" square endmill, a 1/16" ball-nosed
tapered endmill, and a 1/4" radiusing endmill.

What tolerances are you looking for?

Tight enough for a void free joint.

Unless you intend standing the pieces on edge, you will not get

square corners profiling them with a router bit,

I created a fixture for doing that:

https://cutrocket.com/p/5cb25f3380844/

and I've cut boxes thus:

https://cutrocket.com/p/5cb536396c281/

It's a tedious pain.

although if in wood, with a small diameter bit, woodfiller can solve

that.

The refuge of the incompetent woodworker --- I'm trying to design a
joinery system where joints have no visible voids --- hence the radius
endmill which I intend to use to relieve the fingers to match the
radius left by the 1/4" endmill. See the images at:

https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54

and

https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113

and

https://imgur.com/g9pQxS6

William


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

Hi, Use scad for showing the picture, but imnsho, you would be better off generating the gcode separately. I've attached a screen shot of a simple box generator - no cad used whatsoever. The joints are not finger joints, but are a sort of stepped butt joint, modern glues are stronger than the wood. I'm not sure if you need the ballnosed bit, or the tapered bit. Tool changing is a pain, unless you have some high end machine, or possibly designing a machine specifically for making finger joints. I've used  cutters similar to this, quite successfully for wood carving, which sort of combines a taper and a ballend. https://www.amazon.co.uk/SpeTool-Tapered-2-Flute-0-25mm-Coated/dp/B077883PDW/ref=sr_1_13?dchild=1&keywords=tapered+milling+cutter&qid=1597401368&sr=8-13 I'm guessing you have a sort of flatbed cnc routing table, and you do not really want to have to change tool bits, or manipulate the sheet which you are machining, and all pieces will be the same thickness for an individual box. I hope the juice will be worth the squeeze. It will be fun getting the fingers correct at the corners. Maybe start by restricting the dimensions to a multiple of the finger size  plus. Best wishes, Ray On 14/08/2020 02:56, William F. Adams via Discuss wrote: > Ray West wrote: > > >I've not followed this whole thread, > > Apparently. > > >but if you want to cnc finger joints, I would not start with scad. > > It's the CAD tool which I prefer to use --- and I've modeled > fingerjoints in it before: > > https://community.carbide3d.com/t/cnc-finger-joint-box/8880 > > >What cutting tool will you be using, and what is the material? > > I am planning on using a 1/4" square endmill, a 1/16" ball-nosed > tapered endmill, and a 1/4" radiusing endmill. > > >What tolerances are you looking for? > > Tight enough for a void free joint. > > >Unless you intend standing the pieces on edge, you will not get > square corners profiling them with a router bit, > > I created a fixture for doing that: > > https://cutrocket.com/p/5cb25f3380844/ > > and I've cut boxes thus: > > https://cutrocket.com/p/5cb536396c281/ > > It's a tedious pain. > > >although if in wood, with a small diameter bit, woodfiller can solve > that. > > The refuge of the incompetent woodworker --- I'm trying to design a > joinery system where joints have no visible voids --- hence the radius > endmill which I intend to use to relieve the fingers to match the > radius left by the 1/4" endmill. See the images at: > > https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54 > > and > > https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113 > > and > > https://imgur.com/g9pQxS6 > > William > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
WF
William F. Adams
Fri, Aug 14, 2020 2:41 PM

I've done boxes like that already:
https://willadams.gitbook.io/design-into-3d/3d-project and https://cutrocket.com/p/5e8fd99cc1578/
and as noted, I've already managed to get the corners right for a fingerjoint box, which was the beginning of this conversation which apparently no one deemed worthy of actually looking at.
https://imgur.com/g9pQxS6

I want to do my CAD and CAM in OpenSCAD --- all I need to make it available to in an elegant (in terms of scientifically correct) and robust fashion which naïve users can make use of it is a way to get some numbers which I am using to call modules in OpenSCAD already into a text file without any extraneous stuff which has to be filtered out.
Yes, I could use some 3rd party tool --- then I get to tell folks:
 - install OpenSCAD and use it to set up your design - install a second tool, and run this other file as well, and tell it where you put your OpenSCAD file and what name you saved your Customizer preset under

It's an unnecessary complication --- if only OpenSCAD would be allowed to have a bit more control over writing out text files --- which would be useful for other purposes as well such as B.O.M.s
Yes, I've done something along those lines as documented in my article in:
http://www.tug.org/TUGboat/Contents/contents40-2.html
but it's a lot of extra baggage when a simple couple of preferences and one basic capability could sidestep it:
 - write out console with each run of openscad - when writing out console filter to only lines output by echo - use custom file extension ____ instead of .nc 
(though it would be nice if that last could be specified in the language/file as a command)
William

-----Original Message-----
From: Ray West raywest@raywest.com
To: William F. Adams via Discuss discuss@lists.openscad.org
Sent: Fri, Aug 14, 2020 6:47 am
Subject: Re: [OpenSCAD] !![SPAM]!! Re: Is there an OpenSCAD dev who wants a CNC machine? (was Re: Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files?)

Hi, Use scad for showing the picture, but imnsho, you would be better off generating the gcode separately. I've attached a screen shot of a simple box generator - no cad used whatsoever. The joints are not finger joints, but are a sort of stepped butt joint, modern glues are stronger than the wood.
I'm not sure if you need the ballnosed bit, or the tapered bit. Tool changing is a pain, unless you have some high end machine, or possibly designing a machine specifically for making finger joints. I've used  cutters similar to this, quite successfully for wood carving, which sort of combines a taper and a ballend. https://www.amazon.co.uk/SpeTool-Tapered-2-Flute-0-25mm-Coated/dp/B077883PDW/ref=sr_1_13?dchild=1&keywords=tapered+milling+cutter&qid=1597401368&sr=8-13 I'm guessing you have a sort of flatbed cnc routing table, and you do not really want to have to change tool bits, or manipulate the sheet which you are machining, and all pieces will be the same thickness for an individual box. I hope the juice will be worth the squeeze. It will be fun getting the fingers correct at the corners. Maybe start by restricting the dimensions to a multiple of the finger size  plus.
Best wishes,
Ray
On 14/08/2020 02:56, William F. Adams via Discuss wrote:

Ray West wrote:

I've not followed this whole thread,

Apparently.

but if you want to cnc finger joints, I would not start with scad.

It's the CAD tool which I prefer to use --- and I've modeled fingerjoints in it before:
https://community.carbide3d.com/t/cnc-finger-joint-box/8880

What cutting tool will you be using, and what is the material?

I am planning on using a 1/4" square endmill, a 1/16" ball-nosed tapered endmill, and a 1/4" radiusing endmill.

What tolerances are you looking for?

Tight enough for a void free joint.

Unless you intend standing the pieces on edge, you will not get square corners profiling them with a router bit,

I created a fixture for doing that:
https://cutrocket.com/p/5cb25f3380844/
and I've cut boxes thus:
https://cutrocket.com/p/5cb536396c281/
It's a tedious pain.

although if in wood, with a small diameter bit, woodfiller can solve that.

The refuge of the incompetent woodworker --- I'm trying to design a joinery system where joints have no visible voids --- hence the radius endmill which I intend to use to relieve the fingers to match the radius left by the 1/4" endmill. See the images at:
https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54
and
https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113
and
https://imgur.com/g9pQxS6
William


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


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

I've done boxes like that already: https://willadams.gitbook.io/design-into-3d/3d-project and https://cutrocket.com/p/5e8fd99cc1578/ and as noted, I've already managed to get the corners right for a fingerjoint box, which was the beginning of this conversation which apparently no one deemed worthy of actually looking at. https://imgur.com/g9pQxS6 I want to do my CAD and CAM in OpenSCAD --- all I need to make it available to in an elegant (in terms of scientifically correct) and robust fashion which naïve users can make use of it is a way to get some numbers which I am using to call modules in OpenSCAD already into a text file without any extraneous stuff which has to be filtered out. Yes, I could use some 3rd party tool --- then I get to tell folks:  - install OpenSCAD and use it to set up your design - install a second tool, and run this other file as well, and tell it where you put your OpenSCAD file and what name you saved your Customizer preset under It's an unnecessary complication --- if only OpenSCAD would be allowed to have a bit more control over writing out text files --- which would be useful for other purposes as well such as B.O.M.s Yes, I've done something along those lines as documented in my article in: http://www.tug.org/TUGboat/Contents/contents40-2.html but it's a lot of extra baggage when a simple couple of preferences and one basic capability could sidestep it:  - write out console with each run of openscad - when writing out console filter to only lines output by echo - use custom file extension ____ instead of .nc  (though it would be nice if that last could be specified in the language/file as a command) William -----Original Message----- From: Ray West <raywest@raywest.com> To: William F. Adams via Discuss <discuss@lists.openscad.org> Sent: Fri, Aug 14, 2020 6:47 am Subject: Re: [OpenSCAD] !![SPAM]!! Re: Is there an OpenSCAD dev who wants a CNC machine? (was Re: Managed to model a finger joint box with relieved fingers --- now how to actually cut it? Allow OpenSCAD to write out files?) Hi, Use scad for showing the picture, but imnsho, you would be better off generating the gcode separately. I've attached a screen shot of a simple box generator - no cad used whatsoever. The joints are not finger joints, but are a sort of stepped butt joint, modern glues are stronger than the wood. I'm not sure if you need the ballnosed bit, or the tapered bit. Tool changing is a pain, unless you have some high end machine, or possibly designing a machine specifically for making finger joints. I've used  cutters similar to this, quite successfully for wood carving, which sort of combines a taper and a ballend. https://www.amazon.co.uk/SpeTool-Tapered-2-Flute-0-25mm-Coated/dp/B077883PDW/ref=sr_1_13?dchild=1&keywords=tapered+milling+cutter&qid=1597401368&sr=8-13 I'm guessing you have a sort of flatbed cnc routing table, and you do not really want to have to change tool bits, or manipulate the sheet which you are machining, and all pieces will be the same thickness for an individual box. I hope the juice will be worth the squeeze. It will be fun getting the fingers correct at the corners. Maybe start by restricting the dimensions to a multiple of the finger size  plus. Best wishes, Ray On 14/08/2020 02:56, William F. Adams via Discuss wrote: Ray West wrote: >I've not followed this whole thread, Apparently. >but if you want to cnc finger joints, I would not start with scad. It's the CAD tool which I prefer to use --- and I've modeled fingerjoints in it before: https://community.carbide3d.com/t/cnc-finger-joint-box/8880 >What cutting tool will you be using, and what is the material? I am planning on using a 1/4" square endmill, a 1/16" ball-nosed tapered endmill, and a 1/4" radiusing endmill. >What tolerances are you looking for? Tight enough for a void free joint. >Unless you intend standing the pieces on edge, you will not get square corners profiling them with a router bit, I created a fixture for doing that: https://cutrocket.com/p/5cb25f3380844/ and I've cut boxes thus: https://cutrocket.com/p/5cb536396c281/ It's a tedious pain. >although if in wood, with a small diameter bit, woodfiller can solve that. The refuge of the incompetent woodworker --- I'm trying to design a joinery system where joints have no visible voids --- hence the radius endmill which I intend to use to relieve the fingers to match the radius left by the 1/4" endmill. See the images at: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54 and https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113 and https://imgur.com/g9pQxS6 William _______________________________________________ OpenSCAD mailing list Discuss@lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org _______________________________________________ OpenSCAD mailing list Discuss@lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
JB
Jordan Brown
Fri, Aug 14, 2020 4:19 PM

I know that the reason that I've been a bit ... questioning ... is that
from my perspective it is the coordinates and geometry that are the hard
part, and that post-processing with

... | sed -n 's/^ECHO: "\(.*\)"$/\1/p'

or something a lot like it just doesn't seem like a big deal.  (Yes, I
understand that you're trying to be able to hand the process off to
somebody else, and that makes it trickier.  And yes, that's harder on
Windows.)

If you're willing to work form the command line, it seems like the only
feature you need is "emit only echo output, and don't decorate the echo
output", perhaps as a -o variant.  (But -o requires fixed file
extensions, since it determines the file format from the extension.)

I know that the reason that I've been a bit ... questioning ... is that from my perspective it is the coordinates and geometry that are the hard part, and that post-processing with ... | sed -n 's/^ECHO: "\(.*\)"$/\1/p' or something a lot like it just doesn't seem like a big deal.  (Yes, I understand that you're trying to be able to hand the process off to somebody else, and that makes it trickier.  And yes, that's harder on Windows.) If you're willing to work form the command line, it seems like the only feature you need is "emit only echo output, and don't decorate the echo output", perhaps as a -o variant.  (But -o requires fixed file extensions, since it determines the file format from the extension.)
RW
Ray West
Fri, Aug 14, 2020 4:46 PM

I'm not sure exactly what question you are asking. Is it that you, for
some reason or other, you want openscad to be able to produce a text
file, possibly a list of coordinates, that you will manipulate somehow
to produce tool paths, or is it that you are trying to design a joinery
system? If you are trying to design a joinery system, then openscad is
not much use, other than perhaps as a check to see if the object looks
OK. For the sort of tooling/machinery you are most likely wanting to
use, even if openscad could write a text file, it would probably be more
awkward adjusting that file, than starting from scratch, and writing raw
gcode. As you say you have done similar before, you know how
straightforward that is, then there is little point in trying to push
openscad in a direction that apparently few are interested in.

Although openscad can produce the model, then you are stuck in getting
another view of it. If you create the model by some other method, most
likely you can more easily get more views of it (MVC paradigm). In other
words, generate a list of coordinates, then you can display them on a
screen (openscad/whatever) and generate offsets for Gcodes for machining
in whatever way you wish.

Have you actually made a sketch of how a couple of the fingers, say,
actually mesh together, when prepared by what ever router bits you can use?

Best wishes,

Ray

If this stuff was easy, everybody would be doing it...

On 14/08/2020 15:41, William F. Adams via Discuss wrote:

I've done boxes like that already:

https://willadams.gitbook.io/design-into-3d/3d-project
and https://cutrocket.com/p/5e8fd99cc1578/

and as noted, I've already managed to get the corners right for a
fingerjoint box, which was the beginning of this conversation which
apparently no one deemed worthy of actually looking at.

https://imgur.com/g9pQxS6

I want to do my CAD and CAM in OpenSCAD --- all I need to make it
available to in an elegant (in terms of scientifically correct) and
robust fashion which naïve users can make use of it is a way to get
some numbers which I am using to call modules in OpenSCAD already into
a text file without any extraneous stuff which has to be filtered out.

Yes, I could use some 3rd party tool --- then I get to tell folks:

 - install OpenSCAD and use it to set up your design
 - install a second tool, and run this other file as well, and tell it
where you put your OpenSCAD file and what name you saved your
Customizer preset under

It's an unnecessary complication --- if only OpenSCAD would be allowed
to have a bit more control over writing out text files --- which would
be useful for other purposes as well such as B.O.M.s

Yes, I've done something along those lines as documented in my article in:

http://www.tug.org/TUGboat/Contents/contents40-2.html

but it's a lot of extra baggage when a simple couple of preferences
and one basic capability could sidestep it:

 - write out console with each run of openscad
 - when writing out console filter to only lines output by echo
 - use custom file extension ____ instead of .nc

(though it would be nice if that last could be specified in the
language/file as a command)

William

-----Original Message-----
From: Ray West raywest@raywest.com
To: William F. Adams via Discuss discuss@lists.openscad.org
Sent: Fri, Aug 14, 2020 6:47 am
Subject: Re: [OpenSCAD] !![SPAM]!! Re: Is there an OpenSCAD dev who
wants a CNC machine? (was Re: Managed to model a finger joint box with
relieved fingers --- now how to actually cut it? Allow OpenSCAD to
write out files?)

Hi,
Use scad for showing the picture, but imnsho, you would be better off
generating the gcode separately. I've attached a screen shot of a
simple box generator - no cad used whatsoever. The joints are not
finger joints, but are a sort of stepped butt joint, modern glues are
stronger than the wood.
I'm not sure if you need the ballnosed bit, or the tapered bit. Tool
changing is a pain, unless you have some high end machine, or possibly
designing a machine specifically for making finger joints. I've used
cutters similar to this, quite successfully for wood carving, which
sort of combines a taper and a ballend.
https://www.amazon.co.uk/SpeTool-Tapered-2-Flute-0-25mm-Coated/dp/B077883PDW/ref=sr_1_13?dchild=1&keywords=tapered+milling+cutter&qid=1597401368&sr=8-13
I'm guessing you have a sort of flatbed cnc routing table, and you do
not really want to have to change tool bits, or manipulate the sheet
which you are machining, and all pieces will be the same thickness for
an individual box. I hope the juice will be worth the squeeze. It will
be fun getting the fingers correct at the corners. Maybe start by
restricting the dimensions to a multiple of the finger size  plus.
Best wishes,

Ray
On 14/08/2020 02:56, William F. Adams via Discuss wrote:
Ray West wrote:

I've not followed this whole thread,

Apparently.

but if you want to cnc finger joints, I would not start with scad.

It's the CAD tool which I prefer to use --- and I've modeled
fingerjoints in it before:

https://community.carbide3d.com/t/cnc-finger-joint-box/8880

What cutting tool will you be using, and what is the material?

I am planning on using a 1/4" square endmill, a 1/16" ball-nosed
tapered endmill, and a 1/4" radiusing endmill.

What tolerances are you looking for?

Tight enough for a void free joint.

Unless you intend standing the pieces on edge, you will not get

square corners profiling them with a router bit,

I created a fixture for doing that:

https://cutrocket.com/p/5cb25f3380844/

and I've cut boxes thus:

https://cutrocket.com/p/5cb536396c281/

It's a tedious pain.

although if in wood, with a small diameter bit, woodfiller can solve

that.

The refuge of the incompetent woodworker --- I'm trying to design a
joinery system where joints have no visible voids --- hence the radius
endmill which I intend to use to relieve the fingers to match the
radius left by the 1/4" endmill. See the images at:

https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54

and

https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113

and

https://imgur.com/g9pQxS6

William


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


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


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

I'm not sure exactly what question you are asking. Is it that you, for some reason or other, you want openscad to be able to produce a text file, possibly a list of coordinates, that you will manipulate somehow to produce tool paths, or is it that you are trying to design a joinery system? If you are trying to design a joinery system, then openscad is not much use, other than perhaps as a check to see if the object looks OK. For the sort of tooling/machinery you are most likely wanting to use, even if openscad could write a text file, it would probably be more awkward adjusting that file, than starting from scratch, and writing raw gcode. As you say you have done similar before, you know how straightforward that is, then there is little point in trying to push openscad in a direction that apparently few are interested in. Although openscad can produce the model, then you are stuck in getting another view of it. If you create the model by some other method, most likely you can more easily get more views of it (MVC paradigm). In other words, generate a list of coordinates, then you can display them on a screen (openscad/whatever) and generate offsets for Gcodes for machining in whatever way you wish. Have you actually made a sketch of how a couple of the fingers, say, actually mesh together, when prepared by what ever router bits you can use? Best wishes, Ray If this stuff was easy, everybody would be doing it... On 14/08/2020 15:41, William F. Adams via Discuss wrote: > I've done boxes like that already: > > https://willadams.gitbook.io/design-into-3d/3d-project > and https://cutrocket.com/p/5e8fd99cc1578/ > > and as noted, I've already managed to get the corners right for a > fingerjoint box, which was the beginning of this conversation which > apparently no one deemed worthy of actually looking at. > > https://imgur.com/g9pQxS6 > > I want to do my CAD and CAM in OpenSCAD --- all I need to make it > available to in an elegant (in terms of scientifically correct) and > robust fashion which naïve users can make use of it is a way to get > some numbers which I am using to call modules in OpenSCAD already into > a text file without any extraneous stuff which has to be filtered out. > > Yes, I could use some 3rd party tool --- then I get to tell folks: > >  - install OpenSCAD and use it to set up your design >  - install a second tool, and run this other file as well, and tell it > where you put your OpenSCAD file and what name you saved your > Customizer preset under > > It's an unnecessary complication --- if only OpenSCAD would be allowed > to have a bit more control over writing out text files --- which would > be useful for other purposes as well such as B.O.M.s > > Yes, I've done something along those lines as documented in my article in: > > http://www.tug.org/TUGboat/Contents/contents40-2.html > > but it's a lot of extra baggage when a simple couple of preferences > and one basic capability could sidestep it: > >  - write out console with each run of openscad >  - when writing out console filter to only lines output by echo >  - use custom file extension ____ instead of .nc > > (though it would be nice if that last could be specified in the > language/file as a command) > > William > > > > > > > > -----Original Message----- > From: Ray West <raywest@raywest.com> > To: William F. Adams via Discuss <discuss@lists.openscad.org> > Sent: Fri, Aug 14, 2020 6:47 am > Subject: Re: [OpenSCAD] !![SPAM]!! Re: Is there an OpenSCAD dev who > wants a CNC machine? (was Re: Managed to model a finger joint box with > relieved fingers --- now how to actually cut it? Allow OpenSCAD to > write out files?) > > Hi, > Use scad for showing the picture, but imnsho, you would be better off > generating the gcode separately. I've attached a screen shot of a > simple box generator - no cad used whatsoever. The joints are not > finger joints, but are a sort of stepped butt joint, modern glues are > stronger than the wood. > I'm not sure if you need the ballnosed bit, or the tapered bit. Tool > changing is a pain, unless you have some high end machine, or possibly > designing a machine specifically for making finger joints. I've used > cutters similar to this, quite successfully for wood carving, which > sort of combines a taper and a ballend. > https://www.amazon.co.uk/SpeTool-Tapered-2-Flute-0-25mm-Coated/dp/B077883PDW/ref=sr_1_13?dchild=1&keywords=tapered+milling+cutter&qid=1597401368&sr=8-13 > I'm guessing you have a sort of flatbed cnc routing table, and you do > not really want to have to change tool bits, or manipulate the sheet > which you are machining, and all pieces will be the same thickness for > an individual box. I hope the juice will be worth the squeeze. It will > be fun getting the fingers correct at the corners. Maybe start by > restricting the dimensions to a multiple of the finger size  plus. > Best wishes, > > Ray > On 14/08/2020 02:56, William F. Adams via Discuss wrote: > Ray West wrote: > > >I've not followed this whole thread, > > Apparently. > > >but if you want to cnc finger joints, I would not start with scad. > > It's the CAD tool which I prefer to use --- and I've modeled > fingerjoints in it before: > > https://community.carbide3d.com/t/cnc-finger-joint-box/8880 > > >What cutting tool will you be using, and what is the material? > > I am planning on using a 1/4" square endmill, a 1/16" ball-nosed > tapered endmill, and a 1/4" radiusing endmill. > > >What tolerances are you looking for? > > Tight enough for a void free joint. > > >Unless you intend standing the pieces on edge, you will not get > square corners profiling them with a router bit, > > I created a fixture for doing that: > > https://cutrocket.com/p/5cb25f3380844/ > > and I've cut boxes thus: > > https://cutrocket.com/p/5cb536396c281/ > > It's a tedious pain. > > >although if in wood, with a small diameter bit, woodfiller can solve > that. > > The refuge of the incompetent woodworker --- I'm trying to design a > joinery system where joints have no visible voids --- hence the radius > endmill which I intend to use to relieve the fingers to match the > radius left by the 1/4" endmill. See the images at: > > https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54 > > and > > https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113 > > and > > https://imgur.com/g9pQxS6 > > William > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org <mailto:Discuss@lists.openscad.org> > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org <mailto:Discuss@lists.openscad.org> > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
NH
nop head
Fri, Aug 14, 2020 4:49 PM

-o file.echo only captures the echos. Then all you need to do is remove the
ECHO: " " around it. An option to remove those would be handy.

On Fri, 14 Aug 2020 at 17:20, Jordan Brown openscad@jordan.maileater.net
wrote:

I know that the reason that I've been a bit ... questioning ... is that
from my perspective it is the coordinates and geometry that are the hard
part, and that post-processing with

... | sed -n 's/^ECHO: "(.*)"$/\1/p'

or something a lot like it just doesn't seem like a big deal.  (Yes, I
understand that you're trying to be able to hand the process off to
somebody else, and that makes it trickier.  And yes, that's harder on
Windows.)

If you're willing to work form the command line, it seems like the only
feature you need is "emit only echo output, and don't decorate the echo
output", perhaps as a -o variant.  (But -o requires fixed file extensions,
since it determines the file format from the extension.)


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

-o file.echo only captures the echos. Then all you need to do is remove the ECHO: " " around it. An option to remove those would be handy. On Fri, 14 Aug 2020 at 17:20, Jordan Brown <openscad@jordan.maileater.net> wrote: > I know that the reason that I've been a bit ... questioning ... is that > from my perspective it is the coordinates and geometry that are the hard > part, and that post-processing with > > ... | sed -n 's/^ECHO: "\(.*\)"$/\1/p' > > or something a lot like it just doesn't seem like a big deal. (Yes, I > understand that you're trying to be able to hand the process off to > somebody else, and that makes it trickier. And yes, that's harder on > Windows.) > > If you're willing to work form the command line, it seems like the only > feature you need is "emit only echo output, and don't decorate the echo > output", perhaps as a -o variant. (But -o requires fixed file extensions, > since it determines the file format from the extension.) > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
WF
William F. Adams
Fri, Aug 14, 2020 6:10 PM

Jordan Brown wrote:

I know that the reason that I've been a bit ... questioning ... is that from my perspective it is the >coordinates and geometry that are the hard part, and that post-processing ... 

or something a lot like it just doesn't seem like a big deal.  (Yes, I understand that you're trying to be >able to hand the process off to somebody else, and that makes it trickier.  And yes, that's harder on >Windows.)

which is exactly why I'm trying to make this as straight-forward as possible.
Ray West wrote:

I'm not sure exactly what question you are asking. 

It would help if you'd look at the posts and images I've referenced.

Is it that you, for some reason or other, you want openscad to be able to produce a text file, >possibly a list of coordinates, that you will manipulate somehow to produce tool paths, or is it >that you are trying to design a joinery system? 

Having designed a joinery system, I want to write out G-Code so that the parts can be cut out, since I haven't found a CAM program which will cut out the joinery designs I have created:
https://old.reddit.com/r/openscad/comments/i2do7a/managed_to_model_a_finger_joint_box_with_relieved/

If you are trying to design a joinery system, then openscad is not much use, >other than perhaps as a check to see if the object looks OK. 

I beg to differ. I find it very useful for the design --- please see the image:
https://imgur.com/g9pQxS6

For the sort of tooling/machinery you are most likely wanting to use, >even if openscad could write a text file, it would probably be more awkward >adjusting that file, than starting from scratch, and writing raw gcode. 

I've posted pseudo code for getting the G-Code out of the radiuscut module which I wrote.

As you say you have done similar before, you know how straightforward that is, >then there is little point in trying to push openscad in a direction that apparently >few are interested in. 

Argumentum ad populum

Although openscad can produce the model, then you are stuck in getting another view of it. 

In my design work I always design from the manufacturing view, then rotate as needed.

If you create the model by some other method, most likely you can more easily >get more views of it (MVC paradigm). 

Or, I could continue to just rotate in OpenSCAD

In other words, generate a list of coordinates, then you can display them on a screen >(openscad/whatever) and generate offsets for Gcodes for machining in whatever way you wish. 

The way that I wish to generate them is to write them out of OpenSCAD.

Have you actually made a sketch of how a couple of the fingers, >say, actually mesh together, when prepared by what ever router bits you can use? 

Yes, see the links in my previous message.

nop head wrote:

-o file.echo only captures the echos. Then all you need to do is remove the ECHO: " " around it. 

Thank you for pointing this out --- it's quite helpful to me.

An option to remove those would be handy.

Agreed, as would exposing this with a menu option or preference.
William

Jordan Brown wrote: >I know that the reason that I've been a bit ... questioning ... is that from my perspective it is the >coordinates and geometry that are the hard part, and that post-processing ...  >or something a lot like it just doesn't seem like a big deal.  (Yes, I understand that you're trying to be >able to hand the process off to somebody else, and that makes it trickier.  And yes, that's harder on >Windows.) which is exactly why I'm trying to make this as straight-forward as possible. Ray West wrote: >I'm not sure exactly what question you are asking.  It would help if you'd look at the posts and images I've referenced. >Is it that you, for some reason or other, you want openscad to be able to produce a text file, >possibly a list of coordinates, that you will manipulate somehow to produce tool paths, or is it >that you are trying to design a joinery system?  Having designed a joinery system, I want to write out G-Code so that the parts can be cut out, since I haven't found a CAM program which will cut out the joinery designs I have created: https://old.reddit.com/r/openscad/comments/i2do7a/managed_to_model_a_finger_joint_box_with_relieved/ >If you are trying to design a joinery system, then openscad is not much use, >other than perhaps as a check to see if the object looks OK.  I beg to differ. I find it very useful for the design --- please see the image: https://imgur.com/g9pQxS6 >For the sort of tooling/machinery you are most likely wanting to use, >even if openscad could write a text file, it would probably be more awkward >adjusting that file, than starting from scratch, and writing raw gcode.  I've posted pseudo code for getting the G-Code out of the radiuscut module which I wrote. >As you say you have done similar before, you know how straightforward that is, >then there is little point in trying to push openscad in a direction that apparently >few are interested in.  Argumentum ad populum >Although openscad can produce the model, then you are stuck in getting another view of it.  In my design work I always design from the manufacturing view, then rotate as needed. >If you create the model by some other method, most likely you can more easily >get more views of it (MVC paradigm).  Or, I could continue to just rotate in OpenSCAD >In other words, generate a list of coordinates, then you can display them on a screen >(openscad/whatever) and generate offsets for Gcodes for machining in whatever way you wish.  The way that I wish to generate them is to write them out of OpenSCAD. >Have you actually made a sketch of how a couple of the fingers, >say, actually mesh together, when prepared by what ever router bits you can use?  Yes, see the links in my previous message. nop head wrote: >-o file.echo only captures the echos. Then all you need to do is remove the ECHO: " " around it.  Thank you for pointing this out --- it's quite helpful to me. >An option to remove those would be handy. Agreed, as would exposing this with a menu option or preference. William
RW
Ray West
Fri, Aug 14, 2020 7:59 PM

Hi, William,

On 14/08/2020 19:10, William F. Adams via Discuss wrote:

Have you actually made a sketch of how a couple of the fingers,
say, actually mesh together, when prepared by what ever router bits

you can use?

Yes, see the links in my previous message.

Please give a link to where you have sketched the shape of the fingers,
and how they mesh, being capable of being produced by standard router
bits, perpendicular to the surface of the wood. i.e. in the sort of
machine that i thought you were intending to use - a flat bed cnc
router. I am not talking about your openscad drawing showing a few sides
that seem to be able to interlock, but where you have actually looked at
the final detailed shape of the individual fingers, and how you will
machine them. Afaik, this is not possible on a flat bed router, unless
you mess around standing them on edge, in which case it then becomes a
trivial problem (other than the work holding), or you're happy to use
gap filling glue.

You say you have designed a joinery system, well if it involves a four
or five axis bed/spindle, you will be in with a chance, but if only
three, then no chance, unless you go for two or more operations. I
suppose a cnc version of the edge milling box joint jigs may do, but
that is not a challenge. There is probably a reason why there is no cam
programs that will do what you want, after all, finger joints are pretty
popular, but already covered by various mechanical jigs. There are,
however, laser cutting cnc systems for finger joints, if you want to see
burn marks on the edges.

If you were to standardise on the minimum gap between the fingers, then
a design for a small mortiser would be interesting, and you'd get square
corners.

Best wishes,

Ray

Hi, William, On 14/08/2020 19:10, William F. Adams via Discuss wrote: > >Have you actually made a sketch of how a couple of the fingers, > >say, actually mesh together, when prepared by what ever router bits > you can use? > > Yes, see the links in my previous message. Please give a link to where you have sketched the shape of the fingers, and how they mesh, being capable of being produced by standard router bits, perpendicular to the surface of the wood. i.e. in the sort of machine that i thought you were intending to use - a flat bed cnc router. I am not talking about your openscad drawing showing a few sides that seem to be able to interlock, but where you have actually looked at the final detailed shape of the individual fingers, and how you will machine them. Afaik, this is not possible on a flat bed router, unless you mess around standing them on edge, in which case it then becomes a trivial problem (other than the work holding), or you're happy to use gap filling glue. You say you have designed a joinery system, well if it involves a four or five axis bed/spindle, you will be in with a chance, but if only three, then no chance, unless you go for two or more operations. I suppose a cnc version of the edge milling box joint jigs may do, but that is not a challenge. There is probably a reason why there is no cam programs that will do what you want, after all, finger joints are pretty popular, but already covered by various mechanical jigs. There are, however, laser cutting cnc systems for finger joints, if you want to see burn marks on the edges. If you were to standardise on the minimum gap between the fingers, then a design for a small mortiser would be interesting, and you'd get square corners. Best wishes, Ray
WF
William F. Adams
Fri, Aug 14, 2020 8:37 PM

Ray West asked:

Please give a link to where you have sketched the shape of the fingers, and how they mesh,
being capable of being produced by standard router bits, perpendicular to the surface of the wood.
i.e. in the sort of machine that i thought you were intending to use - a flat bed cnc router.

Please see: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113?u=willadams and the posts above/below that.
You can see the details of the radiusing tool definition at: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54?u=willadams
I've also done a diagonal relief using a V endmill which worked surprisingly well:
https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/16?u=willadams

I am not talking about your openscad drawing showing a few sides that seem to be able to interlock,
but where you have actually looked at the final detailed shape of the individual fingers, and how you will machine them.
Afaik, this is not possible on a flat bed router, unless you mess around standing them on edge,
in which case it then becomes a trivial problem (other than the work holding), or you're happy to use gap filling glue.

I've done them standing on edge. It's a tedious pain.

You say you have designed a joinery system, well if it involves a four or five axis bed/spindle, >you will be in with a chance, but if only three, then no chance, unless you go for two or more operations.

Yes, to two or more operations if you consider a tool change an operation, but only one setup.

I suppose a cnc version of the edge milling box joint jigs may do, but that is not a challenge.

Agreed, been there done that.

There is probably a reason why there is no cam programs that will do what you want, after all, >finger joints are pretty popular, but already covered by various mechanical jigs. >There are, however, laser cutting cnc systems for finger joints, if you want to see burn marks on the edges.

I've used generators intended for lasers as a starting point for some projects, but no interest in a laser --- agree that the burn marks look ghastly.

If you were to standardise on the minimum gap between the fingers, then a design for a small mortiser would be interesting, >and you'd get square corners.

Not sure what you mean by that.
William

Ray West asked: >Please give a link to where you have sketched the shape of the fingers, and how they mesh, >being capable of being produced by standard router bits, perpendicular to the surface of the wood. >i.e. in the sort of machine that i thought you were intending to use - a flat bed cnc router. Please see: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113?u=willadams and the posts above/below that. You can see the details of the radiusing tool definition at: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54?u=willadams I've also done a diagonal relief using a V endmill which worked surprisingly well: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/16?u=willadams >I am not talking about your openscad drawing showing a few sides that seem to be able to interlock, >but where you have actually looked at the final detailed shape of the individual fingers, and how you will machine them. >Afaik, this is not possible on a flat bed router, unless you mess around standing them on edge, >in which case it then becomes a trivial problem (other than the work holding), or you're happy to use gap filling glue. I've done them standing on edge. It's a tedious pain. >You say you have designed a joinery system, well if it involves a four or five axis bed/spindle, >you will be in with a chance, but if only three, then no chance, unless you go for two or more operations. Yes, to two or more operations if you consider a tool change an operation, but only one setup. >I suppose a cnc version of the edge milling box joint jigs may do, but that is not a challenge. Agreed, been there done that. >There is probably a reason why there is no cam programs that will do what you want, after all, >finger joints are pretty popular, but already covered by various mechanical jigs. >There are, however, laser cutting cnc systems for finger joints, if you want to see burn marks on the edges. I've used generators intended for lasers as a starting point for some projects, but no interest in a laser --- agree that the burn marks look ghastly. >If you were to standardise on the minimum gap between the fingers, then a design for a small mortiser would be interesting, >and you'd get square corners. Not sure what you mean by that. William
NH
nop head
Fri, Aug 14, 2020 9:01 PM

I have a CNC router with a tool changer operated by compressed air but I
have never got around to setting up the tool changer. It would be ideal for
that sort of job but would require accurate tool Z height calibration but I
have solved that problem before.
https://hydraraptor.blogspot.com/2007/05/how-long-is-your-tool.html

I have also never used it with wood but someday I will get around to it.

On Fri, 14 Aug 2020 at 21:38, William F. Adams via Discuss <
discuss@lists.openscad.org> wrote:

Ray West asked:

Please give a link to where you have sketched the shape of the fingers,

and how they mesh,

being capable of being produced by standard router bits, perpendicular

to the surface of the wood.

i.e. in the sort of machine that i thought you were intending to use - a

flat bed cnc router.

Please see:
https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113?u=willadams
and the posts above/below that.

You can see the details of the radiusing tool definition at:
https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54?u=willadams

I've also done a diagonal relief using a V endmill which worked
surprisingly well:

https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/16?u=willadams

I am not talking about your openscad drawing showing a few sides that

seem to be able to interlock,

but where you have actually looked at the final detailed shape of the

individual fingers, and how you will machine them.

Afaik, this is not possible on a flat bed router, unless you mess around

standing them on edge,

in which case it then becomes a trivial problem (other than the work

holding), or you're happy to use gap filling glue.

I've done them standing on edge. It's a tedious pain.

You say you have designed a joinery system, well if it involves a four or

five axis bed/spindle,

you will be in with a chance, but if only three, then no chance, unless

you go for two or more operations.

Yes, to two or more operations if you consider a tool change an operation,
but only one setup.

I suppose a cnc version of the edge milling box joint jigs may do, but

that is not a challenge.

Agreed, been there done that.

There is probably a reason why there is no cam programs that will do what

you want, after all,

finger joints are pretty popular, but already covered by various

mechanical jigs.

There are, however, laser cutting cnc systems for finger joints, if you

want to see burn marks on the edges.

I've used generators intended for lasers as a starting point for some
projects, but no interest in a laser --- agree that the burn marks look
ghastly.

If you were to standardise on the minimum gap between the fingers, then a

design for a small mortiser would be interesting,

and you'd get square corners.

Not sure what you mean by that.

William


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

I have a CNC router with a tool changer operated by compressed air but I have never got around to setting up the tool changer. It would be ideal for that sort of job but would require accurate tool Z height calibration but I have solved that problem before. https://hydraraptor.blogspot.com/2007/05/how-long-is-your-tool.html I have also never used it with wood but someday I will get around to it. On Fri, 14 Aug 2020 at 21:38, William F. Adams via Discuss < discuss@lists.openscad.org> wrote: > Ray West asked: > > >Please give a link to where you have sketched the shape of the fingers, > and how they mesh, > >being capable of being produced by standard router bits, perpendicular > to the surface of the wood. > >i.e. in the sort of machine that i thought you were intending to use - a > flat bed cnc router. > > Please see: > https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113?u=willadams > and the posts above/below that. > > You can see the details of the radiusing tool definition at: > https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54?u=willadams > > I've also done a diagonal relief using a V endmill which worked > surprisingly well: > > > https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/16?u=willadams > > >I am not talking about your openscad drawing showing a few sides that > seem to be able to interlock, > >but where you have actually looked at the final detailed shape of the > individual fingers, and how you will machine them. > >Afaik, this is not possible on a flat bed router, unless you mess around > standing them on edge, > >in which case it then becomes a trivial problem (other than the work > holding), or you're happy to use gap filling glue. > > I've done them standing on edge. It's a tedious pain. > > >You say you have designed a joinery system, well if it involves a four or > five axis bed/spindle, > >you will be in with a chance, but if only three, then no chance, unless > you go for two or more operations. > > Yes, to two or more operations if you consider a tool change an operation, > but only one setup. > > >I suppose a cnc version of the edge milling box joint jigs may do, but > that is not a challenge. > > Agreed, been there done that. > > >There is probably a reason why there is no cam programs that will do what > you want, after all, > >finger joints are pretty popular, but already covered by various > mechanical jigs. > >There are, however, laser cutting cnc systems for finger joints, if you > want to see burn marks on the edges. > > I've used generators intended for lasers as a starting point for some > projects, but no interest in a laser --- agree that the burn marks look > ghastly. > > >If you were to standardise on the minimum gap between the fingers, then a > design for a small mortiser would be interesting, > >and you'd get square corners. > > Not sure what you mean by that. > > William > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
RW
Ray West
Fri, Aug 14, 2020 10:12 PM

Thanks, William. I now see we are both right. Your quadrant table is the
fourth axis, in effect. Seems you've had a few arguments elsewhere, too.

A mortiser tool bit is basically a square tube, with sharp edge at the
bottom, and a drill running through the centre. The drill clears the
majority of the chips, leaving a thin ridge and corners for the tube to
shave off. It basically drills square holes in wood. If you rigged up a
similar unit, but with a cnc controlled x/y table to move the wood
around, then it could profile nice square notches. It would most likely
need more pressure than is capable to be exerted by the z axis drive of
the usual cnc routers, however, but there are ways around that.

If you knew someone who could harden and temper tool steel (It is quite
easy), then drill a  hole lengthwise through a steel bar, and
countersink the end (It'll give a sharp edge), then use an ordinary
auger bit in the centrer. You will need to cut away part of the side of
the bar, to let the chips escape. Or you can buy them ready made, of course.

If you limit the size of material you want to process, then you can
build a sturdy gantry type flat bed cnc router, with a beefier z drive
stepper and ball screw. A sharp bit, say 0.25 inch square will not take
much force to push it through most woods. It will not be particularly
fast, especially if you are doing all the cutting with the mortise bit,
but there should be little further processing required.

A bonus would be that you could use openscad to design the machine.

Best wishes,

Ray

On 14/08/2020 21:37, William F. Adams via Discuss wrote:

Ray West asked:

Please give a link to where you have sketched the shape of the

fingers, and how they mesh,

being capable of being produced by standard router bits,

perpendicular to the surface of the wood.

i.e. in the sort of machine that i thought you were intending to use

  • a flat bed cnc router.

Please
see: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113?u=willadams
and the posts above/below that.

You can see the details of the radiusing tool definition
at: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54?u=willadams

I've also done a diagonal relief using a V endmill which worked
surprisingly well:

https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/16?u=willadams

I am not talking about your openscad drawing showing a few sides that

seem to be able to interlock,

but where you have actually looked at the final detailed shape of the

individual fingers, and how you will machine them.

Afaik, this is not possible on a flat bed router, unless you mess

around standing them on edge,

in which case it then becomes a trivial problem (other than the work

holding), or you're happy to use gap filling glue.

I've done them standing on edge. It's a tedious pain.

You say you have designed a joinery system, well if it involves a

four or five axis bed/spindle,

you will be in with a chance, but if only three, then no chance,

unless you go for two or more operations.

Yes, to two or more operations if you consider a tool change an
operation, but only one setup.

I suppose a cnc version of the edge milling box joint jigs may do,

but that is not a challenge.

Agreed, been there done that.

There is probably a reason why there is no cam programs that will do

what you want, after all,

finger joints are pretty popular, but already covered by various

mechanical jigs.

There are, however, laser cutting cnc systems for finger joints, if

you want to see burn marks on the edges.

I've used generators intended for lasers as a starting point for some
projects, but no interest in a laser --- agree that the burn marks
look ghastly.

If you were to standardise on the minimum gap between the fingers,

then a design for a small mortiser would be interesting,

and you'd get square corners.

Not sure what you mean by that.

William


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

Thanks, William. I now see we are both right. Your quadrant table is the fourth axis, in effect. Seems you've had a few arguments elsewhere, too. A mortiser tool bit is basically a square tube, with sharp edge at the bottom, and a drill running through the centre. The drill clears the majority of the chips, leaving a thin ridge and corners for the tube to shave off. It basically drills square holes in wood. If you rigged up a similar unit, but with a cnc controlled x/y table to move the wood around, then it could profile nice square notches. It would most likely need more pressure than is capable to be exerted by the z axis drive of the usual cnc routers, however, but there are ways around that. If you knew someone who could harden and temper tool steel (It is quite easy), then drill a  hole lengthwise through a steel bar, and countersink the end (It'll give a sharp edge), then use an ordinary auger bit in the centrer. You will need to cut away part of the side of the bar, to let the chips escape. Or you can buy them ready made, of course. If you limit the size of material you want to process, then you can build a sturdy gantry type flat bed cnc router, with a beefier z drive stepper and ball screw. A sharp bit, say 0.25 inch square will not take much force to push it through most woods. It will not be particularly fast, especially if you are doing all the cutting with the mortise bit, but there should be little further processing required. A bonus would be that you could use openscad to design the machine. Best wishes, Ray On 14/08/2020 21:37, William F. Adams via Discuss wrote: > Ray West asked: > > >Please give a link to where you have sketched the shape of the > fingers, and how they mesh, > >being capable of being produced by standard router bits, > perpendicular to the surface of the wood. > >i.e. in the sort of machine that i thought you were intending to use > - a flat bed cnc router. > > Please > see: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/113?u=willadams > and the posts above/below that. > > You can see the details of the radiusing tool definition > at: https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/54?u=willadams > > I've also done a diagonal relief using a V endmill which worked > surprisingly well: > > https://community.carbide3d.com/t/design-into-3d-boxes-magazine-storage/16238/16?u=willadams > > >I am not talking about your openscad drawing showing a few sides that > seem to be able to interlock, > >but where you have actually looked at the final detailed shape of the > individual fingers, and how you will machine them. > >Afaik, this is not possible on a flat bed router, unless you mess > around standing them on edge, > >in which case it then becomes a trivial problem (other than the work > holding), or you're happy to use gap filling glue. > > I've done them standing on edge. It's a tedious pain. > > >You say you have designed a joinery system, well if it involves a > four or five axis bed/spindle, > >you will be in with a chance, but if only three, then no chance, > unless you go for two or more operations. > > Yes, to two or more operations if you consider a tool change an > operation, but only one setup. > > >I suppose a cnc version of the edge milling box joint jigs may do, > but that is not a challenge. > > Agreed, been there done that. > > >There is probably a reason why there is no cam programs that will do > what you want, after all, > >finger joints are pretty popular, but already covered by various > mechanical jigs. > >There are, however, laser cutting cnc systems for finger joints, if > you want to see burn marks on the edges. > > I've used generators intended for lasers as a starting point for some > projects, but no interest in a laser --- agree that the burn marks > look ghastly. > > >If you were to standardise on the minimum gap between the fingers, > then a design for a small mortiser would be interesting, > >and you'd get square corners. > > Not sure what you mean by that. > > William > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
WF
William F. Adams
Sat, Aug 15, 2020 4:16 AM

Proof of concept for this: https://community.carbide3d.com/uploads/short-url/Av8DyvPseArwbfWZcxKOLhoFQBW.zip
Parsing design (AST generation)...Saved backup file: C:/Users/willa/OneDrive/Documents/OpenSCAD/backups/Design into 3D_ Fingerjoint-backup-vaTVHyKD.scad
Compiling design (CSG Tree generation)...
ECHO: "G0 X,", 0, " Y", 0, " Z", 8ECHO: "G1 Z", -3.175, " F", 150ECHO: "G1 X", 0, " Y", 4.20625, " F", 600ECHO: "G0 Z", 8ECHO: "G0 X,", 9.5875, " Y", 0, " Z", 8ECHO: "G1 Z", -3.175, " F", 150ECHO: "G1 X", 9.5875, " Y", 4.20625, " F", 600
&c.
see the post at: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126
So if we just had a command which would write out only the echoed text less the clutter, we'd have a CAM solution for OpenSCAD files which are coded in a style where a declared piece of stock is subtracted from in a fashion which matches how one wants the CNC machine to cut things out.
William

Proof of concept for this: https://community.carbide3d.com/uploads/short-url/Av8DyvPseArwbfWZcxKOLhoFQBW.zip Parsing design (AST generation)...Saved backup file: C:/Users/willa/OneDrive/Documents/OpenSCAD/backups/Design into 3D_ Fingerjoint-backup-vaTVHyKD.scad Compiling design (CSG Tree generation)... ECHO: "G0 X,", 0, " Y", 0, " Z", 8ECHO: "G1 Z", -3.175, " F", 150ECHO: "G1 X", 0, " Y", 4.20625, " F", 600ECHO: "G0 Z", 8ECHO: "G0 X,", 9.5875, " Y", 0, " Z", 8ECHO: "G1 Z", -3.175, " F", 150ECHO: "G1 X", 9.5875, " Y", 4.20625, " F", 600 &c. see the post at: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126 So if we just had a command which would write out only the echoed text less the clutter, we'd have a CAM solution for OpenSCAD files which are coded in a style where a declared piece of stock is subtracted from in a fashion which matches how one wants the CNC machine to cut things out. William
RW
Ray West
Sat, Aug 15, 2020 10:59 AM

Hi William,

for the purpose of testing that the gcode generated is the gcode you can
use, it is simple to open it in any text editor, e.g. notepad, and do
search and replace a few times.

so search for 'echo' and replace with 'space', then same for double
quotes and commas. Finally search for spaces repeatedly replacing two
spaces with one,  this results in

 G0 X 0 Y 0 Z 8
 G1 Z -3.175 F 150
 G1 X 0 Y 4.20625 F 600
 G0 Z 8
 G0 X 9.5875 Y 0 Z 8
 G1 Z -3.175 F 150
 G1 X 9.5875 Y 4.20625 F 600

which is valid gcode, at least for my machines. That will allow you to
break out of the theory, and you can attempt to machine the pieces, and
see if they fit together as expected.

On 15/08/2020 05:16, William F. Adams via Discuss wrote:

ECHO: "G0 X,", 0, " Y", 0, " Z", 8
ECHO: "G1 Z", -3.175, " F", 150
ECHO: "G1 X", 0, " Y", 4.20625, " F", 600
ECHO: "G0 Z", 8
ECHO: "G0 X,", 9.5875, " Y", 0, " Z", 8
ECHO: "G1 Z", -3.175, " F", 150
ECHO: "G1 X", 9.5875, " Y", 4.20625, " F", 600

Hi William, for the purpose of testing that the gcode generated is the gcode you can use, it is simple to open it in any text editor, e.g. notepad, and do search and replace a few times. so search for 'echo' and replace with 'space', then same for double quotes and commas. Finally search for spaces repeatedly replacing two spaces with one,  this results in  G0 X 0 Y 0 Z 8  G1 Z -3.175 F 150  G1 X 0 Y 4.20625 F 600  G0 Z 8  G0 X 9.5875 Y 0 Z 8  G1 Z -3.175 F 150  G1 X 9.5875 Y 4.20625 F 600 which is valid gcode, at least for my machines. That will allow you to break out of the theory, and you can attempt to machine the pieces, and see if they fit together as expected. On 15/08/2020 05:16, William F. Adams via Discuss wrote: > ECHO: "G0 X,", 0, " Y", 0, " Z", 8 > ECHO: "G1 Z", -3.175, " F", 150 > ECHO: "G1 X", 0, " Y", 4.20625, " F", 600 > ECHO: "G0 Z", 8 > ECHO: "G0 X,", 9.5875, " Y", 0, " Z", 8 > ECHO: "G1 Z", -3.175, " F", 150 > ECHO: "G1 X", 9.5875, " Y", 4.20625, " F", 600
WF
William F. Adams
Sat, Aug 15, 2020 12:20 PM

Yes, as noted, that was just a proof of concept. I'll be doing some actual cutting/testing with this today.
I've since found that wrapping things up in str() so as to convert to a string as part of the echo() command cleans up the internal double quotes and commas, so the find-replace and filtering is now trivial (parse each line and only write out those which begin w/ ECHO, just without that text or the colon or the quotes).
So, could we please just get a command which would do that with a user configurable file extension?
William

Yes, as noted, that was just a proof of concept. I'll be doing some actual cutting/testing with this today. I've since found that wrapping things up in str() so as to convert to a string as part of the echo() command cleans up the internal double quotes and commas, so the find-replace and filtering is now trivial (parse each line and only write out those which begin w/ ECHO, just without that text or the colon or the quotes). So, could we please just get a command which would do that with a user configurable file extension? William
JB
Jordan Brown
Sun, Aug 16, 2020 12:48 AM

What does your input OpenSCAD look like, that emits proto-gcode?  I
don't see that in any of the pages you've posted.

I'd like to figure out how to drive my CNC machine from an OpenSCAD
model... so far, I'm not seeing how, other than some tool chains that
seem fragile, unpleasant, or both.

What does your input OpenSCAD look like, that emits proto-gcode?  I don't see that in any of the pages you've posted. I'd like to figure out how to drive my CNC machine from an OpenSCAD model... so far, I'm not seeing how, other than some tool chains that seem fragile, unpleasant, or both.
WF
William F. Adams
Sun, Aug 16, 2020 12:59 AM

Jordan Brown wrote:

What does your input OpenSCAD look like, that emits proto-gcode?  I don't see that in any of the pages you've posted.

I posted my source code at:
https://community.carbide3d.com/uploads/short-url/36SA8hMSvesRwUOKFocbbdxQmrl.zip
in the message: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126
and I've attached the current copy to this message.
Current settings are:

I'd like to figure out how to drive my CNC machine from an OpenSCAD model... >so far, I'm not seeing how, other than some tool chains that seem fragile, unpleasant, or both.

This is just a proof of concept so far, but I think it shows progress.
Just to review --- which CAM options have you looked at or considered? Thus far I've tried or worked with:
 - export STL --- process in a 3D CAM tool such as MeshCAM or pyCAM - export DXF or SVG --- process using a tool such as MakerCAM or Carbide Create
the other thing I've considered is:
 - opening the .scad file in FreeCAD and using its CAM workbench
Curious if there are any other options to try.
William

Jordan Brown wrote: >What does your input OpenSCAD look like, that emits proto-gcode?  I don't see that in any of the pages you've posted. I posted my source code at: https://community.carbide3d.com/uploads/short-url/36SA8hMSvesRwUOKFocbbdxQmrl.zip in the message: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126 and I've attached the current copy to this message. Current settings are: >I'd like to figure out how to drive my CNC machine from an OpenSCAD model... >so far, I'm not seeing how, other than some tool chains that seem fragile, unpleasant, or both. This is just a proof of concept so far, but I think it shows progress. Just to review --- which CAM options have you looked at or considered? Thus far I've tried or worked with:  - export STL --- process in a 3D CAM tool such as MeshCAM or pyCAM - export DXF or SVG --- process using a tool such as MakerCAM or Carbide Create the other thing I've considered is:  - opening the .scad file in FreeCAD and using its CAM workbench Curious if there are any other options to try. William
JB
Jordan Brown
Sun, Aug 16, 2020 1:02 AM

On 8/15/2020 5:20 AM, William F. Adams via Discuss wrote:

So, could we please just get a command which would do that with a user
configurable file extension?

Remember that the people doing the work are volunteers, working in their
spare time on things that interest them.

It does seem pretty simple.  I'd offer to do it myself, but ... I got
OpenSCAD to build successfully in December, and since then I've found
the time to spend maybe two or three hours on the features that I want.

On 8/15/2020 5:20 AM, William F. Adams via Discuss wrote: > So, could we please just get a command which would do that with a user > configurable file extension? Remember that the people doing the work are volunteers, working in their spare time on things that interest them. It does seem pretty simple.  I'd offer to do it myself, but ... I got OpenSCAD to build successfully in December, and since then I've found the time to spend maybe two or three hours on the features that *I* want.
WF
William F. Adams
Sun, Aug 16, 2020 1:36 AM

On 8/15/2020 5:20 AM, William F. Adams via Discuss wrote:

So, could we please just get a command which would do that with a user configurable file extension?

and Jordan Brown responded:

Remember that the people doing the work are volunteers, >working in their spare time on things that interest them.

It does seem pretty simple.  I'd offer to do it myself,

I would appreciate that.

but ... I got OpenSCAD to build successfully in December, >and since then I've found the time to spend maybe two or three hours >on the features that I want.

Understood, hence my mention of a machine.
I'm hoping to shake some funds loose for Bounty Source --- an estimate on what should be offered?
William


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

On 8/15/2020 5:20 AM, William F. Adams via Discuss wrote: >So, could we please just get a command which would do that with a user configurable file extension? and Jordan Brown responded: >Remember that the people doing the work are volunteers, >working in their spare time on things that interest them. >It does seem pretty simple.  I'd offer to do it myself, I would appreciate that. >but ... I got OpenSCAD to build successfully in December, >and since then I've found the time to spend maybe two or three hours >on the features that *I* want. Understood, hence my mention of a machine. I'm hoping to shake some funds loose for Bounty Source --- an estimate on what should be offered? William _______________________________________________ OpenSCAD mailing list Discuss@lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
JB
Jordan Brown
Sun, Aug 16, 2020 1:49 AM

On 8/15/2020 5:59 PM, William F. Adams wrote:

Jordan Brown wrote:

What does your input OpenSCAD look like, that emits proto-gcode?  I

don't see that in any of the pages you've posted.

I posted my source code at:

https://community.carbide3d.com/uploads/short-url/36SA8hMSvesRwUOKFocbbdxQmrl.zip

in the
message: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126

Interesting.  So pretty much you have two programs interlaced - once
that models a 3D object, and one that emits a toolpath, and they don't
really have much to do with each other except for sharing some dimensions.

The shape of your fingercuts is a cool workaround for the round shape of
the tool.

I'd like to figure out how to drive my CNC machine from an OpenSCAD

model...

so far, I'm not seeing how, other than some tool chains that seem

fragile, unpleasant, or both.

This is just a proof of concept so far, but I think it shows progress.

Just to review --- which CAM options have you looked at or considered?
Thus far I've tried or worked with:

 - export STL --- process in a 3D CAM tool such as MeshCAM or pyCAM

This is what I was looking for.

Last time I looked - don't remember exactly when, but a long time ago -
pyCAM seemed to be abandonware.  Looks like it may have been revived.

I don't remember whether I tried MeshCAM.  The fact that it's $250 was a
big stumbling block.  I'm spoiled by the mostly-free world of 3D
printing.  I think the only paid slicer in common usage is Simplify3D,
and it's only $149.

I looked at HeeksCAD and played with it a bit.  I seem to remember it
crashing a lot.

I looked at Fusion 360.  I don't remember whether it would import STL,
but it was very slow and I think I had a hard time understanding how to
use it.

 - export DXF or SVG --- process using a tool such as MakerCAM or
Carbide Create

Only marginally interested.  I want to model in 3D, not 2D with a fixed
depth for each shape.  (Maybe that's an unrealistic thing to want.)

The toolchain should be able to do something useful with a half-sphere:

intersection() {
    sphere(20);
    translate([-100,-100,0]) cube([200,200,200]);
}

And maybe that demonstrates my naïvety; tool head geometry might
preclude doing that because unless the bit is more than 20mm long the
tool head might hit the sphere getting to the edges.

Tools like Carbide Create are commonly called 2.5D, but if I understand
them correctly I think that I'd only give them 2.2D.  The device is
fundamentally limited in that it can only cut down (and so there cannot
be any overhangs of any kind), but it's perfectly capable of cutting
slopes.  Carbide Create and the ilk basically have you draw out
something in 2D and then specify a depth for each shape; they don't seem
to have any notion of slope.

Maybe I should get over it, treat the CNC as a 2D device - basically, a
cutter - with very limited 3D capabilities, rather than wanting it to be
the subtractive equivalent of a 3D printer.

On 8/15/2020 5:59 PM, William F. Adams wrote: > Jordan Brown wrote: > > >What does your input OpenSCAD look like, that emits proto-gcode?  I > don't see that in any of the pages you've posted. > > I posted my source code at: > > https://community.carbide3d.com/uploads/short-url/36SA8hMSvesRwUOKFocbbdxQmrl.zip > > in the > message: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126 Interesting.  So pretty much you have two programs interlaced - once that models a 3D object, and one that emits a toolpath, and they don't really have much to do with each other except for sharing some dimensions. The shape of your fingercuts is a cool workaround for the round shape of the tool. > >I'd like to figure out how to drive my CNC machine from an OpenSCAD > model... > >so far, I'm not seeing how, other than some tool chains that seem > fragile, unpleasant, or both. > > This is just a proof of concept so far, but I think it shows progress. > > Just to review --- which CAM options have you looked at or considered? > Thus far I've tried or worked with: > >  - export STL --- process in a 3D CAM tool such as MeshCAM or pyCAM This is what I was looking for. Last time I looked - don't remember exactly when, but a long time ago - pyCAM seemed to be abandonware.  Looks like it may have been revived. I don't remember whether I tried MeshCAM.  The fact that it's $250 was a big stumbling block.  I'm spoiled by the mostly-free world of 3D printing.  I think the only paid slicer in common usage is Simplify3D, and it's only $149. I looked at HeeksCAD and played with it a bit.  I seem to remember it crashing a lot. I looked at Fusion 360.  I don't remember whether it would import STL, but it was very slow and I think I had a hard time understanding how to use it. >  - export DXF or SVG --- process using a tool such as MakerCAM or > Carbide Create Only marginally interested.  I want to model in 3D, not 2D with a fixed depth for each shape.  (Maybe that's an unrealistic thing to want.) The toolchain should be able to do something useful with a half-sphere: intersection() { sphere(20); translate([-100,-100,0]) cube([200,200,200]); } And maybe that demonstrates my naïvety; tool head geometry might preclude doing that because unless the bit is more than 20mm long the tool head might hit the sphere getting to the edges. Tools like Carbide Create are commonly called 2.5D, but if I understand them correctly I think that I'd only give them 2.2D.  The device is fundamentally limited in that it can only cut down (and so there cannot be *any* overhangs of any kind), but it's perfectly capable of cutting slopes.  Carbide Create and the ilk basically have you draw out something in 2D and then specify a depth for each shape; they don't seem to have any notion of slope. Maybe I should get over it, treat the CNC as a 2D device - basically, a cutter - with very limited 3D capabilities, rather than wanting it to be the subtractive equivalent of a 3D printer.
RW
Rob Ward
Sun, Aug 16, 2020 1:52 AM

Wouldn't this require a post OpenSCAD package that operates on .STL files to drive a milling machine, somewhat of the complexity of a slicer eg Cura for 3D printers?

Otherwise if you are working from pure logical shape identities, why use OpenSCAD in the first place?  It almost immediately makes extracting coordinates of shapes impossible or very convoluted.

It seems the answer to this is more than adding a filter to an output debugging stream into a new file format. Especially if a more generalised milling capability than the example given is required. If people designed their models in STL with the same caution as they do for 3D printing (eg resolution, overhangs, speeds, temperatures, etc etc) then it should possible to program a post STL processor that could prepare GCODE files for CAM that can work.

Personally I would find this a very attractive proposition, and useful to extend my (basic) OpenSCAD skills into this area. Cura began with just one line of code at sometime. But it certainly has grown full of useful features.
Cheers, RobW

On 16 August 2020 10:48:35 am AEST, Jordan Brown openscad@jordan.maileater.net wrote:

What does your input OpenSCAD look like, that emits proto-gcode?  I
don't see that in any of the pages you've posted.

I'd like to figure out how to drive my CNC machine from an OpenSCAD
model... so far, I'm not seeing how, other than some tool chains that
seem fragile, unpleasant, or both.

Wouldn't this require a post OpenSCAD package that operates on .STL files to drive a milling machine, somewhat of the complexity of a slicer eg Cura for 3D printers? Otherwise if you are working from pure logical shape identities, why use OpenSCAD in the first place? It almost immediately makes extracting coordinates of shapes impossible or very convoluted. It seems the answer to this is more than adding a filter to an output debugging stream into a new file format. Especially if a more generalised milling capability than the example given is required. If people designed their models in STL with the same caution as they do for 3D printing (eg resolution, overhangs, speeds, temperatures, etc etc) then it should possible to program a post STL processor that could prepare GCODE files for CAM that can work. Personally I would find this a very attractive proposition, and useful to extend my (basic) OpenSCAD skills into this area. Cura began with just one line of code at sometime. But it certainly has grown full of useful features. Cheers, RobW On 16 August 2020 10:48:35 am AEST, Jordan Brown <openscad@jordan.maileater.net> wrote: >What does your input OpenSCAD look like, that emits proto-gcode?  I >don't see that in any of the pages you've posted. > >I'd like to figure out how to drive my CNC machine from an OpenSCAD >model... so far, I'm not seeing how, other than some tool chains that >seem fragile, unpleasant, or both.
JB
Jordan Brown
Sun, Aug 16, 2020 2:02 AM

$&#@*(.  I hate mailing lists that set Reply-To to the list.  I meant
that to be a private message; that's why I hit "Reply" instead of "Reply
All".

On 8/15/2020 6:36 PM, William F. Adams via Discuss wrote:

but ... I got OpenSCAD to build successfully in December,
and since then I've found the time to spend maybe two or three hours
on the features that I want.

Understood, hence my mention of a machine.

I have a machine.  Just no time.  I should make some time for some of
this stuff; quarantine has freed up a bunch.

SainSmart 3018-PRO
https://www.sainsmart.com/collections/genmitsu-cnc/products/sainsmart-genmitsu-cnc-router-3018-pro-diy-kit

It was $200 on Woot.  That was within my "try it for fun" budget.  I
just wish it had limit switches.

I'm hoping to shake some funds loose for Bounty Source --- an estimate
on what should be offered?

Not a clue.  For me, personally, unless it was a ridiculously large
amount it wouldn't be a factor.  My day job pays enough to keep me in
toys.  Spare-time projects are for fun.  Offering me $50 or $100
wouldn't get my attention at all, and I don't think you want to offer $1000.

$&#@*(.  I hate mailing lists that set Reply-To to the list.  I meant that to be a private message; that's why I hit "Reply" instead of "Reply All". On 8/15/2020 6:36 PM, William F. Adams via Discuss wrote: > >but ... I got OpenSCAD to build successfully in December, > >and since then I've found the time to spend maybe two or three hours > >on the features that *I* want. > > Understood, hence my mention of a machine. I have a machine.  Just no time.  I should make some time for some of this stuff; quarantine has freed up a bunch. SainSmart 3018-PRO https://www.sainsmart.com/collections/genmitsu-cnc/products/sainsmart-genmitsu-cnc-router-3018-pro-diy-kit It was $200 on Woot.  That was within my "try it for fun" budget.  I just wish it had limit switches. > I'm hoping to shake some funds loose for Bounty Source --- an estimate > on what should be offered? Not a clue.  For me, personally, unless it was a ridiculously large amount it wouldn't be a factor.  My day job pays enough to keep me in toys.  Spare-time projects are for fun.  Offering me $50 or $100 wouldn't get my attention at all, and I don't think you want to offer $1000.
WF
William F. Adams
Sun, Aug 16, 2020 2:30 AM

Jordan Brown wrote:

Interesting.  So pretty much you have two programs interlaced - >once that models a 3D object, and one that emits a toolpath, >and they don't really have much to do with each other except for >sharing some dimensions.

I'd describe it rather as a program which shows cutting out parts which has options to show said parts in various positions and to write out the G-Code (and some extra stuff which needs to be deleted).

The shape of your fingercuts is a cool workaround for the round shape of the tool.

Thanks! I've been working on this for a while now.
<big snip>

I want to model in 3D, not 2D with a fixed depth for each shape.  (Maybe that's an unrealistic thing to want.)

I think that's a fine thing to want --- there's no reason it couldn't be done using the technique I'm showing you'd just have to model the movement of the tool in 3 dimensions --- hopefully I'll learn enough math to make that happen presently.

The toolchain should be able to do something useful with a half-sphere:

intersection() {
sphere(20);
translate([-100,-100,0]) cube([200,200,200]);
}

And maybe that demonstrates my naïvety; tool head geometry might preclude doing that because unless the bit is more than 20mm >long the tool head might hit the sphere getting to the edges.

It should be possible to do a ball-nosed endmill traveling over the surface of the hemisphere to shape it, then have a square endmill do a waterline path around the lower perimeter of it to cut that out.

Tools like Carbide Create are commonly called 2.5D, >but if I understand them correctly I think that I'd only give them 2.2D.  >The device is fundamentally limited in that it can only cut down >(and so there cannot be any overhangs of any kind), >but it's perfectly capable of cutting slopes. 

That's 2.5D described as a limitation over full 3D.

Carbide Create and the ilk basically have you draw out something in 2D >and then specify a depth for each shape; they don't seem to have any notion of slope.

Mostly. One can do V carving and textures --- I even did a joinery design abusing the Advanced V carving feature in Carbide Create.

Maybe I should get over it, treat the CNC as a 2D device - >basically, a cutter - with very limited 3D capabilities, >rather than wanting it to be the subtractive equivalent of a 3D printer.

There's always directly programming in G-Code --- with tools such as G-Sharp it might be workable:
https://github.com/NRSoft/GSharp
and there are more listed at: https://wiki.shapeoko.com/index.php/Programming

And Rob Ward wrote:

Wouldn't this require a post OpenSCAD package that operates >on .STL files to drive a milling machine, somewhat of the complexity of a slicer eg Cura for 3D printers?

No, please see my code from my previous messages --- basically rather than modeling the shape, one models the stock and carves away from it using tool-shaped geometry and one captures the tool movement as G-Code.

Otherwise if you are working from pure logical shape identities, >why use OpenSCAD in the first place? It almost immediately >makes extracting coordinates of shapes impossible or very convoluted.

I'm not, and I'm using OpenSCAD because it has a neat front-end in 
https://www.blockscad3d.com/
and I've pretty much managed to solve extracting the coordinates.
<snip description of something more complex than what I envision>
I will note that if one modeled a tool such as:
https://www.amazon.com/gp/product/B07XG6MTMH
or a ball cutter on a narrow shaft one could do undercuts.

Personally I would find this a very attractive proposition, >and useful to extend my (basic) OpenSCAD skills into this area.

Thanks! --- I'd be curious what you think of my code or my discussion of this at: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126
I'll take Jordan's hemisphere description and see if I can make that into a test cut file to cut tomorrow.
I also need to make some test cuts for kerf bending plywood --- since I don't want to go through the tedium of faking it out in Carbide Create directly coding this in OpenSCAD is attractive.
William

Jordan Brown wrote: >Interesting.  So pretty much you have two programs interlaced - >once that models a 3D object, and one that emits a toolpath, >and they don't really have much to do with each other except for >sharing some dimensions. I'd describe it rather as a program which shows cutting out parts which has options to show said parts in various positions and to write out the G-Code (and some extra stuff which needs to be deleted). >The shape of your fingercuts is a cool workaround for the round shape of the tool. Thanks! I've been working on this for a while now. <big snip> >I want to model in 3D, not 2D with a fixed depth for each shape.  (Maybe that's an unrealistic thing to want.) I think that's a fine thing to want --- there's no reason it couldn't be done using the technique I'm showing you'd just have to model the movement of the tool in 3 dimensions --- hopefully I'll learn enough math to make that happen presently. >The toolchain should be able to do something useful with a half-sphere: intersection() { sphere(20); translate([-100,-100,0]) cube([200,200,200]); } >And maybe that demonstrates my naïvety; tool head geometry might preclude doing that because unless the bit is more than 20mm >long the tool head might hit the sphere getting to the edges. It should be possible to do a ball-nosed endmill traveling over the surface of the hemisphere to shape it, then have a square endmill do a waterline path around the lower perimeter of it to cut that out. >Tools like Carbide Create are commonly called 2.5D, >but if I understand them correctly I think that I'd only give them 2.2D.  >The device is fundamentally limited in that it can only cut down >(and so there cannot be *any* overhangs of any kind), >but it's perfectly capable of cutting slopes.  That's 2.5D described as a limitation over full 3D. >Carbide Create and the ilk basically have you draw out something in 2D >and then specify a depth for each shape; they don't seem to have any notion of slope. Mostly. One can do V carving and textures --- I even did a joinery design abusing the Advanced V carving feature in Carbide Create. >Maybe I should get over it, treat the CNC as a 2D device - >basically, a cutter - with very limited 3D capabilities, >rather than wanting it to be the subtractive equivalent of a 3D printer. There's always directly programming in G-Code --- with tools such as G-Sharp it might be workable: https://github.com/NRSoft/GSharp and there are more listed at: https://wiki.shapeoko.com/index.php/Programming And Rob Ward wrote: >Wouldn't this require a post OpenSCAD package that operates >on .STL files to drive a milling machine, somewhat of the complexity of a slicer eg Cura for 3D printers? No, please see my code from my previous messages --- basically rather than modeling the shape, one models the stock and carves away from it using tool-shaped geometry and one captures the tool movement as G-Code. >Otherwise if you are working from pure logical shape identities, >why use OpenSCAD in the first place? It almost immediately >makes extracting coordinates of shapes impossible or very convoluted. I'm not, and I'm using OpenSCAD because it has a neat front-end in  https://www.blockscad3d.com/ and I've pretty much managed to solve extracting the coordinates. <snip description of something more complex than what I envision> I will note that if one modeled a tool such as: https://www.amazon.com/gp/product/B07XG6MTMH or a ball cutter on a narrow shaft one could do undercuts. >Personally I would find this a very attractive proposition, >and useful to extend my (basic) OpenSCAD skills into this area. Thanks! --- I'd be curious what you think of my code or my discussion of this at: https://community.carbide3d.com/t/cnc-finger-joint-box/8880/126 I'll take Jordan's hemisphere description and see if I can make that into a test cut file to cut tomorrow. I also need to make some test cuts for kerf bending plywood --- since I don't want to go through the tedium of faking it out in Carbide Create directly coding this in OpenSCAD is attractive. William
JB
Jordan Brown
Sun, Aug 16, 2020 3:02 AM

On 8/15/2020 7:30 PM, William F. Adams via Discuss wrote:

I want to model in 3D, not 2D with a fixed depth for each shape. 
(Maybe that's an unrealistic thing to want.)

I think that's a fine thing to want --- there's no reason it couldn't
be done using the technique I'm showing you'd just have to model the
movement of the tool in 3 dimensions --- hopefully I'll learn enough
math to make that happen presently.

Generating the gcode in the general case is roughly equivalent to the
problem of generating gcode for a 3D printer - what a slicer does. 
There's an awful lot of calculation there.

The toolchain should be able to do something useful with a half-sphere:

 intersection() {
     sphere(20);
     translate([-100,-100,0]) cube([200,200,200]);
 }

And maybe that demonstrates my naïvety; tool head geometry might
preclude doing that because unless the bit is more than 20mm long the
tool head might hit the sphere getting to the edges.

It should be possible to do a ball-nosed endmill traveling over the
surface of the hemisphere to shape it, then have a square endmill do a
waterline path around the lower perimeter of it to cut that out.

I was thinking of the fact that the tool head - the thing that holds the
bit - is quite a bit larger than the bit itself, and on a near-vertical
surface with a bit that's shorter than the object being carved there's a
risk that the head will hit the piece.

And Rob Ward wrote:

Wouldn't this require a post OpenSCAD package that operates
on .STL files to drive a milling machine, somewhat of the complexity

of a slicer eg Cura for 3D printers?

No, please see my code from my previous messages --- basically rather
than modeling the shape, one models the stock and carves away from it
using tool-shaped geometry and one captures the tool movement as G-Code.

Another way to look at it is that you're specifying the tool path, and
building a parallel OpenSCAD model of the tool path.

That's an interesting way to look at it - totally upside-down from how I
normally think about modeling.  Normally I think about the shape of the
object and the toolpath is largely the slicer's problem.

I will note that if one modeled a tool such as:

https://www.amazon.com/gp/product/B07XG6MTMH

or a ball cutter on a narrow shaft one could do undercuts.

The fact that tool head shape matters is part of what makes my head hurt
when I think about general CNC.

On 8/15/2020 7:30 PM, William F. Adams via Discuss wrote: > >> I want to model in 3D, not 2D with a fixed depth for each shape.  >> (Maybe that's an unrealistic thing to want.) > I think that's a fine thing to want --- there's no reason it couldn't > be done using the technique I'm showing you'd just have to model the > movement of the tool in 3 dimensions --- hopefully I'll learn enough > math to make that happen presently. Generating the gcode in the general case is roughly equivalent to the problem of generating gcode for a 3D printer - what a slicer does.  There's an awful lot of calculation there. >> The toolchain should be able to do something useful with a half-sphere: >> >> intersection() { >> sphere(20); >> translate([-100,-100,0]) cube([200,200,200]); >> } >> >> And maybe that demonstrates my naïvety; tool head geometry might >> preclude doing that because unless the bit is more than 20mm long the >> tool head might hit the sphere getting to the edges. > > It should be possible to do a ball-nosed endmill traveling over the > surface of the hemisphere to shape it, then have a square endmill do a > waterline path around the lower perimeter of it to cut that out. I was thinking of the fact that the tool head - the thing that holds the bit - is quite a bit larger than the bit itself, and on a near-vertical surface with a bit that's shorter than the object being carved there's a risk that the head will hit the piece. > And Rob Ward wrote: > > >Wouldn't this require a post OpenSCAD package that operates > >on .STL files to drive a milling machine, somewhat of the complexity > of a slicer eg Cura for 3D printers? > > No, please see my code from my previous messages --- basically rather > than modeling the shape, one models the stock and carves away from it > using tool-shaped geometry and one captures the tool movement as G-Code. Another way to look at it is that you're specifying the tool path, and building a parallel OpenSCAD model of the tool path. That's an interesting way to look at it - totally upside-down from how I normally think about modeling.  Normally I think about the shape of the object and the toolpath is largely the slicer's problem. > I will note that if one modeled a tool such as: > > https://www.amazon.com/gp/product/B07XG6MTMH > > or a ball cutter on a narrow shaft one could do undercuts. The fact that tool head shape matters is part of what makes my head hurt when I think about general CNC.