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:
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 [hidden email] 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 <[hidden email]> wrote:
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
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
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
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 [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
Issue was closed, so continuing this at:
-----Original Message-----
From: William F. Adams via Discuss <[hidden email]> To: [hidden email] <[hidden email]> Cc: William F. Adams <[hidden email]> 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 [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
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 [hidden email] 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 <[hidden email]> 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 > [hidden email] > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
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. If you want access to the coordinates you'd have to do your own transforms in parallel.translate([x,y,z]) { /* Nothing here has any way to access the the new origin in global coordinates. */ } _______________________________________________ OpenSCAD mailing list [hidden email] 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, <[hidden email]> wrote:
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by OpenSCAD mailing list-2
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 [hidden email] 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 <[hidden email]> To: [hidden email] 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 [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org _______________________________________________ OpenSCAD mailing list [hidden email] 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:
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
Administrator
|
In reply to this post by acwest
> 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:[hidden email]] On Behalf Of A. Craig West 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, <[hidden email]>
wrote:
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
OpenSCAD Admin - email* me if you need anything, or if I've done something stupid...
* on the Forum, click on my MichaelAtOz label, there is a link to email me. Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above. |
In reply to this post by mondo
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 [hidden email] 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:
_______________________________________________ OpenSCAD mailing list [hidden email] 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 <[hidden email]> To: William F. Adams via Discuss <[hidden email]> 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:
>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:
and I've cut boxes thus:
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:
and
and
William
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org _______________________________________________
OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
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
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.)... | sed -n 's/^ECHO: "\(.*\)"$/\1/p' 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 [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by OpenSCAD mailing list-2
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:
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by JordanBrown
-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 <[hidden email]> wrote:
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by JordanBrown
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.
>-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
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
Free forum by Nabble | Edit this page |