discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Is there a way to make a skin from a complex object?

A
adrian
Sat, Feb 25, 2017 6:17 PM

If I have some arbitrary complex object, is there some method to produce a
hollowed out version of it?

--
View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

If I have some arbitrary complex object, is there some method to produce a hollowed out version of it? -- View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575.html Sent from the OpenSCAD mailing list archive at Nabble.com.
A
arnholm@arnholm.org
Sat, Feb 25, 2017 6:24 PM

On 2017-02-25 19:17, adrian wrote:

If I have some arbitrary complex object, is there some method to
produce a
hollowed out version of it?

Subtract a scaled down version.

Carsten Arnholm

On 2017-02-25 19:17, adrian wrote: > If I have some arbitrary complex object, is there some method to > produce a > hollowed out version of it? Subtract a scaled down version. Carsten Arnholm
JD
Jerry Davis
Sat, Feb 25, 2017 6:43 PM

to amplify arnholm's reply:

I have done a translate() of the difference out object to show that it did
indeed "hollow" it out.

$fn = 60;

module object() {
cylinder(r1=4, r2=10, h= 20, center=true);
translate([0,0,5]) cube([20,3,3], center=true);
}

difference() {
object();
translate([0,0,-1.5]) scale([.9,.9,.9]) object();
}

--
Extra Ham Operator: K7AZJ
Registered Linux User: 275424
Raspberry Pi and Openscad developer

The most exciting phrase to hear in science - the one that heralds new
discoveries - is not "Eureka!" but "That's funny...".
- Isaac. Asimov

On Sat, Feb 25, 2017 at 11:24 AM, arnholm@arnholm.org wrote:

On 2017-02-25 19:17, adrian wrote:

If I have some arbitrary complex object, is there some method to produce a
hollowed out version of it?

Subtract a scaled down version.

Carsten Arnholm


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

to amplify arnholm's reply: I have done a translate() of the difference out object to show that it did indeed "hollow" it out. $fn = 60; module object() { cylinder(r1=4, r2=10, h= 20, center=true); translate([0,0,5]) cube([20,3,3], center=true); } difference() { object(); translate([0,0,-1.5]) scale([.9,.9,.9]) object(); } -- Extra Ham Operator: K7AZJ Registered Linux User: 275424 Raspberry Pi and Openscad developer *The most exciting phrase to hear in science - the one that heralds new discoveries - is not "Eureka!" but "That's funny...".*- Isaac. Asimov On Sat, Feb 25, 2017 at 11:24 AM, <arnholm@arnholm.org> wrote: > On 2017-02-25 19:17, adrian wrote: > >> If I have some arbitrary complex object, is there some method to produce a >> hollowed out version of it? >> > > Subtract a scaled down version. > > Carsten Arnholm > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
NH
nop head
Sat, Feb 25, 2017 6:45 PM

That only works for a convex shapes and doesn't necessarily give a constant
wall thickness.

In 2D you can use offset(-thickness) to produce a smaller to subtract.

In 3D it can be done with a sequence of Minkowskis but will be very slow.

On 25 February 2017 at 18:24, arnholm@arnholm.org wrote:

On 2017-02-25 19:17, adrian wrote:

If I have some arbitrary complex object, is there some method to produce a
hollowed out version of it?

Subtract a scaled down version.

Carsten Arnholm


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

That only works for a convex shapes and doesn't necessarily give a constant wall thickness. In 2D you can use offset(-thickness) to produce a smaller to subtract. In 3D it can be done with a sequence of Minkowskis but will be very slow. On 25 February 2017 at 18:24, <arnholm@arnholm.org> wrote: > On 2017-02-25 19:17, adrian wrote: > >> If I have some arbitrary complex object, is there some method to produce a >> hollowed out version of it? >> > > Subtract a scaled down version. > > Carsten Arnholm > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
A
adrian
Sat, Feb 25, 2017 7:19 PM

Thanks Carsten and jdawgaz, but I did say complex object, so scaling will not
achieve what I need (though I did try that before I posted).

Thanks nophead, I did look into minkowski, but that expands the object,
which isn't what I'm looking for.

Any other suggestions?

Thanks,

--
View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Thanks Carsten and jdawgaz, but I did say complex object, so scaling will not achieve what I need (though I did try that before I posted). Thanks nophead, I did look into minkowski, but that expands the object, which isn't what I'm looking for. Any other suggestions? Thanks, -- View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html Sent from the OpenSCAD mailing list archive at Nabble.com.
FV
Frank van der Hulst
Sat, Feb 25, 2017 7:53 PM

Difference your object from a larger cube (or whatever) to get a female
mould. Then minkowski that and intersect with the original object.

On 26/02/2017 08:20, "adrian" adrianh.bsc@gmail.com wrote:

Thanks Carsten and jdawgaz, but I did say complex object, so scaling will
not
achieve what I need (though I did try that before I posted).

Thanks nophead, I did look into minkowski, but that expands the object,
which isn't what I'm looking for.

Any other suggestions?

Thanks,

--
View this message in context: http://forum.openscad.org/Is-
there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

Difference your object from a larger cube (or whatever) to get a female mould. Then minkowski that and intersect with the original object. On 26/02/2017 08:20, "adrian" <adrianh.bsc@gmail.com> wrote: > Thanks Carsten and jdawgaz, but I did say complex object, so scaling will > not > achieve what I need (though I did try that before I posted). > > Thanks nophead, I did look into minkowski, but that expands the object, > which isn't what I'm looking for. > > Any other suggestions? > > Thanks, > > > > > > -- > View this message in context: http://forum.openscad.org/Is- > there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
NH
nop head
Sun, Feb 26, 2017 1:10 AM

Yes exactly. I can't remember if Minkowski works on hollow objects yet. It
used to be the case I had to punch a sprue hole in the mould for it to
recognise the inside and then I had to cut off the resultant bleed from the
object. That was probably 2D Minkowski though, before offset.

On 25 February 2017 at 19:53, Frank van der Hulst drifter.frank@gmail.com
wrote:

Difference your object from a larger cube (or whatever) to get a female
mould. Then minkowski that and intersect with the original object.

On 26/02/2017 08:20, "adrian" adrianh.bsc@gmail.com wrote:

Thanks Carsten and jdawgaz, but I did say complex object, so scaling will
not
achieve what I need (though I did try that before I posted).

Thanks nophead, I did look into minkowski, but that expands the object,
which isn't what I'm looking for.

Any other suggestions?

Thanks,

--
View this message in context: http://forum.openscad.org/Is-t
here-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

Yes exactly. I can't remember if Minkowski works on hollow objects yet. It used to be the case I had to punch a sprue hole in the mould for it to recognise the inside and then I had to cut off the resultant bleed from the object. That was probably 2D Minkowski though, before offset. On 25 February 2017 at 19:53, Frank van der Hulst <drifter.frank@gmail.com> wrote: > Difference your object from a larger cube (or whatever) to get a female > mould. Then minkowski that and intersect with the original object. > > On 26/02/2017 08:20, "adrian" <adrianh.bsc@gmail.com> wrote: > >> Thanks Carsten and jdawgaz, but I did say complex object, so scaling will >> not >> achieve what I need (though I did try that before I posted). >> >> Thanks nophead, I did look into minkowski, but that expands the object, >> which isn't what I'm looking for. >> >> Any other suggestions? >> >> Thanks, >> >> >> >> >> >> -- >> View this message in context: http://forum.openscad.org/Is-t >> here-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html >> Sent from the OpenSCAD mailing list archive at Nabble.com. >> >> _______________________________________________ >> 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 > >
GF
Greg Frost
Sun, Feb 26, 2017 1:51 AM

An efficient 3D offset function would be great, and has been raised on this mailing list before, but as I understand it, it is not trivial to implement with the libraries and tools used currently.

When I have needed to do this, I have used meshlab to generate offset STLs, then imported them to OpenSCAD for further manipulation.

