discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

STL Manipulation

RT
Richard Thomas
Sat, Feb 1, 2025 9:15 PM

Hi,

I am trying to manipulate an STL.

If I comment out the calling of the below functions, one at a time, the
result F6 render is fine.

  inner_grill();
  outer_grill();

If I F6 render when calling both functions, by ensuring they are both
uncommented, I get some unwanted material included.

[image: image.png]

Does anybody know why this is happening and how to prevent it.

I include the opscscad file and STL file I am importing.

Thanks,

Richard.

Hi, I am trying to manipulate an STL. If I comment out the calling of the below functions, one at a time, the result F6 render is fine. inner_grill(); outer_grill(); If I F6 render when calling both functions, by ensuring they are both uncommented, I get some unwanted material included. [image: image.png] Does anybody know why this is happening and how to prevent it. I include the opscscad file and STL file I am importing. Thanks, Richard.
JB
Jordan Brown
Sat, Feb 1, 2025 9:45 PM

Are you talking about the tons of thin pieces extending into -X around
the outside of the circle?

If that's the problem, the minimum demonstration is something like:

intersection(){
    import("fanguard_90mm.stl", convexity=3);
    cylinder(h=10, d=89, $fn=360);
}

Alternately putting # in front of the two components yields

and

You're trying to match up the cylinder that you're using as a cutter
with the hole in the STL.  It both extends above the grillwork and
doesn't quite match up, so you're bringing in little slivers of the
frame - which you are then scaling up by a factor of two in Z, making
them taller than the frame that you're unioning them with.

The simplest thing might be to reduce your cylinder down to the
thickness of the gridwork, so that at least any frame that you pick up
just gets unioned back into the frame.

Also:  convexity=3 is not nearly enough for this design; if you look at
it edge-on the sight lines can be running in and out of the model many
more times than that.  Experimentally, 7 looks like enough, but I would
use 10.  This only affects preview.

Are you talking about the tons of thin pieces extending into -X around the outside of the circle? If that's the problem, the minimum demonstration is something like: intersection(){ import("fanguard_90mm.stl", convexity=3); cylinder(h=10, d=89, $fn=360); } Alternately putting # in front of the two components yields and You're trying to match up the cylinder that you're using as a cutter with the hole in the STL.  It both extends above the grillwork and doesn't quite match up, so you're bringing in little slivers of the frame - which you are then scaling up by a factor of two in Z, making them taller than the frame that you're unioning them with. The simplest thing might be to reduce your cylinder down to the thickness of the gridwork, so that at least any frame that you pick up just gets unioned back into the frame. Also:  convexity=3 is not nearly enough for this design; if you look at it edge-on the sight lines can be running in and out of the model many more times than that.  Experimentally, 7 looks like enough, but I would use 10.  This only affects preview.
RT
Richard Thomas
Sat, Feb 1, 2025 11:24 PM

Hi Jordan,

Thanks for getting back to me.

I'm actually talking about the screenshot in my original email.  There is
material that seems to stretch to a common vanishing point.

I will change by value of 89 to be more accurate to the outer of the grid
work, as that does need remedying anyway.

Thanks,

Richard.

On Sat, 1 Feb 2025, 21:46 Jordan Brown, openscad@jordan.maileater.net
wrote:

Are you talking about the tons of thin pieces extending into -X around the
outside of the circle?

If that's the problem, the minimum demonstration is something like:

intersection(){
import("fanguard_90mm.stl", convexity=3);
cylinder(h=10, d=89, $fn=360);
}

Alternately putting # in front of the two components yields

and

You're trying to match up the cylinder that you're using as a cutter with
the hole in the STL.  It both extends above the grillwork and doesn't quite
match up, so you're bringing in little slivers of the frame - which you are
then scaling up by a factor of two in Z, making them taller than the frame
that you're unioning them with.

The simplest thing might be to reduce your cylinder down to the thickness
of the gridwork, so that at least any frame that you pick up just gets
unioned back into the frame.

Also:  convexity=3 is not nearly enough for this design; if you look at it
edge-on the sight lines can be running in and out of the model many more
times than that.  Experimentally, 7 looks like enough, but I would use 10.
This only affects preview.

Hi Jordan, Thanks for getting back to me. I'm actually talking about the screenshot in my original email. There is material that seems to stretch to a common vanishing point. I will change by value of 89 to be more accurate to the outer of the grid work, as that does need remedying anyway. Thanks, Richard. On Sat, 1 Feb 2025, 21:46 Jordan Brown, <openscad@jordan.maileater.net> wrote: > Are you talking about the tons of thin pieces extending into -X around the > outside of the circle? > > > > If that's the problem, the minimum demonstration is something like: > > intersection(){ > import("fanguard_90mm.stl", convexity=3); > cylinder(h=10, d=89, $fn=360); > } > > Alternately putting # in front of the two components yields > > and > > > You're trying to match up the cylinder that you're using as a cutter with > the hole in the STL. It both extends above the grillwork and doesn't quite > match up, so you're bringing in little slivers of the frame - which you are > then scaling up by a factor of two in Z, making them taller than the frame > that you're unioning them with. > > The simplest thing might be to reduce your cylinder down to the thickness > of the gridwork, so that at least any frame that you pick up just gets > unioned back into the frame. > > > Also: convexity=3 is not nearly enough for this design; if you look at it > edge-on the sight lines can be running in and out of the model many more > times than that. Experimentally, 7 looks like enough, but I would use 10. > This only affects preview. > > > >
RW
Raymond West
Sat, Feb 1, 2025 11:37 PM

try -

module cutter(){

  cylinder(h=10, d=88.9, $fn=facets);

}

also from the wiki A $fn over 128 is not recommended or only for
specific circumstances, and below 50 would be advisable for performance.

On 01/02/2025 21:15, Richard Thomas via Discuss wrote:

Hi,

I am trying to manipulate an STL.

If I comment out the calling of the below functions, one at a time,
the result F6 render is fine.

      inner_grill();
      outer_grill();

If I F6 render when calling both functions, by ensuring they are both
uncommented, I get some unwanted material included.

image.png

Does anybody know why this is happening and how to prevent it.

I include the opscscad file and STL file I am importing.

Thanks,

Richard.


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

try - module cutter(){   cylinder(h=10, d=88.9, $fn=facets); } also from the wiki *A $fn over 128 is not recommended* or only for specific circumstances, and below 50 would be advisable for performance. On 01/02/2025 21:15, Richard Thomas via Discuss wrote: > Hi, > > I am trying to manipulate an STL. > > If I comment out the calling of the below functions, one at a time, > the result F6 render is fine. > >       inner_grill(); >       outer_grill(); > > If I F6 render when calling both functions, by ensuring they are both > uncommented, I get some unwanted material included. > > image.png > > Does anybody know why this is happening and how to prevent it. > > I include the opscscad file and STL file I am importing. > > Thanks, > > Richard. > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
RT
Richard Thomas
Mon, Feb 3, 2025 12:25 PM

Hi Raymond,

Thanks for that, it sorted the problem.

Just so you can see in more detail, when the cutter is set to a diameter of
89, here's a video showing better the problem.
https://youtube.com/shorts/SEWGn7CGrmI?feature=share

Cheers,

Richard.

On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

try -

module cutter(){

cylinder(h=10, d=88.9, $fn=facets);

}

also from the wiki  A $fn over 128 is not recommended or only for
specific circumstances, and below 50 would be advisable for performance.
On 01/02/2025 21:15, Richard Thomas via Discuss wrote:

Hi,

I am trying to manipulate an STL.

If I comment out the calling of the below functions, one at a time, the
result F6 render is fine.

   inner_grill();
   outer_grill();

If I F6 render when calling both functions, by ensuring they are both
uncommented, I get some unwanted material included.

[image: image.png]

Does anybody know why this is happening and how to prevent it.

I include the opscscad file and STL file I am importing.

Thanks,

Richard.


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 Raymond, Thanks for that, it sorted the problem. Just so you can see in more detail, when the cutter is set to a diameter of 89, here's a video showing better the problem. https://youtube.com/shorts/SEWGn7CGrmI?feature=share Cheers, Richard. On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss < discuss@lists.openscad.org> wrote: > try - > > > module cutter(){ > > cylinder(h=10, d=88.9, $fn=facets); > > } > > > also from the wiki *A $fn over 128 is not recommended* or only for > specific circumstances, and below 50 would be advisable for performance. > On 01/02/2025 21:15, Richard Thomas via Discuss wrote: > > Hi, > > I am trying to manipulate an STL. > > If I comment out the calling of the below functions, one at a time, the > result F6 render is fine. > > inner_grill(); > outer_grill(); > > If I F6 render when calling both functions, by ensuring they are both > uncommented, I get some unwanted material included. > > [image: image.png] > > Does anybody know why this is happening and how to prevent it. > > I include the opscscad file and STL file I am importing. > > Thanks, > > Richard. > > > _______________________________________________ > 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 >
SP
Sanjeev Prabhakar
Mon, Feb 3, 2025 2:03 PM

You can make this in openscad and this issue can be completely avoided.

As per my understanding there are libraries which can do this in native
openscad.

I can do it in python for sure and will share my code with you.

On Mon, 3 Feb, 2025, 5:55 pm Richard Thomas via Discuss, <
discuss@lists.openscad.org> wrote:

Hi Raymond,

Thanks for that, it sorted the problem.

Just so you can see in more detail, when the cutter is set to a diameter
of 89, here's a video showing better the problem.
https://youtube.com/shorts/SEWGn7CGrmI?feature=share

Cheers,

Richard.

On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

try -

module cutter(){

cylinder(h=10, d=88.9, $fn=facets);

}

also from the wiki  A $fn over 128 is not recommended or only for
specific circumstances, and below 50 would be advisable for performance.
On 01/02/2025 21:15, Richard Thomas via Discuss wrote:

Hi,

I am trying to manipulate an STL.

If I comment out the calling of the below functions, one at a time, the
result F6 render is fine.

   inner_grill();
   outer_grill();

If I F6 render when calling both functions, by ensuring they are both
uncommented, I get some unwanted material included.

[image: image.png]

Does anybody know why this is happening and how to prevent it.

I include the opscscad file and STL file I am importing.

Thanks,

Richard.


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

You can make this in openscad and this issue can be completely avoided. As per my understanding there are libraries which can do this in native openscad. I can do it in python for sure and will share my code with you. On Mon, 3 Feb, 2025, 5:55 pm Richard Thomas via Discuss, < discuss@lists.openscad.org> wrote: > Hi Raymond, > > Thanks for that, it sorted the problem. > > Just so you can see in more detail, when the cutter is set to a diameter > of 89, here's a video showing better the problem. > https://youtube.com/shorts/SEWGn7CGrmI?feature=share > > Cheers, > > Richard. > > > On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss < > discuss@lists.openscad.org> wrote: > >> try - >> >> >> module cutter(){ >> >> cylinder(h=10, d=88.9, $fn=facets); >> >> } >> >> >> also from the wiki *A $fn over 128 is not recommended* or only for >> specific circumstances, and below 50 would be advisable for performance. >> On 01/02/2025 21:15, Richard Thomas via Discuss wrote: >> >> Hi, >> >> I am trying to manipulate an STL. >> >> If I comment out the calling of the below functions, one at a time, the >> result F6 render is fine. >> >> inner_grill(); >> outer_grill(); >> >> If I F6 render when calling both functions, by ensuring they are both >> uncommented, I get some unwanted material included. >> >> [image: image.png] >> >> Does anybody know why this is happening and how to prevent it. >> >> I include the opscscad file and STL file I am importing. >> >> Thanks, >> >> Richard. >> >> >> _______________________________________________ >> 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 >
RT
Richard Thomas
Mon, Feb 3, 2025 2:25 PM

Oh, that would be cool, thank you :)

On Mon, 3 Feb 2025 at 14:03, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

