discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: I discovered CadQuery

JB
Jordan Brown
Wed, Jan 17, 2024 4:19 AM

On 1/16/2024 7:11 PM, Jordan Brown wrote:

Is there some kind of middle ground?  Maybe.

Or maybe you could:

  • Have a click-y way to add any existing module, parameterized, to the
    top level.
  • Have a click-y way to change those parameters.
  • Have a UI that lets you select any top-level object, and change its
    translation, rotation, and scale.  If there is an existing
    translate(...) rotate(...) scale(...) with constant arguments then
    update them, else add them.

This would only work on very stylized OpenSCAD programs, and it would
only let you do very simple things, and even then it's tricky because
the textual representation of a program isn't very amenable to
mechanical modification, but seems plausible.  (Even more so if the AST
maintains stuff like comments and spacing.  Not that that's trivial, but
it seems plausible.)

BTW, another droid that may be of interest is BlocksCAD
https://www.blockscad3d.com/, which is a block/flowchart presentation
of OpenSCAD.  I don't think it has any click-edit features, but it
avoids requiring the user to get syntax right.  (But note that it
doesn't let you edit the resulting OpenSCAD, so I suspect that it can't
take arbitrary OpenSCAD and turn it into block form.)

On 1/16/2024 7:11 PM, Jordan Brown wrote: > Is there some kind of middle ground?  Maybe. Or maybe you could: * Have a click-y way to add any existing module, parameterized, to the top level. * Have a click-y way to change those parameters. * Have a UI that lets you select any top-level object, and change its translation, rotation, and scale.  If there is an existing translate(...) rotate(...) scale(...) with constant arguments then update them, else add them. This would only work on very stylized OpenSCAD programs, and it would only let you do very simple things, and even then it's tricky because the textual representation of a program isn't very amenable to mechanical modification, but seems plausible.  (Even more so if the AST maintains stuff like comments and spacing.  Not that that's trivial, but it seems plausible.) BTW, another droid that may be of interest is BlocksCAD <https://www.blockscad3d.com/>, which is a block/flowchart presentation of OpenSCAD.  I don't think it has any click-edit features, but it avoids requiring the user to get syntax right.  (But note that it doesn't let you edit the resulting OpenSCAD, so I suspect that it can't take arbitrary OpenSCAD and turn it into block form.)
RW
Rogier Wolff
Wed, Jan 17, 2024 1:02 PM

On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote:

  • Have a click-y way to add any existing module, parameterized, to the
    top level.

I think much more is possible.

click new
/* unnamed.scad /
double click unnamed somewhere on screen. Type mymodule
/
mymodule.scad */
module mymodule ()
{
}
mymodule ();

click add cube
/* mymodule.scad */
module mymodule ()
{
cube (10);
}
mymodule ();

click change size, unclick locked checkbox
/* mymodule.scad */
module mymodule ()
{
cube ([10,10,10]);
}
mymodule ();

change the Y to 20, z to 30;
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
}
mymodule ();

click add submodule type "stud" in the "name?" popup.

/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
stud ();
}
mymodule ();

** Warning no module named stud

click on stud in the hierarchy view.
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
mymodule ();
** Warning no module named stud

double click on stud in the hierarchy view.

/* mymodule.scad */

module stud ()
{
}

module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
stud ();

/* editing module stud */

click add cylinder

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
stud ();
}
stud ();

/* editing module stud */
click edit-in-context

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
color ("green" /* green to highlight the active module*/) stud ();
}
mymodule ();

/* editing module stud */

etc. (I was going to change the diameter of the cylinder to 5, move it
down and then put 3 more copies inside mymodule at the other three
corners...)

Now, this may or may not be able to read generic openscad files. But
to me it doesn't sound impossible. If you first set the goals low,
like add objects and have them have constant sizes. This sounds like a
day-to-a-week project (depending on your toolset and experience with
creating menus and actions to go along). Just the basics! Keep in mind
that openscad is just being used as something to visualize the
textfile that is being edited by the gui.

Of course you'd be missing out on many important openscad
features. But once the ball is rolling, you can start adding stuff
like parameters on modules, using those as parameters to submodules
etc etc.

With some help from openscad, this could become even more
useful. People like to select (sub)modules by pointing and
clicking. So something that might need to be added to openscad is:
"What object caused the pixel at x,y to be colored the way it is?". I
think it would need to report the lowest level object that
satisfies. The user should then be able to click "up" enough times to
go up the hierarchy to find the proper

Without openscad help, this would be a bit tedious. Make openscad
render the toplevel to an image in a file with a # in front of the
toplevel object, then search down and down the hierarchy by moving the

and see which submodules when prefaced with a # will keep turning

the pixel pink. If a render takes a few seconds, that can cost way too
long. You'd quickly want to move some of the required stuff into
openscad.

Anyway... those are my ideas on having a more "clicky" interface for
openscad. As that'd be intended for an audience that doesn't include
me, I'm afraid I'm not volunteering for making it... The usual!

Now off to editing the openscad model where the preview shows it will
fit, but 3d-printed-reality seems to be different...

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 Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote: > * Have a click-y way to add any existing module, parameterized, to the > top level. I think much more is possible. click new /* unnamed.scad */ double click unnamed somewhere on screen. Type mymodule /* mymodule.scad */ module mymodule () { } mymodule (); click add cube /* mymodule.scad */ module mymodule () { cube (10); } mymodule (); click change size, unclick locked checkbox /* mymodule.scad */ module mymodule () { cube ([10,10,10]); } mymodule (); change the Y to 20, z to 30; /* mymodule.scad */ module mymodule () { cube ([10,20,30]); } mymodule (); click add submodule type "stud" in the "name?" popup. /* mymodule.scad */ module mymodule () { cube ([10,20,30]); stud (); } mymodule (); ** Warning no module named stud click on stud in the hierarchy view. /* mymodule.scad */ module mymodule () { cube ([10,20,30]); #stud (); } mymodule (); ** Warning no module named stud double click on stud in the hierarchy view. /* mymodule.scad */ module stud () { } module mymodule () { cube ([10,20,30]); #stud (); } stud (); /* editing module stud */ click add cylinder /* mymodule.scad */ module stud () { cylinder (d=10, h=10); } module mymodule () { cube ([10,20,30]); stud (); } stud (); /* editing module stud */ click edit-in-context /* mymodule.scad */ module stud () { cylinder (d=10, h=10); } module mymodule () { cube ([10,20,30]); color ("green" /* green to highlight the active module*/) stud (); } mymodule (); /* editing module stud */ etc. (I was going to change the diameter of the cylinder to 5, move it down and then put 3 more copies inside mymodule at the other three corners...) Now, this may or may not be able to read generic openscad files. But to me it doesn't sound impossible. If you first set the goals low, like add objects and have them have constant sizes. This sounds like a day-to-a-week project (depending on your toolset and experience with creating menus and actions to go along). Just the basics! Keep in mind that openscad is just being used as something to visualize the textfile that is being edited by the gui. Of course you'd be missing out on many important openscad features. But once the ball is rolling, you can start adding stuff like parameters on modules, using those as parameters to submodules etc etc. With some help from openscad, this could become even more useful. People like to select (sub)modules by pointing and clicking. So something that might need to be added to openscad is: "What object caused the pixel at x,y to be colored the way it is?". I think it would need to report the lowest level object that satisfies. The user should then be able to click "up" enough times to go up the hierarchy to find the proper Without openscad help, this would be a bit tedious. Make openscad render the toplevel to an image in a file with a # in front of the toplevel object, then search down and down the hierarchy by moving the # and see which submodules when prefaced with a # will keep turning the pixel pink. If a render takes a few seconds, that can cost way too long. You'd quickly want to move some of the required stuff into openscad. Anyway... those are my ideas on having a more "clicky" interface for openscad. As that'd be intended for an audience that doesn't include me, I'm afraid I'm not volunteering for making it... The usual! Now off to editing the openscad model where the preview shows it will fit, but 3d-printed-reality seems to be different... 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.
ER
edmund ronald
Wed, Jan 17, 2024 2:03 PM

When I was a journalist, I interviewed an IBM exec and asked why there was
no GUI in their then current product line. His reply: « We aren’t children,
we don’t need mice ». If no one here understands that some  stuff is very
well done by numbers and other stuff by small adjustments by eye, eg if I
am typesetting a short poem and want to decide where to put it on the page,
I want to just slide it around the screen, then there is no point in a
continued discussion. I have no problem with the code part of OpenSCAD but
for some reason people here refuse to understand that occasionally the hand
and Mark I eyeball are really useful and effective tools.

Edmund

On Wednesday, January 17, 2024, Rogier Wolff via Discuss <
discuss@lists.openscad.org> wrote:

On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote:

  • Have a click-y way to add any existing module, parameterized, to the
    top level.

I think much more is possible.

click new
/* unnamed.scad /
double click unnamed somewhere on screen. Type mymodule
/
mymodule.scad */
module mymodule ()
{
}
mymodule ();

click add cube
/* mymodule.scad */
module mymodule ()
{
cube (10);
}
mymodule ();

click change size, unclick locked checkbox
/* mymodule.scad */
module mymodule ()
{
cube ([10,10,10]);
}
mymodule ();

change the Y to 20, z to 30;
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
}
mymodule ();

click add submodule type "stud" in the "name?" popup.

/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
stud ();
}
mymodule ();

** Warning no module named stud

click on stud in the hierarchy view.
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
mymodule ();
** Warning no module named stud

double click on stud in the hierarchy view.

/* mymodule.scad */

module stud ()
{
}

module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
stud ();

/* editing module stud */

click add cylinder

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
stud ();
}
stud ();

/* editing module stud */
click edit-in-context

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
color ("green" /* green to highlight the active module*/) stud ();
}
mymodule ();

/* editing module stud */

etc. (I was going to change the diameter of the cylinder to 5, move it
down and then put 3 more copies inside mymodule at the other three
corners...)

Now, this may or may not be able to read generic openscad files. But
to me it doesn't sound impossible. If you first set the goals low,
like add objects and have them have constant sizes. This sounds like a
day-to-a-week project (depending on your toolset and experience with
creating menus and actions to go along). Just the basics! Keep in mind
that openscad is just being used as something to visualize the
textfile that is being edited by the gui.

Of course you'd be missing out on many important openscad
features. But once the ball is rolling, you can start adding stuff
like parameters on modules, using those as parameters to submodules
etc etc.

With some help from openscad, this could become even more
useful. People like to select (sub)modules by pointing and
clicking. So something that might need to be added to openscad is:
"What object caused the pixel at x,y to be colored the way it is?". I
think it would need to report the lowest level object that
satisfies. The user should then be able to click "up" enough times to
go up the hierarchy to find the proper

Without openscad help, this would be a bit tedious. Make openscad
render the toplevel to an image in a file with a # in front of the
toplevel object, then search down and down the hierarchy by moving the

and see which submodules when prefaced with a # will keep turning

the pixel pink. If a render takes a few seconds, that can cost way too
long. You'd quickly want to move some of the required stuff into
openscad.

Anyway... those are my ideas on having a more "clicky" interface for
openscad. As that'd be intended for an audience that doesn't include
me, I'm afraid I'm not volunteering for making it... The usual!

Now off to editing the openscad model where the preview shows it will
fit, but 3d-printed-reality seems to be different...

     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.


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

When I was a journalist, I interviewed an IBM exec and asked why there was no GUI in their then current product line. His reply: « We aren’t children, we don’t need mice ». If no one here understands that some stuff is very well done by numbers and other stuff by small adjustments by eye, eg if I am typesetting a short poem and want to decide where to put it on the page, I want to just slide it around the screen, then there is no point in a continued discussion. I have no problem with the code part of OpenSCAD but for some reason people here refuse to understand that occasionally the hand and Mark I eyeball are really useful and effective tools. Edmund On Wednesday, January 17, 2024, Rogier Wolff via Discuss < discuss@lists.openscad.org> wrote: > On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote: > > * Have a click-y way to add any existing module, parameterized, to the > > top level. > > I think much more is possible. > > click new > /* unnamed.scad */ > double click unnamed somewhere on screen. Type mymodule > /* mymodule.scad */ > module mymodule () > { > } > mymodule (); > > click add cube > /* mymodule.scad */ > module mymodule () > { > cube (10); > } > mymodule (); > > click change size, unclick locked checkbox > /* mymodule.scad */ > module mymodule () > { > cube ([10,10,10]); > } > mymodule (); > > change the Y to 20, z to 30; > /* mymodule.scad */ > module mymodule () > { > cube ([10,20,30]); > } > mymodule (); > > click add submodule type "stud" in the "name?" popup. > > /* mymodule.scad */ > module mymodule () > { > cube ([10,20,30]); > stud (); > } > mymodule (); > > ** Warning no module named stud > > click on stud in the hierarchy view. > /* mymodule.scad */ > module mymodule () > { > cube ([10,20,30]); > #stud (); > } > mymodule (); > ** Warning no module named stud > > double click on stud in the hierarchy view. > > /* mymodule.scad */ > > module stud () > { > } > > module mymodule () > { > cube ([10,20,30]); > #stud (); > } > stud (); > > /* editing module stud */ > > click add cylinder > > /* mymodule.scad */ > > module stud () > { > cylinder (d=10, h=10); > } > > module mymodule () > { > cube ([10,20,30]); > stud (); > } > stud (); > > /* editing module stud */ > click edit-in-context > > /* mymodule.scad */ > > module stud () > { > cylinder (d=10, h=10); > } > > module mymodule () > { > cube ([10,20,30]); > color ("green" /* green to highlight the active module*/) stud (); > } > mymodule (); > > /* editing module stud */ > > > etc. (I was going to change the diameter of the cylinder to 5, move it > down and then put 3 more copies inside mymodule at the other three > corners...) > > Now, this may or may not be able to read generic openscad files. But > to me it doesn't sound impossible. If you first set the goals low, > like add objects and have them have constant sizes. This sounds like a > day-to-a-week project (depending on your toolset and experience with > creating menus and actions to go along). Just the basics! Keep in mind > that openscad is just being used as something to visualize the > textfile that is being edited by the gui. > > Of course you'd be missing out on many important openscad > features. But once the ball is rolling, you can start adding stuff > like parameters on modules, using those as parameters to submodules > etc etc. > > With some help from openscad, this could become even more > useful. People like to select (sub)modules by pointing and > clicking. So something that might need to be added to openscad is: > "What object caused the pixel at x,y to be colored the way it is?". I > think it would need to report the lowest level object that > satisfies. The user should then be able to click "up" enough times to > go up the hierarchy to find the proper > > Without openscad help, this would be a bit tedious. Make openscad > render the toplevel to an image in a file with a # in front of the > toplevel object, then search down and down the hierarchy by moving the > # and see which submodules when prefaced with a # will keep turning > the pixel pink. If a render takes a few seconds, that can cost way too > long. You'd quickly want to move some of the required stuff into > openscad. > > Anyway... those are my ideas on having a more "clicky" interface for > openscad. As that'd be intended for an audience that doesn't include > me, I'm afraid I'm not volunteering for making it... The usual! > > Now off to editing the openscad model where the preview shows it will > fit, but 3d-printed-reality seems to be different... > > 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. > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
NH
nop head
Wed, Jan 17, 2024 2:13 PM

Since OpenSCAD supports Python and CadQuery is written in Python is
possible to use CQ inside OpenSCAD?

On Wed, 17 Jan 2024, 14:04 edmund ronald via Discuss, <
discuss@lists.openscad.org> wrote:

When I was a journalist, I interviewed an IBM exec and asked why there was
no GUI in their then current product line. His reply: « We aren’t children,
we don’t need mice ». If no one here understands that some  stuff is very
well done by numbers and other stuff by small adjustments by eye, eg if I
am typesetting a short poem and want to decide where to put it on the page,
I want to just slide it around the screen, then there is no point in a
continued discussion. I have no problem with the code part of OpenSCAD but
for some reason people here refuse to understand that occasionally the hand
and Mark I eyeball are really useful and effective tools.

Edmund

On Wednesday, January 17, 2024, Rogier Wolff via Discuss <
discuss@lists.openscad.org> wrote:

On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote:

  • Have a click-y way to add any existing module, parameterized, to the
    top level.

I think much more is possible.

click new
/* unnamed.scad /
double click unnamed somewhere on screen. Type mymodule
/
mymodule.scad */
module mymodule ()
{
}
mymodule ();

click add cube
/* mymodule.scad */
module mymodule ()
{
cube (10);
}
mymodule ();

click change size, unclick locked checkbox
/* mymodule.scad */
module mymodule ()
{
cube ([10,10,10]);
}
mymodule ();

change the Y to 20, z to 30;
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
}
mymodule ();

click add submodule type "stud" in the "name?" popup.

/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
stud ();
}
mymodule ();

** Warning no module named stud

click on stud in the hierarchy view.
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
mymodule ();
** Warning no module named stud

double click on stud in the hierarchy view.

/* mymodule.scad */

module stud ()
{
}

module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
stud ();

/* editing module stud */

click add cylinder

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
stud ();
}
stud ();

/* editing module stud */
click edit-in-context

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
color ("green" /* green to highlight the active module*/) stud ();
}
mymodule ();

/* editing module stud */

etc. (I was going to change the diameter of the cylinder to 5, move it
down and then put 3 more copies inside mymodule at the other three
corners...)

Now, this may or may not be able to read generic openscad files. But
to me it doesn't sound impossible. If you first set the goals low,
like add objects and have them have constant sizes. This sounds like a
day-to-a-week project (depending on your toolset and experience with
creating menus and actions to go along). Just the basics! Keep in mind
that openscad is just being used as something to visualize the
textfile that is being edited by the gui.

Of course you'd be missing out on many important openscad
features. But once the ball is rolling, you can start adding stuff
like parameters on modules, using those as parameters to submodules
etc etc.

With some help from openscad, this could become even more
useful. People like to select (sub)modules by pointing and
clicking. So something that might need to be added to openscad is:
"What object caused the pixel at x,y to be colored the way it is?". I
think it would need to report the lowest level object that
satisfies. The user should then be able to click "up" enough times to
go up the hierarchy to find the proper

Without openscad help, this would be a bit tedious. Make openscad
render the toplevel to an image in a file with a # in front of the
toplevel object, then search down and down the hierarchy by moving the

and see which submodules when prefaced with a # will keep turning

the pixel pink. If a render takes a few seconds, that can cost way too
long. You'd quickly want to move some of the required stuff into
openscad.

Anyway... those are my ideas on having a more "clicky" interface for
openscad. As that'd be intended for an audience that doesn't include
me, I'm afraid I'm not volunteering for making it... The usual!

Now off to editing the openscad model where the preview shows it will
fit, but 3d-printed-reality seems to be different...

     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.


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


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

Since OpenSCAD supports Python and CadQuery is written in Python is possible to use CQ inside OpenSCAD? On Wed, 17 Jan 2024, 14:04 edmund ronald via Discuss, < discuss@lists.openscad.org> wrote: > When I was a journalist, I interviewed an IBM exec and asked why there was > no GUI in their then current product line. His reply: « We aren’t children, > we don’t need mice ». If no one here understands that some stuff is very > well done by numbers and other stuff by small adjustments by eye, eg if I > am typesetting a short poem and want to decide where to put it on the page, > I want to just slide it around the screen, then there is no point in a > continued discussion. I have no problem with the code part of OpenSCAD but > for some reason people here refuse to understand that occasionally the hand > and Mark I eyeball are really useful and effective tools. > > Edmund > > On Wednesday, January 17, 2024, Rogier Wolff via Discuss < > discuss@lists.openscad.org> wrote: > >> On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote: >> > * Have a click-y way to add any existing module, parameterized, to the >> > top level. >> >> I think much more is possible. >> >> click new >> /* unnamed.scad */ >> double click unnamed somewhere on screen. Type mymodule >> /* mymodule.scad */ >> module mymodule () >> { >> } >> mymodule (); >> >> click add cube >> /* mymodule.scad */ >> module mymodule () >> { >> cube (10); >> } >> mymodule (); >> >> click change size, unclick locked checkbox >> /* mymodule.scad */ >> module mymodule () >> { >> cube ([10,10,10]); >> } >> mymodule (); >> >> change the Y to 20, z to 30; >> /* mymodule.scad */ >> module mymodule () >> { >> cube ([10,20,30]); >> } >> mymodule (); >> >> click add submodule type "stud" in the "name?" popup. >> >> /* mymodule.scad */ >> module mymodule () >> { >> cube ([10,20,30]); >> stud (); >> } >> mymodule (); >> >> ** Warning no module named stud >> >> click on stud in the hierarchy view. >> /* mymodule.scad */ >> module mymodule () >> { >> cube ([10,20,30]); >> #stud (); >> } >> mymodule (); >> ** Warning no module named stud >> >> double click on stud in the hierarchy view. >> >> /* mymodule.scad */ >> >> module stud () >> { >> } >> >> module mymodule () >> { >> cube ([10,20,30]); >> #stud (); >> } >> stud (); >> >> /* editing module stud */ >> >> click add cylinder >> >> /* mymodule.scad */ >> >> module stud () >> { >> cylinder (d=10, h=10); >> } >> >> module mymodule () >> { >> cube ([10,20,30]); >> stud (); >> } >> stud (); >> >> /* editing module stud */ >> click edit-in-context >> >> /* mymodule.scad */ >> >> module stud () >> { >> cylinder (d=10, h=10); >> } >> >> module mymodule () >> { >> cube ([10,20,30]); >> color ("green" /* green to highlight the active module*/) stud (); >> } >> mymodule (); >> >> /* editing module stud */ >> >> >> etc. (I was going to change the diameter of the cylinder to 5, move it >> down and then put 3 more copies inside mymodule at the other three >> corners...) >> >> Now, this may or may not be able to read generic openscad files. But >> to me it doesn't sound impossible. If you first set the goals low, >> like add objects and have them have constant sizes. This sounds like a >> day-to-a-week project (depending on your toolset and experience with >> creating menus and actions to go along). Just the basics! Keep in mind >> that openscad is just being used as something to visualize the >> textfile that is being edited by the gui. >> >> Of course you'd be missing out on many important openscad >> features. But once the ball is rolling, you can start adding stuff >> like parameters on modules, using those as parameters to submodules >> etc etc. >> >> With some help from openscad, this could become even more >> useful. People like to select (sub)modules by pointing and >> clicking. So something that might need to be added to openscad is: >> "What object caused the pixel at x,y to be colored the way it is?". I >> think it would need to report the lowest level object that >> satisfies. The user should then be able to click "up" enough times to >> go up the hierarchy to find the proper >> >> Without openscad help, this would be a bit tedious. Make openscad >> render the toplevel to an image in a file with a # in front of the >> toplevel object, then search down and down the hierarchy by moving the >> # and see which submodules when prefaced with a # will keep turning >> the pixel pink. If a render takes a few seconds, that can cost way too >> long. You'd quickly want to move some of the required stuff into >> openscad. >> >> Anyway... those are my ideas on having a more "clicky" interface for >> openscad. As that'd be intended for an audience that doesn't include >> me, I'm afraid I'm not volunteering for making it... The usual! >> >> Now off to editing the openscad model where the preview shows it will >> fit, but 3d-printed-reality seems to be different... >> >> 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. >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GS
Guenther Sohler
Wed, Jan 17, 2024 2:32 PM

yes of course!

look into this:

[image: image.png]

build123d is a modern API for CadQuery, but I am confident  that it also
works with cadquery itself.

of course  this depends  on python getting eventually merged any time in
the future

On Wed, Jan 17, 2024 at 3:14 PM nop head via Discuss <
discuss@lists.openscad.org> wrote:

Since OpenSCAD supports Python and CadQuery is written in Python is
possible to use CQ inside OpenSCAD?

On Wed, 17 Jan 2024, 14:04 edmund ronald via Discuss, <
discuss@lists.openscad.org> wrote:

When I was a journalist, I interviewed an IBM exec and asked why there
was no GUI in their then current product line. His reply: « We aren’t
children, we don’t need mice ». If no one here understands that some  stuff
is very well done by numbers and other stuff by small adjustments by eye,
eg if I am typesetting a short poem and want to decide where to put it on
the page, I want to just slide it around the screen, then there is no point
in a continued discussion. I have no problem with the code part of OpenSCAD
but for some reason people here refuse to understand that occasionally the
hand and Mark I eyeball are really useful and effective tools.

Edmund

On Wednesday, January 17, 2024, Rogier Wolff via Discuss <
discuss@lists.openscad.org> wrote:

On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote:

  • Have a click-y way to add any existing module, parameterized, to

the

 top level.

I think much more is possible.

click new
/* unnamed.scad /
double click unnamed somewhere on screen. Type mymodule
/
mymodule.scad */
module mymodule ()
{
}
mymodule ();

click add cube
/* mymodule.scad */
module mymodule ()
{
cube (10);
}
mymodule ();

click change size, unclick locked checkbox
/* mymodule.scad */
module mymodule ()
{
cube ([10,10,10]);
}
mymodule ();

change the Y to 20, z to 30;
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
}
mymodule ();

click add submodule type "stud" in the "name?" popup.

/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
stud ();
}
mymodule ();

** Warning no module named stud

click on stud in the hierarchy view.
/* mymodule.scad */
module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
mymodule ();
** Warning no module named stud

double click on stud in the hierarchy view.

/* mymodule.scad */

module stud ()
{
}

module mymodule ()
{
cube ([10,20,30]);
#stud ();
}
stud ();

/* editing module stud */

click add cylinder

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
stud ();
}
stud ();

/* editing module stud */
click edit-in-context

/* mymodule.scad */

module stud ()
{
cylinder (d=10, h=10);
}

module mymodule ()
{
cube ([10,20,30]);
color ("green" /* green to highlight the active module*/) stud ();
}
mymodule ();

/* editing module stud */

etc. (I was going to change the diameter of the cylinder to 5, move it
down and then put 3 more copies inside mymodule at the other three
corners...)

Now, this may or may not be able to read generic openscad files. But
to me it doesn't sound impossible. If you first set the goals low,
like add objects and have them have constant sizes. This sounds like a
day-to-a-week project (depending on your toolset and experience with
creating menus and actions to go along). Just the basics! Keep in mind
that openscad is just being used as something to visualize the
textfile that is being edited by the gui.

Of course you'd be missing out on many important openscad
features. But once the ball is rolling, you can start adding stuff
like parameters on modules, using those as parameters to submodules
etc etc.

With some help from openscad, this could become even more
useful. People like to select (sub)modules by pointing and
clicking. So something that might need to be added to openscad is:
"What object caused the pixel at x,y to be colored the way it is?". I
think it would need to report the lowest level object that
satisfies. The user should then be able to click "up" enough times to
go up the hierarchy to find the proper

Without openscad help, this would be a bit tedious. Make openscad
render the toplevel to an image in a file with a # in front of the
toplevel object, then search down and down the hierarchy by moving the

and see which submodules when prefaced with a # will keep turning

the pixel pink. If a render takes a few seconds, that can cost way too
long. You'd quickly want to move some of the required stuff into
openscad.

Anyway... those are my ideas on having a more "clicky" interface for
openscad. As that'd be intended for an audience that doesn't include
me, I'm afraid I'm not volunteering for making it... The usual!

Now off to editing the openscad model where the preview shows it will
fit, but 3d-printed-reality seems to be different...

     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.


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


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


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

yes of course! look into this: [image: image.png] build123d is a modern API for CadQuery, but I am confident that it also works with cadquery itself. of course this depends on python getting eventually merged any time in the future On Wed, Jan 17, 2024 at 3:14 PM nop head via Discuss < discuss@lists.openscad.org> wrote: > Since OpenSCAD supports Python and CadQuery is written in Python is > possible to use CQ inside OpenSCAD? > > On Wed, 17 Jan 2024, 14:04 edmund ronald via Discuss, < > discuss@lists.openscad.org> wrote: > >> When I was a journalist, I interviewed an IBM exec and asked why there >> was no GUI in their then current product line. His reply: « We aren’t >> children, we don’t need mice ». If no one here understands that some stuff >> is very well done by numbers and other stuff by small adjustments by eye, >> eg if I am typesetting a short poem and want to decide where to put it on >> the page, I want to just slide it around the screen, then there is no point >> in a continued discussion. I have no problem with the code part of OpenSCAD >> but for some reason people here refuse to understand that occasionally the >> hand and Mark I eyeball are really useful and effective tools. >> >> Edmund >> >> On Wednesday, January 17, 2024, Rogier Wolff via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote: >>> > * Have a click-y way to add any existing module, parameterized, to >>> the >>> > top level. >>> >>> I think much more is possible. >>> >>> click new >>> /* unnamed.scad */ >>> double click unnamed somewhere on screen. Type mymodule >>> /* mymodule.scad */ >>> module mymodule () >>> { >>> } >>> mymodule (); >>> >>> click add cube >>> /* mymodule.scad */ >>> module mymodule () >>> { >>> cube (10); >>> } >>> mymodule (); >>> >>> click change size, unclick locked checkbox >>> /* mymodule.scad */ >>> module mymodule () >>> { >>> cube ([10,10,10]); >>> } >>> mymodule (); >>> >>> change the Y to 20, z to 30; >>> /* mymodule.scad */ >>> module mymodule () >>> { >>> cube ([10,20,30]); >>> } >>> mymodule (); >>> >>> click add submodule type "stud" in the "name?" popup. >>> >>> /* mymodule.scad */ >>> module mymodule () >>> { >>> cube ([10,20,30]); >>> stud (); >>> } >>> mymodule (); >>> >>> ** Warning no module named stud >>> >>> click on stud in the hierarchy view. >>> /* mymodule.scad */ >>> module mymodule () >>> { >>> cube ([10,20,30]); >>> #stud (); >>> } >>> mymodule (); >>> ** Warning no module named stud >>> >>> double click on stud in the hierarchy view. >>> >>> /* mymodule.scad */ >>> >>> module stud () >>> { >>> } >>> >>> module mymodule () >>> { >>> cube ([10,20,30]); >>> #stud (); >>> } >>> stud (); >>> >>> /* editing module stud */ >>> >>> click add cylinder >>> >>> /* mymodule.scad */ >>> >>> module stud () >>> { >>> cylinder (d=10, h=10); >>> } >>> >>> module mymodule () >>> { >>> cube ([10,20,30]); >>> stud (); >>> } >>> stud (); >>> >>> /* editing module stud */ >>> click edit-in-context >>> >>> /* mymodule.scad */ >>> >>> module stud () >>> { >>> cylinder (d=10, h=10); >>> } >>> >>> module mymodule () >>> { >>> cube ([10,20,30]); >>> color ("green" /* green to highlight the active module*/) stud (); >>> } >>> mymodule (); >>> >>> /* editing module stud */ >>> >>> >>> etc. (I was going to change the diameter of the cylinder to 5, move it >>> down and then put 3 more copies inside mymodule at the other three >>> corners...) >>> >>> Now, this may or may not be able to read generic openscad files. But >>> to me it doesn't sound impossible. If you first set the goals low, >>> like add objects and have them have constant sizes. This sounds like a >>> day-to-a-week project (depending on your toolset and experience with >>> creating menus and actions to go along). Just the basics! Keep in mind >>> that openscad is just being used as something to visualize the >>> textfile that is being edited by the gui. >>> >>> Of course you'd be missing out on many important openscad >>> features. But once the ball is rolling, you can start adding stuff >>> like parameters on modules, using those as parameters to submodules >>> etc etc. >>> >>> With some help from openscad, this could become even more >>> useful. People like to select (sub)modules by pointing and >>> clicking. So something that might need to be added to openscad is: >>> "What object caused the pixel at x,y to be colored the way it is?". I >>> think it would need to report the lowest level object that >>> satisfies. The user should then be able to click "up" enough times to >>> go up the hierarchy to find the proper >>> >>> Without openscad help, this would be a bit tedious. Make openscad >>> render the toplevel to an image in a file with a # in front of the >>> toplevel object, then search down and down the hierarchy by moving the >>> # and see which submodules when prefaced with a # will keep turning >>> the pixel pink. If a render takes a few seconds, that can cost way too >>> long. You'd quickly want to move some of the required stuff into >>> openscad. >>> >>> Anyway... those are my ideas on having a more "clicky" interface for >>> openscad. As that'd be intended for an audience that doesn't include >>> me, I'm afraid I'm not volunteering for making it... The usual! >>> >>> Now off to editing the openscad model where the preview shows it will >>> fit, but 3d-printed-reality seems to be different... >>> >>> 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. >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org >>> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GB
Glenn Butcher
Wed, Jan 17, 2024 3:30 PM

So, I discovered OpenSCAD about a year ago when I was exploring using
resin 3D printing to scratchbuild a HO-scale steam locomotive. I'd
abandoned metalwork at the time, too capital-intensive for my budget,
and the promise of 3D printing was too hard to ignore.  I started
modeling parts with various tools, and rapidly settled on OpenSCAD
because 1) it was free and 2) its script-foundation clicked with my
experience as a writer of computer programs.

What I found modeling steam locomotive parts was that there were a LOT
of chamfers and fillets, seemed to be a thing in the 1880s :D.  What I
also found was that extruding 2D profiles was easily done in OpenSCAD,
and the Round-Anything/polyround.scad did a great job of rounding
corners that needed such treatment.  So, my profiles became arrays of
triples, where the third element of the triple was a radius that
polyround() used to replace the point with a set of points describing
the curve.  Sweet...  Never in my construction of D&RG #168 did I
discover a need for a chamfer or fillet that required the use of a
parametric model of such.

I did run into a couple of really challenging parts, requiring a
Rube-Goldberg amalgam of tools.  The hangar for the bell, a rather
ornate-shaped thing, ended up being a set of profiles that were rounded
with polyround() and then fed into a path_extrude() script I found at
Thingiverse.  I knew BOSL2 would give me the tools to do this, but by
this time I'd become comfortable with the alternate tools and an earlier
experience with BOSL2 building rounded cab roof led me to the conclusion
that I should have started with BOSL2, wasn't going to go back and re-do
the stuff I'd already done.  So there.

To pull this into the "I discovered CadQuery" thread, good on that, but
it doesn't mean it's the only way to get things done. And, it doesn't
mean that a way in plain OpenSCAD is just too cumbersome, just maybe
cumbersome to some.  I have a short joke about this: Two guys on a
train, occasionally the window person would look out the window, pause,
and mutter a number: "129... 235... 32.....".  Guy on the aisle: "What
are you doing?" Window guy: "Counting cows."  Aisle guy: "Geesh, how do
you do that?" Window guy: "Easy.  I just count the number of legs and
divide by four..."  :D

The OpenSCAD toolbox by itself is quite powerful.  I'll bet CADQuery is
the same.  Whatever...

Glenn Butcher

On 1/17/2024 7:03 AM, edmund ronald via Discuss wrote:

When I was a journalist, I interviewed an IBM exec and asked why there
was no GUI in their then current product line. His reply: « We aren’t
children, we don’t need mice ». If no one here understands that some
 stuff is very well done by numbers and other stuff by small
adjustments by eye, eg if I am typesetting a short poem and want to
decide where to put it on the page, I want to just slide it around the
screen, then there is no point in a continued discussion. I have no
problem with the code part of OpenSCAD but for some reason people here
refuse to understand that occasionally the hand and Mark I eyeball are
really useful and effective tools.

Edmund

So, I discovered OpenSCAD about a year ago when I was exploring using resin 3D printing to scratchbuild a HO-scale steam locomotive. I'd abandoned metalwork at the time, too capital-intensive for my budget, and the promise of 3D printing was too hard to ignore.  I started modeling parts with various tools, and rapidly settled on OpenSCAD because 1) it was free and 2) its script-foundation clicked with my experience as a writer of computer programs. What I found modeling steam locomotive parts was that there were a LOT of chamfers and fillets, seemed to be a thing in the 1880s :D.  What I also found was that extruding 2D profiles was easily done in OpenSCAD, and the Round-Anything/polyround.scad did a great job of rounding corners that needed such treatment.  So, my profiles became arrays of triples, where the third element of the triple was a radius that polyround() used to replace the point with a set of points describing the curve.  Sweet...  Never in my construction of D&RG #168 did I discover a need for a chamfer or fillet that required the use of a parametric model of such. I did run into a couple of really challenging parts, requiring a Rube-Goldberg amalgam of tools.  The hangar for the bell, a rather ornate-shaped thing, ended up being a set of profiles that were rounded with polyround() and then fed into a path_extrude() script I found at Thingiverse.  I knew BOSL2 would give me the tools to do this, but by this time I'd become comfortable with the alternate tools and an earlier experience with BOSL2 building rounded cab roof led me to the conclusion that I should have started with BOSL2, wasn't going to go back and re-do the stuff I'd already done.  So there. To pull this into the "I discovered CadQuery" thread, good on that, but it doesn't mean it's the only way to get things done. And, it doesn't mean that a way in plain OpenSCAD is just too cumbersome, just maybe cumbersome to some.  I have a short joke about this: Two guys on a train, occasionally the window person would look out the window, pause, and mutter a number: "129... 235... 32.....".  Guy on the aisle: "What are you doing?" Window guy: "Counting cows."  Aisle guy: "Geesh, how do you do that?" Window guy: "Easy.  I just count the number of legs and divide by four..."  :D The OpenSCAD toolbox by itself is quite powerful.  I'll bet CADQuery is the same.  Whatever... Glenn Butcher On 1/17/2024 7:03 AM, edmund ronald via Discuss wrote: > When I was a journalist, I interviewed an IBM exec and asked why there > was no GUI in their then current product line. His reply: « We aren’t > children, we don’t need mice ». If no one here understands that some >  stuff is very well done by numbers and other stuff by small > adjustments by eye, eg if I am typesetting a short poem and want to > decide where to put it on the page, I want to just slide it around the > screen, then there is no point in a continued discussion. I have no > problem with the code part of OpenSCAD but for some reason people here > refuse to understand that occasionally the hand and Mark I eyeball are > really useful and effective tools. > > Edmund
FH
Father Horton
Wed, Jan 17, 2024 7:19 PM

I have no problem with the code part of OpenSCAD but for some reason
people here refuse to understand that occasionally the hand and Mark I
eyeball are really useful and effective tools.

Is it a matter of refusing to understand that, or a matter that no one who
has the technical skills to make it happen is interested in doing so?

On Wed, Jan 17, 2024 at 9:30 AM Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:

So, I discovered OpenSCAD about a year ago when I was exploring using
resin 3D printing to scratchbuild a HO-scale steam locomotive. I'd
abandoned metalwork at the time, too capital-intensive for my budget, and
the promise of 3D printing was too hard to ignore.  I started modeling
parts with various tools, and rapidly settled on OpenSCAD because 1) it was
free and 2) its script-foundation clicked with my experience as a writer of
computer programs.

What I found modeling steam locomotive parts was that there were a LOT of
chamfers and fillets, seemed to be a thing in the 1880s :D.  What I also
found was that extruding 2D profiles was easily done in OpenSCAD, and the
Round-Anything/polyround.scad did a great job of rounding corners that
needed such treatment.  So, my profiles became arrays of triples, where the
third element of the triple was a radius that polyround() used to replace
the point with a set of points describing the curve.  Sweet...  Never in my
construction of D&RG #168 did I discover a need for a chamfer or fillet
that required the use of a parametric model of such.

I did run into a couple of really challenging parts, requiring a
Rube-Goldberg amalgam of tools.  The hangar for the bell, a rather
ornate-shaped thing, ended up being a set of profiles that were rounded
with polyround() and then fed into a path_extrude() script I found at
Thingiverse.  I knew BOSL2 would give me the tools to do this, but by this
time I'd become comfortable with the alternate tools and an earlier
experience with BOSL2 building rounded cab roof led me to the conclusion
that I should have started with BOSL2, wasn't going to go back and re-do
the stuff I'd already done.  So there.

To pull this into the "I discovered CadQuery" thread, good on that, but it
doesn't mean it's the only way to get things done.  And, it doesn't mean
that a way in plain OpenSCAD is just too cumbersome, just maybe cumbersome
to some.  I have a short joke about this: Two guys on a train, occasionally
the window person would look out the window, pause, and mutter a number:
"129...    235... 32.....".  Guy on the aisle: "What are you doing?"
Window guy: "Counting cows."  Aisle guy: "Geesh, how do you do that?"
Window guy: "Easy.  I just count the number of legs and divide by four..."
:D

The OpenSCAD toolbox by itself is quite powerful.  I'll bet CADQuery is
the same.  Whatever...

Glenn Butcher
On 1/17/2024 7:03 AM, edmund ronald via Discuss wrote:

When I was a journalist, I interviewed an IBM exec and asked why there was
no GUI in their then current product line. His reply: « We aren’t children,
we don’t need mice ». If no one here understands that some  stuff is very
well done by numbers and other stuff by small adjustments by eye, eg if I
am typesetting a short poem and want to decide where to put it on the page,
I want to just slide it around the screen, then there is no point in a
continued discussion. I have no problem with the code part of OpenSCAD but
for some reason people here refuse to understand that occasionally the hand
and Mark I eyeball are really useful and effective tools.

Edmund


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

> > I have no problem with the code part of OpenSCAD but for some reason > people here refuse to understand that occasionally the hand and Mark I > eyeball are really useful and effective tools. > Is it a matter of refusing to understand that, or a matter that no one who has the technical skills to make it happen is interested in doing so? On Wed, Jan 17, 2024 at 9:30 AM Glenn Butcher via Discuss < discuss@lists.openscad.org> wrote: > So, I discovered OpenSCAD about a year ago when I was exploring using > resin 3D printing to scratchbuild a HO-scale steam locomotive. I'd > abandoned metalwork at the time, too capital-intensive for my budget, and > the promise of 3D printing was too hard to ignore. I started modeling > parts with various tools, and rapidly settled on OpenSCAD because 1) it was > free and 2) its script-foundation clicked with my experience as a writer of > computer programs. > > What I found modeling steam locomotive parts was that there were a LOT of > chamfers and fillets, seemed to be a thing in the 1880s :D. What I also > found was that extruding 2D profiles was easily done in OpenSCAD, and the > Round-Anything/polyround.scad did a great job of rounding corners that > needed such treatment. So, my profiles became arrays of triples, where the > third element of the triple was a radius that polyround() used to replace > the point with a set of points describing the curve. Sweet... Never in my > construction of D&RG #168 did I discover a need for a chamfer or fillet > that required the use of a parametric model of such. > > I did run into a couple of really challenging parts, requiring a > Rube-Goldberg amalgam of tools. The hangar for the bell, a rather > ornate-shaped thing, ended up being a set of profiles that were rounded > with polyround() and then fed into a path_extrude() script I found at > Thingiverse. I knew BOSL2 would give me the tools to do this, but by this > time I'd become comfortable with the alternate tools and an earlier > experience with BOSL2 building rounded cab roof led me to the conclusion > that I should have started with BOSL2, wasn't going to go back and re-do > the stuff I'd already done. So there. > > To pull this into the "I discovered CadQuery" thread, good on that, but it > doesn't mean it's the only way to get things done. And, it doesn't mean > that a way in plain OpenSCAD is just too cumbersome, just maybe cumbersome > to some. I have a short joke about this: Two guys on a train, occasionally > the window person would look out the window, pause, and mutter a number: > "129... 235... 32.....". Guy on the aisle: "What are you doing?" > Window guy: "Counting cows." Aisle guy: "Geesh, how do you do that?" > Window guy: "Easy. I just count the number of legs and divide by four..." > :D > > The OpenSCAD toolbox by itself is quite powerful. I'll bet CADQuery is > the same. Whatever... > > Glenn Butcher > On 1/17/2024 7:03 AM, edmund ronald via Discuss wrote: > > When I was a journalist, I interviewed an IBM exec and asked why there was > no GUI in their then current product line. His reply: « We aren’t children, > we don’t need mice ». If no one here understands that some stuff is very > well done by numbers and other stuff by small adjustments by eye, eg if I > am typesetting a short poem and want to decide where to put it on the page, > I want to just slide it around the screen, then there is no point in a > continued discussion. I have no problem with the code part of OpenSCAD but > for some reason people here refuse to understand that occasionally the hand > and Mark I eyeball are really useful and effective tools. > > Edmund > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
WF
William F. Adams
Wed, Jan 17, 2024 7:20 PM

On Tuesday, January 16, 2024 at 11:19:35 PM EST, Jordan Brown via Discuss discuss@lists.openscad.org wrote:

BTW, another droid that may be of interest is BlocksCAD, which is a block/flowchart presentation of OpenSCAD.  >I don't think it has any click-edit features, but it avoids requiring the user to get syntax right.  (But note that it doesn't >let you edit the resulting OpenSCAD, so I suspect that it can't take arbitrary OpenSCAD and turn it into block form.)

One of my favourites!
In addition to that there is:
https://github.com/derkork/openscad-graph-editor

which I have been using with great success.
William

On Tuesday, January 16, 2024 at 11:19:35 PM EST, Jordan Brown via Discuss <discuss@lists.openscad.org> wrote: >BTW, another droid that may be of interest is BlocksCAD, which is a block/flowchart presentation of OpenSCAD.  >I don't think it has any click-edit features, but it avoids requiring the user to get syntax right.  (But note that it doesn't >let you edit the resulting OpenSCAD, so I suspect that it can't take arbitrary OpenSCAD and turn it into block form.) One of my favourites! In addition to that there is: https://github.com/derkork/openscad-graph-editor which I have been using with great success. William
JB
Jordan Brown
Wed, Jan 17, 2024 7:51 PM

On 1/17/2024 5:02 AM, Rogier Wolff via Discuss wrote:

On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote:

  • Have a click-y way to add any existing module, parameterized, to the
    top level.

I think much more is possible.
[ ... what you might call click-assisted editing ... ]

Well, yeah... but were any of those clicks on the model in the view area?

Yes, there could certainly be click/menu-assisted editing, largely in
the form of what you might call macros or templates.  We have some of
that today:  right click, insert template.  It's not as powerful as what
you suggest: it doesn't help edit parameters, and it doesn't keep track
of symbols and offer you your own modules.  That kind of assisted
editing seems applicable to any programming language.

But my impression is that that's not what people are talking about when
they talk about GUI interfaces to modeling.

Keep in mind that openscad is just being used as something to visualize the
textfile that is being edited by the gui.

I don't think that's what the people who occasional ask for this kind of
thing are thinking of.  I think they'd rather hide the editor pane and
work only with the view pane.  (But I'm not one of them, so maybe I
misread their desires.)

With some help from openscad, this could become even more
useful. People like to select (sub)modules by pointing and
clicking. So something that might need to be added to openscad is:
"What object caused the pixel at x,y to be colored the way it is?". I
think it would need to report the lowest level object that
satisfies. The user should then be able to click "up" enough times to
go up the hierarchy to find the proper

There is some of that today, with the ability to right-click on the
model in the view pane and get the stack and click on the desired
level.  That will show you all of the "color" invocations that fed into
that pixel.

On 1/17/2024 5:02 AM, Rogier Wolff via Discuss wrote: > On Wed, Jan 17, 2024 at 04:19:22AM +0000, Jordan Brown via Discuss wrote: >> * Have a click-y way to add any existing module, parameterized, to the >> top level. > I think much more is possible. > [ ... what you might call click-assisted editing ... ] Well, yeah... but were any of those clicks on the model in the view area? Yes, there could certainly be click/menu-assisted editing, largely in the form of what you might call macros or templates.  We have some of that today:  right click, insert template.  It's not as powerful as what you suggest: it doesn't help edit parameters, and it doesn't keep track of symbols and offer you your own modules.  That kind of assisted editing seems applicable to any programming language. But my impression is that that's not what people are talking about when they talk about GUI interfaces to modeling. > Keep in mind that openscad is just being used as something to visualize the > textfile that is being edited by the gui. I don't think that's what the people who occasional ask for this kind of thing are thinking of.  I think they'd rather hide the editor pane and work only with the view pane.  (But I'm not one of them, so maybe I misread their desires.) > With some help from openscad, this could become even more > useful. People like to select (sub)modules by pointing and > clicking. So something that might need to be added to openscad is: > "What object caused the pixel at x,y to be colored the way it is?". I > think it would need to report the lowest level object that > satisfies. The user should then be able to click "up" enough times to > go up the hierarchy to find the proper There is some of that today, with the ability to right-click on the model in the view pane and get the stack and click on the desired level.  That will show you all of the "color" invocations that fed into that pixel.
JB
Jordan Brown
Wed, Jan 17, 2024 8:27 PM

On 1/17/2024 6:03 AM, edmund ronald via Discuss wrote:

I have no problem with the code part of OpenSCAD but for some reason
people here refuse to understand that occasionally the hand and Mark I
eyeball are really useful and effective tools.

Absolutely.

But there's also a "right tool for the job" question.  OpenSCAD, by its
nature, is quite hostile to hand-and-eye, click-and-drag style
modification.  It isn't that people just haven't done the work to
support click-and-drag modification... it's that it isn't even clear
what click-and-drag modification would mean.

There is no shame in, for instance, using Inkscape to trace images. 
That's how I made most of the tool outlines for the tool holders for my
tool drawer, and how I got the outline of several bathtubs that I modeled.

OpenSCAD simply isn't the right tool for all people, or for all tasks. 
For most people I know, I would recommend other tools.  (Big plug for
Gravity Sketch on Oculus Quest, by far the most usable 3D editor I've seen.)

On 1/17/2024 6:03 AM, edmund ronald via Discuss wrote: > I have no problem with the code part of OpenSCAD but for some reason > people here refuse to understand that occasionally the hand and Mark I > eyeball are really useful and effective tools. Absolutely. But there's also a "right tool for the job" question.  OpenSCAD, by its nature, is quite hostile to hand-and-eye, click-and-drag style modification.  It isn't that people just haven't done the work to support click-and-drag modification... it's that it isn't even clear what click-and-drag modification would *mean*. There is no shame in, for instance, using Inkscape to trace images.  That's how I made most of the tool outlines for the tool holders for my tool drawer, and how I got the outline of several bathtubs that I modeled. OpenSCAD simply isn't the right tool for all people, or for all tasks.  For most people I know, I would recommend other tools.  (Big plug for Gravity Sketch on Oculus Quest, by far the most usable 3D editor I've seen.)