On 26 Feb 2017, at 11:40 am, nop head nop.head@gmail.com wrote:

Yes exactly. I can't remember if Minkowski works on hollow objects yet. It used to be the case I had to punch a sprue hole in the mould for it to recognise the inside and then I had to cut off the resultant bleed from the object. That was probably 2D Minkowski though, before offset.

On 25 February 2017 at 19:53, Frank van der Hulst drifter.frank@gmail.com wrote:
Difference your object from a larger cube (or whatever) to get a female mould. Then minkowski that and intersect with the original object.

On 26/02/2017 08:20, "adrian" adrianh.bsc@gmail.com wrote:
Thanks Carsten and jdawgaz, but I did say complex object, so scaling will not
achieve what I need (though I did try that before I posted).

Thanks nophead, I did look into minkowski, but that expands the object,
which isn't what I'm looking for.

Any other suggestions?

Thanks,

--
View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


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

An efficient 3D offset function would be great, and has been raised on this mailing list before, but as I understand it, it is not trivial to implement with the libraries and tools used currently. When I have needed to do this, I have used meshlab to generate offset STLs, then imported them to OpenSCAD for further manipulation. > On 26 Feb 2017, at 11:40 am, nop head <nop.head@gmail.com> wrote: > > Yes exactly. I can't remember if Minkowski works on hollow objects yet. It used to be the case I had to punch a sprue hole in the mould for it to recognise the inside and then I had to cut off the resultant bleed from the object. That was probably 2D Minkowski though, before offset. > >> On 25 February 2017 at 19:53, Frank van der Hulst <drifter.frank@gmail.com> wrote: >> Difference your object from a larger cube (or whatever) to get a female mould. Then minkowski that and intersect with the original object. >> >>> On 26/02/2017 08:20, "adrian" <adrianh.bsc@gmail.com> wrote: >>> Thanks Carsten and jdawgaz, but I did say complex object, so scaling will not >>> achieve what I need (though I did try that before I posted). >>> >>> Thanks nophead, I did look into minkowski, but that expands the object, >>> which isn't what I'm looking for. >>> >>> Any other suggestions? >>> >>> Thanks, >>> >>> >>> >>> >>> >>> -- >>> View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20579.html >>> Sent from the OpenSCAD mailing list archive at Nabble.com. >>> >>> _______________________________________________ >>> 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 >> > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
A
adrian
Sun, Feb 26, 2017 2:36 PM

Thanks everyone,

Due to the complexity, I've opted to make each component of the complex
object to allow generating either the inner, outer or skin of the object
(usually a difference operation of two sizes).  This allowed me to generate
the complex object using a combination of intersections and differences of
the sub objects.

Not trivial, but much faster than doing anything stated here.

Appreciate the help though.  Thanks again.

A

--
View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20584.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

Thanks everyone, Due to the complexity, I've opted to make each component of the complex object to allow generating either the inner, outer or skin of the object (usually a difference operation of two sizes). This allowed me to generate the complex object using a combination of intersections and differences of the sub objects. Not trivial, but much faster than doing anything stated here. Appreciate the help though. Thanks again. A -- View this message in context: http://forum.openscad.org/Is-there-a-way-to-make-a-skin-from-a-complex-object-tp20575p20584.html Sent from the OpenSCAD mailing list archive at Nabble.com.
RP
Ronaldo Persiano
Sun, Feb 26, 2017 3:10 PM

Would tell us what you have done with a small example?

2017-02-26 11:36 GMT-03:00 adrian adrianh.bsc@gmail.com:

Due to the complexity, I've opted to make each component of the complex
object to allow generating either the inner, outer or skin of the object
(usually a difference operation of two sizes).

Would tell us what you have done with a small example? 2017-02-26 11:36 GMT-03:00 adrian <adrianh.bsc@gmail.com>: > Due to the complexity, I've opted to make each component of the complex > object to allow generating either the inner, outer or skin of the object > (usually a difference operation of two sizes).