discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Scale which varies with Z

J
jon
Thu, Aug 27, 2015 1:22 AM

You can consider the cylinder() implementation as having a scale that
varies with Z, in that you can specify a lower radius and an upper
radius. Unfortunately, this facility is not available with other
primitives or with more complex objects

I would like to be able to scale a complex object so that the X and Y
scales vary with Z.

Any ideas?

Jon

You can consider the cylinder() implementation as having a scale that varies with Z, in that you can specify a lower radius and an upper radius. Unfortunately, this facility is not available with other primitives or with more complex objects I would like to be able to scale a complex object so that the X and Y scales vary with Z. Any ideas? Jon
GS
Guenther Sohler
Thu, Aug 27, 2015 5:52 AM

cylinder does have the option to specify the option a radius at the

beginning and at the end.

The result is effectively a cone.(or part of cone)

But with the cone, the radius changes linearily from begin to end.

Other realtions are not possible as the primitive cylinder/cone  does only

define points at the very bottom and the very top.

In implement to map nonlinear scale between bottom and top correctly, the

cylinder would have to define points all

around its surface(not done due to performance reasons)

I also wished to to define a thread of a screw by using an angular bar and

then wrap it around a cylinder

with a X - To Angle bending operation, but such operations cannot exist

due to the limited primitives.

Guenther

On Wed, 26 Aug 2015 21:22:04 -0400, jon jon@jonbondy.com wrote:

You can consider the cylinder() implementation as having a scale that

varies with Z, in that you can specify a lower radius and an upper

radius. Unfortunately, this facility is not available with other

primitives or with more complex objects

I would like to be able to scale a complex object so that the X and Y

scales vary with Z.

Any ideas?

Jon


OpenSCAD mailing list

cylinder does have the option to specify the option a radius at the beginning and at the end. The result is effectively a cone.(or part of cone) But with the cone, the radius changes linearily from begin to end. Other realtions are not possible as the primitive cylinder/cone does only define points at the very bottom and the very top. In implement to map nonlinear scale between bottom and top correctly, the cylinder would have to define points all around its surface(not done due to performance reasons) I also wished to to define a thread of a screw by using an angular bar and then wrap it around a cylinder with a X - To Angle bending operation, but such operations cannot exist due to the limited primitives. Guenther On Wed, 26 Aug 2015 21:22:04 -0400, jon <jon@jonbondy.com> wrote: > You can consider the cylinder() implementation as having a scale that > varies with Z, in that you can specify a lower radius and an upper > radius. Unfortunately, this facility is not available with other > primitives or with more complex objects > > I would like to be able to scale a complex object so that the X and Y > scales vary with Z. > > Any ideas? > > Jon > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
J
jon
Thu, Aug 27, 2015 3:18 PM

My motivation has to do with beveling the interior of a cavity.

Imagine a cube with a some-what oval cavity drilled into it.  The
initial layers of my 3D prints are always a bit wider than the remaining
layers, so that cavity would have a lip at the bottom, a lip that is not
part of the 3D design.  We either have to file the lip off manually or
create a chamfer or bevel at the bottom of the cavity.  Chamfering some
shapes is easy (a cylinder!) but chamfering an arbitrary shape is more
difficult.

My concept was to take the shape of the cavity and subtract it from the
cube, but then use the scale-that-varies-with-Z to make another copy of
that shape which was broader at the bottom and narrower at the top.  The
hope is that if I then subtract that shape also, I will get the bevel.

I'm sure there are other ways to do this.

Jon

On 8/26/2015 9:22 PM, jon wrote:

You can consider the cylinder() implementation as having a scale that
varies with Z, in that you can specify a lower radius and an upper
radius. Unfortunately, this facility is not available with other
primitives or with more complex objects

I would like to be able to scale a complex object so that the X and Y
scales vary with Z.

Any ideas?

Jon


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.6125 / Virus Database: 4409/10517 - Release Date:
08/26/15

My motivation has to do with beveling the interior of a cavity. Imagine a cube with a some-what oval cavity drilled into it. The initial layers of my 3D prints are always a bit wider than the remaining layers, so that cavity would have a lip at the bottom, a lip that is not part of the 3D design. We either have to file the lip off manually or create a chamfer or bevel at the bottom of the cavity. Chamfering some shapes is easy (a cylinder!) but chamfering an arbitrary shape is more difficult. My concept was to take the shape of the cavity and subtract it from the cube, but then use the scale-that-varies-with-Z to make another copy of that shape which was broader at the bottom and narrower at the top. The hope is that if I then subtract that shape also, I will get the bevel. I'm sure there are other ways to do this. Jon On 8/26/2015 9:22 PM, jon wrote: > You can consider the cylinder() implementation as having a scale that > varies with Z, in that you can specify a lower radius and an upper > radius. Unfortunately, this facility is not available with other > primitives or with more complex objects > > I would like to be able to scale a complex object so that the X and Y > scales vary with Z. > > Any ideas? > > Jon > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > > > ----- > No virus found in this message. > Checked by AVG - www.avg.com > Version: 2015.0.6125 / Virus Database: 4409/10517 - Release Date: > 08/26/15 > >
DB
David Boyd
Fri, Aug 28, 2015 1:26 PM

Jon:
Have you looked at the fillet library?    I have used it to round
off edges.
On 8/27/15 11:18 AM, jon wrote:

My motivation has to do with beveling the interior of a cavity.

Imagine a cube with a some-what oval cavity drilled into it.  The
initial layers of my 3D prints are always a bit wider than the
remaining layers, so that cavity would have a lip at the bottom, a lip
that is not part of the 3D design.  We either have to file the lip off
manually or create a chamfer or bevel at the bottom of the cavity.
Chamfering some shapes is easy (a cylinder!) but chamfering an
arbitrary shape is more difficult.

My concept was to take the shape of the cavity and subtract it from
the cube, but then use the scale-that-varies-with-Z to make another
copy of that shape which was broader at the bottom and narrower at the
top.  The hope is that if I then subtract that shape also, I will get
the bevel.

I'm sure there are other ways to do this.

Jon

On 8/26/2015 9:22 PM, jon wrote:

You can consider the cylinder() implementation as having a scale that
varies with Z, in that you can specify a lower radius and an upper
radius. Unfortunately, this facility is not available with other
primitives or with more complex objects

I would like to be able to scale a complex object so that the X and Y
scales vary with Z.

Any ideas?

Jon


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.6125 / Virus Database: 4409/10517 - Release Date:
08/26/15

--
========= mailto:david.boyd@usstem.org ============
David W. Boyd
7371 Atlas Walk Way, #242
Gainesville, Va 20155
fax:    +1-703-656-4829
cell:    +1-703-402-7908
============== http://usstem.org/ ============
First Robotic Mentor - FRC, FTC - www.iliterobotics.org
Board Member- USSTEM Foundation - www.usstem.org
Program Assistant - USFIRST - www.usfirst.org

The information contained in this message may be privileged
and/or confidential and protected from disclosure.
If the reader of this message is not the intended recipient
or an employee or agent responsible for delivering this message
to the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication
is strictly prohibited.  If you have received this communication
in error, please notify the sender immediately by replying to
this message and deleting the material from any computer.

Jon: Have you looked at the fillet library? I have used it to round off edges. On 8/27/15 11:18 AM, jon wrote: > My motivation has to do with beveling the interior of a cavity. > > Imagine a cube with a some-what oval cavity drilled into it. The > initial layers of my 3D prints are always a bit wider than the > remaining layers, so that cavity would have a lip at the bottom, a lip > that is not part of the 3D design. We either have to file the lip off > manually or create a chamfer or bevel at the bottom of the cavity. > Chamfering some shapes is easy (a cylinder!) but chamfering an > arbitrary shape is more difficult. > > My concept was to take the shape of the cavity and subtract it from > the cube, but then use the scale-that-varies-with-Z to make another > copy of that shape which was broader at the bottom and narrower at the > top. The hope is that if I then subtract that shape also, I will get > the bevel. > > I'm sure there are other ways to do this. > > Jon > > On 8/26/2015 9:22 PM, jon wrote: >> You can consider the cylinder() implementation as having a scale that >> varies with Z, in that you can specify a lower radius and an upper >> radius. Unfortunately, this facility is not available with other >> primitives or with more complex objects >> >> I would like to be able to scale a complex object so that the X and Y >> scales vary with Z. >> >> Any ideas? >> >> Jon >> >> _______________________________________________ >> OpenSCAD mailing list >> Discuss@lists.openscad.org >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >> >> >> >> ----- >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 2015.0.6125 / Virus Database: 4409/10517 - Release Date: >> 08/26/15 >> >> > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org -- ========= mailto:david.boyd@usstem.org ============ David W. Boyd 7371 Atlas Walk Way, #242 Gainesville, Va 20155 fax: +1-703-656-4829 cell: +1-703-402-7908 ============== http://usstem.org/ ============ First Robotic Mentor - FRC, FTC - www.iliterobotics.org Board Member- USSTEM Foundation - www.usstem.org Program Assistant - USFIRST - www.usfirst.org The information contained in this message may be privileged and/or confidential and protected from disclosure. If the reader of this message is not the intended recipient or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender immediately by replying to this message and deleting the material from any computer.
J
jon
Fri, Aug 28, 2015 3:11 PM

That works!  Thanks!

On 8/28/2015 9:26 AM, David Boyd wrote:

Jon:
Have you looked at the fillet library?    I have used it to round
off edges.
On 8/27/15 11:18 AM, jon wrote:

My motivation has to do with beveling the interior of a cavity.

Imagine a cube with a some-what oval cavity drilled into it. The
initial layers of my 3D prints are always a bit wider than the
remaining layers, so that cavity would have a lip at the bottom, a
lip that is not part of the 3D design.  We either have to file the
lip off manually or create a chamfer or bevel at the bottom of the
cavity.  Chamfering some shapes is easy (a cylinder!) but chamfering
an arbitrary shape is more difficult.

My concept was to take the shape of the cavity and subtract it from
the cube, but then use the scale-that-varies-with-Z to make another
copy of that shape which was broader at the bottom and narrower at
the top.  The hope is that if I then subtract that shape also, I will
get the bevel.

I'm sure there are other ways to do this.

Jon

On 8/26/2015 9:22 PM, jon wrote:

You can consider the cylinder() implementation as having a scale
that varies with Z, in that you can specify a lower radius and an
upper radius. Unfortunately, this facility is not available with
other primitives or with more complex objects

I would like to be able to scale a complex object so that the X and
Y scales vary with Z.

Any ideas?

Jon


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.6125 / Virus Database: 4409/10517 - Release Date:
08/26/15

That works! Thanks! On 8/28/2015 9:26 AM, David Boyd wrote: > Jon: > Have you looked at the fillet library? I have used it to round > off edges. > On 8/27/15 11:18 AM, jon wrote: >> My motivation has to do with beveling the interior of a cavity. >> >> Imagine a cube with a some-what oval cavity drilled into it. The >> initial layers of my 3D prints are always a bit wider than the >> remaining layers, so that cavity would have a lip at the bottom, a >> lip that is not part of the 3D design. We either have to file the >> lip off manually or create a chamfer or bevel at the bottom of the >> cavity. Chamfering some shapes is easy (a cylinder!) but chamfering >> an arbitrary shape is more difficult. >> >> My concept was to take the shape of the cavity and subtract it from >> the cube, but then use the scale-that-varies-with-Z to make another >> copy of that shape which was broader at the bottom and narrower at >> the top. The hope is that if I then subtract that shape also, I will >> get the bevel. >> >> I'm sure there are other ways to do this. >> >> Jon >> >> On 8/26/2015 9:22 PM, jon wrote: >>> You can consider the cylinder() implementation as having a scale >>> that varies with Z, in that you can specify a lower radius and an >>> upper radius. Unfortunately, this facility is not available with >>> other primitives or with more complex objects >>> >>> I would like to be able to scale a complex object so that the X and >>> Y scales vary with Z. >>> >>> Any ideas? >>> >>> Jon >>> >>> _______________________________________________ >>> OpenSCAD mailing list >>> Discuss@lists.openscad.org >>> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >>> >>> >>> >>> ----- >>> No virus found in this message. >>> Checked by AVG - www.avg.com >>> Version: 2015.0.6125 / Virus Database: 4409/10517 - Release Date: >>> 08/26/15 >>> >>> >> >> >> _______________________________________________ >> OpenSCAD mailing list >> Discuss@lists.openscad.org >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > >