The round-anything library includes this, which rounds inside and outside
corners independently with separate rounding radii. You can set IR or OR to
zero as desired if you want only internal or external rounding. Looks short
and elegant to me. Does this have some shortcomings I'm overlooking
compared to the other versions?
module round2d(OR=3,IR=1){
offset(OR){
offset(-IR-OR){
offset(IR){
children();
}
}
}
}
So this is nice for the cases that it addresses, but it doesn't address the
problem that the more general polyround does, with the possibility of
rounding only some corners, and rounding different corners by different
amounts, and doing the rounding to a point list that can be input to sweep
type operations.
--
Sent from: http://forum.openscad.org/
Would it be possible to use this tool to get rounding as is done in some
industrial designs?
https://hackernoon.com/apples-icons-have-that-shape-for-a-very-good-reason-720d4e7c8a14
If not, could someone suggest a suitable technique to achieve this?
William
On Tue, Mar 12, 2019 at 9:40 AM adrianv avm4@cornell.edu wrote:
The round-anything library includes this, which rounds inside and outside
corners independently with separate rounding radii. You can set IR or OR
to
zero as desired if you want only internal or external rounding. Looks
short
and elegant to me. Does this have some shortcomings I'm overlooking
compared to the other versions?
module round2d(OR=3,IR=1){
offset(OR){
offset(-IR-OR){
offset(IR){
children();
}
}
}
}
So this is nice for the cases that it addresses, but it doesn't address the
problem that the more general polyround does, with the possibility of
rounding only some corners, and rounding different corners by different
amounts, and doing the rounding to a point list that can be input to sweep
type operations.
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
I don't thinks so because all the rounding discussed so far uses circular
arcs that meet straight lines tangentially. That is continuous in gradient
but has a discontinuity of curvature. Possibly Bezier splines would do the
job?
On Tue, 12 Mar 2019 at 14:27, William Adams will.adams@frycomm.com wrote:
Would it be possible to use this tool to get rounding as is done in some
industrial designs?
https://hackernoon.com/apples-icons-have-that-shape-for-a-very-good-reason-720d4e7c8a14
If not, could someone suggest a suitable technique to achieve this?
William
On Tue, Mar 12, 2019 at 9:40 AM adrianv avm4@cornell.edu wrote:
The round-anything library includes this, which rounds inside and outside
corners independently with separate rounding radii. You can set IR or OR
to
zero as desired if you want only internal or external rounding. Looks
short
and elegant to me. Does this have some shortcomings I'm overlooking
compared to the other versions?
module round2d(OR=3,IR=1){
offset(OR){
offset(-IR-OR){
offset(IR){
children();
}
}
}
}
So this is nice for the cases that it addresses, but it doesn't address
the
problem that the more general polyround does, with the possibility of
rounding only some corners, and rounding different corners by different
amounts, and doing the rounding to a point list that can be input to sweep
type operations.
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
On Tue, Mar 12, 2019 at 03:06:43PM +0000, nop head wrote:
I don't thinks so because all the rounding discussed so far uses circular
arcs that meet straight lines tangentially. That is continuous in gradient
but has a discontinuity of curvature. Possibly Bezier splines would do the
job?
I would REALLY like to have bezier curves in openscad. The $fn parameter
would determine how many interpolation points would be used to convert the
spline to triangles.
The problem is a bit how to integrate the splines with the rest of
openscad: all primitives are 3D OBJECTS and splines usually define a
surface (in 3D if required).
We already can create an object from arbitrary 3D points, right?
(or is this only possible for 2D objects? Ah! I should know this: I
designed pyramids from 5 vertices with my niece this weekend, Duh!).
So it would suffice if a function could return a list of points (*)
corresponding to a definition of an object defined by bezier surfaces.
On the other hand, the "define bezier primitive" could internally
build on the polyhedron function: building the list-of-vertices and
faces as it processes its own input...
I think the "create bezier object" primitve would have very similar
arguments as the polyhedron primitve: A list of vertices and a list of
faces. To define a bezier patch you need precisely 16 vertices for
each patch.
Roger.
(*) Not sure if such a function can return a complex object in the
current implementation: both the list-of-points and the
list-of-vertices that define the triangles. That's be nice.
On Tue, 12 Mar 2019 at 14:27, William Adams will.adams@frycomm.com wrote:
Would it be possible to use this tool to get rounding as is done in some
industrial designs?
https://hackernoon.com/apples-icons-have-that-shape-for-a-very-good-reason-720d4e7c8a14
If not, could someone suggest a suitable technique to achieve this?
William
On Tue, Mar 12, 2019 at 9:40 AM adrianv avm4@cornell.edu wrote:
The round-anything library includes this, which rounds inside and outside
corners independently with separate rounding radii. You can set IR or OR
to
zero as desired if you want only internal or external rounding. Looks
short
and elegant to me. Does this have some shortcomings I'm overlooking
compared to the other versions?
module round2d(OR=3,IR=1){
offset(OR){
offset(-IR-OR){
offset(IR){
children();
}
}
}
}
So this is nice for the cases that it addresses, but it doesn't address
the
problem that the more general polyround does, with the possibility of
rounding only some corners, and rounding different corners by different
amounts, and doing the rounding to a point list that can be input to sweep
type operations.
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 **
The plan was simple, like my brother-in-law Phil. But unlike
Phil, this plan just might work.
On 3/12/2019 10:55 AM, Rogier Wolff wrote:
(*) Not sure if such a function can return a complex object in the
current implementation: both the list-of-points and the
list-of-vertices that define the triangles. That's be nice.
Sure. Just return a vector, the first element of which is a vector of
points and the second element of which is a vector of vertices.
Definitely none of the rounding code I've seen does this directly. Thanks
for bringing this to my attention. I'm actually interested in mplementing
this myself. Does it make sense to use tangent circles to define the
location of the curved section and then fit a bezier instead of a circular
arc into the space? Or is there some better way to define the space where
the curve should go at a given corner? Like perhaps a setback distance
along the edge from the corner?
nophead wrote
I don't thinks so because all the rounding discussed so far uses circular
arcs that meet straight lines tangentially. That is continuous in gradient
but has a discontinuity of curvature. Possibly Bezier splines would do the
job?
On Tue, 12 Mar 2019 at 14:27, William Adams <
will.adams@
> wrote:
Would it be possible to use this tool to get rounding as is done in some
industrial designs?
https://hackernoon.com/apples-icons-have-that-shape-for-a-very-good-reason-720d4e7c8a14
If not, could someone suggest a suitable technique to achieve this?
William
--
Sent from: http://forum.openscad.org/
rew wrote
On Tue, Mar 12, 2019 at 03:06:43PM +0000, nop head wrote:
I don't thinks so because all the rounding discussed so far uses circular
arcs that meet straight lines tangentially. That is continuous in
gradient
but has a discontinuity of curvature. Possibly Bezier splines would do
the
job?
I would REALLY like to have bezier curves in openscad. The $fn parameter
would determine how many interpolation points would be used to convert the
spline to triangles.
Does it need to be in the base language for some reason? Bezier curves have
been implemented several times. Here are three examples:
https://github.com/revarbat/BOSL/wiki/beziers.scad
https://www.thingiverse.com/thing:8483/attribution_is_important
https://github.com/JustinSDK/dotSCAD
And actually that third one has a bezier_smooth function that maybe does the
smooth curvature smoothing that was requested.
--
Sent from: http://forum.openscad.org/
I don't have an artistic bone in my body, so to me circles meeting tangents
are fine. I don't have any Apple products and probably never will as they
are just a waste of money. They look nice but are very unreliable and
locked in.
If I could see a need for avoiding discontinuities in curvature I am sure I
could work something out with Bezier splines but life is too short. I use
Bezier splines to approximate minimum energy curves to model bent strips.
2D Bezier curves are easy in OpenSCAD, and 3D Bezier curves are certainly
possible with polyhedron. I don't think new primitives are needed.
On Tue, 12 Mar 2019 at 23:15, adrianv avm4@cornell.edu wrote:
Definitely none of the rounding code I've seen does this directly. Thanks
for bringing this to my attention. I'm actually interested in mplementing
this myself. Does it make sense to use tangent circles to define the
location of the curved section and then fit a bezier instead of a circular
arc into the space? Or is there some better way to define the space where
the curve should go at a given corner? Like perhaps a setback distance
along the edge from the corner?
nophead wrote
I don't thinks so because all the rounding discussed so far uses circular
arcs that meet straight lines tangentially. That is continuous in
gradient
but has a discontinuity of curvature. Possibly Bezier splines would do
the
job?
On Tue, 12 Mar 2019 at 14:27, William Adams <
will.adams@
> wrote:
Would it be possible to use this tool to get rounding as is done in some
industrial designs?
If not, could someone suggest a suitable technique to achieve this?
William
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
On Tue, Mar 12, 2019 at 11:28:24PM +0000, nop head wrote:
I don't have an artistic bone in my body, so to me circles meeting tangents
are fine. I don't have any Apple products and probably never will as they
are just a waste of money. They look nice but are very unreliable and
locked in.
If I could see a need for avoiding discontinuities in curvature I am sure I
could work something out with Bezier splines but life is too short. I use
Bezier splines to approximate minimum energy curves to model bent strips.
2D Bezier curves are easy in OpenSCAD, and 3D Bezier curves are certainly
possible with polyhedron. I don't think new primitives are needed.
At first I didn't think so, then I did, now I do....
It would be VERY nice if a recursive bezier module could be built. But
that requires returning "patches" that will build up to the sides of a
polyhedron. Writing out the recursion by hand and implementing the
stack on an array is very tedious. It's like on the first day of work
you new boss points at an actual Turing machine, and says: "that's
just as turing-complete as that windows machine over there, you can
use the turing machine."
It's theoretically possible, but WAY more convenient if there is some
language support.
Roger.
--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110 **
** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 **
The plan was simple, like my brother-in-law Phil. But unlike
Phil, this plan just might work.
Isn't it just some for loops and list comprehension? I don't think it is
much harder than sweep if you want a regular array of surface points.
On Wed, 13 Mar 2019, 11:00 Rogier Wolff <R.E.Wolff@bitwizard.nl wrote:
On Tue, Mar 12, 2019 at 11:28:24PM +0000, nop head wrote:
I don't have an artistic bone in my body, so to me circles meeting
tangents
are fine. I don't have any Apple products and probably never will as they
are just a waste of money. They look nice but are very unreliable and
locked in.
If I could see a need for avoiding discontinuities in curvature I am
sure I
could work something out with Bezier splines but life is too short. I use
Bezier splines to approximate minimum energy curves to model bent strips.
2D Bezier curves are easy in OpenSCAD, and 3D Bezier curves are certainly
possible with polyhedron. I don't think new primitives are needed.
At first I didn't think so, then I did, now I do....
It would be VERY nice if a recursive bezier module could be built. But
that requires returning "patches" that will build up to the sides of a
polyhedron. Writing out the recursion by hand and implementing the
stack on an array is very tedious. It's like on the first day of work
you new boss points at an actual Turing machine, and says: "that's
just as turing-complete as that windows machine over there, you can
use the turing machine."
It's theoretically possible, but WAY more convenient if there is some
language support.
Roger.
--
** R.E.Wolff@BitWizard.nl ** https://www.BitWizard.nl/ ** +31-15-2049110
**
** Delftechpark 11 2628 XJ Delft, The Netherlands. KVK: 27239233 **
The plan was simple, like my brother-in-law Phil. But unlike
Phil, this plan just might work.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org