Hi everyone,
I wanted to get some input and have a bit of discussion from users
here, regarding what they would most like to see from current or
near-future OpenSCAD development.
What do you feel is the most important aspect to focus on, or would
have the biggest impact to your experience using OpenSCAD:
If you have a specific issue in mind related to your choice, please
describe and link to it if there is an existing github issue.
Disclaimer: I am not a project owner for OpenSCAD, I just contribute
code when / where I can. So this poll is not "official", just created
out of my personal curiosity. There is no guarantee that I or other
volunteer developers will directly address any issues raised here.
Happy modeling,
Hans Loeblich
As I've noted, the major change/addition/feature I'd like to see would be to integrate BlocksCAD --- I'm just more comfortable running a desktop application than a website. I'd also like to see a way to export the block view as an SVG, and I'd like to see BlocksCAD support the Customizer.
For the Customizer I'd like to see more formatting/interface options --- in particular, I tried to set it up once to change from Imperial (inches) to metric (mm) and gave up on it, since it wasn't feasible to re-cast all the measurements in the new units so that the size of the box wouldn't change when switching units.
I guess the big question I have is how OpenSCAD should interact with other apps --- the recent Inkscape converter discussion would be part and parcel of that. Similarly, there's an OpenSCAD workbench in FreeCAD --- what should it do / be used for? What features does it obviate adding to OpenSCAD?
My understanding is that the thing I'd like most of all, support for 3 dimensional objects/spaces defined by multiple Bézier curves is outside of the problem space of the CSG modeling used, so not an option for OpenSCAD, so instead it will be necessary to continue to calculate such shapes in the language itself as opposed to having such as a native object.
Faster would be nice, and of course, bug fixes should be a priority.
William
-----Original Message-----
From: Hans L thehans@gmail.com
To: OpenSCAD general discussion discuss@lists.openscad.org
Sent: Sat, Nov 9, 2019 5:24 pm
Subject: [OpenSCAD] User Poll: What do you want to see from OpenSCAD development?
Hi everyone,
I wanted to get some input and have a bit of discussion from users
here, regarding what they would most like to see from current or
near-future OpenSCAD development.
What do you feel is the most important aspect to focus on, or would
have the biggest impact to your experience using OpenSCAD:
If you have a specific issue in mind related to your choice, please
describe and link to it if there is an existing github issue.
Disclaimer: I am not a project owner for OpenSCAD, I just contribute
code when / where I can. So this poll is not "official", just created
out of my personal curiosity. There is no guarantee that I or other
volunteer developers will directly address any issues raised here.
Happy modeling,
Hans Loeblich
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
I think grouping "stability" with "squash bugs" is a bit strange. I believe
that stability has been over-emphasized. When we have four years pass
between stable releases it creates problems: people who are trying to do
the most interesting things are forced to use the "development" version
which means their code cannot be run by those who are more conservative and
only run versions tagged as "stable".
The main bug I'm aware of is the one where "use" statements cause the code
in the file to execute every time a function in the "used" file is called.
This has a potentially big effect on libraries.
https://github.com/openscad/openscad/issues/782
There is a performance issue for libraries where calling a function from a
large "used" library is slow. (In my testing 12.5s vs 0s when the function
is in the "used" library or not.)
I don't know if there's an issue for it but having [0:-5] produce
[-5,-4,-3,-2,-1,0] is a bug in my opinion. It seemed like there was an
effort to move away from this syntax, but this "feature" caused a lot of
bugs in the library I was working on because of its effect on degenerate
cases.
In general for features I'd like to see
I think faster execution would be nice sometimes, but it's mainly a problem
for me because of trying to construct rounded objects, which either requires
minkowski that takes a long time to run or it requires complex polyhedron
code that also may be slow because trying to code non-trivial algorithms in
OpenSCAD is hard. (For example, my offset_sweep module has to run my
offset function many times, and offset is a hard algorithm to code in
OpenSCAD; my version is O(N^2) so it tends to be slow.)
thehans wrote
Hi everyone,
I wanted to get some input and have a bit of discussion from users
here, regarding what they would most like to see from current or
near-future OpenSCAD development.
What do you feel is the most important aspect to focus on, or would
have the biggest impact to your experience using OpenSCAD:
If you have a specific issue in mind related to your choice, please
describe and link to it if there is an existing github issue.
Disclaimer: I am not a project owner for OpenSCAD, I just contribute
code when / where I can. So this poll is not "official", just created
out of my personal curiosity. There is no guarantee that I or other
volunteer developers will directly address any issues raised here.
Happy modeling,
Hans Loeblich
OpenSCAD mailing list
Discuss@.openscad
--
Sent from: http://forum.openscad.org/
Not that I've seen a real problem with bugs, but I'm always in favor of
stability over almost everything else.
Mostly, I'm pretty happy. I can't say that I've tried very many
alternative tools, but so far none have even started to tempt me away
from OpenSCAD.
Well, when I wrote that I had blissfully blocked something out.
Somebody helpfully added tab support, and demoted multi-window support
to a second-class citizen. Tabs are for phones and tablets, where the
screen is small and everything needs to take up the whole screen. I
have dual 32" monitors, and I keep thinking about going to 40" or more.
(Hint: TVs make great monitors, and they're cheap.) Depending on the
model, I can easily put up three or more instances of the UI - and I
want to be able to look at them all at the same time. I want to be able
to edit a library in one window, save, and then refresh a consuming file
in another window. It seems like it should be straightforward to
support both multi-window and tab operation - have a preference toggle.
Toggled one way, File/New and File/Open open in new tabs; toggled the
other way they open in new windows like they used to. Or maybe it just
toggles which menu items Ctrl+N and Ctrl+O are bound to, or swaps the
two sets of menu items. But don't remind me every time that I want to
work on two files that I'm a second-class citizen, especially when the
old behavior was the way I liked. https://xkcd.com/2224/ comes to mind.
On to lesser (but harder) things:
I'll start with language, because I know that's what you're really
interested in. Not that these are really my top "wants":
If I had to pick a single set of things that I'd like to see improvement
on, it would be the handling of what are currently considered "errors"
in the model - non-2-manifolds[*], polyhedra with their surfaces twisted
wrong, and Z-fighting over zero-thickness sections. Those are all easy
traps for the novice to fall into and not immediately obvious.
[*] I should note that I'm still hazy on the concept of
manifold-ness, so I might use the terms wrong.
There's no intuitive reason why this model is a problem:
cube(1);
translate([1,1,0]) cube(1);
Nor this:
difference() {
cube(2, center=true);
cylinder(d=1, h=2, center=true);
}
Nor this:
points=[[0,0,0], [0,0,1], [0,1,0], [0,1,1], [1,0,0], [1,0,1], [1,1,0], [1,1,1]];
faces = [[0,1,5,4], [0,2,3,1], [0,2,6,4], [1,3,7,5], [2,6,7,3], [4,5,7,6]];
polyhedron(points, faces);
Yet they all fun afoul of these geometric ... quirks.
And yes, I know that the expertise required to address these issues is
very different from the expertise required for language enhancements.
And some of it might need to be in the consuming applications (like
slicers). And some of it might be PhD thesis material.
Beyond that, I'd like to see better integration between CAD programs
like OpenSCAD and slicers. I'd like you to be able to change a design
in OpenSCAD and "refresh" the slicer so that the old model is replaced
by the new. Some aspects of that are easy: retaining translation,
rotation, and scaling; maybe retaining print settings. Some are harder,
like arranging that the model is on the print bed even when its lowest
point moved up or down. Some are probably nearly impossible, like
retaining support designs. Probably this is mostly on the slicer, but
maybe not.
Along the same lines of integration with slicers, it would be nice to be
able to incorporate slicer controls into the model definition, so that
you don't have to have both the .scad file and a separate file that sets
up the slicer. Perhaps, for instance, there could be annotations that
you could add in OpenSCAD that the slicer would read. Start with
rotation, translation, and scaling, so that you can be looking at the
object in its "use" orientation in OpenSCAD, but it would automatically
adjust to its "print" orientation in the slicer. Continue with, e.g.,
slice thickness. This would address some of the "refresh" functionality
desired above. People with mills instead of 3D printers might be
interested in similar functionality to allow cut descriptions to be
embedded in the model design.
If I ever buy a dual-extruder printer, some kind of direct support for
that will immediately jump to the top of my list. I don't know what it
looks like, because I don't know what dual-extruder slicers look like,
but I know that I'll want to be able to directly say "build this shape
using extruder 1 and this shape using extruder 2".
I'd consider working on some of this (especially the tab thing), but I
don't want to have to set up a Linux system to do it. Is building on
Windows really as fragile as
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Microsoft_Windows
suggests? (I suppose maybe I could run a Linux VM under Windows with
VirtualBox.)
That's all I'm coming up with. And again, with the exception of the tab
stuff mostly I'm a happy camper.
On Sat, Nov 9, 2019 at 6:52 PM adrianv avm4@cornell.edu wrote:
I think grouping "stability" with "squash bugs" is a bit strange.
I meant stability of execution, such as reducing occurrence of
crashes, internal errors, unexpected behavior, bugs in general
(separate from new feature requests). Not that the program should be
unchanged, that would be option 6 instead :)
There seem to be ever increasing issues reported on github, I think
that the most of the time there are more are being opened than get
closed out. I would be curious what a graph of total open issues over
project lifetime looks like, but as far as I can tell, the most github
will show is the bugs changed in the past month (under "Insights"
tab).
JordanBrown wrote
Well, when I wrote that I had blissfully blocked something out.
Somebody helpfully added tab support, and demoted multi-window support
to a second-class citizen. ... It seems like it should be straightforward
to
support both multi-window and tab operation - have a preference toggle.
Toggled one way, File/New and File/Open open in new tabs; toggled the
other way they open in new windows like they used to. Or maybe it just
toggles which menu items Ctrl+N and Ctrl+O are bound to, or swaps the
two sets of menu items. But don't remind me every time that I want to
work on two files that I'm a second-class citizen, especially when the
old behavior was the way I liked. https://xkcd.com/2224/ comes to mind.
Did you notice File/New-window & File/Open-in-new-window?
Admin - email* me if you need anything, or if I've done something stupid...
Unless specifically shown otherwise above, my contribution is in the Public Domain; to the extent possible under law, I have waived all copyright and related or neighbouring rights to this work. Obviously inclusion of works of previous authors is not included in the above.
Sent from: http://forum.openscad.org/
On 11/9/2019 7:24 PM, MichaelAtOz wrote:
JordanBrown wrote
Well, when I wrote that I had blissfully blocked something out.
Somebody helpfully added tab support, and demoted multi-window support
to a second-class citizen. ... It seems like it should be straightforward
to
support both multi-window and tab operation - have a preference toggle.
Toggled one way, File/New and File/Open open in new tabs; toggled the
other way they open in new windows like they used to. Or maybe it just
toggles which menu items Ctrl+N and Ctrl+O are bound to, or swaps the
two sets of menu items. But don't remind me every time that I want to
work on two files that I'm a second-class citizen, especially when the
old behavior was the way I liked. https://xkcd.com/2224/ comes to mind.
Did you notice File/New-window & File/Open-in-new-window?
Yep.
And Ctrl+N and Ctrl+O and the buttons in the editor open tabs. And the
prime locations in the menu, at the top, open tabs; if you want new
windows you have to go down to somewhere in the middle of the menu.
I recognize that new-window operations are still there, but they've been
demoted to second-class-citizen status.
On Sat Nov 09 14:22:05 PST 2019 thehans@gmail.com said:
I wanted to get some input and have a bit of discussion from users
here, regarding what they would most like to see from current or
near-future OpenSCAD development.
What I would like is the editor to be syntax aware, and be able to format the code easily.
Heck, a plugin for the Eclipse Dev environment would be WONDERFUL.
--
Tigers prowl and Dragons soar in my dreams...
On Sat, Nov 9, 2019 at 10:33 PM John Lussmyer Cougar@casadelgato.com wrote:
What I would like is the editor to be syntax aware
In what way? Syntax highlighting has been in for a while. And
auto-completion was added recently, available in the nightly version.
Or something more?
, and be able to format the code easily.
Not sure if this helps, but one trick that many might not know about
is if you click menu "Design" -> "Display AST..." it will open a
separate window with a consistently formatted version of your scad
file, created by parsing the script and reconstructing the text from
the Abstract Syntax Tree.
It isn't exactly intended for "pretty-printing", and so has a few
quirks lke reordering the overall layout as: functions definitions
first, then modules definitions, then variable declarations and module
calls(top-level code).
Also it will strip comments that aren't part of customizer parameters.
Besides those things the output should be functionally equivalent, and
I have found it useful on occasion to quickly make nice indented,
legible output from some spaghetti code.
Hans
On 11/9/19, Hans L thehans@gmail.com wrote:
On Sat, Nov 9, 2019 at 10:33 PM John Lussmyer Cougar@casadelgato.com
wrote:
What I would like is the editor to be syntax aware
In what way? Syntax highlighting has been in for a while. And
auto-completion was added recently, available in the nightly version.
Or something more?
, and be able to format the code easily.
Not sure if this helps, but one trick that many might not know about
is if you click menu "Design" -> "Display AST..." it will open a
separate window with a consistently formatted version of your scad
file, created by parsing the script and reconstructing the text from
the Abstract Syntax Tree.
It isn't exactly intended for "pretty-printing", and so has a few
quirks lke reordering the overall layout as: functions definitions
first, then modules definitions, then variable declarations and module
calls(top-level code).
Also it will strip comments that aren't part of customizer parameters.
Besides those things the output should be functionally equivalent, and
I have found it useful on occasion to quickly make nice indented,
legible output from some spaghetti code.
Hans
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org