You can make this in openscad and this issue can be completely avoided.

As per my understanding there are libraries which can do this in native
openscad.

I can do it in python for sure and will share my code with you.

On Mon, 3 Feb, 2025, 5:55 pm Richard Thomas via Discuss, <
discuss@lists.openscad.org> wrote:

Hi Raymond,

Thanks for that, it sorted the problem.

Just so you can see in more detail, when the cutter is set to a diameter
of 89, here's a video showing better the problem.
https://youtube.com/shorts/SEWGn7CGrmI?feature=share

Cheers,

Richard.

On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

try -

module cutter(){

cylinder(h=10, d=88.9, $fn=facets);

}

also from the wiki  A $fn over 128 is not recommended or only for
specific circumstances, and below 50 would be advisable for performance.
On 01/02/2025 21:15, Richard Thomas via Discuss wrote:

Hi,

I am trying to manipulate an STL.

If I comment out the calling of the below functions, one at a time, the
result F6 render is fine.

   inner_grill();
   outer_grill();

If I F6 render when calling both functions, by ensuring they are both
uncommented, I get some unwanted material included.

[image: image.png]

Does anybody know why this is happening and how to prevent it.

I include the opscscad file and STL file I am importing.

Thanks,

Richard.


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

Oh, that would be cool, thank you :) On Mon, 3 Feb 2025 at 14:03, Sanjeev Prabhakar <sprabhakar2006@gmail.com> wrote: > You can make this in openscad and this issue can be completely avoided. > > As per my understanding there are libraries which can do this in native > openscad. > > I can do it in python for sure and will share my code with you. > > > > On Mon, 3 Feb, 2025, 5:55 pm Richard Thomas via Discuss, < > discuss@lists.openscad.org> wrote: > >> Hi Raymond, >> >> Thanks for that, it sorted the problem. >> >> Just so you can see in more detail, when the cutter is set to a diameter >> of 89, here's a video showing better the problem. >> https://youtube.com/shorts/SEWGn7CGrmI?feature=share >> >> Cheers, >> >> Richard. >> >> >> On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> try - >>> >>> >>> module cutter(){ >>> >>> cylinder(h=10, d=88.9, $fn=facets); >>> >>> } >>> >>> >>> also from the wiki *A $fn over 128 is not recommended* or only for >>> specific circumstances, and below 50 would be advisable for performance. >>> On 01/02/2025 21:15, Richard Thomas via Discuss wrote: >>> >>> Hi, >>> >>> I am trying to manipulate an STL. >>> >>> If I comment out the calling of the below functions, one at a time, the >>> result F6 render is fine. >>> >>> inner_grill(); >>> outer_grill(); >>> >>> If I F6 render when calling both functions, by ensuring they are both >>> uncommented, I get some unwanted material included. >>> >>> [image: image.png] >>> >>> Does anybody know why this is happening and how to prevent it. >>> >>> I include the opscscad file and STL file I am importing. >>> >>> Thanks, >>> >>> Richard. >>> >>> >>> _______________________________________________ >>> 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 >> >
SP
Sanjeev Prabhakar
Mon, Feb 3, 2025 2:43 PM

Here is the code I have written for something similar[image: Screenshot
2025-02-03 at 8.09.20 PM.png]

On Mon, 3 Feb 2025 at 19:55, Richard Thomas richdthomas@gmail.com wrote:

Oh, that would be cool, thank you :)

On Mon, 3 Feb 2025 at 14:03, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

You can make this in openscad and this issue can be completely avoided.

As per my understanding there are libraries which can do this in native
openscad.

I can do it in python for sure and will share my code with you.

On Mon, 3 Feb, 2025, 5:55 pm Richard Thomas via Discuss, <
discuss@lists.openscad.org> wrote:

Hi Raymond,

Thanks for that, it sorted the problem.

Just so you can see in more detail, when the cutter is set to a diameter
of 89, here's a video showing better the problem.
https://youtube.com/shorts/SEWGn7CGrmI?feature=share

Cheers,

Richard.

On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

try -

module cutter(){

cylinder(h=10, d=88.9, $fn=facets);

}

also from the wiki  A $fn over 128 is not recommended or only for
specific circumstances, and below 50 would be advisable for performance.
On 01/02/2025 21:15, Richard Thomas via Discuss wrote:

Hi,

I am trying to manipulate an STL.

If I comment out the calling of the below functions, one at a time, the
result F6 render is fine.

   inner_grill();
   outer_grill();

If I F6 render when calling both functions, by ensuring they are both
uncommented, I get some unwanted material included.

[image: image.png]

Does anybody know why this is happening and how to prevent it.

I include the opscscad file and STL file I am importing.

Thanks,

Richard.


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

Here is the code I have written for something similar[image: Screenshot 2025-02-03 at 8.09.20 PM.png] On Mon, 3 Feb 2025 at 19:55, Richard Thomas <richdthomas@gmail.com> wrote: > Oh, that would be cool, thank you :) > > On Mon, 3 Feb 2025 at 14:03, Sanjeev Prabhakar <sprabhakar2006@gmail.com> > wrote: > >> You can make this in openscad and this issue can be completely avoided. >> >> As per my understanding there are libraries which can do this in native >> openscad. >> >> I can do it in python for sure and will share my code with you. >> >> >> >> On Mon, 3 Feb, 2025, 5:55 pm Richard Thomas via Discuss, < >> discuss@lists.openscad.org> wrote: >> >>> Hi Raymond, >>> >>> Thanks for that, it sorted the problem. >>> >>> Just so you can see in more detail, when the cutter is set to a diameter >>> of 89, here's a video showing better the problem. >>> https://youtube.com/shorts/SEWGn7CGrmI?feature=share >>> >>> Cheers, >>> >>> Richard. >>> >>> >>> On Sat, 1 Feb 2025 at 23:38, Raymond West via Discuss < >>> discuss@lists.openscad.org> wrote: >>> >>>> try - >>>> >>>> >>>> module cutter(){ >>>> >>>> cylinder(h=10, d=88.9, $fn=facets); >>>> >>>> } >>>> >>>> >>>> also from the wiki *A $fn over 128 is not recommended* or only for >>>> specific circumstances, and below 50 would be advisable for performance. >>>> On 01/02/2025 21:15, Richard Thomas via Discuss wrote: >>>> >>>> Hi, >>>> >>>> I am trying to manipulate an STL. >>>> >>>> If I comment out the calling of the below functions, one at a time, the >>>> result F6 render is fine. >>>> >>>> inner_grill(); >>>> outer_grill(); >>>> >>>> If I F6 render when calling both functions, by ensuring they are both >>>> uncommented, I get some unwanted material included. >>>> >>>> [image: image.png] >>>> >>>> Does anybody know why this is happening and how to prevent it. >>>> >>>> I include the opscscad file and STL file I am importing. >>>> >>>> Thanks, >>>> >>>> Richard. >>>> >>>> >>>> _______________________________________________ >>>> 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 >>> >>
SP
Sanjeev Prabhakar
Mon, Feb 3, 2025 2:45 PM

Here is the scad file
you need to include dependencies2.scad file for this to work.

Here is the scad file you need to include dependencies2.scad file for this to work.
RT
Richard Thomas
Mon, Feb 3, 2025 4:04 PM

Oh wow, that was quick, thank you.

For some reason, the trial,scad only gave me the outer.

[image: image.png]

Any ideas?

Thanks,

Richard.

On Mon, 3 Feb 2025 at 14:45, Sanjeev Prabhakar sprabhakar2006@gmail.com
wrote:

Here is the scad file
you need to include dependencies2.scad file for this to work.

Oh wow, that was quick, thank you. For some reason, the trial,scad only gave me the outer. [image: image.png] Any ideas? Thanks, Richard. On Mon, 3 Feb 2025 at 14:45, Sanjeev Prabhakar <sprabhakar2006@gmail.com> wrote: > Here is the scad file > you need to include dependencies2.scad file for this to work. >