discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: Tangential join/infill two parallel vertical cylindrical tubes.

AC
A. Craig West
Thu, Apr 22, 2021 9:47 PM

You will want a higher convexity on that

On Thu, 22 Apr 2021, 17:29 Jordan Brown, openscad@jordan.maileater.net
wrote:

On 4/22/2021 11:42 AM, Ray West wrote:

The following is much easier to write, it complies with 2.5 d thinking,
and the the concept would work on polygons, or other 2d shapes. It is all
constructed from 2d and extruding, but There is no straightforward way to
convert it to a dxf file within openscad, afaik.

module xyz(x,y,z){
linear_extrude(-z)
translate([x,y])children();
}

I think you have the signs wrong; you negate Z here but then you supply
negative values below so the result is positive.

I'm going to assume that you only intended one negation; you want to drill
holes down from the Z=0 plane.

So why doesn't this do what you want?

module xyz(x,y,z){
mirror([0,0,1]) linear_extrude(-z)
translate([x,y])children();
}

intersection(){
difference(){
xyz(0,0,-50)square(200,true); // work piece
// pockets
xyz(0,-30,-50)circle(20);
xyz(0,0,-50)circle(15);
xyz(20,0,-30)circle(20);
xyz(0,0,-20)square([100,50],true);
//island
difference(){
xyz(0,60,-20)square(40,true);
xyz(0,60,-20)circle(10);
}
}

// profile  (intersection with object)
xyz(0,0,-49)square(195,true);
}

On 22/04/2021 13:14, Ray West wrote:

On 21/04/2021 23:29, Jordan Brown wrote:

What would linear-extruding down do that's different from mirroring?
The only thing I can think of offhand is that maybe the direction of the
twist would be reversed - and of course a relatively simple wrapper could
do that.

The following code may explain the overall awkwardness of my efforts

translate([400,0]){
difference(){
linear_extrude(30)square(250,true);
linear_extrude(20)circle (100);
linear_extrude(50)circle(50);
linear_extrude(50)translate ([0,80]) square(25,true);
linear_extrude(50)translate ([80,0]) circle(20);
}
}

// 2d conversion.

difference(){
square(250,true); //block 250square by 30
circle (100); // bore 20 deep
}
circle(50); // bore right through
translate ([0,80]) square(25,true); //bore right through
translate ([80,0]) circle(20); //bore right through

The first block of code shows the shape of the object (It is not too
difficult to draw it upside down). the linear_extrude values are the depths
of the pockets/profiles (-z values). To convert it back to 2d for exporting
as dxf, requires differencing some items. On this simple made up example,
it is not much of a problem, but it certainly would be for a more complex
item. (move the small square to [0,90], say. I would like to be able to
produce the 2d drawing (my initial starting point) without fussing with
differences, etc, and simply add some linear-extrudes with depths, to get a
quick look at the solid object.

The starting point would be from the 2d dimensions, a hand drawn sketch,
say.


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


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


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

You will want a higher convexity on that On Thu, 22 Apr 2021, 17:29 Jordan Brown, <openscad@jordan.maileater.net> wrote: > On 4/22/2021 11:42 AM, Ray West wrote: > > The following is much easier to write, it complies with 2.5 d thinking, > and the the concept would work on polygons, or other 2d shapes. It is all > constructed from 2d and extruding, but There is no straightforward way to > convert it to a dxf file within openscad, afaik. > > > module xyz(x,y,z){ > linear_extrude(-z) > translate([x,y])children(); > } > > > I think you have the signs wrong; you negate Z here but then you supply > negative values below so the result is positive. > > I'm going to assume that you only intended one negation; you want to drill > holes down from the Z=0 plane. > > So why doesn't this do what you want? > > module xyz(x,y,z){ > mirror([0,0,1]) linear_extrude(-z) > translate([x,y])children(); > } > > > > > > > > intersection(){ > difference(){ > xyz(0,0,-50)square(200,true); // work piece > // pockets > xyz(0,-30,-50)circle(20); > xyz(0,0,-50)circle(15); > xyz(20,0,-30)circle(20); > xyz(0,0,-20)square([100,50],true); > //island > difference(){ > xyz(0,60,-20)square(40,true); > xyz(0,60,-20)circle(10); > } > } > > // profile (intersection with object) > xyz(0,0,-49)square(195,true); > } > > On 22/04/2021 13:14, Ray West wrote: > > > On 21/04/2021 23:29, Jordan Brown wrote: > > What would linear-extruding down do that's different from mirroring? > The only thing I can think of offhand is that maybe the direction of the > twist would be reversed - and of course a relatively simple wrapper could > do that. > > The following code may explain the overall awkwardness of my efforts > > translate([400,0]){ > difference(){ > linear_extrude(30)square(250,true); > linear_extrude(20)circle (100); > linear_extrude(50)circle(50); > linear_extrude(50)translate ([0,80]) square(25,true); > linear_extrude(50)translate ([80,0]) circle(20); > } > } > > // 2d conversion. > > difference(){ > square(250,true); //block 250square by 30 > circle (100); // bore 20 deep > } > circle(50); // bore right through > translate ([0,80]) square(25,true); //bore right through > translate ([80,0]) circle(20); //bore right through > > The first block of code shows the shape of the object (It is not too > difficult to draw it upside down). the linear_extrude values are the depths > of the pockets/profiles (-z values). To convert it back to 2d for exporting > as dxf, requires differencing some items. On this simple made up example, > it is not much of a problem, but it certainly would be for a more complex > item. (move the small square to [0,90], say. I would like to be able to > produce the 2d drawing (my initial starting point) without fussing with > differences, etc, and simply add some linear-extrudes with depths, to get a > quick look at the solid object. > > The starting point would be from the 2d dimensions, a hand drawn sketch, > say. > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
RW
Ray West
Sun, Apr 25, 2021 11:57 AM

On 21/04/2021 18:16, A. Craig West wrote:

Openscad is an amazingly flexible tool, but I do find that it is
overly limited by the assumption that 3d printers are the only
possible use case. I find that the language is great for expressing
geometry in 2d as well, but due to the assumption that all generated
objects must have thickness/volume, you can't actually use it for
things like laser cutting...

I think that is the major problem. However in my quest to overcome that,
in examining what I need for 2.5d 3 axis milling, I've decided to use
'projection', slicing the 3d model at various levels. However, the
levels required for slicing, are not the depths required for machining.
I was translating in x/y each projection and saving it as a single dxf
file, then realigning them in my 2d drawing package, going around the
houses to get back to where i started, so to speak.

I'm wondering if there is a more automated method, whereby each
individual projection could be saved as a dxf, (without translating them
in x/y plane) then I could simply import them into the same drawing in
my 2d drawing package, without having to realign them. I'm thinking it
may require a separate program to parse the scad file, identify the
commented out projections, uncomment them one by one, running openscad
via command line for each  projection, and saving as a uniquely named
dxf. . A bit convoluted, but doable. I could also include other
information, too, tool type, for example. I'm not sure if it is worth
the effort, I see it more as a journey, rather than the destination. At
the ed of the day, there is still a fair bit of manual adjustments that
need to be made, in getting from a simple drawing to final object, it is
not the same as profile milling an stl file.

//for dxf drawing
//projection(cut=true) translate([0,0,100])first_op();  // z- 100 T15
//projection(cut=true) translate([0,0,90.1])first_op(); // stand off 
T15 z-95
//projection(cut=true) translate([0,0,40])first_op(); // square T15 z-90
//projection(cut=true) translate([0,0,24.9])first_op(); // notch T15 z-25
//projection(cut=true) translate([0,0,.1])first_op(); // lip  T21 z-10

On 21/04/2021 18:16, A. Craig West wrote: > Openscad is an amazingly flexible tool, but I do find that it is > overly limited by the assumption that 3d printers are the only > possible use case. I find that the language is great for expressing > geometry in 2d as well, but due to the assumption that all generated > objects must have thickness/volume, you can't actually use it for > things like laser cutting... I think that is the major problem. However in my quest to overcome that, in examining what I need for 2.5d 3 axis milling, I've decided to use 'projection', slicing the 3d model at various levels. However, the levels required for slicing, are not the depths required for machining. I was translating in x/y each projection and saving it as a single dxf file, then realigning them in my 2d drawing package, going around the houses to get back to where i started, so to speak. I'm wondering if there is a more automated method, whereby each individual projection could be saved as a dxf, (without translating them in x/y plane) then I could simply import them into the same drawing in my 2d drawing package, without having to realign them. I'm thinking it may require a separate program to parse the scad file, identify the commented out projections, uncomment them one by one, running openscad via command line for each  projection, and saving as a uniquely named dxf. . A bit convoluted, but doable. I could also include other information, too, tool type, for example. I'm not sure if it is worth the effort, I see it more as a journey, rather than the destination. At the ed of the day, there is still a fair bit of manual adjustments that need to be made, in getting from a simple drawing to final object, it is not the same as profile milling an stl file. //for dxf drawing //projection(cut=true) translate([0,0,100])first_op();  // z- 100 T15 //projection(cut=true) translate([0,0,90.1])first_op(); // stand off  T15 z-95 //projection(cut=true) translate([0,0,40])first_op(); // square T15 z-90 //projection(cut=true) translate([0,0,24.9])first_op(); // notch T15 z-25 //projection(cut=true) translate([0,0,.1])first_op(); // lip  T21 z-10
WF
William F. Adams
Sun, Apr 25, 2021 1:46 PM

Yes, iterating on DXF exports is one option --- it's a bit tedious though --- I find the most expedient thing to do is to use an if/then in a module and to surround the various geometries needed with consistently offset and sized rectangles which can all be in one DXF and which can then be imported in a single operation and composited in the CAM tool.
Does DXF have better support for this sort of thing in the 3D extensions I've read about?
Does DXF support layers? If so, could projection() be modified to take an argument of which Z height each operation was for, and then each projection() command could go an a separate layer?
Or, why not just allow exporting of arbitrary text files in the course of running a file? TeX allows one to define and set up multiple outputs and open/write to/close files (it also allows reading files which would be handy).
Writing out files might even allow hand-coding a DXF as part of a 3D model, no projection() necessary, or it could allow adding support for arbitrary CAD/CAM formats such as the JSON-based .c2d file format used by the freely available Carbide Create (yes, I work for the company).
Or, it could allow one to directly write out G-Code allowing one to cut (and possibly 3D print) geometries which no other CAM tool would allow.
William

Yes, iterating on DXF exports is one option --- it's a bit tedious though --- I find the most expedient thing to do is to use an if/then in a module and to surround the various geometries needed with consistently offset and sized rectangles which can all be in one DXF and which can then be imported in a single operation and composited in the CAM tool. Does DXF have better support for this sort of thing in the 3D extensions I've read about? Does DXF support layers? If so, could projection() be modified to take an argument of which Z height each operation was for, and then each projection() command could go an a separate layer? Or, why not just allow exporting of arbitrary text files in the course of running a file? TeX allows one to define and set up multiple outputs and open/write to/close files (it also allows reading files which would be handy). Writing out files might even allow hand-coding a DXF as part of a 3D model, no projection() necessary, or it could allow adding support for arbitrary CAD/CAM formats such as the JSON-based .c2d file format used by the freely available Carbide Create (yes, I work for the company). Or, it could allow one to directly write out G-Code allowing one to cut (and possibly 3D print) geometries which no other CAM tool would allow. William
JB
Jordan Brown
Mon, Apr 26, 2021 3:22 AM

On 4/25/2021 4:57 AM, Ray West wrote:

I'm wondering if there is a more automated method, whereby each
individual projection could be saved as a dxf, (without translating
them in x/y plane) then I could simply import them into the same
drawing in my 2d drawing package, without having to realign them. I'm
thinking it may require a separate program to parse the scad file,
identify the commented out projections, uncomment them one by one,
running openscad via command line for each  projection, and saving as
a uniquely named dxf. . A bit convoluted, but doable. I could also
include other information, too, tool type, for example. I'm not sure
if it is worth the effort, I see it more as a journey, rather than the
destination. At the ed of the day, there is still a fair bit of manual
adjustments that need to be made, in getting from a simple drawing to
final object, it is not the same as profile milling an stl file.

You don't want to externally parse the .scad file.  That could be a
nightmare.  But you don't need to.  OpenSCAD knows how to parse them,
and it'll do it right.  You just need to use OpenSCAD to derive the
list, and then to select the desired layer.

//for dxf drawing
//projection(cut=true) translate([0,0,100])first_op();  // z- 100 T15
//projection(cut=true) translate([0,0,90.1])first_op(); // stand off 
T15 z-95
//projection(cut=true) translate([0,0,40])first_op(); // square T15 z-90
//projection(cut=true) translate([0,0,24.9])first_op(); // notch T15 z-25
//projection(cut=true) translate([0,0,.1])first_op(); // lip  T21 z-10

Something like so:

// Display/operation mode
mode = "3d";    // [ 3d, all, one, list ]
// Which layer to select if mode="one"
layer = 0;    // [0:0.1:200]
// List of layers
layers = [ 100, 90.1, 40, 24.9, 0.1 ];

if (mode=="3d") {
    first_op();
} else if (mode == "list") {
    for (z = layers) {
        echo("LAYER", z);
    }
} else if (mode == "all") {
    for (z = layers) {
        translate([0,0,z])
            projection(cut=true)
            translate([0,0,-z])
            first_op();
    }
} else if (mode == "one") {
    projection(cut=true) translate([0,0,-layer]) first_op();
}

You write an external script that runs openscad with -Dmode="list"
(which, if you're in a UNIX shell, would be something like
-Dmode="list").  You have the script collect the output, looking for
lines that look like

ECHO: "LAYER", 100

and stripping off everything before the comma and space.  Your then have
it repeatedly execute openscad with -Dmode="one" -Dlayer=N, where N is
the successive layer values, having it generate a DXF file.

Congratulations, you now have your N DXF files.

Note that it's rigged to let you use the Customizer to play with the
options manually.

On 4/25/2021 4:57 AM, Ray West wrote: > I'm wondering if there is a more automated method, whereby each > individual projection could be saved as a dxf, (without translating > them in x/y plane) then I could simply import them into the same > drawing in my 2d drawing package, without having to realign them. I'm > thinking it may require a separate program to parse the scad file, > identify the commented out projections, uncomment them one by one, > running openscad via command line for each  projection, and saving as > a uniquely named dxf. . A bit convoluted, but doable. I could also > include other information, too, tool type, for example. I'm not sure > if it is worth the effort, I see it more as a journey, rather than the > destination. At the ed of the day, there is still a fair bit of manual > adjustments that need to be made, in getting from a simple drawing to > final object, it is not the same as profile milling an stl file. You don't want to externally parse the .scad file.  That could be a nightmare.  But you don't need to.  OpenSCAD knows how to parse them, and it'll do it right.  You just need to use OpenSCAD to derive the list, and then to select the desired layer. > //for dxf drawing > //projection(cut=true) translate([0,0,100])first_op();  // z- 100 T15 > //projection(cut=true) translate([0,0,90.1])first_op(); // stand off  > T15 z-95 > //projection(cut=true) translate([0,0,40])first_op(); // square T15 z-90 > //projection(cut=true) translate([0,0,24.9])first_op(); // notch T15 z-25 > //projection(cut=true) translate([0,0,.1])first_op(); // lip  T21 z-10 Something like so: // Display/operation mode mode = "3d"; // [ 3d, all, one, list ] // Which layer to select if mode="one" layer = 0; // [0:0.1:200] // List of layers layers = [ 100, 90.1, 40, 24.9, 0.1 ]; if (mode=="3d") { first_op(); } else if (mode == "list") { for (z = layers) { echo("LAYER", z); } } else if (mode == "all") { for (z = layers) { translate([0,0,z]) projection(cut=true) translate([0,0,-z]) first_op(); } } else if (mode == "one") { projection(cut=true) translate([0,0,-layer]) first_op(); } You write an external script that runs openscad with -Dmode="list" (which, if you're in a UNIX shell, would be something like -Dmode=\"list\").  You have the script collect the output, looking for lines that look like ECHO: "LAYER", 100 and stripping off everything before the comma and space.  Your then have it repeatedly execute openscad with -Dmode="one" -Dlayer=N, where N is the successive layer values, having it generate a DXF file. Congratulations, you now have your N DXF files. Note that it's rigged to let you use the Customizer to play with the options manually.
L
lar3ry
Mon, Apr 26, 2021 3:47 AM

JordanBrown wrote

You don't want to externally parse the .scad file.  That could be a
nightmare.  But you don't need to.  OpenSCAD knows how to parse them,
and it'll do it right.  You just need to use OpenSCAD to derive the
list, and then to select the desired layer.

I'm probably missing something, but wouldn't it be easier to run an STL or
3MF though a slicer and then write an external program to parse the GCode
layer by layer?

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

JordanBrown wrote > You don't want to externally parse the .scad file.  That could be a > nightmare.  But you don't need to.  OpenSCAD knows how to parse them, > and it'll do it right.  You just need to use OpenSCAD to derive the > list, and then to select the desired layer. I'm probably missing something, but wouldn't it be easier to run an STL or 3MF though a slicer and then write an external program to parse the GCode layer by layer? -- Sent from: http://forum.openscad.org/
JB
Jordan Brown
Mon, Apr 26, 2021 6:05 AM

On 4/25/2021 8:47 PM, lar3ry wrote:

I'm probably missing something, but wouldn't it be easier to run an
STL or 3MF though a slicer and then write an external program to parse
the GCode layer by layer?

GCode is a toolpath, and your CAM pipeline is going to want something
more like a line drawing.  You'd have to figure out that those hundreds
or thousands of tool movements total up to a a 2D shape, that the CAM
pipeline can then turn into its own totally different toolpaths.

On 4/25/2021 8:47 PM, lar3ry wrote: > I'm probably missing something, but wouldn't it be easier to run an > STL or 3MF though a slicer and then write an external program to parse > the GCode layer by layer? GCode is a toolpath, and your CAM pipeline is going to want something more like a line drawing.  You'd have to figure out that those hundreds or thousands of tool movements total up to a a 2D shape, that the CAM pipeline can then turn into its own totally different toolpaths.
L
lar3ry
Mon, Apr 26, 2021 10:58 AM

JordanBrown wrote

On 4/25/2021 8:47 PM, lar3ry wrote:

I'm probably missing something, but wouldn't it be easier to run an
STL or 3MF though a slicer and then write an external program to parse
the GCode layer by layer?

GCode is a toolpath, and your CAM pipeline is going to want something
more like a line drawing.  You'd have to figure out that those hundreds
or thousands of tool movements total up to a a 2D shape, that the CAM
pipeline can then turn into its own totally different toolpaths.

OK, so what about something like a slicer designed for MSLA 3D printing?
Perhaps something like Chitubox? It's binary and not open source, but are
there other, similar programs that give you a layer by layer representation
that would be easier to parse than an STL?

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

JordanBrown wrote > On 4/25/2021 8:47 PM, lar3ry wrote: >> I'm probably missing something, but wouldn't it be easier to run an >> STL or 3MF though a slicer and then write an external program to parse >> the GCode layer by layer? > > GCode is a toolpath, and your CAM pipeline is going to want something > more like a line drawing.  You'd have to figure out that those hundreds > or thousands of tool movements total up to a a 2D shape, that the CAM > pipeline can then turn into its own totally different toolpaths. OK, so what about something like a slicer designed for MSLA 3D printing? Perhaps something like Chitubox? It's binary and not open source, but are there other, similar programs that give you a layer by layer representation that would be easier to parse than an STL? -- Sent from: http://forum.openscad.org/
GH
Gene Heskett
Mon, Apr 26, 2021 1:43 PM

On Monday 26 April 2021 06:58:27 lar3ry wrote:

JordanBrown wrote

On 4/25/2021 8:47 PM, lar3ry wrote:

I'm probably missing something, but wouldn't it be easier to run an
STL or 3MF though a slicer and then write an external program to
parse the GCode layer by layer?

GCode is a toolpath, and your CAM pipeline is going to want
something more like a line drawing.  You'd have to figure out that
those hundreds or thousands of tool movements total up to a a 2D
shape, that the CAM pipeline can then turn into its own totally
different toolpaths.

OK, so what about something like a slicer designed for MSLA 3D
printing? Perhaps something like Chitubox? It's binary and not open
source, but are there other, similar programs that give you a layer by
layer representation that would be easier to parse than an STL?

Sure. I slice with cura, which has a preview mode where you can watch it
build your project or take it apart if you  pull the slider backwards,
or an enterprising bash author could knock out a script that could split
the resulting gcode up into layer by layer files if you need that level
of granularity. But tall projects will generate hundreds of files doing
that.

Cheers, Gene Heskett

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

On Monday 26 April 2021 06:58:27 lar3ry wrote: > JordanBrown wrote > > > On 4/25/2021 8:47 PM, lar3ry wrote: > >> I'm probably missing something, but wouldn't it be easier to run an > >> STL or 3MF though a slicer and then write an external program to > >> parse the GCode layer by layer? > > > > GCode is a toolpath, and your CAM pipeline is going to want > > something more like a line drawing.  You'd have to figure out that > > those hundreds or thousands of tool movements total up to a a 2D > > shape, that the CAM pipeline can then turn into its own totally > > different toolpaths. > > OK, so what about something like a slicer designed for MSLA 3D > printing? Perhaps something like Chitubox? It's binary and not open > source, but are there other, similar programs that give you a layer by > layer representation that would be easier to parse than an STL? > Sure. I slice with cura, which has a preview mode where you can watch it build your project or take it apart if you pull the slider backwards, or an enterprising bash author could knock out a script that could split the resulting gcode up into layer by layer files if you need that level of granularity. But tall projects will generate hundreds of files doing that. > > > > -- > Sent from: http://forum.openscad.org/ Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) If we desire respect for the law, we must first make the law respectable. - Louis D. Brandeis Genes Web page <http://geneslinuxbox.net:6309/gene>
RW
Ray West
Mon, Apr 26, 2021 2:27 PM

Something like a slicer would work, after all that is what
projection(cut=true) does. If i sliced it in Cura, say, then I can get
the gcode for a specific layer height, but it would need parsing a large
file of possibly thousands of layers to get the four or five usually
needed. The Cura g-code is for laying down the path for a filament of a
finite width. I would need the outline of the final printed path,
including the width of the layer as a dxf file. The Cura gcode would
need a lot of maths applied to get back to the outline of the object,
convert it to dxf or hpgl format or if going straight to cnc machinable
g-code would need to add the tool offsets, which may not be known at
this stage.

I can directly machine stl files anyway, more or less automatically, but
although that process is maybe good enough for wood, or ornamental work,
there is generally not precise enough control of the cutter paths and
speeds for what I need. I possibly have an irrational mistrust of stl
format for precision work.

On 26/04/2021 11:58, lar3ry wrote:

 JordanBrown wrote
 On 4/25/2021 8:47 PM, lar3ry wrote:

I'm probably missing something, but wouldn't it be easier to run an
STL or 3MF though a slicer and then write an external program to

 parse

the GCode layer by layer?

 GCode is a toolpath, and your CAM pipeline is going to want something
 more like a line drawing.  You'd have to figure out that those
 hundreds
 or thousands of tool movements total up to a a 2D shape, that the CAM
 pipeline can then turn into its own totally different toolpaths.

OK, so what about something like a slicer designed for MSLA 3D printing?
Perhaps something like Chitubox? It's binary and not open source, but
are there other, similar programs that give you a layer by layer
representation that would be easier to parse than an STL?


Sent from the OpenSCAD mailing list archive
http://forum.openscad.org/ at Nabble.com.


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

Something like a slicer would work, after all that is what projection(cut=true) does. If i sliced it in Cura, say, then I can get the gcode for a specific layer height, but it would need parsing a large file of possibly thousands of layers to get the four or five usually needed. The Cura g-code is for laying down the path for a filament of a finite width. I would need the outline of the final printed path, including the width of the layer as a dxf file. The Cura gcode would need a lot of maths applied to get back to the outline of the object, convert it to dxf or hpgl format or if going straight to cnc machinable g-code would need to add the tool offsets, which may not be known at this stage. I can directly machine stl files anyway, more or less automatically, but although that process is maybe good enough for wood, or ornamental work, there is generally not precise enough control of the cutter paths and speeds for what I need. I possibly have an irrational mistrust of stl format for precision work. On 26/04/2021 11:58, lar3ry wrote: > > JordanBrown wrote > On 4/25/2021 8:47 PM, lar3ry wrote: > > I'm probably missing something, but wouldn't it be easier to run an > > STL or 3MF though a slicer and then write an external program to > parse > > the GCode layer by layer? > > GCode is a toolpath, and your CAM pipeline is going to want something > more like a line drawing.  You'd have to figure out that those > hundreds > or thousands of tool movements total up to a a 2D shape, that the CAM > pipeline can then turn into its own totally different toolpaths. > > OK, so what about something like a slicer designed for MSLA 3D printing? > Perhaps something like Chitubox? It's binary and not open source, but > are there other, similar programs that give you a layer by layer > representation that would be easier to parse than an STL? > > ------------------------------------------------------------------------ > Sent from the OpenSCAD mailing list archive > <http://forum.openscad.org/> at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org