tp3 wrote
Why all the $ variables?
To be perfectly honest I cannot now remember but I believe I had concluded
that the way my ClikScad creates code would only work with $variables. If I
have some time today I will read back through my development notes - maybe I
wrote about it.
Keep in mind that ClikScad has two primary (and parallel) objectives - {A}
keeping the Python code simple and {B} the whole thing aimed at
inexperienced and occasional users of OpenSCAD. Power users are very
welcome, but they are not the target market.
...R
--
Sent from: http://forum.openscad.org/
Later ....
Modifying ClikScad so it produces OpenSCAD code that is compatible with the
Customizer has proved to be very easy and I will probably incorporate that
in the next version, primarily so that I don't alienate those who favour the
Customizer.
However from a practical point of view it seems to me that it would just
confuse ClikScad users to offer two ways of doing the same thing - ClikScad
and the Customizer. IMHO it would be easier for the user to make the changes
directly in ClikScad.
And on the subject of $variables, even though it was not the primary reason
for choosing to use them, they offer a very convenient means to trigger a
popup from which the user can select them and avoid the risk of typing
errors. So they will be staying. That may offend some programming purists
but I don't believe it will cause any irreparable damage to anyone's model.
...R
--
Sent from: http://forum.openscad.org/
On 28.10.19 14:47, Robin2 wrote:
And on the subject of $variables, even though it was
not the primary reason for choosing to use them, they
offer a very convenient means to trigger a popup from
which the user can select them and avoid the risk of
typing errors. So they will be staying. That may
offend some programming purists but I don't believe
it will cause any irreparable damage to anyone's model.
It's not about purists or style.
Using $ variables means fundamentally different behavior.
All I'm saying is: Don't use them because the look
cute. If usage matches the intended behavior, that's
fine.
Or in other words, be aware of the effects to not get
something similar to
https://geekandpoke.typepad.com/geekandpoke/2012/04/simply-explained-gv.html
ciao,
Torsten.
On Oct 25, 2019, at 04:30, Robin2 robin@nbleopard.com wrote:
I don't know their names but I presume there are some people who act as the
"guardian" of the OpenSCAD project
All I mean by "support" is a statement of encouragement - "We believe XXX
would be a useful addition to OpenSCAD[...] maybe "we will bundle it with (or link to it from) OpenSCAD wen
it is sufficiently complete"
A graphical editor has been thought about and discussed many times, and it's a really interesting topic.
Both the MIT Scratch concept and the node-based editor, as discussed in this thread, are common solutions to such a challenge and they both have numerous implementations both in other software and as part of OpenSCAD or OpenSCAD-inspired software.
I do encourage exploration and experimentation in this domain, and we'd be happy to at the very least link to interesting projects that relates to OpenSCAD in some way.
Two things to keep in mind:
Even if this mainly provides value to occasional or new users of OpenSCAD and hence is primarily targeting small designs,
I think that such a feature should consider what would happen if used "one level up". Lots of interesting topics can pop up here (e.g. are the two representations isomorphic?, how do you compose larger objects? how do you manage abstractions?)
Bundling such an editor with OpenSCAD pretty much means integrating it into the software itself, which is likely a bit of an undertaking which includes both writing the editor itself, necessary refactoring of our internal APIs and UI to make it fit, plus long-term maintenance. Maintaining this as a stand-alone companion tool is probably a much easier way to test out the concept, learn about your users and refine both the concept and solution until it's clear where it fits.
Kind Regards,
-Marius
kintel wrote
(e.g. are the two representations isomorphic?, how do you compose larger
objects? how do you manage abstractions?)
Perhaps the most eloquent response I can make is that I have no idea what
you mean by that. You clearly know a great deal more about OpenSCAD and how
3D models can be represented.
I see some very esoteric discussions on this Forum but I cannot conceive of
what the models behind them will be used for.They seem to be much too
complex for 3D printing as a single object. I have to say I get the
impression (perhaps wrongly) that some people are trying to use OpenSCAD in
situations where another CAD program would be more suitable.
I don't see any need for it in the near term. What could be useful for
beginners is a page that can be accessed from the Documentation index
(http://www.openscad.org/documentation.html?version=2015.03) that has links
to the various graphical front ends that are available and, perhaps, some
guidance to help someone understand their differences and encourage people
to try that approach to using OpenSCAD.
Many thanks fr your interest,
...R
--
Sent from: http://forum.openscad.org/
They seem to be much too complex for 3D printing as a single object. I
have to say I get the impression (perhaps wrongly) that some people are
trying to use OpenSCAD in situations where another CAD program would be
more suitable.
Why should OpenSCAD be limited to describing single objects? Most of my
designs have multiple printed parts and dozens of vitamins. Why would
another CAD tool be more appropriate? I use OpenSCAD because I am a
programmer with CNC tools, not a mechanical designer. Perhaps if I was
designing something as complex as a 737 plane OpenSCAD would run out of
steam but it easily copes with anything I build. The most complex being 3D
printers with perhaps 2000 parts, 100 of them printed.
On Tue, 29 Oct 2019 at 08:41, Robin2 robin@nbleopard.com wrote:
kintel wrote
(e.g. are the two representations isomorphic?, how do you compose larger
objects? how do you manage abstractions?)
Perhaps the most eloquent response I can make is that I have no idea what
you mean by that. You clearly know a great deal more about OpenSCAD and how
3D models can be represented.
I see some very esoteric discussions on this Forum but I cannot conceive of
what the models behind them will be used for.They seem to be much too
complex for 3D printing as a single object. I have to say I get the
impression (perhaps wrongly) that some people are trying to use OpenSCAD in
situations where another CAD program would be more suitable.
I don't see any need for it in the near term. What could be useful for
beginners is a page that can be accessed from the Documentation index
(http://www.openscad.org/documentation.html?version=2015.03) that has
links
to the various graphical front ends that are available and, perhaps, some
guidance to help someone understand their differences and encourage people
to try that approach to using OpenSCAD.
Many thanks fr your interest,
...R
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
nophead wrote
Why should OpenSCAD be limited to describing single objects? Most of my
designs have multiple printed parts and dozens of vitamins. Why would
another CAD tool be more appropriate?
I'm finding it difficult to explain myself. Some of the discussions I see
here seem to involve very complex manipulations that, I suspect, would be
completely unnecessary and irrelevant in other CAD programs. It's just a
feeling I have that in some cases OpenSCAD is being pushed too far from its
essential simplicity. That's why I have been asking questions about the
intended "market" for OpenSCAD. If it gets too complicated I fear it will
lose its attraction for people who don't need a complex CAD system yet it
will still not match the capabilities of (say) FreeCad or SolveSpace.
I have no objection to people creating complex models. I reckon most of them
could be created with ClikScad (or Graphscad or Blocscad).
...R
--
Sent from: http://forum.openscad.org/
On 24.10.19 19:27, WillAdams via Discuss wrote:
I have a URL I'd like to use for that --- designinto3d.com
but I'm kind of mystified by the whole web server hosting
thing. Even better would be if the server could run TeX/LaTeX
and serve up files thusly generated.
Do you plan to actually host a full service? Most of the
existing sites focus on the printing part of the workflow,
not so much the design.
ciao,
Torsten.
On 10/29/2019 4:13 AM, Robin2 wrote:
I'm finding it difficult to explain myself. Some of the discussions I
see here seem to involve very complex manipulations that, I suspect,
would be completely unnecessary and irrelevant in other CAD programs.
It's just a feeling I have that in some cases OpenSCAD is being pushed
too far from itsessential simplicity. That's why I have been asking
questions about the intended "market" for OpenSCAD. If it gets too
complicated I fear it will lose its attraction for people who don't
need a complex CAD system yet it will still not match the capabilities
of (say) FreeCad or SolveSpace.
Maybe I just haven't tried hard enough to learn those tools, but they
seem harder to use than OpenSCAD, for less functionality. I did try
to learn Blender, and ... yuck. If I was a sculptor it would be good,
maybe, but I'm not - I'm an engineer. I've tried pretty hard to use
SketchUp, but it's a pain in the neck to do anything where you want
precise positioning, and it has zero capability for parameterization and
repetition.
So far, I can't see building any but the simplest of my models using a
point-and-click user interface. I want to duplicate and parameterize
them too much.
I have no objection to people creating complex models. I reckon most of them
could be created with ClikScad (or Graphscad or Blocscad).
https://www.thingiverse.com/thing:2638382 is one of my first models. I
can't imagine building it using a tool that would require positioning
each element. I could come close to doing it in BlocksCAD, but it seems
like the mouse work involved would be much slower than the typing in
OpenSCAD, and the resulting program would be visually much larger. And
I can't actually do it the way that I did it in OpenSCAD, because
BlocksCAD doesn't have any way to import drawings.
It's 49 lines of OpenSCAD, including comments, plus a DXF file for the
cross section. (Today I'd do the Bezier curve directly in OpenSCAD, but
I didn't have the functions back then.)
Or even this stupid little rack for drying bottles:
In a typical point and click UI, if I decided the spacing was wrong I'd
nearly have to start from scratch.
I'm sure that the more elaborate CAD programs can handle this kind of
repetition and parameterization, but they come with their own
complexity. I know how to write programs, and so writing programs is,
for me, the easy way to do it.
In fact, I'd say that answers your question about audience. Just look
at the page title for openscad.org:
OpenSCAD - The Programmers Solid 3D CAD Modeller
The intended audience is programmers who want to do 3D modeling.
BTW, here's photos of some of my more recent and elaborate models:
'
I'm finding it difficult to explain myself. Some of the discussions I see
here seem to involve very complex manipulations that, I suspect, would be
completely unnecessary and irrelevant in other CAD programs. It's just a
feeling I have that in some cases OpenSCAD is being pushed too far from its
essential simplicity. That's why I have been asking questions about the
intended "market" for OpenSCAD. If it gets too complicated I fear it will
lose its attraction for people who don't need a complex CAD system yet it
will still not match the capabilities of (say) FreeCad or SolveSpace.
OpenSCAD has a very different style of creating 3D shapes, compared to freehand direct-manipulation modelling tools. This style of working can appeal to both novices and experts. We have both types of users in our community.
I would call this style Parametric, Procedural Design. The "Procedural" part means that you use an algorithm to generate the geometry, rather than positioning things by hand. The "Parametric" part means that your model has a set of high level numeric parameters that can be tweaked to generate variations on the design. The parameters are inputs to the algorithm, which preserves all of the invariants or requirements that the design is required to conform to, even as the parameter values change.
Procedural design gives you a large amount of precise control over the model. It can be used to generate lots of repetitive detail which nevertheless exhibits mathematically precise symmetry: just the sort of thing that you don't want to construct by hand. It's attractive to experts because of all the control you get over the output.