discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

General hints for efficiency?

M
Manuel
Thu, Dec 21, 2017 4:30 PM

Since I tend to end up with models that take ages to render and quite often
fail to do so at all because of RAM running out, I assume I'm doing
something wrong. Are there any general hints on how to write efficient
OpenSCAD code? I didn't find much in the manual.

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

Since I tend to end up with models that take ages to render and quite often fail to do so at all because of RAM running out, I assume I'm doing something wrong. Are there any general hints on how to write efficient OpenSCAD code? I didn't find much in the manual. -- Sent from: http://forum.openscad.org/
CC
Chris Camacho
Thu, Dec 21, 2017 5:01 PM

look at the "special" variables (in the manual) such as $fn and turn
them right down while developing your model, you can always turn them up
later for a final render - and often even with seemingly low settings
the exported STL can be "good enough"

On 21/12/17 16:30, Manuel wrote:

Since I tend to end up with models that take ages to render and quite often
fail to do so at all because of RAM running out, I assume I'm doing
something wrong. Are there any general hints on how to write efficient
OpenSCAD code? I didn't find much in the manual.

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


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

look at the "special" variables (in the manual) such as $fn and turn them right down while developing your model, you can always turn them up later for a final render - and often even with seemingly low settings the exported STL can be "good enough" On 21/12/17 16:30, Manuel wrote: > Since I tend to end up with models that take ages to render and quite often > fail to do so at all because of RAM running out, I assume I'm doing > something wrong. Are there any general hints on how to write efficient > OpenSCAD code? I didn't find much in the manual. > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
JB
Jamie Bainbridge
Fri, Dec 22, 2017 6:41 AM

With current nightly, you can do this to make it happen automatically:

$fn = $preview ? 12 : 360;

On 22 December 2017 at 03:01, Chris Camacho chris@bedroomcoders.co.uk wrote:

look at the "special" variables (in the manual) such as $fn and turn them
right down while developing your model, you can always turn them up later
for a final render - and often even with seemingly low settings the exported
STL can be "good enough"

On 21/12/17 16:30, Manuel wrote:

Since I tend to end up with models that take ages to render and quite
often
fail to do so at all because of RAM running out, I assume I'm doing
something wrong. Are there any general hints on how to write efficient
OpenSCAD code? I didn't find much in the manual.

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


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

With current nightly, you can do this to make it happen automatically: $fn = $preview ? 12 : 360; On 22 December 2017 at 03:01, Chris Camacho <chris@bedroomcoders.co.uk> wrote: > look at the "special" variables (in the manual) such as $fn and turn them > right down while developing your model, you can always turn them up later > for a final render - and often even with seemingly low settings the exported > STL can be "good enough" > > > On 21/12/17 16:30, Manuel wrote: >> >> Since I tend to end up with models that take ages to render and quite >> often >> fail to do so at all because of RAM running out, I assume I'm doing >> something wrong. Are there any general hints on how to write efficient >> OpenSCAD code? I didn't find much in the manual. >> >> >> >> -- >> Sent from: http://forum.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
T
TLC123
Fri, Dec 22, 2017 6:51 AM

Use 2d subsystems when ever possible.
Use star * to hide anything you're not working on at the moment.

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

Use 2d subsystems when ever possible. Use star * to hide anything you're not working on at the moment. -- Sent from: http://forum.openscad.org/
G
Gadgetmind
Fri, Dec 22, 2017 9:46 AM

On 2017-12-21 17:01, Chris Camacho wrote:

look at the "special" variables (in the manual) such as $fn and turn
them right down while developing your model, you can always turn them
up later for a final render

I do this extensively and always tend to do final renders from a make
file that passes in variables to control detail and which part to
create. Many of my designs have tens or even hundreds of separate parts
than need rendering to STLs and printing and a make file is the only way
to keep this sane.

I also turn off a lot of detail when working on unrelated parts,
particularly any surface detail like text cutouts on surfaces.

And perhaps controversially, I used the CSD features of OpenSCAD rather
sparingly and most of my geometry is generated by
functions/iterators/splines/etc., then transformed using matrices, and
finally skinned with triangles. I then mainly use CSD to "slice" my
object into different parts for printing, though there's always a lot of
unioning going on in the background.

BTW I pretty much never use minkowski and even find hull to be worth
avoiding if at all possible.

Regards

Ian

On 2017-12-21 17:01, Chris Camacho wrote: > look at the "special" variables (in the manual) such as $fn and turn > them right down while developing your model, you can always turn them > up later for a final render I do this extensively and always tend to do final renders from a make file that passes in variables to control detail and which part to create. Many of my designs have tens or even hundreds of separate parts than need rendering to STLs and printing and a make file is the only way to keep this sane. I also turn off a lot of detail when working on unrelated parts, particularly any surface detail like text cutouts on surfaces. And perhaps controversially, I used the CSD features of OpenSCAD rather sparingly and most of my geometry is generated by functions/iterators/splines/etc., then transformed using matrices, and finally skinned with triangles. I then mainly use CSD to "slice" my object into different parts for printing, though there's always a lot of unioning going on in the background. BTW I pretty much never use minkowski and even find hull to be worth avoiding if at all possible. Regards Ian
JD
Jerry Davis
Fri, Dec 22, 2017 2:20 PM

I do a lot of CAD stuff.
I do the best I can when I measure stuff, like where holes ought to be
placed.
But I always end up tweaking until it is perfect.

Rather than print the entire thing, while I am tweaking a smaller part of
it, I use intersection with a cube to only render exactly what I am working
on at the moment.

I save a lot of time, and filament while tweaking.

Then when I am satisfied with every part of the design, I bite the bullet
and do the entire design.

Also, if the design I am working on, is capable of being done in parts
(that can be glued together later, I use the same technique, to print each
part separately.

Jerry

--
Extra Ham Operator: K7AZJ
Registered Linux User: 275424
Raspberry Pi and Openscad developer

The most exciting phrase to hear in science - the one that heralds new
discoveries - is not "Eureka!" but "That's funny...".
- Isaac. Asimov

On Fri, Dec 22, 2017 at 2:46 AM, Gadgetmind lists@foxhill.co.uk wrote:

On 2017-12-21 17:01, Chris Camacho wrote:

look at the "special" variables (in the manual) such as $fn and turn them
right down while developing your model, you can always turn them up later
for a final render

I do this extensively and always tend to do final renders from a make file
that passes in variables to control detail and which part to create. Many
of my designs have tens or even hundreds of separate parts than need
rendering to STLs and printing and a make file is the only way to keep this
sane.

I also turn off a lot of detail when working on unrelated parts,
particularly any surface detail like text cutouts on surfaces.

And perhaps controversially, I used the CSD features of OpenSCAD rather
sparingly and most of my geometry is generated by
functions/iterators/splines/etc., then transformed using matrices, and
finally skinned with triangles. I then mainly use CSD to "slice" my object
into different parts for printing, though there's always a lot of unioning
going on in the background.

BTW I pretty much never use minkowski and even find hull to be worth
avoiding if at all possible.

Regards

Ian


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

I do a lot of CAD stuff. I do the best I can when I measure stuff, like where holes ought to be placed. But I always end up tweaking until it is perfect. Rather than print the entire thing, while I am tweaking a smaller part of it, I use intersection with a cube to only render exactly what I am working on at the moment. I save a lot of time, and filament while tweaking. Then when I am satisfied with every part of the design, I bite the bullet and do the entire design. Also, if the design I am working on, is capable of being done in parts (that can be glued together later, I use the same technique, to print each part separately. Jerry -- Extra Ham Operator: K7AZJ Registered Linux User: 275424 Raspberry Pi and Openscad developer *The most exciting phrase to hear in science - the one that heralds new discoveries - is not "Eureka!" but "That's funny...".*- Isaac. Asimov On Fri, Dec 22, 2017 at 2:46 AM, Gadgetmind <lists@foxhill.co.uk> wrote: > On 2017-12-21 17:01, Chris Camacho wrote: > >> look at the "special" variables (in the manual) such as $fn and turn them >> right down while developing your model, you can always turn them up later >> for a final render >> > > I do this extensively and always tend to do final renders from a make file > that passes in variables to control detail and which part to create. Many > of my designs have tens or even hundreds of separate parts than need > rendering to STLs and printing and a make file is the only way to keep this > sane. > > I also turn off a lot of detail when working on unrelated parts, > particularly any surface detail like text cutouts on surfaces. > > And perhaps controversially, I used the CSD features of OpenSCAD rather > sparingly and most of my geometry is generated by > functions/iterators/splines/etc., then transformed using matrices, and > finally skinned with triangles. I then mainly use CSD to "slice" my object > into different parts for printing, though there's always a lot of unioning > going on in the background. > > BTW I pretty much never use minkowski and even find hull to be worth > avoiding if at all possible. > > Regards > > Ian > > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
G
Gadgetmind
Fri, Dec 22, 2017 6:49 PM

On 22/12/17 14:20, Jerry Davis wrote:

Also, if the design I am working on, is capable of being done in parts
(that can be glued together later, I use the same technique, to print
each part separately.

Ditto, but often because parts will be different colours or would
require supports otherwise.

I tend to design in 1.75mm holes between mating parts so filament can be
used to join them when prototyping and it also acts as a guide when
finally glueing.

See my Thunderbird 1 on Thingiverse (or work in progress Fireflash) to
get the idea.

On 22/12/17 14:20, Jerry Davis wrote: > Also, if the design I am working on, is capable of being done in parts > (that can be glued together later, I use the same technique, to print > each part separately. Ditto, but often because parts will be different colours or would require supports otherwise. I tend to design in 1.75mm holes between mating parts so filament can be used to join them when prototyping and it also acts as a guide when finally glueing. See my Thunderbird 1 on Thingiverse (or work in progress Fireflash) to get the idea.
JB
Jordan Brown
Fri, Dec 22, 2017 8:23 PM

On 12/22/2017 10:49 AM, Gadgetmind wrote:

On 22/12/17 14:20, Jerry Davis wrote:

Also, if the design I am working on, is capable of being done in
parts (that can be glued together later, I use the same technique, to
print each part separately.

Ditto, but often because parts will be different colours or would
require supports otherwise.

I've been doing that more, but my reason is that it lets me built thin
parts and still have them be strong, by keeping them in XY.

On 12/22/2017 10:49 AM, Gadgetmind wrote: > On 22/12/17 14:20, Jerry Davis wrote: >> Also, if the design I am working on, is capable of being done in >> parts (that can be glued together later, I use the same technique, to >> print each part separately. > > Ditto, but often because parts will be different colours or would > require supports otherwise. I've been doing that more, but my reason is that it lets me built thin parts and still have them be strong, by keeping them in XY.
B
BruceXling
Fri, Dec 22, 2017 9:40 PM

Gadgetmind wrote

On 22/12/17 14:20, Jerry Davis wrote:
I tend to design in 1.75mm holes between mating parts so filament can be
used to join them when prototyping and it also acts as a guide when
finally glueing.___________________________________________
OpenSCAD mailing list

Discuss@.openscad

Could I please ask what glue is best used with PLA and ABS?

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

Gadgetmind wrote > On 22/12/17 14:20, Jerry Davis wrote: > I tend to design in 1.75mm holes between mating parts so filament can be > used to join them when prototyping and it also acts as a guide when > finally glueing.___________________________________________ > OpenSCAD mailing list > Discuss@.openscad > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org Could I please ask what glue is best used with PLA and ABS? -- Sent from: http://forum.openscad.org/
NH
nop head
Fri, Dec 22, 2017 10:02 PM

ABS can be solvent welded with acetone or solvent adhesive that contains
MEK. That gives a full strength weld after the solvent has completely
evaporated.

On 22 December 2017 at 21:40, BruceXling brucexling@outlook.com wrote:

Gadgetmind wrote

On 22/12/17 14:20, Jerry Davis wrote:
I tend to design in 1.75mm holes between mating parts so filament can be
used to join them when prototyping and it also acts as a guide when
finally glueing.___________________________________________
OpenSCAD mailing list

Discuss@.openscad

Could I please ask what glue is best used with PLA and ABS?

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


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

ABS can be solvent welded with acetone or solvent adhesive that contains MEK. That gives a full strength weld after the solvent has completely evaporated. On 22 December 2017 at 21:40, BruceXling <brucexling@outlook.com> wrote: > > > Gadgetmind wrote > > On 22/12/17 14:20, Jerry Davis wrote: > > I tend to design in 1.75mm holes between mating parts so filament can be > > used to join them when prototyping and it also acts as a guide when > > finally glueing.___________________________________________ > > OpenSCAD mailing list > > > Discuss@.openscad > > > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > Could I please ask what glue is best used with PLA and ABS? > > > > -- > Sent from: http://forum.openscad.org/ > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >