discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

bottle with cut design

SP
Sanjeev Prabhakar
Tue, Sep 19, 2023 12:34 AM

Very tough to design in pure openscad
link to download:
https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad

[image: Screenshot 2023-09-19 at 5.56.51 AM.png]

[image: Screenshot 2023-09-19 at 6.00.32 AM.png]

Very tough to design in pure openscad link to download: https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad [image: Screenshot 2023-09-19 at 5.56.51 AM.png] [image: Screenshot 2023-09-19 at 6.00.32 AM.png]
AM
Adrian Mariano
Tue, Sep 19, 2023 12:42 AM

I did cutouts in pure OpenSCAD, but only for simple cylinders.  See
https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask

On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

Very tough to design in pure openscad
link to download:

https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad

[image: Screenshot 2023-09-19 at 5.56.51 AM.png]

[image: Screenshot 2023-09-19 at 6.00.32 AM.png]


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

I did cutouts in pure OpenSCAD, but only for simple cylinders. See https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar <sprabhakar2006@gmail.com> wrote: > Very tough to design in pure openscad > link to download: > > https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad > > [image: Screenshot 2023-09-19 at 5.56.51 AM.png] > > [image: Screenshot 2023-09-19 at 6.00.32 AM.png] > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
SP
Sanjeev Prabhakar
Tue, Sep 19, 2023 3:14 AM

Hi Adrian,
Thanks for sharing, but this is quite different.
I will explain the process I followed once I get some free time.
I am sure this would be useful to many here

On Tue, 19 Sept, 2023, 7:31 am Adrian Mariano, avm4@cornell.edu wrote:

I did cutouts in pure OpenSCAD, but only for simple cylinders.  See
https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask

On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar <
sprabhakar2006@gmail.com> wrote:

Very tough to design in pure openscad
link to download:

https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad

[image: Screenshot 2023-09-19 at 5.56.51 AM.png]

[image: Screenshot 2023-09-19 at 6.00.32 AM.png]


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

Hi Adrian, Thanks for sharing, but this is quite different. I will explain the process I followed once I get some free time. I am sure this would be useful to many here On Tue, 19 Sept, 2023, 7:31 am Adrian Mariano, <avm4@cornell.edu> wrote: > I did cutouts in pure OpenSCAD, but only for simple cylinders. See > https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask > > > On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar < > sprabhakar2006@gmail.com> wrote: > >> Very tough to design in pure openscad >> link to download: >> >> https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad >> >> [image: Screenshot 2023-09-19 at 5.56.51 AM.png] >> >> [image: Screenshot 2023-09-19 at 6.00.32 AM.png] >> _______________________________________________ >> 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 >
P
pproj@posteo.de
Tue, Sep 19, 2023 10:44 PM

i have got somebody asking a question regarding  the Constructive
library here: https://github.com/solidboredom/constructive/issues/5

if it can be dual licensed under OHL-S (v2). It is now under GPL2 (just
because i have known it and its principles for very many years)

Now i wonder, what would it be a suitable License for the Constructive Lib?

I feel the lib  is much more an extension to the Openscad Language
itself, like list comprehentions to python, or LINQ to c#, rather than a
library in usual sense. It is just all written in openscad, so it can be
imported as a library. and technically it is one.The Lib does provide
few ready-made Parts, like some metric screws, but its focus is not
that, but rather on enabling the user to express more with less code and
make it flexible enough to create reasonably complex designs.

So how to license it, so it will stay compatible with Openscad's
licensing and enable most people to use it?

I would like to encourage people to use it, because i personally think
it makes so much sense. to not hamper peoples use of it in their
hardware by the license.

The only thing i might not like (i am not even sure), if somebody
derives code from it, closing it. But actually i do not mean the Parts
themselves or their designs. they IMHO do not have to be open.

what are you opinions on this?

is OHL-S (v2) a good solution, does it negate GPL principles in our
case? is it compatible with Openscads license?

Your Opinions are very appreciated.

pproj

i have got somebody asking a question regarding  the Constructive library here: https://github.com/solidboredom/constructive/issues/5 if it can be dual licensed under OHL-S (v2). It is now under GPL2 (just because i have known it and its principles for very many years) Now i wonder, what would it be a suitable License for the Constructive Lib? I feel the lib  is much more an extension to the Openscad Language itself, like list comprehentions to python, or LINQ to c#, rather than a library in usual sense. It is just all written in openscad, so it can be imported as a library. and technically it is one.The Lib does provide few ready-made Parts, like some metric screws, but its focus is not that, but rather on enabling the user to express more with less code and make it flexible enough to create reasonably complex designs. So how to license it, so it will stay compatible with Openscad's licensing and enable most people to use it? I would like to encourage people to use it, because i personally think it makes so much sense. to not hamper peoples use of it in their hardware by the license. The only thing i might not like (i am not even sure), if somebody derives code from it, closing it. But actually i do not mean the Parts themselves or their designs. they IMHO do not have to be open. what are you opinions on this? is OHL-S (v2) a good solution, does it negate GPL principles in our case? is it compatible with Openscads license? Your Opinions are very appreciated. pproj
SP
Sanjeev Prabhakar
Wed, Sep 20, 2023 2:01 AM

here is another version:

https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design_1.scad

[image: Screenshot 2023-09-20 at 7.26.34 AM.png]

[image: Screenshot 2023-09-20 at 7.25.11 AM.png]

On Tue, 19 Sept 2023 at 08:44, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

Hi Adrian,
Thanks for sharing, but this is quite different.
I will explain the process I followed once I get some free time.
I am sure this would be useful to many here

On Tue, 19 Sept, 2023, 7:31 am Adrian Mariano, avm4@cornell.edu wrote:

I did cutouts in pure OpenSCAD, but only for simple cylinders.  See
https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask

On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar <
sprabhakar2006@gmail.com> wrote:

Very tough to design in pure openscad
link to download:

https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad

[image: Screenshot 2023-09-19 at 5.56.51 AM.png]

[image: Screenshot 2023-09-19 at 6.00.32 AM.png]


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

here is another version: https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design_1.scad [image: Screenshot 2023-09-20 at 7.26.34 AM.png] [image: Screenshot 2023-09-20 at 7.25.11 AM.png] On Tue, 19 Sept 2023 at 08:44, Sanjeev Prabhakar <sprabhakar2006@gmail.com> wrote: > Hi Adrian, > Thanks for sharing, but this is quite different. > I will explain the process I followed once I get some free time. > I am sure this would be useful to many here > > > On Tue, 19 Sept, 2023, 7:31 am Adrian Mariano, <avm4@cornell.edu> wrote: > >> I did cutouts in pure OpenSCAD, but only for simple cylinders. See >> https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask >> >> >> On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar < >> sprabhakar2006@gmail.com> wrote: >> >>> Very tough to design in pure openscad >>> link to download: >>> >>> https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad >>> >>> [image: Screenshot 2023-09-19 at 5.56.51 AM.png] >>> >>> [image: Screenshot 2023-09-19 at 6.00.32 AM.png] >>> _______________________________________________ >>> 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 >> >
DP
David Phillip Oster
Wed, Sep 20, 2023 5:06 AM

Look, for example, at the widely used threads_2.5.scad in
https://www.printables.com/model/379145-nuts-and-bolts-v195-openscad-library/files

The statement

metric_thread(length=4);

evaluates to the following in the 2021.1 release, but

[image: Screenshot 2023-09-19 at 9.55.57 PM.png]

evaluates to this in the dev builds.

[image: Screenshot 2023-09-19 at 9.55.25 PM.png]

The culprit is in module metric_thread_turns

which has

intersection () {

  // Start one below z = 0.  Gives an extra turn at each end.

  for (i=[-1*n_starts : n_turns+1]) {

     translate ([0, 0, i*pitch]) {

        metric_thread_turn (diameter, pitch, internal, n_starts,

                            thread_size, groove, square, rectangle,

angle,

                            taper, i*pitch);

     }

  }

  // Cut to length.

  translate ([0, 0, length/2]) {

     cube ([diameter*3, diameter*3, length], center=true);

  }

}

in the release build the for() has an implicit union.

In the dev build, to fix this, we have to add an explicit union:

intersection () {

  *union*(){ // <===

     // Start one below z = 0.  Gives an extra turn at each end.

     for (i=[-1*n_starts : n_turns+1]) {

        translate ([0, 0, i*pitch]) {

           metric_thread_turn (diameter, pitch, internal, n_starts,

                               thread_size, groove, square, rectangle,

angle,

                               taper, i*pitch);

        }

     }

  }

I think, in general, that this is a good fix, but it silently breaks a lot
of old code.

Is there any way to detect this and add a warning on the console, or some
other way for a naive programmer to quickly find problems like this?

Look, for example, at the widely used threads_2.5.scad in https://www.printables.com/model/379145-nuts-and-bolts-v195-openscad-library/files The statement metric_thread(length=4); evaluates to the following in the 2021.1 release, but [image: Screenshot 2023-09-19 at 9.55.57 PM.png] evaluates to this in the dev builds. [image: Screenshot 2023-09-19 at 9.55.25 PM.png] The culprit is in module metric_thread_turns which has intersection () { // Start one below z = 0. Gives an extra turn at each end. for (i=[-1*n_starts : n_turns+1]) { translate ([0, 0, i*pitch]) { metric_thread_turn (diameter, pitch, internal, n_starts, thread_size, groove, square, rectangle, angle, taper, i*pitch); } } // Cut to length. translate ([0, 0, length/2]) { cube ([diameter*3, diameter*3, length], center=true); } } in the release build the for() has an implicit union. In the dev build, to fix this, we have to add an explicit union: intersection () { *union*(){ // <=== // Start one below z = 0. Gives an extra turn at each end. for (i=[-1*n_starts : n_turns+1]) { translate ([0, 0, i*pitch]) { metric_thread_turn (diameter, pitch, internal, n_starts, thread_size, groove, square, rectangle, angle, taper, i*pitch); } } } I think, in general, that this is a good fix, but it silently breaks a lot of old code. Is there any way to detect this and add a warning on the console, or some other way for a naive programmer to quickly find problems like this?
SP
Sanjeev Prabhakar
Wed, Sep 20, 2023 4:25 PM

here is the explanation on how to create such design

https://github.com/sprabhakar2006/openSCAD/blob/main/explanation%20of%20approaches/explanation%20bottle_with_cut_design.pdf

On Wed, 20 Sept 2023 at 07:31, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

here is another version:

https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design_1.scad

[image: Screenshot 2023-09-20 at 7.26.34 AM.png]

[image: Screenshot 2023-09-20 at 7.25.11 AM.png]

On Tue, 19 Sept 2023 at 08:44, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

Hi Adrian,
Thanks for sharing, but this is quite different.
I will explain the process I followed once I get some free time.
I am sure this would be useful to many here

On Tue, 19 Sept, 2023, 7:31 am Adrian Mariano, avm4@cornell.edu wrote:

I did cutouts in pure OpenSCAD, but only for simple cylinders.  See
https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask

On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar <
sprabhakar2006@gmail.com> wrote:

Very tough to design in pure openscad
link to download:

https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad

[image: Screenshot 2023-09-19 at 5.56.51 AM.png]

[image: Screenshot 2023-09-19 at 6.00.32 AM.png]


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

here is the explanation on how to create such design https://github.com/sprabhakar2006/openSCAD/blob/main/explanation%20of%20approaches/explanation%20bottle_with_cut_design.pdf On Wed, 20 Sept 2023 at 07:31, Sanjeev Prabhakar <sprabhakar2006@gmail.com> wrote: > here is another version: > > > https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design_1.scad > > [image: Screenshot 2023-09-20 at 7.26.34 AM.png] > > [image: Screenshot 2023-09-20 at 7.25.11 AM.png] > > On Tue, 19 Sept 2023 at 08:44, Sanjeev Prabhakar <sprabhakar2006@gmail.com> > wrote: > >> Hi Adrian, >> Thanks for sharing, but this is quite different. >> I will explain the process I followed once I get some free time. >> I am sure this would be useful to many here >> >> >> On Tue, 19 Sept, 2023, 7:31 am Adrian Mariano, <avm4@cornell.edu> wrote: >> >>> I did cutouts in pure OpenSCAD, but only for simple cylinders. See >>> https://github.com/BelfrySCAD/BOSL2/wiki/rounding.scad#module-bent_cutout_mask >>> >>> >>> On Mon, Sep 18, 2023 at 8:35 PM Sanjeev Prabhakar < >>> sprabhakar2006@gmail.com> wrote: >>> >>>> Very tough to design in pure openscad >>>> link to download: >>>> >>>> https://github.com/sprabhakar2006/openSCAD/blob/main/bottle%20with%20cut%20design.scad >>>> >>>> [image: Screenshot 2023-09-19 at 5.56.51 AM.png] >>>> >>>> [image: Screenshot 2023-09-19 at 6.00.32 AM.png] >>>> _______________________________________________ >>>> 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 >>> >>
HL
Hans L
Thu, Sep 21, 2023 3:32 PM

Sounds like you have the "lazy-union" (better naming would be "no implicit
unions") experimental feature enabled in your dev build.  If you don't like
it then don't enable it.
It's not likely to be enabled by default in a release any time soon.

On Wed, Sep 20, 2023 at 12:07 AM David Phillip Oster <
davidphilliposter@gmail.com> wrote:

Look, for example, at the widely used threads_2.5.scad in
https://www.printables.com/model/379145-nuts-and-bolts-v195-openscad-library/files

The statement

metric_thread(length=4);

evaluates to the following in the 2021.1 release, but

[image: Screenshot 2023-09-19 at 9.55.57 PM.png]

evaluates to this in the dev builds.

[image: Screenshot 2023-09-19 at 9.55.25 PM.png]

The culprit is in module metric_thread_turns

which has

intersection () {

   // Start one below z = 0.  Gives an extra turn at each end.

   for (i=[-1*n_starts : n_turns+1]) {

      translate ([0, 0, i*pitch]) {

         metric_thread_turn (diameter, pitch, internal, n_starts,

                             thread_size, groove, square, rectangle,

angle,

                             taper, i*pitch);

      }

   }

   // Cut to length.

   translate ([0, 0, length/2]) {

      cube ([diameter*3, diameter*3, length], center=true);

   }

}

in the release build the for() has an implicit union.

In the dev build, to fix this, we have to add an explicit union:

intersection () {

   *union*(){ // <===

      // Start one below z = 0.  Gives an extra turn at each end.

      for (i=[-1*n_starts : n_turns+1]) {

         translate ([0, 0, i*pitch]) {

            metric_thread_turn (diameter, pitch, internal, n_starts,

                                thread_size, groove, square,

rectangle, angle,

                                taper, i*pitch);

         }

      }

   }

I think, in general, that this is a good fix, but it silently breaks a lot
of old code.

Is there any way to detect this and add a warning on the console, or some
other way for a naive programmer to quickly find problems like this?


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

Sounds like you have the "lazy-union" (better naming would be "no implicit unions") experimental feature enabled in your dev build. If you don't like it then don't enable it. It's not likely to be enabled by default in a release any time soon. On Wed, Sep 20, 2023 at 12:07 AM David Phillip Oster < davidphilliposter@gmail.com> wrote: > Look, for example, at the widely used threads_2.5.scad in > https://www.printables.com/model/379145-nuts-and-bolts-v195-openscad-library/files > > > The statement > > > metric_thread(length=4); > > > evaluates to the following in the 2021.1 release, but > > > [image: Screenshot 2023-09-19 at 9.55.57 PM.png] > > evaluates to this in the dev builds. > > > [image: Screenshot 2023-09-19 at 9.55.25 PM.png] > > > The culprit is in module metric_thread_turns > > which has > > intersection () { > > // Start one below z = 0. Gives an extra turn at each end. > > for (i=[-1*n_starts : n_turns+1]) { > > translate ([0, 0, i*pitch]) { > > metric_thread_turn (diameter, pitch, internal, n_starts, > > thread_size, groove, square, rectangle, > angle, > > taper, i*pitch); > > } > > } > > // Cut to length. > > translate ([0, 0, length/2]) { > > cube ([diameter*3, diameter*3, length], center=true); > > } > > } > > > in the release build the for() has an implicit union. > > > In the dev build, to fix this, we have to add an explicit union: > > > intersection () { > > *union*(){ // <=== > > // Start one below z = 0. Gives an extra turn at each end. > > for (i=[-1*n_starts : n_turns+1]) { > > translate ([0, 0, i*pitch]) { > > metric_thread_turn (diameter, pitch, internal, n_starts, > > thread_size, groove, square, > rectangle, angle, > > taper, i*pitch); > > } > > } > > } > > > I think, in general, that this is a good fix, but it silently breaks a lot > of old code. > > > Is there any way to detect this and add a warning on the console, or some > other way for a naive programmer to quickly find problems like this? > > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
DP
David Phillip Oster
Thu, Sep 21, 2023 4:19 PM

On Thu, Sep 21, 2023 at 8:33 AM Hans L thehans@gmail.com wrote:

Sounds like you have the "lazy-union" (better naming would be "no implicit
unions") experimental feature enabled in your dev build.  If you don't like
it then don't enable it.
It's not likely to be enabled by default in a release any time soon.

Completely right! Thank you. It looks like it’s on by default in dev builds
on Mac.

On Thu, Sep 21, 2023 at 8:33 AM Hans L <thehans@gmail.com> wrote: > Sounds like you have the "lazy-union" (better naming would be "no implicit > unions") experimental feature enabled in your dev build. If you don't like > it then don't enable it. > It's not likely to be enabled by default in a release any time soon. > Completely right! Thank you. It looks like it’s on by default in dev builds on Mac.
TP
Torsten Paul
Thu, Sep 21, 2023 7:23 PM

Disclaimer first... no legal advice...

On 20.09.23 00:44, pproj@posteo.de wrote:

if it can be dual licensed under OHL-S (v2). It is now under GPL2 (just
because i have known it and its principles for very many years)

I'm pretty sure you can license your works as you like under as many
licenses as you wish.

If OHL-S works for source code, I don't know. I'm not even sure it's
really clear how licenses work in this context. Specifically if the
resulting object, or even the STL is somehow related license wise.

So how to license it, so it will stay compatible with Openscad's
licensing and enable most people to use it?

My expectation here is that there is no relation to the OpenSCAD
application license. The OpenSCAD source code is GPL-2+ (mostly,
with some MIT bits), the binaries we ship (due to CGAL) are GPL-3+.

I don't know if we should add an explicit disclaimer, but I don't
see any reason why the application license should in any way infect
the data it's processing.

ciao,
Torsten.

Disclaimer first... no legal advice... On 20.09.23 00:44, pproj@posteo.de wrote: > if it can be dual licensed under OHL-S (v2). It is now under GPL2 (just > because i have known it and its principles for very many years) I'm pretty sure you can license your works as you like under as many licenses as you wish. If OHL-S works for source code, I don't know. I'm not even sure it's really clear how licenses work in this context. Specifically if the resulting object, or even the STL is somehow related license wise. > So how to license it, so it will stay compatible with Openscad's > licensing and enable most people to use it? My expectation here is that there is no relation to the OpenSCAD application license. The OpenSCAD source code is GPL-2+ (mostly, with some MIT bits), the binaries we ship (due to CGAL) are GPL-3+. I don't know if we should add an explicit disclaimer, but I don't see any reason why the application license should in any way infect the data it's processing. ciao, Torsten.