discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

New Library Manager Approaching Trial Phase

MA
Mohammad Abdussalam
Wed, Jul 31, 2024 7:57 PM

Hello everyone,

I'm Mohammad, the GSoC contributor working on the development of the new
Library Manager as part of GSoC 2024.

I'm excited to announce that the tool is nearing its trial phase! This
Library Manager will function as a centralized repository for OpenSCAD
libraries, similar to Arduino's Library Manager. You can check out the code
here: https://github.com/openscad/openscad-library-manager

Purpose: The Library Manager aims to simplify the process of finding,
installing, and managing software libraries, saving developers valuable
time and effort.

Benefits:

  • Discoverability: Easily find and explore available libraries.
  • Efficiency: Streamline the installation and update process.
  • Organization: Manage your library dependencies effectively.

To ensure the tool is robust and user-friendly, we're seeking volunteers
with small libraries to participate in our trial phase. Your feedback will
be invaluable as we refine the tool.

If you're interested in helping us test the Library Manager, please reply
to this email with a brief description of your library.

We'll be sharing more details about the trial phase and how to participate
in the coming days.

Thank you for your support!

Best,
Mohammad

Hello everyone, I'm Mohammad, the GSoC contributor working on the development of the new Library Manager as part of GSoC 2024. I'm excited to announce that the tool is nearing its trial phase! This Library Manager will function as a centralized repository for OpenSCAD libraries, similar to Arduino's Library Manager. You can check out the code here: https://github.com/openscad/openscad-library-manager Purpose: The Library Manager aims to simplify the process of finding, installing, and managing software libraries, saving developers valuable time and effort. Benefits: - Discoverability: Easily find and explore available libraries. - Efficiency: Streamline the installation and update process. - Organization: Manage your library dependencies effectively. To ensure the tool is robust and user-friendly, we're seeking volunteers with small libraries to participate in our trial phase. Your feedback will be invaluable as we refine the tool. If you're interested in helping us test the Library Manager, please reply to this email with a brief description of your library. We'll be sharing more details about the trial phase and how to participate in the coming days. Thank you for your support! Best, Mohammad
KT
Kevin Toppenberg
Thu, Aug 1, 2024 2:08 AM

Dumb question:  What is GSoC?  Is it OpenSCAD?

KT

On Wed, Jul 31, 2024 at 3:59 PM Mohammad Abdussalam via Discuss <
discuss@lists.openscad.org> wrote:

Hello everyone,

I'm Mohammad, the GSoC contributor working on the development of the new
Library Manager as part of GSoC 2024.

I'm excited to announce that the tool is nearing its trial phase! This
Library Manager will function as a centralized repository for OpenSCAD
libraries, similar to Arduino's Library Manager. You can check out the code
here: https://github.com/openscad/openscad-library-manager

Purpose: The Library Manager aims to simplify the process of finding,
installing, and managing software libraries, saving developers valuable
time and effort.

Benefits:

- Discoverability: Easily find and explore available libraries.
- Efficiency: Streamline the installation and update process.
- Organization: Manage your library dependencies effectively.

To ensure the tool is robust and user-friendly, we're seeking volunteers
with small libraries to participate in our trial phase. Your feedback will
be invaluable as we refine the tool.

If you're interested in helping us test the Library Manager, please reply
to this email with a brief description of your library.

We'll be sharing more details about the trial phase and how to participate
in the coming days.

Thank you for your support!

Best,
Mohammad


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

Dumb question: What is GSoC? Is it OpenSCAD? KT On Wed, Jul 31, 2024 at 3:59 PM Mohammad Abdussalam via Discuss < discuss@lists.openscad.org> wrote: > Hello everyone, > > I'm Mohammad, the GSoC contributor working on the development of the new > Library Manager as part of GSoC 2024. > > I'm excited to announce that the tool is nearing its trial phase! This > Library Manager will function as a centralized repository for OpenSCAD > libraries, similar to Arduino's Library Manager. You can check out the code > here: https://github.com/openscad/openscad-library-manager > > Purpose: The Library Manager aims to simplify the process of finding, > installing, and managing software libraries, saving developers valuable > time and effort. > > Benefits: > > - Discoverability: Easily find and explore available libraries. > - Efficiency: Streamline the installation and update process. > - Organization: Manage your library dependencies effectively. > > > To ensure the tool is robust and user-friendly, we're seeking volunteers > with small libraries to participate in our trial phase. Your feedback will > be invaluable as we refine the tool. > > If you're interested in helping us test the Library Manager, please reply > to this email with a brief description of your library. > > We'll be sharing more details about the trial phase and how to participate > in the coming days. > > Thank you for your support! > > Best, > Mohammad > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
DP
David Phillip Oster
Thu, Aug 1, 2024 2:09 AM

Google Summer of Code

On Wed, Jul 31, 2024 at 7:08 PM Kevin Toppenberg via Discuss <
discuss@lists.openscad.org> wrote:

Dumb question:  What is GSoC?  Is it OpenSCAD?

KT

On Wed, Jul 31, 2024 at 3:59 PM Mohammad Abdussalam via Discuss <
discuss@lists.openscad.org> wrote:

Hello everyone,

I'm Mohammad, the GSoC contributor working on the development of the new
Library Manager as part of GSoC 2024.

I'm excited to announce that the tool is nearing its trial phase! This
Library Manager will function as a centralized repository for OpenSCAD
libraries, similar to Arduino's Library Manager. You can check out the code
here: https://github.com/openscad/openscad-library-manager

Purpose: The Library Manager aims to simplify the process of finding,
installing, and managing software libraries, saving developers valuable
time and effort.

Benefits:

- Discoverability: Easily find and explore available libraries.
- Efficiency: Streamline the installation and update process.
- Organization: Manage your library dependencies effectively.

To ensure the tool is robust and user-friendly, we're seeking volunteers
with small libraries to participate in our trial phase. Your feedback will
be invaluable as we refine the tool.

If you're interested in helping us test the Library Manager, please reply
to this email with a brief description of your library.

We'll be sharing more details about the trial phase and how to
participate in the coming days.

Thank you for your support!

Best,
Mohammad


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

Google Summer of Code On Wed, Jul 31, 2024 at 7:08 PM Kevin Toppenberg via Discuss < discuss@lists.openscad.org> wrote: > Dumb question: What is GSoC? Is it OpenSCAD? > > KT > > On Wed, Jul 31, 2024 at 3:59 PM Mohammad Abdussalam via Discuss < > discuss@lists.openscad.org> wrote: > >> Hello everyone, >> >> I'm Mohammad, the GSoC contributor working on the development of the new >> Library Manager as part of GSoC 2024. >> >> I'm excited to announce that the tool is nearing its trial phase! This >> Library Manager will function as a centralized repository for OpenSCAD >> libraries, similar to Arduino's Library Manager. You can check out the code >> here: https://github.com/openscad/openscad-library-manager >> >> Purpose: The Library Manager aims to simplify the process of finding, >> installing, and managing software libraries, saving developers valuable >> time and effort. >> >> Benefits: >> >> - Discoverability: Easily find and explore available libraries. >> - Efficiency: Streamline the installation and update process. >> - Organization: Manage your library dependencies effectively. >> >> >> To ensure the tool is robust and user-friendly, we're seeking volunteers >> with small libraries to participate in our trial phase. Your feedback will >> be invaluable as we refine the tool. >> >> If you're interested in helping us test the Library Manager, please reply >> to this email with a brief description of your library. >> >> We'll be sharing more details about the trial phase and how to >> participate in the coming days. >> >> Thank you for your support! >> >> Best, >> Mohammad >> _______________________________________________ >> 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 >
PK
Peter Kriens
Fri, Aug 2, 2024 7:13 AM

Is there a reason you need to specify a slightly larger object for difference() than the parent object to make a clean cut?

If they are equal, the F5 renders it badly but the F6 manifold is more than fine. The code looks a lot cleaner and reduces potential collisions.

The question is probably already asked but I could not find it in searching the list. Pointers are thus also appreciated.

Kind regards,

Peter Kriens
Is there a reason you need to specify a slightly larger object for difference() than the parent object to make a clean cut? If they are equal, the F5 renders it badly but the F6 manifold is more than fine. The code looks a lot cleaner and reduces potential collisions. The question is probably already asked but I could not find it in searching the list. Pointers are thus also appreciated. Kind regards, Peter Kriens
NH
nop head
Fri, Aug 2, 2024 8:20 AM

It's the same in real life. You have to start a drill above the surface you
are drilling and drill past the bottom of the object to get a clean hole.

The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the
preview and that uses the z-buffer of your graphics card which has finite
resolution.

On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss <
discuss@lists.openscad.org> wrote:

Is there a reason you need to specify a slightly larger object for
difference() than the parent object to make a clean cut?

If they are equal, the F5 renders it badly but the F6 manifold is more
than fine. The code looks a lot cleaner and reduces potential collisions.

The question is probably already asked but I could not find it in
searching the list. Pointers are thus also appreciated.

Kind regards,

     Peter Kriens

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

It's the same in real life. You have to start a drill above the surface you are drilling and drill past the bottom of the object to get a clean hole. The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the preview and that uses the z-buffer of your graphics card which has finite resolution. On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss < discuss@lists.openscad.org> wrote: > Is there a reason you need to specify a slightly larger object for > difference() than the parent object to make a clean cut? > > If they are equal, the F5 renders it badly but the F6 manifold is more > than fine. The code looks a lot cleaner and reduces potential collisions. > > The question is probably already asked but I could not find it in > searching the list. Pointers are thus also appreciated. > > Kind regards, > > Peter Kriens > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AM
Adrian Mariano
Fri, Aug 2, 2024 10:36 AM

Actually if they are equal the F6 manifold is sometimes fine.  But not
always.  Sometimes you'll get a zero thickness layer over your hole.  I
assume this depends on round off error.  If the face is orthogonal to the
axes it will work OK.  But if the face is at some angle then you may end up
getting the two "identical" faces in slightly different places, such as by
10^-12 and if the hole cutting ends up on the wrong side you then get the
phantom extra face.  This doesn't have anything to do with using the
z-buffer on your graphics card---that's related to F5, which OP already
notes will fail, but he apparently doesn't care if F5 works.

On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss <
discuss@lists.openscad.org> wrote:

It's the same in real life. You have to start a drill above the surface
you are drilling and drill past the bottom of the object to get a clean
hole.

The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the
preview and that uses the z-buffer of your graphics card which has finite
resolution.

On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss <
discuss@lists.openscad.org> wrote:

Is there a reason you need to specify a slightly larger object for
difference() than the parent object to make a clean cut?

If they are equal, the F5 renders it badly but the F6 manifold is more
than fine. The code looks a lot cleaner and reduces potential collisions.

The question is probably already asked but I could not find it in
searching the list. Pointers are thus also appreciated.

Kind regards,

     Peter Kriens

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

Actually if they are equal the F6 manifold is **sometimes** fine. But not always. Sometimes you'll get a zero thickness layer over your hole. I assume this depends on round off error. If the face is orthogonal to the axes it will work OK. But if the face is at some angle then you may end up getting the two "identical" faces in slightly different places, such as by 10^-12 and if the hole cutting ends up on the wrong side you then get the phantom extra face. This doesn't have anything to do with using the z-buffer on your graphics card---that's related to F5, which OP already notes will fail, but he apparently doesn't care if F5 works. On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss < discuss@lists.openscad.org> wrote: > It's the same in real life. You have to start a drill above the surface > you are drilling and drill past the bottom of the object to get a clean > hole. > > The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the > preview and that uses the z-buffer of your graphics card which has finite > resolution. > > On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss < > discuss@lists.openscad.org> wrote: > >> Is there a reason you need to specify a slightly larger object for >> difference() than the parent object to make a clean cut? >> >> If they are equal, the F5 renders it badly but the F6 manifold is more >> than fine. The code looks a lot cleaner and reduces potential collisions. >> >> The question is probably already asked but I could not find it in >> searching the list. Pointers are thus also appreciated. >> >> Kind regards, >> >> Peter Kriens >> _______________________________________________ >> 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 >
PK
Peter Kriens
Fri, Aug 2, 2024 11:41 AM

Ok, thanks.

Just a bit surprised. I am a developer myself and it seems not too hard to remove these types of faces that have a thickness  less than some very small value?

As a mechanic I know I have to handle real life and its messiness, but as a developer it would be nice to take the more platonic world of a digital model?

Am I still missing something?

Kind regards,

Peter Kriens

On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss discuss@lists.openscad.org wrote:

Actually if they are equal the F6 manifold is sometimes fine.  But not always.  Sometimes you'll get a zero thickness layer over your hole.  I assume this depends on round off error.  If the face is orthogonal to the axes it will work OK.  But if the face is at some angle then you may end up getting the two "identical" faces in slightly different places, such as by 10^-12 and if the hole cutting ends up on the wrong side you then get the phantom extra face.  This doesn't have anything to do with using the z-buffer on your graphics card---that's related to F5, which OP already notes will fail, but he apparently doesn't care if F5 works.

On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss <discuss@lists.openscad.org mailto:discuss@lists.openscad.org> wrote:

It's the same in real life. You have to start a drill above the surface you are drilling and drill past the bottom of the object to get a clean hole.

The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the preview and that uses the z-buffer of your graphics card which has finite resolution.

On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss <discuss@lists.openscad.org mailto:discuss@lists.openscad.org> wrote:

Is there a reason you need to specify a slightly larger object for difference() than the parent object to make a clean cut?

If they are equal, the F5 renders it badly but the F6 manifold is more than fine. The code looks a lot cleaner and reduces potential collisions.

The question is probably already asked but I could not find it in searching the list. Pointers are thus also appreciated.

Kind regards,

     Peter Kriens

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


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


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

Ok, thanks. Just a bit surprised. I am a developer myself and it seems not too hard to remove these types of faces that have a thickness less than some very small value? As a mechanic I know I have to handle real life and its messiness, but as a developer it would be nice to take the more platonic world of a digital model? Am I still missing something? Kind regards, Peter Kriens > On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss <discuss@lists.openscad.org> wrote: > > Actually if they are equal the F6 manifold is **sometimes** fine. But not always. Sometimes you'll get a zero thickness layer over your hole. I assume this depends on round off error. If the face is orthogonal to the axes it will work OK. But if the face is at some angle then you may end up getting the two "identical" faces in slightly different places, such as by 10^-12 and if the hole cutting ends up on the wrong side you then get the phantom extra face. This doesn't have anything to do with using the z-buffer on your graphics card---that's related to F5, which OP already notes will fail, but he apparently doesn't care if F5 works. > > On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss <discuss@lists.openscad.org <mailto:discuss@lists.openscad.org>> wrote: >> It's the same in real life. You have to start a drill above the surface you are drilling and drill past the bottom of the object to get a clean hole. >> >> The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the preview and that uses the z-buffer of your graphics card which has finite resolution. >> >> On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss <discuss@lists.openscad.org <mailto:discuss@lists.openscad.org>> wrote: >>> Is there a reason you need to specify a slightly larger object for difference() than the parent object to make a clean cut? >>> >>> If they are equal, the F5 renders it badly but the F6 manifold is more than fine. The code looks a lot cleaner and reduces potential collisions. >>> >>> The question is probably already asked but I could not find it in searching the list. Pointers are thus also appreciated. >>> >>> Kind regards, >>> >>> Peter Kriens >>> _______________________________________________ >>> OpenSCAD mailing list >>> To unsubscribe send an email to discuss-leave@lists.openscad.org <mailto:discuss-leave@lists.openscad.org> >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org <mailto:discuss-leave@lists.openscad.org> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
NH
nop head
Fri, Aug 2, 2024 12:01 PM

It might be possible to remove zero thickness faces in the render but not
in the preview as no geometry is calculated. It is just drawn and relies on
the z-buffer to decide what is visible. When faces are coincident you get a
shimmering effect because the fixed point z-buffer values are not exact
depending on the angle of the face. Some pixels decide one object is in
front and other pixels decide the other object is in front. When you make
the extracted object slightly longer it is always in front.

On Fri, 2 Aug 2024 at 12:42, Peter Kriens via Discuss <
discuss@lists.openscad.org> wrote:

Ok, thanks.

Just a bit surprised. I am a developer myself and it seems not too hard to
remove these types of faces that have a thickness  less than some very
small value?

As a mechanic I know I have to handle real life and its messiness, but as
a developer it would be nice to take the more platonic world of a digital
model?

Am I still missing something?

Kind regards,

Peter Kriens

On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:

Actually if they are equal the F6 manifold is sometimes fine.  But not
always.  Sometimes you'll get a zero thickness layer over your hole.  I
assume this depends on round off error.  If the face is orthogonal to the
axes it will work OK.  But if the face is at some angle then you may end up
getting the two "identical" faces in slightly different places, such as by
10^-12 and if the hole cutting ends up on the wrong side you then get the
phantom extra face.  This doesn't have anything to do with using the
z-buffer on your graphics card---that's related to F5, which OP already
notes will fail, but he apparently doesn't care if F5 works.

On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss <
discuss@lists.openscad.org> wrote:

It's the same in real life. You have to start a drill above the surface
you are drilling and drill past the bottom of the object to get a clean
hole.

The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the
preview and that uses the z-buffer of your graphics card which has finite
resolution.

On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss <
discuss@lists.openscad.org> wrote:

Is there a reason you need to specify a slightly larger object for
difference() than the parent object to make a clean cut?

If they are equal, the F5 renders it badly but the F6 manifold is more
than fine. The code looks a lot cleaner and reduces potential collisions.

The question is probably already asked but I could not find it in
searching the list. Pointers are thus also appreciated.

Kind regards,

     Peter Kriens

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


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

It might be possible to remove zero thickness faces in the render but not in the preview as no geometry is calculated. It is just drawn and relies on the z-buffer to decide what is visible. When faces are coincident you get a shimmering effect because the fixed point z-buffer values are not exact depending on the angle of the face. Some pixels decide one object is in front and other pixels decide the other object is in front. When you make the extracted object slightly longer it is always in front. On Fri, 2 Aug 2024 at 12:42, Peter Kriens via Discuss < discuss@lists.openscad.org> wrote: > Ok, thanks. > > Just a bit surprised. I am a developer myself and it seems not too hard to > remove these types of faces that have a thickness less than some very > small value? > > As a mechanic I know I have to handle real life and its messiness, but as > a developer it would be nice to take the more platonic world of a digital > model? > > Am I still missing something? > > Kind regards, > > Peter Kriens > > > > > > On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss < > discuss@lists.openscad.org> wrote: > > Actually if they are equal the F6 manifold is **sometimes** fine. But not > always. Sometimes you'll get a zero thickness layer over your hole. I > assume this depends on round off error. If the face is orthogonal to the > axes it will work OK. But if the face is at some angle then you may end up > getting the two "identical" faces in slightly different places, such as by > 10^-12 and if the hole cutting ends up on the wrong side you then get the > phantom extra face. This doesn't have anything to do with using the > z-buffer on your graphics card---that's related to F5, which OP already > notes will fail, but he apparently doesn't care if F5 works. > > On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss < > discuss@lists.openscad.org> wrote: > >> It's the same in real life. You have to start a drill above the surface >> you are drilling and drill past the bottom of the object to get a clean >> hole. >> >> The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the >> preview and that uses the z-buffer of your graphics card which has finite >> resolution. >> >> On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> Is there a reason you need to specify a slightly larger object for >>> difference() than the parent object to make a clean cut? >>> >>> If they are equal, the F5 renders it badly but the F6 manifold is more >>> than fine. The code looks a lot cleaner and reduces potential collisions. >>> >>> The question is probably already asked but I could not find it in >>> searching the list. Pointers are thus also appreciated. >>> >>> Kind regards, >>> >>> Peter Kriens >>> _______________________________________________ >>> 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 > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
GB
Glenn Butcher
Fri, Aug 2, 2024 12:04 PM

Ambiguity exists in both worlds.  Floating point precision for all its
goodness creates a bit of a monster with regard to definite values,
something necessary for that 'platonic world'.

For what it's worth...

Glenn Butcher

On 8/2/2024 5:41 AM, Peter Kriens via Discuss wrote:

Ok, thanks.

Just a bit surprised. I am a developer myself and it seems not too
hard to remove these types of faces that have a thickness  less than
some very small value?

As a mechanic I know I have to handle real life and its messiness, but
as a developer it would be nice to take the more platonic world of a
digital model?

Am I still missing something?

Kind regards,

Peter Kriens

On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss
discuss@lists.openscad.org wrote:

Actually if they are equal the F6 manifold is sometimes fine. 
But not always. Sometimes you'll get a zero thickness layer over your
hole.  I assume this depends on round off error.  If the face is
orthogonal to the axes it will work OK. But if the face is at some
angle then you may end up getting the two "identical" faces in
slightly different places, such as by 10^-12 and if the hole cutting
ends up on the wrong side you then get the phantom extra face.  This
doesn't have anything to do with using the z-buffer on your graphics
card---that's related to F5, which OP already notes will fail, but he
apparently doesn't care if F5 works.

On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss
discuss@lists.openscad.org wrote:

 It's the same in real life. You have to start a drill above the
 surface you are drilling and drill past the bottom of the object
 to get a clean hole.

 The reason you have to do it in OpenSCAD is it uses OpenCSG to
 draw the preview and that uses the z-buffer of your graphics card
 which has finite resolution.

 On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss
 <discuss@lists.openscad.org> wrote:

     Is there a reason you need to specify a slightly larger
     object for difference() than the parent object to make a
     clean cut?

     If they are equal, the F5 renders it badly but the F6
     manifold is more than fine. The code looks a lot cleaner and
     reduces potential collisions.

     The question is probably already asked but I could not find
     it in searching the list. Pointers are thus also appreciated.

     Kind regards,

             Peter Kriens
     _______________________________________________
     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


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

Ambiguity exists in both worlds.  Floating point precision for all its goodness creates a bit of a monster with regard to definite values, something necessary for that 'platonic world'. For what it's worth... Glenn Butcher On 8/2/2024 5:41 AM, Peter Kriens via Discuss wrote: > Ok, thanks. > > Just a bit surprised. I am a developer myself and it seems not too > hard to remove these types of faces that have a thickness  less than > some very small value? > > As a mechanic I know I have to handle real life and its messiness, but > as a developer it would be nice to take the more platonic world of a > digital model? > > Am I still missing something? > > Kind regards, > > Peter Kriens > > > > > >> On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss >> <discuss@lists.openscad.org> wrote: >> >> Actually if they are equal the F6 manifold is **sometimes** fine.  >> But not always. Sometimes you'll get a zero thickness layer over your >> hole.  I assume this depends on round off error.  If the face is >> orthogonal to the axes it will work OK. But if the face is at some >> angle then you may end up getting the two "identical" faces in >> slightly different places, such as by 10^-12 and if the hole cutting >> ends up on the wrong side you then get the phantom extra face.  This >> doesn't have anything to do with using the z-buffer on your graphics >> card---that's related to F5, which OP already notes will fail, but he >> apparently doesn't care if F5 works. >> >> On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss >> <discuss@lists.openscad.org> wrote: >> >> It's the same in real life. You have to start a drill above the >> surface you are drilling and drill past the bottom of the object >> to get a clean hole. >> >> The reason you have to do it in OpenSCAD is it uses OpenCSG to >> draw the preview and that uses the z-buffer of your graphics card >> which has finite resolution. >> >> On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss >> <discuss@lists.openscad.org> wrote: >> >> Is there a reason you need to specify a slightly larger >> object for difference() than the parent object to make a >> clean cut? >> >> If they are equal, the F5 renders it badly but the F6 >> manifold is more than fine. The code looks a lot cleaner and >> reduces potential collisions. >> >> The question is probably already asked but I could not find >> it in searching the list. Pointers are thus also appreciated. >> >> Kind regards, >> >>         Peter Kriens >> _______________________________________________ >> 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 > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
NH
nop head
Fri, Aug 2, 2024 12:27 PM

Yes and binary floating point has a lot more infinitely recurring fractions
than decimal, for example 0.1 is not exactly representable. When
objects are rotated then most numbers become irrational, so can't be
represented exactly numerically, only symbolically.

On Fri, 2 Aug 2024 at 13:04, Glenn Butcher via Discuss <
discuss@lists.openscad.org> wrote:

Ambiguity exists in both worlds.  Floating point precision for all its
goodness creates a bit of a monster with regard to definite values,
something necessary for that 'platonic world'.

For what it's worth...

Glenn Butcher
On 8/2/2024 5:41 AM, Peter Kriens via Discuss wrote:

Ok, thanks.

Just a bit surprised. I am a developer myself and it seems not too hard to
remove these types of faces that have a thickness  less than some very
small value?

As a mechanic I know I have to handle real life and its messiness, but as
a developer it would be nice to take the more platonic world of a digital
model?

Am I still missing something?

Kind regards,

Peter Kriens

On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss
discuss@lists.openscad.org discuss@lists.openscad.org wrote:

Actually if they are equal the F6 manifold is sometimes fine.  But not
always.  Sometimes you'll get a zero thickness layer over your hole.  I
assume this depends on round off error.  If the face is orthogonal to the
axes it will work OK.  But if the face is at some angle then you may end up
getting the two "identical" faces in slightly different places, such as by
10^-12 and if the hole cutting ends up on the wrong side you then get the
phantom extra face.  This doesn't have anything to do with using the
z-buffer on your graphics card---that's related to F5, which OP already
notes will fail, but he apparently doesn't care if F5 works.

On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss <
discuss@lists.openscad.org> wrote:

It's the same in real life. You have to start a drill above the surface
you are drilling and drill past the bottom of the object to get a clean
hole.

The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the
preview and that uses the z-buffer of your graphics card which has finite
resolution.

On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss <
discuss@lists.openscad.org> wrote:

Is there a reason you need to specify a slightly larger object for
difference() than the parent object to make a clean cut?

If they are equal, the F5 renders it badly but the F6 manifold is more
than fine. The code looks a lot cleaner and reduces potential collisions.

The question is probably already asked but I could not find it in
searching the list. Pointers are thus also appreciated.

Kind regards,

     Peter Kriens

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


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 and binary floating point has a lot more infinitely recurring fractions than decimal, for example 0.1 is not exactly representable. When objects are rotated then most numbers become irrational, so can't be represented exactly numerically, only symbolically. On Fri, 2 Aug 2024 at 13:04, Glenn Butcher via Discuss < discuss@lists.openscad.org> wrote: > Ambiguity exists in both worlds. Floating point precision for all its > goodness creates a bit of a monster with regard to definite values, > something necessary for that 'platonic world'. > > For what it's worth... > > Glenn Butcher > On 8/2/2024 5:41 AM, Peter Kriens via Discuss wrote: > > Ok, thanks. > > Just a bit surprised. I am a developer myself and it seems not too hard to > remove these types of faces that have a thickness less than some very > small value? > > As a mechanic I know I have to handle real life and its messiness, but as > a developer it would be nice to take the more platonic world of a digital > model? > > Am I still missing something? > > Kind regards, > > Peter Kriens > > > > > > On 2 Aug 2024, at 12:36, Adrian Mariano via Discuss > <discuss@lists.openscad.org> <discuss@lists.openscad.org> wrote: > > Actually if they are equal the F6 manifold is **sometimes** fine. But not > always. Sometimes you'll get a zero thickness layer over your hole. I > assume this depends on round off error. If the face is orthogonal to the > axes it will work OK. But if the face is at some angle then you may end up > getting the two "identical" faces in slightly different places, such as by > 10^-12 and if the hole cutting ends up on the wrong side you then get the > phantom extra face. This doesn't have anything to do with using the > z-buffer on your graphics card---that's related to F5, which OP already > notes will fail, but he apparently doesn't care if F5 works. > > On Fri, Aug 2, 2024 at 4:10 AM nop head via Discuss < > discuss@lists.openscad.org> wrote: > >> It's the same in real life. You have to start a drill above the surface >> you are drilling and drill past the bottom of the object to get a clean >> hole. >> >> The reason you have to do it in OpenSCAD is it uses OpenCSG to draw the >> preview and that uses the z-buffer of your graphics card which has finite >> resolution. >> >> On Fri, 2 Aug 2024 at 08:13, Peter Kriens via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> Is there a reason you need to specify a slightly larger object for >>> difference() than the parent object to make a clean cut? >>> >>> If they are equal, the F5 renders it badly but the F6 manifold is more >>> than fine. The code looks a lot cleaner and reduces potential collisions. >>> >>> The question is probably already asked but I could not find it in >>> searching the list. Pointers are thus also appreciated. >>> >>> Kind regards, >>> >>> Peter Kriens >>> _______________________________________________ >>> 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 > > > > _______________________________________________ > 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 >