discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: parametric

RW
Raymond West
Tue, Oct 29, 2024 3:30 PM

A few years ago, with help of a mathematician here, i was able to
produce what I thought was realistic wood grain, with knots, etc. I
recently came across a small piece that I 3d printed back then, and
crudely experimented with a felt tipped pen, and to me It looked like
wood. Since then I've designed, in the last month or so, a realistic
method of producing leather grain. The resultant stl files for this sort
of thing are massive, and it can take an hour or so to render. Fwiw, for
the leather grain, it is quicker to f6 and use the 'sheet' directly,
compared to loading the stl. For example, to import the sheet from an
stl and show on screen took 3.5 minutes, to f6 render from the scad code
took 30 seconds, to f5 render,  I gave up waiting after 40 minutes.

My approach is to find or create images of the patterns, then try and
analyse how the pattern was initially created. Generally, for natural
objects, there is a sort of random pattern, within limits, coupled to
some sort of mathematical pattern. Like most pseudo natural things, they
are a more analogue in nature, which we often try to force into being
digital, and as such we can get bogged down in trying to get subtle
colour changes, reducing layer height and so on. But the point is, to
make a start. What I've found, over the years, is that folk tend to look
for a ready made solution for a specific problem, instead of looking at
the subject and developing a solution that satisfies them. There is
nothing wrong with re-inventing the wheel, certainly nothing wrong with
working things out for yourself.

The two examples that you show, I do not know how they were created,
could have been by hand, simple hand carving, say, but looking at the
two images, it seems that the ridge profile is fairly constant, and the
depth of cut is consistent, except where ridges are closer together. The
interesting part is the pattern of the ridges. There is not enough area
to determine in detail what the pattern may be, but it looks as if the
ridges are more or less parallel to each other, within some random value
between limits. Then there are 'blobs', placed at probably random
locations, and the ridges tend to avoid them, either by turning around,
or squeezing closer together as they pass by.

I would start by disregarding the 'blobs', and generate a list of
points. You can get an approximation of the ridges by putting a sphere
at each point and hull between pairs. Adjust the random range and
spacing to get something like the path of a ridge. I would then, when it
looked good enough, pattern wise, instead of using a sphere at each
point, put a cone, then generate  a 3d shape to more closely match the
profile. To make it look more natural, you can slightly randomise every
dimension.

To generate the random blobs, that will be easy. The tricky part is
calculating the offset for the ridges near the blob, so try inserting a
cylinder, say to simulate a blob. You can probably save time in
processing that part of the puzzle by working in 2d. You will get an
idea of the structure of the pattern. You will end up with a very large
stl, if that is what you want, and it will take a long rendering time.

Other approaches are equally valid...

Best wishes,

Ray

On 28/10/2024 21:34, Joe Weinpert via Discuss wrote:

I don't have an algorithm at all.  I was looking for one, though :-)

Look at the sample pictures I sent as just being stl objects.  What
would I need to do to create them in OpenSCAD? How do you create odd
shaped "blobs" and patterns and put them together?

Joe Weinpert
skidrowacademy.com http://skidrowacademy.com

On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano avm4@cornell.edu wrote:

 Appears that you sent this message just to me, not the list.

 Do you have an algorithm that generates these parametric
 structures?  Because there are two separate issues here.  One is
 how do you produce those patterns AT ALL.  And the second one is
 how do you do it in OpenSCAD. It would be advantageous to have a
 solid answer to the first question before pondering the second
 one.  Or you at least need some idea of a possible algorithm.  An
 algorithm for this is not immediately obvious to me.  The problem
 of "how to do this in BOSL2" depends on what that algorithm looks
 like, and a lot of it might not be  BOSL2 specific but really just
 how to generate a pattern that looks like that.

 On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert
 <joe.weinpert@gmail.com> wrote:

     Here are a couple of samples.  Parametric styles vary
     immensely.  It would be nice to have a tool that can be used
     to create different forms.

     2024-10-26_12-46-24.jpg
     2024-10-26_12-48-31.jpg

     Joe Weinpert
     skidrowacademy.com <http://skidrowacademy.com>



     On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano
     <avm4@cornell.edu> wrote:

         You need to define your goal better. I have no clue what a
         parametric wall carving might be. What form?  What parameters?

         On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss
         <discuss@lists.openscad.org> wrote:

             I would like to use OpenSCAD and the BOSL library to
             design parametric wood wall carving STL files.

             Has anyone done this yet?

             Where should I start looking?  BOSL has nearly 900
             functions.

             Would there be any examples of what to use?  Examples,
             I have found, are the best way to learn something.

             Joe Weinpert
             skidrowacademy.com <http://skidrowacademy.com>

             _______________________________________________
             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

A few years ago, with help of a mathematician here, i was able to produce what I thought was realistic wood grain, with knots, etc. I recently came across a small piece that I 3d printed back then, and crudely experimented with a felt tipped pen, and to me It looked like wood. Since then I've designed, in the last month or so, a realistic method of producing leather grain. The resultant stl files for this sort of thing are massive, and it can take an hour or so to render. Fwiw, for the leather grain, it is quicker to f6 and use the 'sheet' directly, compared to loading the stl. For example, to import the sheet from an stl and show on screen took 3.5 minutes, to f6 render from the scad code took 30 seconds, to f5 render,  I gave up waiting after 40 minutes. My approach is to find or create images of the patterns, then try and analyse how the pattern was initially created. Generally, for natural objects, there is a sort of random pattern, within limits, coupled to some sort of mathematical pattern. Like most pseudo natural things, they are a more analogue in nature, which we often try to force into being digital, and as such we can get bogged down in trying to get subtle colour changes, reducing layer height and so on. But the point is, to make a start. What I've found, over the years, is that folk tend to look for a ready made solution for a specific problem, instead of looking at the subject and developing a solution that satisfies them. There is nothing wrong with re-inventing the wheel, certainly nothing wrong with working things out for yourself. The two examples that you show, I do not know how they were created, could have been by hand, simple hand carving, say, but looking at the two images, it seems that the ridge profile is fairly constant, and the depth of cut is consistent, except where ridges are closer together. The interesting part is the pattern of the ridges. There is not enough area to determine in detail what the pattern may be, but it looks as if the ridges are more or less parallel to each other, within some random value between limits. Then there are 'blobs', placed at probably random locations, and the ridges tend to avoid them, either by turning around, or squeezing closer together as they pass by. I would start by disregarding the 'blobs', and generate a list of points. You can get an approximation of the ridges by putting a sphere at each point and hull between pairs. Adjust the random range and spacing to get something like the path of a ridge. I would then, when it looked good enough, pattern wise, instead of using a sphere at each point, put a cone, then generate  a 3d shape to more closely match the profile. To make it look more natural, you can slightly randomise every dimension. To generate the random blobs, that will be easy. The tricky part is calculating the offset for the ridges near the blob, so try inserting a cylinder, say to simulate a blob. You can probably save time in processing that part of the puzzle by working in 2d. You will get an idea of the structure of the pattern. You will end up with a very large stl, if that is what you want, and it will take a long rendering time. Other approaches are equally valid... Best wishes, Ray On 28/10/2024 21:34, Joe Weinpert via Discuss wrote: > > I don't have an algorithm at all.  I was looking for one, though :-) > > Look at the sample pictures I sent as just being stl objects.  What > would I need to do to create them in OpenSCAD? How do you create odd > shaped "blobs" and patterns and put them together? > > Joe Weinpert > skidrowacademy.com <http://skidrowacademy.com> > > > > On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano <avm4@cornell.edu> wrote: > > Appears that you sent this message just to me, not the list. > > Do you have an algorithm that generates these parametric > structures?  Because there are two separate issues here.  One is > how do you produce those patterns AT ALL.  And the second one is > how do you do it in OpenSCAD. It would be advantageous to have a > solid answer to the first question before pondering the second > one.  Or you at least need some idea of a possible algorithm.  An > algorithm for this is not immediately obvious to me.  The problem > of "how to do this in BOSL2" depends on what that algorithm looks > like, and a lot of it might not be  BOSL2 specific but really just > how to generate a pattern that looks like that. > > On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert > <joe.weinpert@gmail.com> wrote: > > Here are a couple of samples.  Parametric styles vary > immensely.  It would be nice to have a tool that can be used > to create different forms. > > 2024-10-26_12-46-24.jpg > 2024-10-26_12-48-31.jpg > > Joe Weinpert > skidrowacademy.com <http://skidrowacademy.com> > > > > On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano > <avm4@cornell.edu> wrote: > > You need to define your goal better. I have no clue what a > parametric wall carving might be. What form?  What parameters? > > On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss > <discuss@lists.openscad.org> wrote: > > I would like to use OpenSCAD and the BOSL library to > design parametric wood wall carving STL files. > > Has anyone done this yet? > > Where should I start looking?  BOSL has nearly 900 > functions. > > Would there be any examples of what to use?  Examples, > I have found, are the best way to learn something. > > Joe Weinpert > skidrowacademy.com <http://skidrowacademy.com> > > _______________________________________________ > 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
SP
Sanjeev Prabhakar
Tue, Oct 29, 2024 5:12 PM

These are interesting patterns. I am not sure if there is any mathematical
equation to do such a thing.
Maybe you need to make these random patterns manually, but that would take
a lot of thinking.

On Tue, 29 Oct 2024 at 03:05, Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

I don't have an algorithm at all.  I was looking for one, though :-)

Look at the sample pictures I sent as just being stl objects.  What would
I need to do to create them in OpenSCAD?  How do you create odd shaped
"blobs" and patterns and put them together?

Joe Weinpert
skidrowacademy.com

On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano avm4@cornell.edu wrote:

Appears that you sent this message just to me, not the list.

Do you have an algorithm that generates these parametric structures?
Because there are two separate issues here.  One is how do you produce
those patterns AT ALL.  And the second one is how do you do it in
OpenSCAD.  It would be advantageous to have a solid answer to the first
question before pondering the second one.  Or you at least need some idea
of a possible algorithm.  An algorithm for this is not immediately obvious
to me.  The problem of "how to do this in BOSL2" depends on what that
algorithm looks like, and a lot of it might not be  BOSL2 specific but
really just how to generate a pattern that looks like that.

On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert joe.weinpert@gmail.com
wrote:

Here are a couple of samples.  Parametric styles vary immensely.  It
would be nice to have a tool that can be used to create different forms.

[image: 2024-10-26_12-46-24.jpg]
[image: 2024-10-26_12-48-31.jpg]

Joe Weinpert
skidrowacademy.com

On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano avm4@cornell.edu
wrote:

You need to define your goal better. I have no clue what a parametric
wall carving might be. What form?  What parameters?

On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

I would like to use OpenSCAD and the BOSL library to design parametric
wood wall carving STL files.

Has anyone done this yet?

Where should I start looking?  BOSL has nearly 900 functions.

Would there be any examples of what to use?  Examples, I have found,
are the best way to learn something.

Joe Weinpert
skidrowacademy.com


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

These are interesting patterns. I am not sure if there is any mathematical equation to do such a thing. Maybe you need to make these random patterns manually, but that would take a lot of thinking. On Tue, 29 Oct 2024 at 03:05, Joe Weinpert via Discuss < discuss@lists.openscad.org> wrote: > > I don't have an algorithm at all. I was looking for one, though :-) > > Look at the sample pictures I sent as just being stl objects. What would > I need to do to create them in OpenSCAD? How do you create odd shaped > "blobs" and patterns and put them together? > > Joe Weinpert > skidrowacademy.com > > > > On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano <avm4@cornell.edu> wrote: > >> Appears that you sent this message just to me, not the list. >> >> Do you have an algorithm that generates these parametric structures? >> Because there are two separate issues here. One is how do you produce >> those patterns AT ALL. And the second one is how do you do it in >> OpenSCAD. It would be advantageous to have a solid answer to the first >> question before pondering the second one. Or you at least need some idea >> of a possible algorithm. An algorithm for this is not immediately obvious >> to me. The problem of "how to do this in BOSL2" depends on what that >> algorithm looks like, and a lot of it might not be BOSL2 specific but >> really just how to generate a pattern that looks like that. >> >> On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert <joe.weinpert@gmail.com> >> wrote: >> >>> Here are a couple of samples. Parametric styles vary immensely. It >>> would be nice to have a tool that can be used to create different forms. >>> >>> [image: 2024-10-26_12-46-24.jpg] >>> [image: 2024-10-26_12-48-31.jpg] >>> >>> Joe Weinpert >>> skidrowacademy.com >>> >>> >>> >>> On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano <avm4@cornell.edu> >>> wrote: >>> >>>> You need to define your goal better. I have no clue what a parametric >>>> wall carving might be. What form? What parameters? >>>> >>>> On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss < >>>> discuss@lists.openscad.org> wrote: >>>> >>>>> I would like to use OpenSCAD and the BOSL library to design parametric >>>>> wood wall carving STL files. >>>>> >>>>> Has anyone done this yet? >>>>> >>>>> Where should I start looking? BOSL has nearly 900 functions. >>>>> >>>>> Would there be any examples of what to use? Examples, I have found, >>>>> are the best way to learn something. >>>>> >>>>> Joe Weinpert >>>>> skidrowacademy.com >>>>> >>>>> _______________________________________________ >>>>> 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
Dan Perry
Tue, Oct 29, 2024 6:24 PM

The first example reminds me a lot of generating Voronoi mesh.  I don't use
Meshlab enough to be good at it, but I suspect some of the filters that
create Voronoi could get you really close ....
Dan

On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

A few years ago, with help of a mathematician here, i was able to produce
what I thought was realistic wood grain, with knots, etc. I recently came
across a small piece that I 3d printed back then, and crudely experimented
with a felt tipped pen, and to me It looked like wood. Since then I've
designed, in the last month or so, a realistic method of producing leather
grain. The resultant stl files for this sort of thing are massive, and it
can take an hour or so to render. Fwiw, for the leather grain, it is
quicker to f6 and use the 'sheet' directly, compared to loading the stl.
For example, to import the sheet from an stl and show on screen  took 3.5
minutes, to f6 render from the scad code took 30 seconds, to f5 render,  I
gave up waiting after 40 minutes.

My approach is to find or create images of the patterns, then try and
analyse how the pattern was initially created. Generally, for natural
objects, there is a sort of random pattern, within limits, coupled to some
sort of mathematical pattern. Like most pseudo natural things, they are a
more analogue in nature, which we often try to force into being digital,
and as such we can get bogged down in trying to get subtle colour changes,
reducing layer height and so on. But the point is, to make a start. What
I've found, over the years, is that folk tend to look for a ready made
solution for a specific problem, instead of looking at the subject and
developing a solution that satisfies them. There is nothing wrong with
re-inventing the wheel, certainly nothing wrong with working things out for
yourself.

The two examples that you show, I do not know how they were created, could
have been by hand, simple hand carving, say, but looking at the two images,
it seems that the ridge profile is fairly constant, and the depth of cut is
consistent, except where ridges are closer together. The interesting part
is the pattern of the ridges. There is not enough area to determine in
detail what the pattern may be, but it looks as if the ridges are more or
less parallel to each other, within some random value between limits. Then
there are 'blobs', placed at probably random locations, and the ridges tend
to avoid them, either by turning around, or squeezing closer together as
they pass by.

