discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

[semi-on-topic] print speed optimized sinus support material. integration interface possible??

P
pproj@posteo.de
Sat, Mar 12, 2016 3:50 PM

well what should i say? i am glad your slicer is working out well for
you, so you will probably have no need for similar tools and all the
export and import steps the process requires,
it was definitely not the case on my models with slic3r, that was the
very reason i interrupted the work on the part and took time to
implement the support.
first in .scad and redoing it in javascript for the reasons we have been
talking about. and it is actually working reasonably well for me (and i
am not going to say perfect no, but it is an obvios improvement in
support quality vs printing time in my case).
there are many reasons i am not going to f#rk (with) slicers source i
just have been discussing in the same thread  with nop-head. there were
many reasons to go the .js path, and it seems to work, and i hope others
who experience similar problems with slicers support, can use it as
well, that is why i put it on github, and in the process of this
discussion may be we will come up with a way of making openscad more
extensible and open for tools. thats it.

Peter
On 12.03.2016 16:21, Parkinbot wrote:

My slicer does a nice path on that. If linewidth is not to thin jump don't
occur often. Of course, there are jumps at the boundaries. Jump minimization
is another task done by the slicer.

So, if path planning and GCODE optimization is your concern, OpenScad will
not help you. Better follow nophead's proposal and fork out your own slic3r
branch to solve your problems there. https://github.com/alexrj/Slic3r

Rudolf

--
View this message in context: http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16443.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

well what should i say? i am glad your slicer is working out well for you, so you will probably have no need for similar tools and all the export and import steps the process requires, it was definitely not the case on my models with slic3r, that was the very reason i interrupted the work on the part and took time to implement the support. first in .scad and redoing it in javascript for the reasons we have been talking about. and it is actually working reasonably well for me (and i am not going to say perfect no, but it is an obvios improvement in support quality vs printing time in my case). there are many reasons i am not going to f#rk (with) slicers source i just have been discussing in the same thread with nop-head. there were many reasons to go the .js path, and it seems to work, and i hope others who experience similar problems with slicers support, can use it as well, that is why i put it on github, and in the process of this discussion may be we will come up with a way of making openscad more extensible and open for tools. thats it. Peter On 12.03.2016 16:21, Parkinbot wrote: > My slicer does a nice path on that. If linewidth is not to thin jump don't > occur often. Of course, there are jumps at the boundaries. Jump minimization > is another task done by the slicer. > > So, if path planning and GCODE optimization is your concern, OpenScad will > not help you. Better follow nophead's proposal and fork out your own slic3r > branch to solve your problems there. https://github.com/alexrj/Slic3r > > Rudolf > > > > -- > View this message in context: http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16443.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
P
pproj@posteo.de
Sat, Mar 12, 2016 4:00 PM

Ronaldo i am not 100% sure i understand you right, but i think this i
exactly what the current tool we are discussing is doing, it just skips
the extrusion step and processes the2D  .svg of the projection directly.
then it writes out the support path data as an openscad vector text
file  supportPathData.scad which one can then extrude to any height needed.
comprende?
Peter
On 12.03.2016 16:34, Ronaldo Persiano wrote:

I understand your point and agree that there is no way to do it
entirely in OpenSCAD without geometry query tools. However, it would
not be difficult to write a javascript code to process an OpenSCAD stl
file of the linear_extrude() of the part projection. This code would
generate a text file like this:
model=[
[[275,50,0],    [275,100,0],    [285,50,0]],
[[315,-50,0],    [325,-50,0],    [325,-100,0]],
[[315,50,0],    [325,100,0],    [325,50,0]],
[[315,50,0],    [275,100,0],    [325,100,0]],
[[285,-50,0],    [285,50,0],        [315,-50,0]],
[[315,-50,0],    [285,50,0],        [315,50,0]],
[[285,50,0],    [275,100,0],    [315,50,0]],
[[275,-100,0],    [285,-50,0],    [315,-50,0]],
[[275,-100,0],    [275,-50,0],    [285,-50,0]],
[[325,-100,0],    [275,-100,0],    [315,-50,0]]];

which could be inserted in a OpenSCAD code for further processing.

That approach doesn't avoid an external processing but the javascript
code could be valuable to any application demanding geometric queries.
And you may write then your support generation methods in OpenSCAD. :)

As a complement, would be nice also to have an OpenSCAD library to
answer geometric queries about models generated this way.

2016-03-12 11:15 GMT-03:00 pproj@posteo.de mailto:pproj@posteo.de
<pproj@posteo.de mailto:pproj@posteo.de>:

 i think i have problems explaining what this javascript tool is
 actually
 about.
 the starting point was a code in scad very similar to yours creating a
 sine filled block.

 but the tool does _not_ create a rectangular box filled with sinus.
 cutting out a footprint of almost any model out of such block will
 produce many discontinuities at the areas where the sinus wave is
 cut by
 the outline of footprint of the model. it will create many standalone
 "islands" of fractures of a sinewave. this will slow down the print.

 what the javascript tool realy does, and i think it is impossible in
 openscad without querieng the geometry, it tries to create a
 _continous_
 sine or half-scircle wave in the footprint of the model, so that
 you do
 not have to cut out the footprint out of a sine block, and printer can
 (ideally) print the whole layer of support without deccelerating
 or idly
 moving its head
 Peter
 On 12.03.2016 14:45, Parkinbot wrote:

The following code will create a box filled with cosine support.

 CGAL

rendering is almost instantaneous.
Is it what you were asking for?

http://forum.openscad.org/file/n16438/sinecomb.png

supportblock();

module supportblock(rows = 10, cols = 10, box = [100, 100, 10],

 thickness

= .1)
{
amplitude = box[1]/rows/2;
wavelength = box[0]/cols PI;
linear_extrude(height = box[2])
for(i = [0:rows-1])
Ty(i
amplitude*2)
polygon(points = sine(cols, amplitude, wavelength, i%2,

 thickness));

}

function sine(periods, amplitude, wavelength, mode, thickness =

 .01) =

let(amp = amplitude-thickness/1.9)
concat(
[for(i=[0:10:360periods]) [i/wavelength, ampcos(i+mode180)]],
[for(i=[360
periods:-1:0]) [i/wavelength,
ampcos(i+mode180)+thickness]]);

Rudolf

--
View this message in context:

 http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16438.html

Sent from the OpenSCAD mailing list archive at Nabble.com.


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

Ronaldo i am not 100% sure i understand you right, but i think this i exactly what the current tool we are discussing is doing, it just skips the extrusion step and processes the2D .svg of the projection directly. then it writes out the support path data as an openscad vector text file supportPathData.scad which one can then extrude to any height needed. comprende? Peter On 12.03.2016 16:34, Ronaldo Persiano wrote: > I understand your point and agree that there is no way to do it > entirely in OpenSCAD without geometry query tools. However, it would > not be difficult to write a javascript code to process an OpenSCAD stl > file of the linear_extrude() of the part projection. This code would > generate a text file like this: > model=[ > [[275,50,0], [275,100,0], [285,50,0]], > [[315,-50,0], [325,-50,0], [325,-100,0]], > [[315,50,0], [325,100,0], [325,50,0]], > [[315,50,0], [275,100,0], [325,100,0]], > [[285,-50,0], [285,50,0], [315,-50,0]], > [[315,-50,0], [285,50,0], [315,50,0]], > [[285,50,0], [275,100,0], [315,50,0]], > [[275,-100,0], [285,-50,0], [315,-50,0]], > [[275,-100,0], [275,-50,0], [285,-50,0]], > [[325,-100,0], [275,-100,0], [315,-50,0]]]; > > which could be inserted in a OpenSCAD code for further processing. > > That approach doesn't avoid an external processing but the javascript > code could be valuable to any application demanding geometric queries. > And you may write then your support generation methods in OpenSCAD. :) > > As a complement, would be nice also to have an OpenSCAD library to > answer geometric queries about models generated this way. > > 2016-03-12 11:15 GMT-03:00 pproj@posteo.de <mailto:pproj@posteo.de> > <pproj@posteo.de <mailto:pproj@posteo.de>>: > > i think i have problems explaining what this javascript tool is > actually > about. > the starting point was a code in scad very similar to yours creating a > sine filled block. > > but the tool does _not_ create a rectangular box filled with sinus. > cutting out a footprint of almost any model out of such block will > produce many discontinuities at the areas where the sinus wave is > cut by > the outline of footprint of the model. it will create many standalone > "islands" of fractures of a sinewave. this will slow down the print. > > what the javascript tool realy does, and i think it is impossible in > openscad without querieng the geometry, it tries to create a > _continous_ > sine or half-scircle wave in the footprint of the model, so that > you do > not have to cut out the footprint out of a sine block, and printer can > (ideally) print the whole layer of support without deccelerating > or idly > moving its head > Peter > On 12.03.2016 14:45, Parkinbot wrote: > > The following code will create a box filled with cosine support. > CGAL > > rendering is almost instantaneous. > > Is it what you were asking for? > > > > <http://forum.openscad.org/file/n16438/sinecomb.png> > > > > > >> supportblock(); > >> > >> module supportblock(rows = 10, cols = 10, box = [100, 100, 10], > thickness > >> = .1) > >> { > >> amplitude = box[1]/rows/2; > >> wavelength = box[0]/cols *PI; > >> linear_extrude(height = box[2]) > >> for(i = [0:rows-1]) > >> Ty(i*amplitude*2) > >> polygon(points = sine(cols, amplitude, wavelength, i%2, > thickness)); > >> } > >> > >> function sine(periods, amplitude, wavelength, mode, thickness = > .01) = > >> let(amp = amplitude-thickness/1.9) > >> concat( > >> [for(i=[0:10:360*periods]) [i/wavelength, amp*cos(i+mode*180)]], > >> [for(i=[360*periods:-1:0]) [i/wavelength, > >> amp*cos(i+mode*180)+thickness]]); > > Rudolf > > > > > > > > > > -- > > View this message in context: > http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16438.html > > Sent from the OpenSCAD mailing list archive at Nabble.com. > > > > _______________________________________________ > > 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
Sun, Mar 13, 2016 1:06 AM

In my simple mind OpenScad is as simple tool for describing geometry, not
querying it. Slicers take geometry and produce tool paths. If you don't
like the tool path modify the slicer. Don't advocate making OpenScad more
more complicated. Make the slicer more sophisticated.

Support material doesn't need to be sinusoidal, but it could benefit from
rounded corners (as could all tool paths) because above a certain radius
the x and y accelerations are capable of turning the corner without slowing
down at all.

I must admit I do make support structures myself in Openscad but I export
them separately and slice them separately and combine the gcode with the
appropriate z offset. See
http://hydraraptor.blogspot.co.uk/2012/08/peel-able-support.html. Support
needs a solid interface layer less than a layer height below the object, so
you can't export it in the same file as the object and expect the slicer to
make it peelable.

One day I will write my own slicer to do this automatically.

On 12 March 2016 at 16:00, pproj@posteo.de pproj@posteo.de wrote:

Ronaldo i am not 100% sure i understand you right, but i think this i
exactly what the current tool we are discussing is doing, it just skips the
extrusion step and processes the2D  .svg of the projection directly. then
it writes out the support path data as an openscad vector text file
supportPathData.scad which one can then extrude to any height needed.
comprende?
Peter

On 12.03.2016 16:34, Ronaldo Persiano wrote:

I understand your point and agree that there is no way to do it entirely
in OpenSCAD without geometry query tools. However, it would not be
difficult to write a javascript code to process an OpenSCAD stl file of the
linear_extrude() of the part projection. This code would generate a text
file like this:
model=[
[[275,50,0],    [275,100,0],    [285,50,0]],
[[315,-50,0],    [325,-50,0],    [325,-100,0]],
[[315,50,0],    [325,100,0],    [325,50,0]],
[[315,50,0],    [275,100,0],    [325,100,0]],
[[285,-50,0],    [285,50,0],        [315,-50,0]],
[[315,-50,0],    [285,50,0],        [315,50,0]],
[[285,50,0],    [275,100,0],    [315,50,0]],
[[275,-100,0],    [285,-50,0],    [315,-50,0]],
[[275,-100,0],    [275,-50,0],    [285,-50,0]],
[[325,-100,0],    [275,-100,0],    [315,-50,0]]];

which could be inserted in a OpenSCAD code for further processing.

That approach doesn't avoid an external processing but the javascript code
could be valuable to any application demanding geometric queries. And you
may write then your support generation methods in OpenSCAD. :)

As a complement, would be nice also to have an OpenSCAD library to answer
geometric queries about models generated this way.

2016-03-12 11:15 GMT-03:00 pproj@posteo.depproj@posteo.de <
pproj@posteo.de>:

i think i have problems explaining what this javascript tool is actually
about.
the starting point was a code in scad very similar to yours creating a
sine filled block.

but the tool does not create a rectangular box filled with sinus.
cutting out a footprint of almost any model out of such block will
produce many discontinuities at the areas where the sinus wave is cut by
the outline of footprint of the model. it will create many standalone
"islands" of fractures of a sinewave. this will slow down the print.

what the javascript tool realy does, and i think it is impossible in
openscad without querieng the geometry, it tries to create a continous
sine or half-scircle wave in the footprint of the model, so that you do
not have to cut out the footprint out of a sine block, and printer can
(ideally) print the whole layer of support without deccelerating or idly
moving its head
Peter
On 12.03.2016 14:45, Parkinbot wrote:

The following code will create a box filled with cosine support. CGAL
rendering is almost instantaneous.
Is it what you were asking for?

http://forum.openscad.org/file/n16438/sinecomb.png

supportblock();

module supportblock(rows = 10, cols = 10, box = [100, 100, 10],

thickness

= .1)
{
amplitude = box[1]/rows/2;
wavelength = box[0]/cols PI;
linear_extrude(height = box[2])
for(i = [0:rows-1])
Ty(i
amplitude*2)
polygon(points = sine(cols, amplitude, wavelength, i%2,

thickness));

}

function sine(periods, amplitude, wavelength, mode, thickness = .01) =
let(amp = amplitude-thickness/1.9)
concat(
[for(i=[0:10:360periods]) [i/wavelength, ampcos(i+mode180)]],
[for(i=[360
periods:-1:0]) [i/wavelength,
ampcos(i+mode180)+thickness]]);

Rudolf

--
View this message in context:

Sent from the OpenSCAD mailing list archive at Nabble.com.


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


OpenSCAD mailing listDiscuss@lists.openscad.orghttp://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

In my simple mind OpenScad is as simple tool for describing geometry, not querying it. Slicers take geometry and produce tool paths. If you don't like the tool path modify the slicer. Don't advocate making OpenScad more more complicated. Make the slicer more sophisticated. Support material doesn't need to be sinusoidal, but it could benefit from rounded corners (as could all tool paths) because above a certain radius the x and y accelerations are capable of turning the corner without slowing down at all. I must admit I do make support structures myself in Openscad but I export them separately and slice them separately and combine the gcode with the appropriate z offset. See http://hydraraptor.blogspot.co.uk/2012/08/peel-able-support.html. Support needs a solid interface layer less than a layer height below the object, so you can't export it in the same file as the object and expect the slicer to make it peelable. One day I will write my own slicer to do this automatically. On 12 March 2016 at 16:00, pproj@posteo.de <pproj@posteo.de> wrote: > Ronaldo i am not 100% sure i understand you right, but i think this i > exactly what the current tool we are discussing is doing, it just skips the > extrusion step and processes the2D .svg of the projection directly. then > it writes out the support path data as an openscad vector text file > supportPathData.scad which one can then extrude to any height needed. > comprende? > Peter > > On 12.03.2016 16:34, Ronaldo Persiano wrote: > > I understand your point and agree that there is no way to do it entirely > in OpenSCAD without geometry query tools. However, it would not be > difficult to write a javascript code to process an OpenSCAD stl file of the > linear_extrude() of the part projection. This code would generate a text > file like this: > model=[ > [[275,50,0], [275,100,0], [285,50,0]], > [[315,-50,0], [325,-50,0], [325,-100,0]], > [[315,50,0], [325,100,0], [325,50,0]], > [[315,50,0], [275,100,0], [325,100,0]], > [[285,-50,0], [285,50,0], [315,-50,0]], > [[315,-50,0], [285,50,0], [315,50,0]], > [[285,50,0], [275,100,0], [315,50,0]], > [[275,-100,0], [285,-50,0], [315,-50,0]], > [[275,-100,0], [275,-50,0], [285,-50,0]], > [[325,-100,0], [275,-100,0], [315,-50,0]]]; > > which could be inserted in a OpenSCAD code for further processing. > > That approach doesn't avoid an external processing but the javascript code > could be valuable to any application demanding geometric queries. And you > may write then your support generation methods in OpenSCAD. :) > > As a complement, would be nice also to have an OpenSCAD library to answer > geometric queries about models generated this way. > > 2016-03-12 11:15 GMT-03:00 <pproj@posteo.de>pproj@posteo.de < > pproj@posteo.de>: > >> i think i have problems explaining what this javascript tool is actually >> about. >> the starting point was a code in scad very similar to yours creating a >> sine filled block. >> >> but the tool does _not_ create a rectangular box filled with sinus. >> cutting out a footprint of almost any model out of such block will >> produce many discontinuities at the areas where the sinus wave is cut by >> the outline of footprint of the model. it will create many standalone >> "islands" of fractures of a sinewave. this will slow down the print. >> >> what the javascript tool realy does, and i think it is impossible in >> openscad without querieng the geometry, it tries to create a _continous_ >> sine or half-scircle wave in the footprint of the model, so that you do >> not have to cut out the footprint out of a sine block, and printer can >> (ideally) print the whole layer of support without deccelerating or idly >> moving its head >> Peter >> On 12.03.2016 14:45, Parkinbot wrote: >> > The following code will create a box filled with cosine support. CGAL >> > rendering is almost instantaneous. >> > Is it what you were asking for? >> > >> > <http://forum.openscad.org/file/n16438/sinecomb.png> >> > >> > >> >> supportblock(); >> >> >> >> module supportblock(rows = 10, cols = 10, box = [100, 100, 10], >> thickness >> >> = .1) >> >> { >> >> amplitude = box[1]/rows/2; >> >> wavelength = box[0]/cols *PI; >> >> linear_extrude(height = box[2]) >> >> for(i = [0:rows-1]) >> >> Ty(i*amplitude*2) >> >> polygon(points = sine(cols, amplitude, wavelength, i%2, >> thickness)); >> >> } >> >> >> >> function sine(periods, amplitude, wavelength, mode, thickness = .01) = >> >> let(amp = amplitude-thickness/1.9) >> >> concat( >> >> [for(i=[0:10:360*periods]) [i/wavelength, amp*cos(i+mode*180)]], >> >> [for(i=[360*periods:-1:0]) [i/wavelength, >> >> amp*cos(i+mode*180)+thickness]]); >> > Rudolf >> > >> > >> > >> > >> > -- >> > View this message in context: >> <http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16438.html> >> http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16438.html >> > Sent from the OpenSCAD mailing list archive at Nabble.com. >> > >> > _______________________________________________ >> > 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 >> > > > > _______________________________________________ > OpenSCAD mailing listDiscuss@lists.openscad.orghttp://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 > >
DM
doug moen
Sun, Mar 13, 2016 1:56 AM

@nophead That blog post is quite interesting, thanks.

This makes it clear why you need a special feature in the slicer to do user
defined peelable support. The support object would have to be imported as a
separate STL. Or, if we implement multiple colours/materials using a single
AMF file, as discussed in other threads, then the support object could be
included in the AMF file as a separate labeled object.

On 12 March 2016 at 20:06, nop head nop.head@gmail.com wrote:

In my simple mind OpenScad is as simple tool for describing geometry, not
querying it. Slicers take geometry and produce tool paths. If you don't
like the tool path modify the slicer. Don't advocate making OpenScad more
more complicated. Make the slicer more sophisticated.

Support material doesn't need to be sinusoidal, but it could benefit from
rounded corners (as could all tool paths) because above a certain radius
the x and y accelerations are capable of turning the corner without slowing
down at all.

I must admit I do make support structures myself in Openscad but I export
them separately and slice them separately and combine the gcode with the
appropriate z offset. See
http://hydraraptor.blogspot.co.uk/2012/08/peel-able-support.html. Support
needs a solid interface layer less than a layer height below the object, so
you can't export it in the same file as the object and expect the slicer to
make it peelable.

One day I will write my own slicer to do this automatically.

On 12 March 2016 at 16:00, pproj@posteo.de pproj@posteo.de wrote:

Ronaldo i am not 100% sure i understand you right, but i think this i
exactly what the current tool we are discussing is doing, it just skips the
extrusion step and processes the2D  .svg of the projection directly. then
it writes out the support path data as an openscad vector text file
supportPathData.scad which one can then extrude to any height needed.
comprende?
Peter

On 12.03.2016 16:34, Ronaldo Persiano wrote:

I understand your point and agree that there is no way to do it entirely
in OpenSCAD without geometry query tools. However, it would not be
difficult to write a javascript code to process an OpenSCAD stl file of the
linear_extrude() of the part projection. This code would generate a text
file like this:
model=[
[[275,50,0],    [275,100,0],    [285,50,0]],
[[315,-50,0],    [325,-50,0],    [325,-100,0]],
[[315,50,0],    [325,100,0],    [325,50,0]],
[[315,50,0],    [275,100,0],    [325,100,0]],
[[285,-50,0],    [285,50,0],        [315,-50,0]],
[[315,-50,0],    [285,50,0],        [315,50,0]],
[[285,50,0],    [275,100,0],    [315,50,0]],
[[275,-100,0],    [285,-50,0],    [315,-50,0]],
[[275,-100,0],    [275,-50,0],    [285,-50,0]],
[[325,-100,0],    [275,-100,0],    [315,-50,0]]];

which could be inserted in a OpenSCAD code for further processing.

That approach doesn't avoid an external processing but the javascript
code could be valuable to any application demanding geometric queries. And
you may write then your support generation methods in OpenSCAD. :)

As a complement, would be nice also to have an OpenSCAD library to answer
geometric queries about models generated this way.

2016-03-12 11:15 GMT-03:00 pproj@posteo.depproj@posteo.de <
pproj@posteo.de>:

i think i have problems explaining what this javascript tool is actually
about.
the starting point was a code in scad very similar to yours creating a
sine filled block.

but the tool does not create a rectangular box filled with sinus.
cutting out a footprint of almost any model out of such block will
produce many discontinuities at the areas where the sinus wave is cut by
the outline of footprint of the model. it will create many standalone
"islands" of fractures of a sinewave. this will slow down the print.

what the javascript tool realy does, and i think it is impossible in
openscad without querieng the geometry, it tries to create a continous
sine or half-scircle wave in the footprint of the model, so that you do
not have to cut out the footprint out of a sine block, and printer can
(ideally) print the whole layer of support without deccelerating or idly
moving its head
Peter
On 12.03.2016 14:45, Parkinbot wrote:

The following code will create a box filled with cosine support. CGAL
rendering is almost instantaneous.
Is it what you were asking for?

http://forum.openscad.org/file/n16438/sinecomb.png

supportblock();

module supportblock(rows = 10, cols = 10, box = [100, 100, 10],

thickness

= .1)
{
amplitude = box[1]/rows/2;
wavelength = box[0]/cols PI;
linear_extrude(height = box[2])
for(i = [0:rows-1])
Ty(i
amplitude*2)
polygon(points = sine(cols, amplitude, wavelength, i%2,

thickness));

}

function sine(periods, amplitude, wavelength, mode, thickness = .01) =
let(amp = amplitude-thickness/1.9)
concat(
[for(i=[0:10:360periods]) [i/wavelength, ampcos(i+mode180)]],
[for(i=[360
periods:-1:0]) [i/wavelength,
ampcos(i+mode180)+thickness]]);

Rudolf

--
View this message in context:

Sent from the OpenSCAD mailing list archive at Nabble.com.


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


OpenSCAD mailing listDiscuss@lists.openscad.orghttp://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

@nophead That blog post is quite interesting, thanks. This makes it clear why you need a special feature in the slicer to do user defined peelable support. The support object would have to be imported as a separate STL. Or, if we implement multiple colours/materials using a single AMF file, as discussed in other threads, then the support object could be included in the AMF file as a separate labeled object. On 12 March 2016 at 20:06, nop head <nop.head@gmail.com> wrote: > In my simple mind OpenScad is as simple tool for describing geometry, not > querying it. Slicers take geometry and produce tool paths. If you don't > like the tool path modify the slicer. Don't advocate making OpenScad more > more complicated. Make the slicer more sophisticated. > > Support material doesn't need to be sinusoidal, but it could benefit from > rounded corners (as could all tool paths) because above a certain radius > the x and y accelerations are capable of turning the corner without slowing > down at all. > > I must admit I do make support structures myself in Openscad but I export > them separately and slice them separately and combine the gcode with the > appropriate z offset. See > http://hydraraptor.blogspot.co.uk/2012/08/peel-able-support.html. Support > needs a solid interface layer less than a layer height below the object, so > you can't export it in the same file as the object and expect the slicer to > make it peelable. > > One day I will write my own slicer to do this automatically. > > On 12 March 2016 at 16:00, pproj@posteo.de <pproj@posteo.de> wrote: > >> Ronaldo i am not 100% sure i understand you right, but i think this i >> exactly what the current tool we are discussing is doing, it just skips the >> extrusion step and processes the2D .svg of the projection directly. then >> it writes out the support path data as an openscad vector text file >> supportPathData.scad which one can then extrude to any height needed. >> comprende? >> Peter >> >> On 12.03.2016 16:34, Ronaldo Persiano wrote: >> >> I understand your point and agree that there is no way to do it entirely >> in OpenSCAD without geometry query tools. However, it would not be >> difficult to write a javascript code to process an OpenSCAD stl file of the >> linear_extrude() of the part projection. This code would generate a text >> file like this: >> model=[ >> [[275,50,0], [275,100,0], [285,50,0]], >> [[315,-50,0], [325,-50,0], [325,-100,0]], >> [[315,50,0], [325,100,0], [325,50,0]], >> [[315,50,0], [275,100,0], [325,100,0]], >> [[285,-50,0], [285,50,0], [315,-50,0]], >> [[315,-50,0], [285,50,0], [315,50,0]], >> [[285,50,0], [275,100,0], [315,50,0]], >> [[275,-100,0], [285,-50,0], [315,-50,0]], >> [[275,-100,0], [275,-50,0], [285,-50,0]], >> [[325,-100,0], [275,-100,0], [315,-50,0]]]; >> >> which could be inserted in a OpenSCAD code for further processing. >> >> That approach doesn't avoid an external processing but the javascript >> code could be valuable to any application demanding geometric queries. And >> you may write then your support generation methods in OpenSCAD. :) >> >> As a complement, would be nice also to have an OpenSCAD library to answer >> geometric queries about models generated this way. >> >> 2016-03-12 11:15 GMT-03:00 <pproj@posteo.de>pproj@posteo.de < >> pproj@posteo.de>: >> >>> i think i have problems explaining what this javascript tool is actually >>> about. >>> the starting point was a code in scad very similar to yours creating a >>> sine filled block. >>> >>> but the tool does _not_ create a rectangular box filled with sinus. >>> cutting out a footprint of almost any model out of such block will >>> produce many discontinuities at the areas where the sinus wave is cut by >>> the outline of footprint of the model. it will create many standalone >>> "islands" of fractures of a sinewave. this will slow down the print. >>> >>> what the javascript tool realy does, and i think it is impossible in >>> openscad without querieng the geometry, it tries to create a _continous_ >>> sine or half-scircle wave in the footprint of the model, so that you do >>> not have to cut out the footprint out of a sine block, and printer can >>> (ideally) print the whole layer of support without deccelerating or idly >>> moving its head >>> Peter >>> On 12.03.2016 14:45, Parkinbot wrote: >>> > The following code will create a box filled with cosine support. CGAL >>> > rendering is almost instantaneous. >>> > Is it what you were asking for? >>> > >>> > <http://forum.openscad.org/file/n16438/sinecomb.png> >>> > >>> > >>> >> supportblock(); >>> >> >>> >> module supportblock(rows = 10, cols = 10, box = [100, 100, 10], >>> thickness >>> >> = .1) >>> >> { >>> >> amplitude = box[1]/rows/2; >>> >> wavelength = box[0]/cols *PI; >>> >> linear_extrude(height = box[2]) >>> >> for(i = [0:rows-1]) >>> >> Ty(i*amplitude*2) >>> >> polygon(points = sine(cols, amplitude, wavelength, i%2, >>> thickness)); >>> >> } >>> >> >>> >> function sine(periods, amplitude, wavelength, mode, thickness = .01) = >>> >> let(amp = amplitude-thickness/1.9) >>> >> concat( >>> >> [for(i=[0:10:360*periods]) [i/wavelength, amp*cos(i+mode*180)]], >>> >> [for(i=[360*periods:-1:0]) [i/wavelength, >>> >> amp*cos(i+mode*180)+thickness]]); >>> > Rudolf >>> > >>> > >>> > >>> > >>> > -- >>> > View this message in context: >>> <http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16438.html> >>> http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16438.html >>> > Sent from the OpenSCAD mailing list archive at Nabble.com. >>> > >>> > _______________________________________________ >>> > 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 >>> >> >> >> >> _______________________________________________ >> OpenSCAD mailing listDiscuss@lists.openscad.orghttp://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 >> >> > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > >
P
Parkinbot
Sun, Mar 13, 2016 12:49 PM

nophead wrote

In my simple mind OpenScad is as simple tool for describing geometry, not
querying it.

Beyond paradigm discussion and the fact that no function can operate over
geometry by now: By design of OpenSCAD there is also a severe technical
restriction to query geometry. CSG (F5) representation is rendered only
implicitly by OpenGL. Explict geometry (which may be queried) is only known
after CGAL rendering (F6).

But as already has been discussed in other threads there is no reason to NOT
offer a query on STL imports - at least from an implementation point of view

  • which I hope will be coming with the next major release.

Rudolf

--
View this message in context: http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16458.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

nophead wrote > In my simple mind OpenScad is as simple tool for describing geometry, not > querying it. Beyond paradigm discussion and the fact that no function can operate over geometry by now: By design of OpenSCAD there is also a severe technical restriction to query geometry. CSG (F5) representation is rendered only implicitly by OpenGL. Explict geometry (which may be queried) is only known after CGAL rendering (F6). But as already has been discussed in other threads there is no reason to NOT offer a query on STL imports - at least from an implementation point of view - which I hope will be coming with the next major release. Rudolf -- View this message in context: http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16458.html Sent from the OpenSCAD mailing list archive at Nabble.com.
NH
nop head
Sun, Mar 13, 2016 1:22 PM

Yes getting info from imported geometry is useful and has no impact on the
declarative nature. It effectively becomes part of the description, another
form of source code. Similarly getting info from a polygon or polyhedron as
the mesh is available during preview.

On 13 March 2016 at 12:49, Parkinbot rudolf@parkinbot.com wrote:

nophead wrote

In my simple mind OpenScad is as simple tool for describing geometry, not
querying it.

Beyond paradigm discussion and the fact that no function can operate over
geometry by now: By design of OpenSCAD there is also a severe technical
restriction to query geometry. CSG (F5) representation is rendered only
implicitly by OpenGL. Explict geometry (which may be queried) is only known
after CGAL rendering (F6).

But as already has been discussed in other threads there is no reason to
NOT
offer a query on STL imports - at least from an implementation point of
view

  • which I hope will be coming with the next major release.

Rudolf

--
View this message in context:
http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16458.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

Yes getting info from imported geometry is useful and has no impact on the declarative nature. It effectively becomes part of the description, another form of source code. Similarly getting info from a polygon or polyhedron as the mesh is available during preview. On 13 March 2016 at 12:49, Parkinbot <rudolf@parkinbot.com> wrote: > nophead wrote > > In my simple mind OpenScad is as simple tool for describing geometry, not > > querying it. > > Beyond paradigm discussion and the fact that no function can operate over > geometry by now: By design of OpenSCAD there is also a severe technical > restriction to query geometry. CSG (F5) representation is rendered only > implicitly by OpenGL. Explict geometry (which may be queried) is only known > after CGAL rendering (F6). > > But as already has been discussed in other threads there is no reason to > NOT > offer a query on STL imports - at least from an implementation point of > view > - which I hope will be coming with the next major release. > > Rudolf > > > > > > -- > View this message in context: > http://forum.openscad.org/semi-on-topic-print-speed-optimized-sinus-support-material-integration-interface-possible-tp16383p16458.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >