discuss@lists.openscad.org

OpenSCAD general discussion

View all threads

suggestion window options override

S
snas
Thu, Jun 3, 2021 1:24 PM

I think Openscad is quite intimidating to those without programming
experience and so anything that makes it easier to use and less intimidating
can only be a good thing. With that in mind, I would like to suggest adding
a feature whereby the window options can be set/overridden using a bit of
code within the scad file itself.

eg
window(editor=0, consol=0, error log=0, customizer=1);

This way designers can export their creations in their least threatening,
Customizer form.

I know it doesn't seem like a big deal to simply tell new users to go to the
window menu and change the window options manually but all these little
frictions add up and can ultimately put some people off using scad, which
would be a real shame. The one good thing about Thingvese's Customizer was
its usability, no installation, no lists of menus, no unfamiliar icons, just
very straightforward to use.  Openscad may be better than Customizer in
every other respect but it could still aspire to Customizer level of
accessibility.

Insedenterly, I have no idea how easy or not it would be to modify the UI
from code within the editor! :D

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

I think Openscad is quite intimidating to those without programming experience and so anything that makes it easier to use and less intimidating can only be a good thing. With that in mind, I would like to suggest adding a feature whereby the window options can be set/overridden using a bit of code within the scad file itself. eg window(editor=0, consol=0, error log=0, customizer=1); This way designers can export their creations in their least threatening, Customizer form. I know it doesn't seem like a big deal to simply tell new users to go to the window menu and change the window options manually but all these little frictions add up and can ultimately put some people off using scad, which would be a real shame. The one good thing about Thingvese's Customizer was its usability, no installation, no lists of menus, no unfamiliar icons, just very straightforward to use. Openscad may be better than Customizer in every other respect but it could still aspire to Customizer level of accessibility. Insedenterly, I have no idea how easy or not it would be to modify the UI from code within the editor! :D -- Sent from: http://forum.openscad.org/
JB
Jordan Brown
Thu, Jun 3, 2021 3:30 PM

On 6/3/2021 6:24 AM, snas wrote:

I think Openscad is quite intimidating to those without programming
experience and so anything that makes it easier to use and less
intimidating can only be a good thing. With that in mind, I would like
to suggest adding a feature whereby the window options can be
set/overridden using a bit of code within the scad file itself.

eg
window(editor=0, consol=0, error log=0, customizer=1);

Unfortunately, that precise idea won't help a lot, because OpenSCAD
wouldn't know to do it until the user actually "runs" the program with
F5 or F6 (or has set up automatic preview on load), and that means that
the user already knows to do those things.

However, one could imagine some kind of comment-based tag, like the
existing customizer tags, that explicitly tells OpenSCAD that the file
is set up for the customizer and to open up the customizer when it's loaded.

I'm not sure whether there would need to be an option for an experienced
user to defeat that mechanism.

On 6/3/2021 6:24 AM, snas wrote: > I think Openscad is quite intimidating to those without programming > experience and so anything that makes it easier to use and less > intimidating can only be a good thing. With that in mind, I would like > to suggest adding a feature whereby the window options can be > set/overridden using a bit of code within the scad file itself. > > eg > window(editor=0, consol=0, error log=0, customizer=1); Unfortunately, that precise idea won't help a lot, because OpenSCAD wouldn't know to do it until the user actually "runs" the program with F5 or F6 (or has set up automatic preview on load), and that means that the user already knows to do those things. However, one could imagine some kind of comment-based tag, like the existing customizer tags, that explicitly tells OpenSCAD that the file is set up for the customizer and to open up the customizer when it's loaded. I'm not sure whether there would need to be an option for an experienced user to defeat that mechanism.
RW
Rogier Wolff
Thu, Jun 3, 2021 3:54 PM

On Thu, Jun 03, 2021 at 03:30:23PM +0000, Jordan Brown wrote:

Unfortunately, that precise idea won't help a lot, because OpenSCAD
wouldn't know to do it until the user actually "runs" the program with
F5 or F6 (or has set up automatic preview on load), and that means that
the user already knows to do those things.

Welll.... IMHO, the "auto-preview-on-load" feature should be on by
default. This is for consistency with other programs: Everything from
word and exel to "eagle" has an internal representation (modern word
and exel, that's an XML representation), which gets rendered to the
screen on startup. You might argue that openscad may need several
minutes to render something. Agreed. That's a disadvantage.

Advanced users who create models that are complicated enough to
warrant: "only render when I tell you to" can flip the
setting... Maybe add if rendertime > 10s popup: "this takes long to
render, turn off autorender?"

Roger. 

--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
**    Delftechpark 11 2628 XJ  Delft, The Netherlands.  KVK: 27239233    **
f equals m times a. When your f is steady, and your m is going down
your a is going up.  -- Chris Hadfield about flying up the space shuttle.

On Thu, Jun 03, 2021 at 03:30:23PM +0000, Jordan Brown wrote: > Unfortunately, that precise idea won't help a lot, because OpenSCAD > wouldn't know to do it until the user actually "runs" the program with > F5 or F6 (or has set up automatic preview on load), and that means that > the user already knows to do those things. Welll.... IMHO, the "auto-preview-on-load" feature should be on by default. This is for consistency with other programs: Everything from word and exel to "eagle" has an internal representation (modern word and exel, that's an XML representation), which gets rendered to the screen on startup. You might argue that openscad may need several minutes to render something. Agreed. That's a disadvantage. Advanced users who create models that are complicated enough to warrant: "only render when I tell you to" can flip the setting... Maybe add if rendertime > 10s popup: "this takes long to render, turn off autorender?" Roger. -- ** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 ** ** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 ** f equals m times a. When your f is steady, and your m is going down your a is going up. -- Chris Hadfield about flying up the space shuttle.
JB
Jordan Brown
Thu, Jun 3, 2021 4:23 PM

On 6/3/2021 8:54 AM, Rogier Wolff wrote:

Welll.... IMHO, the "auto-preview-on-load" feature should be on by
default. This is for consistency with other programs: Everything from
word and exel to "eagle" has an internal representation (modern word
and exel, that's an XML representation), which gets rendered to the
screen on startup.

I have mixed feelings about making the option be on by default, but I
think the analogy is flawed.

The text of an OpenSCAD program is not some internal form like the XML
that underlies Word or Excel.  It is the form that the user works with,
and when the user is ready the user tells OpenSCAD to execute it.  Do
Excel and Word, by default, execute macros embedded in the document when
it is loaded?

OpenSCAD is an integrated development environment, an IDE, for a
programming language.  Do any other IDEs automatically execute the
program when you load its source?


Should it be on by default?  Ideally... maybe.  Today... no.  Preview
renders can take an arbitrarily long amount of time, and are not
interruptible.  If you have a flawed program that takes forever to
execute, you would never be able to load and edit it to fix it.  If
previews ran asynchronously, so that you still had access to the editor
while the preview was running, maybe.  If previews were interruptible,
maybe.

On 6/3/2021 8:54 AM, Rogier Wolff wrote: > Welll.... IMHO, the "auto-preview-on-load" feature should be on by > default. This is for consistency with other programs: Everything from > word and exel to "eagle" has an internal representation (modern word > and exel, that's an XML representation), which gets rendered to the > screen on startup. I have mixed feelings about making the option be on by default, but I think the analogy is flawed. The text of an OpenSCAD program is not some internal form like the XML that underlies Word or Excel.  It is the form that the user works with, and when the user is ready the user tells OpenSCAD to execute it.  Do Excel and Word, by default, execute macros embedded in the document when it is loaded? OpenSCAD is an integrated development environment, an IDE, for a programming language.  Do *any* other IDEs automatically execute the program when you load its source? --- Should it be on by default?  Ideally... maybe.  Today... no.  Preview renders can take an arbitrarily long amount of time, and are not interruptible.  If you have a flawed program that takes forever to execute, you would never be able to load and edit it to fix it.  If previews ran asynchronously, so that you still had access to the editor while the preview was running, maybe.  If previews were interruptible, maybe.
FH
Father Horton
Thu, Jun 3, 2021 5:01 PM

Well, you can open the file in an external editor and fix it, but that's a
pain.

On Thu, Jun 3, 2021 at 11:23 AM Jordan Brown openscad@jordan.maileater.net
wrote:

On 6/3/2021 8:54 AM, Rogier Wolff wrote:

Welll.... IMHO, the "auto-preview-on-load" feature should be on by
default. This is for consistency with other programs: Everything from word
and exel to "eagle" has an internal representation (modern word and exel,
that's an XML representation), which gets rendered to the screen on startup.

I have mixed feelings about making the option be on by default, but I
think the analogy is flawed.

The text of an OpenSCAD program is not some internal form like the XML
that underlies Word or Excel.  It is the form that the user works with, and
when the user is ready the user tells OpenSCAD to execute it.  Do Excel and
Word, by default, execute macros embedded in the document when it is loaded?

OpenSCAD is an integrated development environment, an IDE, for a
programming language.  Do any other IDEs automatically execute the
program when you load its source?


Should it be on by default?  Ideally... maybe.  Today... no.  Preview
renders can take an arbitrarily long amount of time, and are not
interruptible.  If you have a flawed program that takes forever to execute,
you would never be able to load and edit it to fix it.  If previews ran
asynchronously, so that you still had access to the editor while the
preview was running, maybe.  If previews were interruptible, maybe.


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

Well, you can open the file in an external editor and fix it, but that's a pain. On Thu, Jun 3, 2021 at 11:23 AM Jordan Brown <openscad@jordan.maileater.net> wrote: > On 6/3/2021 8:54 AM, Rogier Wolff wrote: > > Welll.... IMHO, the "auto-preview-on-load" feature should be on by > default. This is for consistency with other programs: Everything from word > and exel to "eagle" has an internal representation (modern word and exel, > that's an XML representation), which gets rendered to the screen on startup. > > > I have mixed feelings about making the option be on by default, but I > think the analogy is flawed. > > The text of an OpenSCAD program is not some internal form like the XML > that underlies Word or Excel. It is the form that the user works with, and > when the user is ready the user tells OpenSCAD to execute it. Do Excel and > Word, by default, execute macros embedded in the document when it is loaded? > > OpenSCAD is an integrated development environment, an IDE, for a > programming language. Do *any* other IDEs automatically execute the > program when you load its source? > > --- > > Should it be on by default? Ideally... maybe. Today... no. Preview > renders can take an arbitrarily long amount of time, and are not > interruptible. If you have a flawed program that takes forever to execute, > you would never be able to load and edit it to fix it. If previews ran > asynchronously, so that you still had access to the editor while the > preview was running, maybe. If previews were interruptible, maybe. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
DS
Daniel Shriver
Thu, Jun 3, 2021 5:55 PM

I wouldn't compare OpenSCAD to word processors, static drawing programs,
spreadsheets.

It is more like something dynamic and more processor-intensive, like an
animation program, a music editing program, or as people have said a
programming language (which it is).  I would not want auto-render.  Render
can take quite a bit of time, especially if you did a non-optimal job.  If
rendering was instantaneous, maybe auto-render would not be a pain, but I
can't see that ever being guaranteed.

On Thu, Jun 3, 2021 at 12:23 PM Jordan Brown openscad@jordan.maileater.net
wrote:

On 6/3/2021 8:54 AM, Rogier Wolff wrote:

Welll.... IMHO, the "auto-preview-on-load" feature should be on by
default. This is for consistency with other programs: Everything from word
and exel to "eagle" has an internal representation (modern word and exel,
that's an XML representation), which gets rendered to the screen on startup.

I have mixed feelings about making the option be on by default, but I
think the analogy is flawed.

The text of an OpenSCAD program is not some internal form like the XML
that underlies Word or Excel.  It is the form that the user works with, and
when the user is ready the user tells OpenSCAD to execute it.  Do Excel and
Word, by default, execute macros embedded in the document when it is loaded?

OpenSCAD is an integrated development environment, an IDE, for a
programming language.  Do any other IDEs automatically execute the
program when you load its source?


Should it be on by default?  Ideally... maybe.  Today... no.  Preview
renders can take an arbitrarily long amount of time, and are not
interruptible.  If you have a flawed program that takes forever to execute,
you would never be able to load and edit it to fix it.  If previews ran
asynchronously, so that you still had access to the editor while the
preview was running, maybe.  If previews were interruptible, maybe.


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

I wouldn't compare OpenSCAD to word processors, static drawing programs, spreadsheets. It is more like something dynamic and more processor-intensive, like an animation program, a music editing program, or as people have said a programming language (which it is). I would not want auto-render. Render can take quite a bit of time, especially if you did a non-optimal job. If rendering was instantaneous, maybe auto-render would not be a pain, but I can't see that ever being guaranteed. On Thu, Jun 3, 2021 at 12:23 PM Jordan Brown <openscad@jordan.maileater.net> wrote: > On 6/3/2021 8:54 AM, Rogier Wolff wrote: > > Welll.... IMHO, the "auto-preview-on-load" feature should be on by > default. This is for consistency with other programs: Everything from word > and exel to "eagle" has an internal representation (modern word and exel, > that's an XML representation), which gets rendered to the screen on startup. > > > I have mixed feelings about making the option be on by default, but I > think the analogy is flawed. > > The text of an OpenSCAD program is not some internal form like the XML > that underlies Word or Excel. It is the form that the user works with, and > when the user is ready the user tells OpenSCAD to execute it. Do Excel and > Word, by default, execute macros embedded in the document when it is loaded? > > OpenSCAD is an integrated development environment, an IDE, for a > programming language. Do *any* other IDEs automatically execute the > program when you load its source? > > --- > > Should it be on by default? Ideally... maybe. Today... no. Preview > renders can take an arbitrarily long amount of time, and are not > interruptible. If you have a flawed program that takes forever to execute, > you would never be able to load and edit it to fix it. If previews ran > asynchronously, so that you still had access to the editor while the > preview was running, maybe. If previews were interruptible, maybe. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
S
snas
Thu, Jun 3, 2021 7:16 PM

Clearly, I've opened a bit of a can of worms with my, ill-conceived, code
idea :D
As you say, I think that precise method of execution can be scaped.

How would your tagging thing work? i.e where would the tag be stored and how
would the designer apply one?

Another alternative option that occurs to me is to just have two big buttons
in the top left corner, one called "Customizer" and the other "Edit Code".
This would make it obvious and easy to flick between window configurations.

In addition, the Customizer configuration would be the default unless
changed in the properties menu.

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

Clearly, I've opened a bit of a can of worms with my, ill-conceived, code idea :D As you say, I think that precise method of execution can be scaped. How would your tagging thing work? i.e where would the tag be stored and how would the designer apply one? Another alternative option that occurs to me is to just have two big buttons in the top left corner, one called "Customizer" and the other "Edit Code". This would make it obvious and easy to flick between window configurations. In addition, the Customizer configuration would be the default unless changed in the properties menu. -- Sent from: http://forum.openscad.org/
MD
Michele Denber
Thu, Jun 3, 2021 7:31 PM

While trying to do this inversion 2015.03-2

linear_extrude(height = 10, center = true, convexity = 10)
   import (file = "BrainiacDisc.dxf", layer = "plate");

I get this output:

Compiling design (CSG Tree generation)...

Compiling design (CSG Products generation)...

Geometries in cache: 8

Geometry cache size in bytes: 544

CGAL Polyhedrons in cache: 0

CGAL cache size in bytes: 0

Compiling design (CSG Products normalization)...

Normalized CSG tree has 1 elements

Compile and preview finished.

Total rendering time: 0 hours, 0 minutes, 0 seconds

but no graphics in the preview window with either F5 or F6.  Adding a
render () ; doesn't help.  This is the file:
https://content.instructables.com/ORIG/FVW/KRMO/JYOOS8QT/FVWKRMOJYOOS8QT.dxf

I can open it in CorelDraw and it looks OK there.  What am I doing wrong?

    - Michele

While trying to do this inversion 2015.03-2 linear_extrude(height = 10, center = true, convexity = 10)    import (file = "BrainiacDisc.dxf", layer = "plate"); I get this output: Compiling design (CSG Tree generation)... Compiling design (CSG Products generation)... Geometries in cache: 8 Geometry cache size in bytes: 544 CGAL Polyhedrons in cache: 0 CGAL cache size in bytes: 0 Compiling design (CSG Products normalization)... Normalized CSG tree has 1 elements Compile and preview finished. Total rendering time: 0 hours, 0 minutes, 0 seconds but no graphics in the preview window with either F5 or F6.  Adding a render () ; doesn't help.  This is the file: https://content.instructables.com/ORIG/FVW/KRMO/JYOOS8QT/FVWKRMOJYOOS8QT.dxf I can open it in CorelDraw and it looks OK there.  What am I doing wrong?     - Michele
D
dpa
Thu, Jun 3, 2021 8:01 PM

it has a long layer name, not the one you set it scad:
[image: Bildschirmfoto 2021-06-03 um 21.55.52.png]

I renamed this layer to 'aaa' and changed that in scad as well - works for
me (mac)
[image: Bildschirmfoto 2021-06-03 um 21.59.51.png]

Am Do., 3. Juni 2021 um 21:31 Uhr schrieb Michele Denber mdenber@gmx.com:

While trying to do this in version 2015.03-2

linear_extrude(height = 10, center = true, convexity = 10)
import (file = "BrainiacDisc.dxf", layer = "plate");

I get this output:

Compiling design (CSG Tree generation)...

Compiling design (CSG Products generation)...

Geometries in cache: 8

Geometry cache size in bytes: 544

CGAL Polyhedrons in cache: 0

CGAL cache size in bytes: 0

Compiling design (CSG Products normalization)...

Normalized CSG tree has 1 elements

Compile and preview finished.

Total rendering time: 0 hours, 0 minutes, 0 seconds

but no graphics in the preview window with either F5 or F6.  Adding a
render () ; doesn't help.  This is the file:
https://content.instructables.com/ORIG/FVW/KRMO/JYOOS8QT/FVWKRMOJYOOS8QT.dxf

I can open it in CorelDraw and it looks OK there.  What am I doing wrong?

         - Michele

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

it has a long layer name, not the one you set it scad: [image: Bildschirmfoto 2021-06-03 um 21.55.52.png] I renamed this layer to 'aaa' and changed that in scad as well - works for me (mac) [image: Bildschirmfoto 2021-06-03 um 21.59.51.png] Am Do., 3. Juni 2021 um 21:31 Uhr schrieb Michele Denber <mdenber@gmx.com>: > While trying to do this in version 2015.03-2 > > linear_extrude(height = 10, center = true, convexity = 10) > import (file = "BrainiacDisc.dxf", layer = "plate"); > > I get this output: > > Compiling design (CSG Tree generation)... > > Compiling design (CSG Products generation)... > > Geometries in cache: 8 > > Geometry cache size in bytes: 544 > > CGAL Polyhedrons in cache: 0 > > CGAL cache size in bytes: 0 > > Compiling design (CSG Products normalization)... > > Normalized CSG tree has 1 elements > > Compile and preview finished. > > Total rendering time: 0 hours, 0 minutes, 0 seconds > > > but no graphics in the preview window with either F5 or F6. Adding a > render () ; doesn't help. This is the file: > https://content.instructables.com/ORIG/FVW/KRMO/JYOOS8QT/FVWKRMOJYOOS8QT.dxf > > > I can open it in CorelDraw and it looks OK there. What am I doing wrong? > > > - Michele > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
JB
Jordan Brown
Thu, Jun 3, 2021 8:02 PM

On 6/3/2021 12:16 PM, snas wrote:

How would your tagging thing work? i.e where would the tag be stored
and how would the designer apply one?

Today, the customizer allows for a number of comment-based tags:

/* [ this is a tab name ] */
// This describes the following variable
var = "these";	// [ these, are, possible, values ]

Extending that concept, we could have a tag like

// HEY OPENSCAD OPEN CUSTOMIZER BY DEFAULT

Or perhaps

// CUSTOMIZABLE

or

// ** CUSTOMIZABLE **

Another alternative option that occurs to me is to just have two big
buttons in the top left corner, one called "Customizer" and the other
"Edit Code". This would make it obvious and easy to flick between
window configurations.

In addition, the Customizer configuration would be the default unless
changed in the properties menu.

Remember that the editor and the Customizer are not either-or; you can
have neither, either, or both displayed.

I started to suggest that we might enable the Customizer by default, but
on reflection I don't think that would be a good idea.  Showing this
extra panel by default would be useful only for those users who want to
customize; it would be somewhere between useless and confusing for users
who want to use OpenSCAD proper.

Another different idea:  kind of like Word's special treatment of .DOT
files, where opening one creates a new document with the file's
contents, perhaps designed-for-Customizer files might get a different
file extension that would trigger a different user experience.

On 6/3/2021 12:16 PM, snas wrote: > How would your tagging thing work? i.e where would the tag be stored > and how would the designer apply one? Today, the customizer allows for a number of comment-based tags: /* [ this is a tab name ] */ // This describes the following variable var = "these"; // [ these, are, possible, values ] Extending that concept, we could have a tag like // HEY OPENSCAD OPEN CUSTOMIZER BY DEFAULT Or perhaps // CUSTOMIZABLE or // ** CUSTOMIZABLE ** > Another alternative option that occurs to me is to just have two big > buttons in the top left corner, one called "Customizer" and the other > "Edit Code". This would make it obvious and easy to flick between > window configurations. > > In addition, the Customizer configuration would be the default unless > changed in the properties menu. Remember that the editor and the Customizer are not either-or; you can have neither, either, or both displayed. I started to suggest that we might enable the Customizer by default, but on reflection I don't think that would be a good idea.  Showing this extra panel by default would be useful only for those users who want to customize; it would be somewhere between useless and confusing for users who want to use OpenSCAD proper. Another different idea:  kind of like Word's special treatment of .DOT files, where opening one creates a new document with the file's contents, perhaps designed-for-Customizer files might get a different file extension that would trigger a different user experience.