I would start by disregarding the 'blobs', and generate a list of points.
You can get an approximation of the ridges by putting a sphere at each
point and hull between pairs. Adjust the random range and spacing to get
something like the path of a ridge. I would then, when it looked good
enough, pattern wise, instead of using a sphere at each point, put a cone,
then generate  a 3d shape to more closely match the profile. To make it
look more natural, you can slightly randomise every dimension.

To generate the random blobs, that will be easy. The tricky part is
calculating the offset for the ridges near the blob, so try inserting a
cylinder, say to simulate a blob. You can probably save time in processing
that part of the puzzle by working in 2d. You will get an idea of the
structure of the pattern. You will end up with a very large stl, if that is
what you want, and it will take a long rendering time.

Other approaches are equally valid...

Best wishes,

Ray

On 28/10/2024 21:34, Joe Weinpert via Discuss wrote:

I don't have an algorithm at all.  I was looking for one, though :-)

Look at the sample pictures I sent as just being stl objects.  What would
I need to do to create them in OpenSCAD?  How do you create odd shaped
"blobs" and patterns and put them together?

Joe Weinpert
skidrowacademy.com

On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano avm4@cornell.edu wrote:

Appears that you sent this message just to me, not the list.

Do you have an algorithm that generates these parametric structures?
Because there are two separate issues here.  One is how do you produce
those patterns AT ALL.  And the second one is how do you do it in
OpenSCAD.  It would be advantageous to have a solid answer to the first
question before pondering the second one.  Or you at least need some idea
of a possible algorithm.  An algorithm for this is not immediately obvious
to me.  The problem of "how to do this in BOSL2" depends on what that
algorithm looks like, and a lot of it might not be  BOSL2 specific but
really just how to generate a pattern that looks like that.

On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert joe.weinpert@gmail.com
wrote:

Here are a couple of samples.  Parametric styles vary immensely.  It
would be nice to have a tool that can be used to create different forms.

[image: 2024-10-26_12-46-24.jpg]
[image: 2024-10-26_12-48-31.jpg]

Joe Weinpert
skidrowacademy.com

On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano avm4@cornell.edu
wrote:

You need to define your goal better. I have no clue what a parametric
wall carving might be. What form?  What parameters?

On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

I would like to use OpenSCAD and the BOSL library to design parametric
wood wall carving STL files.

Has anyone done this yet?

Where should I start looking?  BOSL has nearly 900 functions.

Would there be any examples of what to use?  Examples, I have found,
are the best way to learn something.

Joe Weinpert
skidrowacademy.com


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

The first example reminds me a lot of generating Voronoi mesh. I don't use Meshlab enough to be good at it, but I suspect some of the filters that create Voronoi could get you really close .... Dan On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss < discuss@lists.openscad.org> wrote: > A few years ago, with help of a mathematician here, i was able to produce > what I thought was realistic wood grain, with knots, etc. I recently came > across a small piece that I 3d printed back then, and crudely experimented > with a felt tipped pen, and to me It looked like wood. Since then I've > designed, in the last month or so, a realistic method of producing leather > grain. The resultant stl files for this sort of thing are massive, and it > can take an hour or so to render. Fwiw, for the leather grain, it is > quicker to f6 and use the 'sheet' directly, compared to loading the stl. > For example, to import the sheet from an stl and show on screen took 3.5 > minutes, to f6 render from the scad code took 30 seconds, to f5 render, I > gave up waiting after 40 minutes. > > My approach is to find or create images of the patterns, then try and > analyse how the pattern was initially created. Generally, for natural > objects, there is a sort of random pattern, within limits, coupled to some > sort of mathematical pattern. Like most pseudo natural things, they are a > more analogue in nature, which we often try to force into being digital, > and as such we can get bogged down in trying to get subtle colour changes, > reducing layer height and so on. But the point is, to make a start. What > I've found, over the years, is that folk tend to look for a ready made > solution for a specific problem, instead of looking at the subject and > developing a solution that satisfies them. There is nothing wrong with > re-inventing the wheel, certainly nothing wrong with working things out for > yourself. > > The two examples that you show, I do not know how they were created, could > have been by hand, simple hand carving, say, but looking at the two images, > it seems that the ridge profile is fairly constant, and the depth of cut is > consistent, except where ridges are closer together. The interesting part > is the pattern of the ridges. There is not enough area to determine in > detail what the pattern may be, but it looks as if the ridges are more or > less parallel to each other, within some random value between limits. Then > there are 'blobs', placed at probably random locations, and the ridges tend > to avoid them, either by turning around, or squeezing closer together as > they pass by. > > I would start by disregarding the 'blobs', and generate a list of points. > You can get an approximation of the ridges by putting a sphere at each > point and hull between pairs. Adjust the random range and spacing to get > something like the path of a ridge. I would then, when it looked good > enough, pattern wise, instead of using a sphere at each point, put a cone, > then generate a 3d shape to more closely match the profile. To make it > look more natural, you can slightly randomise every dimension. > > To generate the random blobs, that will be easy. The tricky part is > calculating the offset for the ridges near the blob, so try inserting a > cylinder, say to simulate a blob. You can probably save time in processing > that part of the puzzle by working in 2d. You will get an idea of the > structure of the pattern. You will end up with a very large stl, if that is > what you want, and it will take a long rendering time. > > Other approaches are equally valid... > > Best wishes, > > Ray > > > On 28/10/2024 21:34, Joe Weinpert via Discuss wrote: > > > I don't have an algorithm at all. I was looking for one, though :-) > > Look at the sample pictures I sent as just being stl objects. What would > I need to do to create them in OpenSCAD? How do you create odd shaped > "blobs" and patterns and put them together? > > Joe Weinpert > skidrowacademy.com > > > > On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano <avm4@cornell.edu> wrote: > >> Appears that you sent this message just to me, not the list. >> >> Do you have an algorithm that generates these parametric structures? >> Because there are two separate issues here. One is how do you produce >> those patterns AT ALL. And the second one is how do you do it in >> OpenSCAD. It would be advantageous to have a solid answer to the first >> question before pondering the second one. Or you at least need some idea >> of a possible algorithm. An algorithm for this is not immediately obvious >> to me. The problem of "how to do this in BOSL2" depends on what that >> algorithm looks like, and a lot of it might not be BOSL2 specific but >> really just how to generate a pattern that looks like that. >> >> On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert <joe.weinpert@gmail.com> >> wrote: >> >>> Here are a couple of samples. Parametric styles vary immensely. It >>> would be nice to have a tool that can be used to create different forms. >>> >>> [image: 2024-10-26_12-46-24.jpg] >>> [image: 2024-10-26_12-48-31.jpg] >>> >>> Joe Weinpert >>> skidrowacademy.com >>> >>> >>> >>> On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano <avm4@cornell.edu> >>> wrote: >>> >>>> You need to define your goal better. I have no clue what a parametric >>>> wall carving might be. What form? What parameters? >>>> >>>> On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss < >>>> discuss@lists.openscad.org> wrote: >>>> >>>>> I would like to use OpenSCAD and the BOSL library to design parametric >>>>> wood wall carving STL files. >>>>> >>>>> Has anyone done this yet? >>>>> >>>>> Where should I start looking? BOSL has nearly 900 functions. >>>>> >>>>> Would there be any examples of what to use? Examples, I have found, >>>>> are the best way to learn something. >>>>> >>>>> Joe Weinpert >>>>> skidrowacademy.com >>>>> >>>>> _______________________________________________ >>>>> 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 >
JW
Joe Weinpert
Tue, Oct 29, 2024 8:57 PM

Lots of suggestions and ideas.  Thanks to all!  I will be trying these
different things.  I am sure that I shall have many many more questions.

Here are a couple of points:

  1. Each pattern or ridge or blob or object (depends on what you want to
    call them) can be a separate object to be joined or placed with other
    objects.on the pallet.  This means, of course, that an object can be used
    elsewhere when needed.  My only concern is how can a radius be created to
    join two objects that have been placed partially in touch with each other?
    This would be the "valley" between the two ridges.

  2. I think that I should start with a line of an object's top ridge then
    expand that line into a 3 dimensional.  In a funny, rough manner, here is
    what I mean:

[image: 2024-10-26_12-46-24.jpg]

Maybe some sort of a sweep that could handle different top radiuses and
widths along the way?

Joe Weinpert
(440) 796-7165
joe.weinpert@gmail.com
skidrowacademy.com

On Tue, Oct 29, 2024 at 2:24 PM Dan Perry via Discuss <
discuss@lists.openscad.org> wrote:

The first example reminds me a lot of generating Voronoi mesh.  I don't
use Meshlab enough to be good at it, but I suspect some of the filters that
create Voronoi could get you really close ....
Dan

On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

A few years ago, with help of a mathematician here, i was able to produce
what I thought was realistic wood grain, with knots, etc. I recently came
across a small piece that I 3d printed back then, and crudely experimented
with a felt tipped pen, and to me It looked like wood. Since then I've
designed, in the last month or so, a realistic method of producing leather
grain. The resultant stl files for this sort of thing are massive, and it
can take an hour or so to render. Fwiw, for the leather grain, it is
quicker to f6 and use the 'sheet' directly, compared to loading the stl.
For example, to import the sheet from an stl and show on screen  took 3.5
minutes, to f6 render from the scad code took 30 seconds, to f5 render,  I
gave up waiting after 40 minutes.

My approach is to find or create images of the patterns, then try and
analyse how the pattern was initially created. Generally, for natural
objects, there is a sort of random pattern, within limits, coupled to some
sort of mathematical pattern. Like most pseudo natural things, they are a
more analogue in nature, which we often try to force into being digital,
and as such we can get bogged down in trying to get subtle colour changes,
reducing layer height and so on. But the point is, to make a start. What
I've found, over the years, is that folk tend to look for a ready made
solution for a specific problem, instead of looking at the subject and
developing a solution that satisfies them. There is nothing wrong with
re-inventing the wheel, certainly nothing wrong with working things out for
yourself.

The two examples that you show, I do not know how they were created,
could have been by hand, simple hand carving, say, but looking at the two
images, it seems that the ridge profile is fairly constant, and the depth
of cut is consistent, except where ridges are closer together. The
interesting part is the pattern of the ridges. There is not enough area to
determine in detail what the pattern may be, but it looks as if the ridges
are more or less parallel to each other, within some random value between
limits. Then there are 'blobs', placed at probably random locations, and
the ridges tend to avoid them, either by turning around, or squeezing
closer together as they pass by.

I would start by disregarding the 'blobs', and generate a list of points.
You can get an approximation of the ridges by putting a sphere at each
point and hull between pairs. Adjust the random range and spacing to get
something like the path of a ridge. I would then, when it looked good
enough, pattern wise, instead of using a sphere at each point, put a cone,
then generate  a 3d shape to more closely match the profile. To make it
look more natural, you can slightly randomise every dimension.

To generate the random blobs, that will be easy. The tricky part is
calculating the offset for the ridges near the blob, so try inserting a
cylinder, say to simulate a blob. You can probably save time in processing
that part of the puzzle by working in 2d. You will get an idea of the
structure of the pattern. You will end up with a very large stl, if that is
what you want, and it will take a long rendering time.

Other approaches are equally valid...

Best wishes,

Ray

On 28/10/2024 21:34, Joe Weinpert via Discuss wrote:

I don't have an algorithm at all.  I was looking for one, though :-)

Look at the sample pictures I sent as just being stl objects.  What would
I need to do to create them in OpenSCAD?  How do you create odd shaped
"blobs" and patterns and put them together?

Joe Weinpert
skidrowacademy.com

On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano avm4@cornell.edu wrote:

Appears that you sent this message just to me, not the list.

Do you have an algorithm that generates these parametric structures?
Because there are two separate issues here.  One is how do you produce
those patterns AT ALL.  And the second one is how do you do it in
OpenSCAD.  It would be advantageous to have a solid answer to the first
question before pondering the second one.  Or you at least need some idea
of a possible algorithm.  An algorithm for this is not immediately obvious
to me.  The problem of "how to do this in BOSL2" depends on what that
algorithm looks like, and a lot of it might not be  BOSL2 specific but
really just how to generate a pattern that looks like that.

On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert joe.weinpert@gmail.com
wrote:

Here are a couple of samples.  Parametric styles vary immensely.  It
would be nice to have a tool that can be used to create different forms.

[image: 2024-10-26_12-46-24.jpg]
[image: 2024-10-26_12-48-31.jpg]

Joe Weinpert
skidrowacademy.com

On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano avm4@cornell.edu
wrote:

You need to define your goal better. I have no clue what a parametric
wall carving might be. What form?  What parameters?

On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

I would like to use OpenSCAD and the BOSL library to design
parametric wood wall carving STL files.

Has anyone done this yet?

Where should I start looking?  BOSL has nearly 900 functions.

Would there be any examples of what to use?  Examples, I have found,
are the best way to learn something.

Joe Weinpert
skidrowacademy.com


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

Lots of suggestions and ideas. Thanks to all! I will be trying these different things. I am sure that I shall have many many more questions. Here are a couple of points: 1) Each pattern or ridge or blob or object (depends on what you want to call them) can be a separate object to be joined or placed with other objects.on the pallet. This means, of course, that an object can be used elsewhere when needed. My only concern is how can a radius be created to join two objects that have been placed partially in touch with each other? This would be the "valley" between the two ridges. 2) I think that I should start with a line of an object's top ridge then expand that line into a 3 dimensional. In a funny, rough manner, here is what I mean: [image: 2024-10-26_12-46-24.jpg] Maybe some sort of a sweep that could handle different top radiuses and widths along the way? Joe Weinpert (440) 796-7165 joe.weinpert@gmail.com skidrowacademy.com On Tue, Oct 29, 2024 at 2:24 PM Dan Perry via Discuss < discuss@lists.openscad.org> wrote: > The first example reminds me a lot of generating Voronoi mesh. I don't > use Meshlab enough to be good at it, but I suspect some of the filters that > create Voronoi could get you really close .... > Dan > > > On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss < > discuss@lists.openscad.org> wrote: > >> A few years ago, with help of a mathematician here, i was able to produce >> what I thought was realistic wood grain, with knots, etc. I recently came >> across a small piece that I 3d printed back then, and crudely experimented >> with a felt tipped pen, and to me It looked like wood. Since then I've >> designed, in the last month or so, a realistic method of producing leather >> grain. The resultant stl files for this sort of thing are massive, and it >> can take an hour or so to render. Fwiw, for the leather grain, it is >> quicker to f6 and use the 'sheet' directly, compared to loading the stl. >> For example, to import the sheet from an stl and show on screen took 3.5 >> minutes, to f6 render from the scad code took 30 seconds, to f5 render, I >> gave up waiting after 40 minutes. >> >> My approach is to find or create images of the patterns, then try and >> analyse how the pattern was initially created. Generally, for natural >> objects, there is a sort of random pattern, within limits, coupled to some >> sort of mathematical pattern. Like most pseudo natural things, they are a >> more analogue in nature, which we often try to force into being digital, >> and as such we can get bogged down in trying to get subtle colour changes, >> reducing layer height and so on. But the point is, to make a start. What >> I've found, over the years, is that folk tend to look for a ready made >> solution for a specific problem, instead of looking at the subject and >> developing a solution that satisfies them. There is nothing wrong with >> re-inventing the wheel, certainly nothing wrong with working things out for >> yourself. >> >> The two examples that you show, I do not know how they were created, >> could have been by hand, simple hand carving, say, but looking at the two >> images, it seems that the ridge profile is fairly constant, and the depth >> of cut is consistent, except where ridges are closer together. The >> interesting part is the pattern of the ridges. There is not enough area to >> determine in detail what the pattern may be, but it looks as if the ridges >> are more or less parallel to each other, within some random value between >> limits. Then there are 'blobs', placed at probably random locations, and >> the ridges tend to avoid them, either by turning around, or squeezing >> closer together as they pass by. >> >> I would start by disregarding the 'blobs', and generate a list of points. >> You can get an approximation of the ridges by putting a sphere at each >> point and hull between pairs. Adjust the random range and spacing to get >> something like the path of a ridge. I would then, when it looked good >> enough, pattern wise, instead of using a sphere at each point, put a cone, >> then generate a 3d shape to more closely match the profile. To make it >> look more natural, you can slightly randomise every dimension. >> >> To generate the random blobs, that will be easy. The tricky part is >> calculating the offset for the ridges near the blob, so try inserting a >> cylinder, say to simulate a blob. You can probably save time in processing >> that part of the puzzle by working in 2d. You will get an idea of the >> structure of the pattern. You will end up with a very large stl, if that is >> what you want, and it will take a long rendering time. >> >> Other approaches are equally valid... >> >> Best wishes, >> >> Ray >> >> >> On 28/10/2024 21:34, Joe Weinpert via Discuss wrote: >> >> >> I don't have an algorithm at all. I was looking for one, though :-) >> >> Look at the sample pictures I sent as just being stl objects. What would >> I need to do to create them in OpenSCAD? How do you create odd shaped >> "blobs" and patterns and put them together? >> >> Joe Weinpert >> skidrowacademy.com >> >> >> >> On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano <avm4@cornell.edu> wrote: >> >>> Appears that you sent this message just to me, not the list. >>> >>> Do you have an algorithm that generates these parametric structures? >>> Because there are two separate issues here. One is how do you produce >>> those patterns AT ALL. And the second one is how do you do it in >>> OpenSCAD. It would be advantageous to have a solid answer to the first >>> question before pondering the second one. Or you at least need some idea >>> of a possible algorithm. An algorithm for this is not immediately obvious >>> to me. The problem of "how to do this in BOSL2" depends on what that >>> algorithm looks like, and a lot of it might not be BOSL2 specific but >>> really just how to generate a pattern that looks like that. >>> >>> On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert <joe.weinpert@gmail.com> >>> wrote: >>> >>>> Here are a couple of samples. Parametric styles vary immensely. It >>>> would be nice to have a tool that can be used to create different forms. >>>> >>>> [image: 2024-10-26_12-46-24.jpg] >>>> [image: 2024-10-26_12-48-31.jpg] >>>> >>>> Joe Weinpert >>>> skidrowacademy.com >>>> >>>> >>>> >>>> On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano <avm4@cornell.edu> >>>> wrote: >>>> >>>>> You need to define your goal better. I have no clue what a parametric >>>>> wall carving might be. What form? What parameters? >>>>> >>>>> On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss < >>>>> discuss@lists.openscad.org> wrote: >>>>> >>>>>> I would like to use OpenSCAD and the BOSL library to design >>>>>> parametric wood wall carving STL files. >>>>>> >>>>>> Has anyone done this yet? >>>>>> >>>>>> Where should I start looking? BOSL has nearly 900 functions. >>>>>> >>>>>> Would there be any examples of what to use? Examples, I have found, >>>>>> are the best way to learn something. >>>>>> >>>>>> Joe Weinpert >>>>>> skidrowacademy.com >>>>>> >>>>>> _______________________________________________ >>>>>> 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 >
JD
John David
Wed, Oct 30, 2024 10:53 AM

Depending on what you want to accomplish, I would do the same procedure for
the minima -- ie. trace the troughs as well in a different color/path-set.

The place you might want to start is looking at "skelitization" and
curvature directionality.  There is likely other techniques, and different
names for these things, but this is a place to start.

Hope this helps.

EBo --

On Tue, Oct 29, 2024 at 4:58 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

Lots of suggestions and ideas.  Thanks to all!  I will be trying these
different things.  I am sure that I shall have many many more questions.

Here are a couple of points:

  1. Each pattern or ridge or blob or object (depends on what you want to
    call them) can be a separate object to be joined or placed with other
    objects.on the pallet.  This means, of course, that an object can be used
    elsewhere when needed.  My only concern is how can a radius be created to
    join two objects that have been placed partially in touch with each other?
    This would be the "valley" between the two ridges.

  2. I think that I should start with a line of an object's top ridge then
    expand that line into a 3 dimensional.  In a funny, rough manner, here is
    what I mean:

[image: 2024-10-26_12-46-24.jpg]

Maybe some sort of a sweep that could handle different top radiuses and
widths along the way?

Joe Weinpert
(440) 796-7165
joe.weinpert@gmail.com
skidrowacademy.com

On Tue, Oct 29, 2024 at 2:24 PM Dan Perry via Discuss <
discuss@lists.openscad.org> wrote:

The first example reminds me a lot of generating Voronoi mesh.  I don't
use Meshlab enough to be good at it, but I suspect some of the filters that
create Voronoi could get you really close ....
Dan

On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

A few years ago, with help of a mathematician here, i was able to
produce what I thought was realistic wood grain, with knots, etc. I
recently came across a small piece that I 3d printed back then, and crudely
experimented with a felt tipped pen, and to me It looked like wood. Since
then I've designed, in the last month or so, a realistic method of
producing leather grain. The resultant stl files for this sort of thing are
massive, and it can take an hour or so to render. Fwiw, for the leather
grain, it is quicker to f6 and use the 'sheet' directly, compared to
loading the stl. For example, to import the sheet from an stl and show on
screen  took 3.5 minutes, to f6 render from the scad code took 30 seconds,
to f5 render,  I gave up waiting after 40 minutes.

My approach is to find or create images of the patterns, then try and
analyse how the pattern was initially created. Generally, for natural
objects, there is a sort of random pattern, within limits, coupled to some
sort of mathematical pattern. Like most pseudo natural things, they are a
more analogue in nature, which we often try to force into being digital,
and as such we can get bogged down in trying to get subtle colour changes,
reducing layer height and so on. But the point is, to make a start. What
I've found, over the years, is that folk tend to look for a ready made
solution for a specific problem, instead of looking at the subject and
developing a solution that satisfies them. There is nothing wrong with
re-inventing the wheel, certainly nothing wrong with working things out for
yourself.

The two examples that you show, I do not know how they were created,
could have been by hand, simple hand carving, say, but looking at the two
images, it seems that the ridge profile is fairly constant, and the depth
of cut is consistent, except where ridges are closer together. The
interesting part is the pattern of the ridges. There is not enough area to
determine in detail what the pattern may be, but it looks as if the ridges
are more or less parallel to each other, within some random value between
limits. Then there are 'blobs', placed at probably random locations, and
the ridges tend to avoid them, either by turning around, or squeezing
closer together as they pass by.

I would start by disregarding the 'blobs', and generate a list of
points. You can get an approximation of the ridges by putting a sphere at
each point and hull between pairs. Adjust the random range and spacing to
get something like the path of a ridge. I would then, when it looked good
enough, pattern wise, instead of using a sphere at each point, put a cone,
then generate  a 3d shape to more closely match the profile. To make it
look more natural, you can slightly randomise every dimension.

To generate the random blobs, that will be easy. The tricky part is
calculating the offset for the ridges near the blob, so try inserting a
cylinder, say to simulate a blob. You can probably save time in processing
that part of the puzzle by working in 2d. You will get an idea of the
structure of the pattern. You will end up with a very large stl, if that is
what you want, and it will take a long rendering time.

Other approaches are equally valid...

Best wishes,

Ray

On 28/10/2024 21:34, Joe Weinpert via Discuss wrote:

I don't have an algorithm at all.  I was looking for one, though :-)

Look at the sample pictures I sent as just being stl objects.  What
would I need to do to create them in OpenSCAD?  How do you create odd
shaped "blobs" and patterns and put them together?

Joe Weinpert
skidrowacademy.com

On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano avm4@cornell.edu wrote:

Appears that you sent this message just to me, not the list.

Do you have an algorithm that generates these parametric structures?
Because there are two separate issues here.  One is how do you produce
those patterns AT ALL.  And the second one is how do you do it in
OpenSCAD.  It would be advantageous to have a solid answer to the first
question before pondering the second one.  Or you at least need some idea
of a possible algorithm.  An algorithm for this is not immediately obvious
to me.  The problem of "how to do this in BOSL2" depends on what that
algorithm looks like, and a lot of it might not be  BOSL2 specific but
really just how to generate a pattern that looks like that.

On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert joe.weinpert@gmail.com
wrote:

Here are a couple of samples.  Parametric styles vary immensely.  It
would be nice to have a tool that can be used to create different forms.

[image: 2024-10-26_12-46-24.jpg]
[image: 2024-10-26_12-48-31.jpg]

Joe Weinpert
skidrowacademy.com

On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano avm4@cornell.edu
wrote:

You need to define your goal better. I have no clue what a parametric
wall carving might be. What form?  What parameters?

On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

I would like to use OpenSCAD and the BOSL library to design
parametric wood wall carving STL files.

Has anyone done this yet?

Where should I start looking?  BOSL has nearly 900 functions.

Would there be any examples of what to use?  Examples, I have found,
are the best way to learn something.

Joe Weinpert
skidrowacademy.com


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

Depending on what you want to accomplish, I would do the same procedure for the minima -- ie. trace the troughs as well in a different color/path-set. The place you might want to start is looking at "skelitization" and curvature directionality. There is likely other techniques, and different names for these things, but this is a place to start. Hope this helps. EBo -- On Tue, Oct 29, 2024 at 4:58 PM Joe Weinpert via Discuss < discuss@lists.openscad.org> wrote: > Lots of suggestions and ideas. Thanks to all! I will be trying these > different things. I am sure that I shall have many many more questions. > > Here are a couple of points: > > 1) Each pattern or ridge or blob or object (depends on what you want to > call them) can be a separate object to be joined or placed with other > objects.on the pallet. This means, of course, that an object can be used > elsewhere when needed. My only concern is how can a radius be created to > join two objects that have been placed partially in touch with each other? > This would be the "valley" between the two ridges. > > 2) I think that I should start with a line of an object's top ridge then > expand that line into a 3 dimensional. In a funny, rough manner, here is > what I mean: > > [image: 2024-10-26_12-46-24.jpg] > > Maybe some sort of a sweep that could handle different top radiuses and > widths along the way? > > > > > Joe Weinpert > (440) 796-7165 > joe.weinpert@gmail.com > skidrowacademy.com > > > > On Tue, Oct 29, 2024 at 2:24 PM Dan Perry via Discuss < > discuss@lists.openscad.org> wrote: > >> The first example reminds me a lot of generating Voronoi mesh. I don't >> use Meshlab enough to be good at it, but I suspect some of the filters that >> create Voronoi could get you really close .... >> Dan >> >> >> On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> A few years ago, with help of a mathematician here, i was able to >>> produce what I thought was realistic wood grain, with knots, etc. I >>> recently came across a small piece that I 3d printed back then, and crudely >>> experimented with a felt tipped pen, and to me It looked like wood. Since >>> then I've designed, in the last month or so, a realistic method of >>> producing leather grain. The resultant stl files for this sort of thing are >>> massive, and it can take an hour or so to render. Fwiw, for the leather >>> grain, it is quicker to f6 and use the 'sheet' directly, compared to >>> loading the stl. For example, to import the sheet from an stl and show on >>> screen took 3.5 minutes, to f6 render from the scad code took 30 seconds, >>> to f5 render, I gave up waiting after 40 minutes. >>> >>> My approach is to find or create images of the patterns, then try and >>> analyse how the pattern was initially created. Generally, for natural >>> objects, there is a sort of random pattern, within limits, coupled to some >>> sort of mathematical pattern. Like most pseudo natural things, they are a >>> more analogue in nature, which we often try to force into being digital, >>> and as such we can get bogged down in trying to get subtle colour changes, >>> reducing layer height and so on. But the point is, to make a start. What >>> I've found, over the years, is that folk tend to look for a ready made >>> solution for a specific problem, instead of looking at the subject and >>> developing a solution that satisfies them. There is nothing wrong with >>> re-inventing the wheel, certainly nothing wrong with working things out for >>> yourself. >>> >>> The two examples that you show, I do not know how they were created, >>> could have been by hand, simple hand carving, say, but looking at the two >>> images, it seems that the ridge profile is fairly constant, and the depth >>> of cut is consistent, except where ridges are closer together. The >>> interesting part is the pattern of the ridges. There is not enough area to >>> determine in detail what the pattern may be, but it looks as if the ridges >>> are more or less parallel to each other, within some random value between >>> limits. Then there are 'blobs', placed at probably random locations, and >>> the ridges tend to avoid them, either by turning around, or squeezing >>> closer together as they pass by. >>> >>> I would start by disregarding the 'blobs', and generate a list of >>> points. You can get an approximation of the ridges by putting a sphere at >>> each point and hull between pairs. Adjust the random range and spacing to >>> get something like the path of a ridge. I would then, when it looked good >>> enough, pattern wise, instead of using a sphere at each point, put a cone, >>> then generate a 3d shape to more closely match the profile. To make it >>> look more natural, you can slightly randomise every dimension. >>> >>> To generate the random blobs, that will be easy. The tricky part is >>> calculating the offset for the ridges near the blob, so try inserting a >>> cylinder, say to simulate a blob. You can probably save time in processing >>> that part of the puzzle by working in 2d. You will get an idea of the >>> structure of the pattern. You will end up with a very large stl, if that is >>> what you want, and it will take a long rendering time. >>> >>> Other approaches are equally valid... >>> >>> Best wishes, >>> >>> Ray >>> >>> >>> On 28/10/2024 21:34, Joe Weinpert via Discuss wrote: >>> >>> >>> I don't have an algorithm at all. I was looking for one, though :-) >>> >>> Look at the sample pictures I sent as just being stl objects. What >>> would I need to do to create them in OpenSCAD? How do you create odd >>> shaped "blobs" and patterns and put them together? >>> >>> Joe Weinpert >>> skidrowacademy.com >>> >>> >>> >>> On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano <avm4@cornell.edu> wrote: >>> >>>> Appears that you sent this message just to me, not the list. >>>> >>>> Do you have an algorithm that generates these parametric structures? >>>> Because there are two separate issues here. One is how do you produce >>>> those patterns AT ALL. And the second one is how do you do it in >>>> OpenSCAD. It would be advantageous to have a solid answer to the first >>>> question before pondering the second one. Or you at least need some idea >>>> of a possible algorithm. An algorithm for this is not immediately obvious >>>> to me. The problem of "how to do this in BOSL2" depends on what that >>>> algorithm looks like, and a lot of it might not be BOSL2 specific but >>>> really just how to generate a pattern that looks like that. >>>> >>>> On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert <joe.weinpert@gmail.com> >>>> wrote: >>>> >>>>> Here are a couple of samples. Parametric styles vary immensely. It >>>>> would be nice to have a tool that can be used to create different forms. >>>>> >>>>> [image: 2024-10-26_12-46-24.jpg] >>>>> [image: 2024-10-26_12-48-31.jpg] >>>>> >>>>> Joe Weinpert >>>>> skidrowacademy.com >>>>> >>>>> >>>>> >>>>> On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano <avm4@cornell.edu> >>>>> wrote: >>>>> >>>>>> You need to define your goal better. I have no clue what a parametric >>>>>> wall carving might be. What form? What parameters? >>>>>> >>>>>> On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss < >>>>>> discuss@lists.openscad.org> wrote: >>>>>> >>>>>>> I would like to use OpenSCAD and the BOSL library to design >>>>>>> parametric wood wall carving STL files. >>>>>>> >>>>>>> Has anyone done this yet? >>>>>>> >>>>>>> Where should I start looking? BOSL has nearly 900 functions. >>>>>>> >>>>>>> Would there be any examples of what to use? Examples, I have found, >>>>>>> are the best way to learn something. >>>>>>> >>>>>>> Joe Weinpert >>>>>>> skidrowacademy.com >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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 >
AM
Adrian Mariano
Wed, Oct 30, 2024 8:38 PM

I think the most promising approach for something like this would be to use
an iterative model that converges to patterns that look like this.
Something like a reaction-diffusion model seems like a place to start.
This would produce an image that would probably provide the full contour,
and presumably you could tune parameters to change how it looks.

https://www.youtube.com/watch?v=COMvgTLTw6g

Whether it is reasonable to implement this kind of thing directly in
OpenSCAD I'm not sure.  Might be kinda slow.

On Wed, Oct 30, 2024 at 6:53 AM John David via Discuss <
discuss@lists.openscad.org> wrote:

Depending on what you want to accomplish, I would do the same procedure
for the minima -- ie. trace the troughs as well in a different
color/path-set.

The place you might want to start is looking at "skelitization" and
curvature directionality.  There is likely other techniques, and different
names for these things, but this is a place to start.

Hope this helps.

EBo --

On Tue, Oct 29, 2024 at 4:58 PM Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

Lots of suggestions and ideas.  Thanks to all!  I will be trying these
different things.  I am sure that I shall have many many more questions.

Here are a couple of points:

  1. Each pattern or ridge or blob or object (depends on what you want to
    call them) can be a separate object to be joined or placed with other
    objects.on the pallet.  This means, of course, that an object can be used
    elsewhere when needed.  My only concern is how can a radius be created to
    join two objects that have been placed partially in touch with each other?
    This would be the "valley" between the two ridges.

  2. I think that I should start with a line of an object's top ridge then
    expand that line into a 3 dimensional.  In a funny, rough manner, here is
    what I mean:

[image: 2024-10-26_12-46-24.jpg]

Maybe some sort of a sweep that could handle different top radiuses and
widths along the way?

Joe Weinpert
(440) 796-7165
joe.weinpert@gmail.com
skidrowacademy.com

On Tue, Oct 29, 2024 at 2:24 PM Dan Perry via Discuss <
discuss@lists.openscad.org> wrote:

The first example reminds me a lot of generating Voronoi mesh.  I don't
use Meshlab enough to be good at it, but I suspect some of the filters that
create Voronoi could get you really close ....
Dan

On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss <
discuss@lists.openscad.org> wrote:

A few years ago, with help of a mathematician here, i was able to
produce what I thought was realistic wood grain, with knots, etc. I
recently came across a small piece that I 3d printed back then, and crudely
experimented with a felt tipped pen, and to me It looked like wood. Since
then I've designed, in the last month or so, a realistic method of
producing leather grain. The resultant stl files for this sort of thing are
massive, and it can take an hour or so to render. Fwiw, for the leather
grain, it is quicker to f6 and use the 'sheet' directly, compared to
loading the stl. For example, to import the sheet from an stl and show on
screen  took 3.5 minutes, to f6 render from the scad code took 30 seconds,
to f5 render,  I gave up waiting after 40 minutes.

My approach is to find or create images of the patterns, then try and
analyse how the pattern was initially created. Generally, for natural
objects, there is a sort of random pattern, within limits, coupled to some
sort of mathematical pattern. Like most pseudo natural things, they are a
more analogue in nature, which we often try to force into being digital,
and as such we can get bogged down in trying to get subtle colour changes,
reducing layer height and so on. But the point is, to make a start. What
I've found, over the years, is that folk tend to look for a ready made
solution for a specific problem, instead of looking at the subject and
developing a solution that satisfies them. There is nothing wrong with
re-inventing the wheel, certainly nothing wrong with working things out for
yourself.

The two examples that you show, I do not know how they were created,
could have been by hand, simple hand carving, say, but looking at the two
images, it seems that the ridge profile is fairly constant, and the depth
of cut is consistent, except where ridges are closer together. The
interesting part is the pattern of the ridges. There is not enough area to
determine in detail what the pattern may be, but it looks as if the ridges
are more or less parallel to each other, within some random value between
limits. Then there are 'blobs', placed at probably random locations, and
the ridges tend to avoid them, either by turning around, or squeezing
closer together as they pass by.

I would start by disregarding the 'blobs', and generate a list of
points. You can get an approximation of the ridges by putting a sphere at
each point and hull between pairs. Adjust the random range and spacing to
get something like the path of a ridge. I would then, when it looked good
enough, pattern wise, instead of using a sphere at each point, put a cone,
then generate  a 3d shape to more closely match the profile. To make it
look more natural, you can slightly randomise every dimension.

To generate the random blobs, that will be easy. The tricky part is
calculating the offset for the ridges near the blob, so try inserting a
cylinder, say to simulate a blob. You can probably save time in processing
that part of the puzzle by working in 2d. You will get an idea of the
structure of the pattern. You will end up with a very large stl, if that is
what you want, and it will take a long rendering time.

Other approaches are equally valid...

Best wishes,

Ray

On 28/10/2024 21:34, Joe Weinpert via Discuss wrote:

I don't have an algorithm at all.  I was looking for one, though :-)

Look at the sample pictures I sent as just being stl objects.  What
would I need to do to create them in OpenSCAD?  How do you create odd
shaped "blobs" and patterns and put them together?

Joe Weinpert
skidrowacademy.com

On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano avm4@cornell.edu
wrote:

Appears that you sent this message just to me, not the list.

Do you have an algorithm that generates these parametric structures?
Because there are two separate issues here.  One is how do you produce
those patterns AT ALL.  And the second one is how do you do it in
OpenSCAD.  It would be advantageous to have a solid answer to the first
question before pondering the second one.  Or you at least need some idea
of a possible algorithm.  An algorithm for this is not immediately obvious
to me.  The problem of "how to do this in BOSL2" depends on what that
algorithm looks like, and a lot of it might not be  BOSL2 specific but
really just how to generate a pattern that looks like that.

On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert joe.weinpert@gmail.com
wrote:

Here are a couple of samples.  Parametric styles vary immensely.  It
would be nice to have a tool that can be used to create different forms.

[image: 2024-10-26_12-46-24.jpg]
[image: 2024-10-26_12-48-31.jpg]

Joe Weinpert
skidrowacademy.com

On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano avm4@cornell.edu
wrote:

You need to define your goal better. I have no clue what a
parametric wall carving might be. What form?  What parameters?

On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss <
discuss@lists.openscad.org> wrote:

I would like to use OpenSCAD and the BOSL library to design
parametric wood wall carving STL files.

Has anyone done this yet?

Where should I start looking?  BOSL has nearly 900 functions.

Would there be any examples of what to use?  Examples, I have
found, are the best way to learn something.

Joe Weinpert
skidrowacademy.com


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


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

I think the most promising approach for something like this would be to use an iterative model that converges to patterns that look like this. Something like a reaction-diffusion model seems like a place to start. This would produce an image that would probably provide the full contour, and presumably you could tune parameters to change how it looks. https://www.youtube.com/watch?v=COMvgTLTw6g Whether it is reasonable to implement this kind of thing directly in OpenSCAD I'm not sure. Might be kinda slow. On Wed, Oct 30, 2024 at 6:53 AM John David via Discuss < discuss@lists.openscad.org> wrote: > Depending on what you want to accomplish, I would do the same procedure > for the minima -- ie. trace the troughs as well in a different > color/path-set. > > The place you might want to start is looking at "skelitization" and > curvature directionality. There is likely other techniques, and different > names for these things, but this is a place to start. > > Hope this helps. > > EBo -- > > On Tue, Oct 29, 2024 at 4:58 PM Joe Weinpert via Discuss < > discuss@lists.openscad.org> wrote: > >> Lots of suggestions and ideas. Thanks to all! I will be trying these >> different things. I am sure that I shall have many many more questions. >> >> Here are a couple of points: >> >> 1) Each pattern or ridge or blob or object (depends on what you want to >> call them) can be a separate object to be joined or placed with other >> objects.on the pallet. This means, of course, that an object can be used >> elsewhere when needed. My only concern is how can a radius be created to >> join two objects that have been placed partially in touch with each other? >> This would be the "valley" between the two ridges. >> >> 2) I think that I should start with a line of an object's top ridge then >> expand that line into a 3 dimensional. In a funny, rough manner, here is >> what I mean: >> >> [image: 2024-10-26_12-46-24.jpg] >> >> Maybe some sort of a sweep that could handle different top radiuses and >> widths along the way? >> >> >> >> >> Joe Weinpert >> (440) 796-7165 >> joe.weinpert@gmail.com >> skidrowacademy.com >> >> >> >> On Tue, Oct 29, 2024 at 2:24 PM Dan Perry via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> The first example reminds me a lot of generating Voronoi mesh. I don't >>> use Meshlab enough to be good at it, but I suspect some of the filters that >>> create Voronoi could get you really close .... >>> Dan >>> >>> >>> On Tue, Oct 29, 2024 at 3:31 PM Raymond West via Discuss < >>> discuss@lists.openscad.org> wrote: >>> >>>> A few years ago, with help of a mathematician here, i was able to >>>> produce what I thought was realistic wood grain, with knots, etc. I >>>> recently came across a small piece that I 3d printed back then, and crudely >>>> experimented with a felt tipped pen, and to me It looked like wood. Since >>>> then I've designed, in the last month or so, a realistic method of >>>> producing leather grain. The resultant stl files for this sort of thing are >>>> massive, and it can take an hour or so to render. Fwiw, for the leather >>>> grain, it is quicker to f6 and use the 'sheet' directly, compared to >>>> loading the stl. For example, to import the sheet from an stl and show on >>>> screen took 3.5 minutes, to f6 render from the scad code took 30 seconds, >>>> to f5 render, I gave up waiting after 40 minutes. >>>> >>>> My approach is to find or create images of the patterns, then try and >>>> analyse how the pattern was initially created. Generally, for natural >>>> objects, there is a sort of random pattern, within limits, coupled to some >>>> sort of mathematical pattern. Like most pseudo natural things, they are a >>>> more analogue in nature, which we often try to force into being digital, >>>> and as such we can get bogged down in trying to get subtle colour changes, >>>> reducing layer height and so on. But the point is, to make a start. What >>>> I've found, over the years, is that folk tend to look for a ready made >>>> solution for a specific problem, instead of looking at the subject and >>>> developing a solution that satisfies them. There is nothing wrong with >>>> re-inventing the wheel, certainly nothing wrong with working things out for >>>> yourself. >>>> >>>> The two examples that you show, I do not know how they were created, >>>> could have been by hand, simple hand carving, say, but looking at the two >>>> images, it seems that the ridge profile is fairly constant, and the depth >>>> of cut is consistent, except where ridges are closer together. The >>>> interesting part is the pattern of the ridges. There is not enough area to >>>> determine in detail what the pattern may be, but it looks as if the ridges >>>> are more or less parallel to each other, within some random value between >>>> limits. Then there are 'blobs', placed at probably random locations, and >>>> the ridges tend to avoid them, either by turning around, or squeezing >>>> closer together as they pass by. >>>> >>>> I would start by disregarding the 'blobs', and generate a list of >>>> points. You can get an approximation of the ridges by putting a sphere at >>>> each point and hull between pairs. Adjust the random range and spacing to >>>> get something like the path of a ridge. I would then, when it looked good >>>> enough, pattern wise, instead of using a sphere at each point, put a cone, >>>> then generate a 3d shape to more closely match the profile. To make it >>>> look more natural, you can slightly randomise every dimension. >>>> >>>> To generate the random blobs, that will be easy. The tricky part is >>>> calculating the offset for the ridges near the blob, so try inserting a >>>> cylinder, say to simulate a blob. You can probably save time in processing >>>> that part of the puzzle by working in 2d. You will get an idea of the >>>> structure of the pattern. You will end up with a very large stl, if that is >>>> what you want, and it will take a long rendering time. >>>> >>>> Other approaches are equally valid... >>>> >>>> Best wishes, >>>> >>>> Ray >>>> >>>> >>>> On 28/10/2024 21:34, Joe Weinpert via Discuss wrote: >>>> >>>> >>>> I don't have an algorithm at all. I was looking for one, though :-) >>>> >>>> Look at the sample pictures I sent as just being stl objects. What >>>> would I need to do to create them in OpenSCAD? How do you create odd >>>> shaped "blobs" and patterns and put them together? >>>> >>>> Joe Weinpert >>>> skidrowacademy.com >>>> >>>> >>>> >>>> On Mon, Oct 28, 2024 at 5:20 PM Adrian Mariano <avm4@cornell.edu> >>>> wrote: >>>> >>>>> Appears that you sent this message just to me, not the list. >>>>> >>>>> Do you have an algorithm that generates these parametric structures? >>>>> Because there are two separate issues here. One is how do you produce >>>>> those patterns AT ALL. And the second one is how do you do it in >>>>> OpenSCAD. It would be advantageous to have a solid answer to the first >>>>> question before pondering the second one. Or you at least need some idea >>>>> of a possible algorithm. An algorithm for this is not immediately obvious >>>>> to me. The problem of "how to do this in BOSL2" depends on what that >>>>> algorithm looks like, and a lot of it might not be BOSL2 specific but >>>>> really just how to generate a pattern that looks like that. >>>>> >>>>> On Sat, Oct 26, 2024 at 12:53 PM Joe Weinpert <joe.weinpert@gmail.com> >>>>> wrote: >>>>> >>>>>> Here are a couple of samples. Parametric styles vary immensely. It >>>>>> would be nice to have a tool that can be used to create different forms. >>>>>> >>>>>> [image: 2024-10-26_12-46-24.jpg] >>>>>> [image: 2024-10-26_12-48-31.jpg] >>>>>> >>>>>> Joe Weinpert >>>>>> skidrowacademy.com >>>>>> >>>>>> >>>>>> >>>>>> On Sat, Oct 26, 2024 at 12:40 PM Adrian Mariano <avm4@cornell.edu> >>>>>> wrote: >>>>>> >>>>>>> You need to define your goal better. I have no clue what a >>>>>>> parametric wall carving might be. What form? What parameters? >>>>>>> >>>>>>> On Sat, Oct 26, 2024 at 12:23 Joe Weinpert via Discuss < >>>>>>> discuss@lists.openscad.org> wrote: >>>>>>> >>>>>>>> I would like to use OpenSCAD and the BOSL library to design >>>>>>>> parametric wood wall carving STL files. >>>>>>>> >>>>>>>> Has anyone done this yet? >>>>>>>> >>>>>>>> Where should I start looking? BOSL has nearly 900 functions. >>>>>>>> >>>>>>>> Would there be any examples of what to use? Examples, I have >>>>>>>> found, are the best way to learn something. >>>>>>>> >>>>>>>> Joe Weinpert >>>>>>>> skidrowacademy.com >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> 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 >> > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >