discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Wheel cover

GM
Gertrude Musterfrau
Wed, Jul 3, 2024 2:08 PM

Hello everybody!

I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer
caravan for which I don't get spare parts any more. I can model the
shape with points in 3d space. The code looks like that:

// Radlaufblenden für Esterel T39 (Top Volume)
RLB_POINTS = [
[0,-234,0],    // 0
[0,-212,0],  // 1
[51,-52,0],  // 2
[135,0,0],  // 3
[277,0,0],  // 4
[7,-234,0],  // 5
[60,-63,0], // 6
[138,-16,0], // 7
[277,-16,0], // 8
[26,-234,50], // 9
[75,-80,50], // 10
[140,-40,50], // 11
[277,-40,50], // 12
[54,-234,50], // 13
[117,-110,50], // 14
[154,-90,50], // 15
[277,-90,50], // 16
[64,-234,45], // 17
[128,-114,45], // 18
[156,-100,45], // 19
[277,-98,45], // 20
];

RLB_FACES =  [
[0,1,2,6,5], // flach
[2,3,7,6], // flach
[3,4,8,7], // flach
[5,6,10,9], // schräg
[6,7,11,10], // schräg
[7,8,12,11], // schräg
[9,10,14,13], // flach
[10,11,15,14], // flach
[11,12,16,15], // flach
[13,14,18,17], // schräg
[14,15,19,18], // schräg
[15,16,20,19], // schräg
];

scale([1.343,1.08,1]) {
union() {
translate([554,0,0])
mirror([1,0,0])
polyhedron(RLB_POINTS, RLB_FACES);
polyhedron(RLB_POINTS, RLB_FACES);
};
};

This generates pretty much it, but I can't get this shape a thickness.
How can I do this ? Is there another simple way to construct a part like
this in OpenScad ? What do I do wrong? Any ideas?

Cheers
Peter

Hello everybody! I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer caravan for which I don't get spare parts any more. I can model the shape with points in 3d space. The code looks like that: // Radlaufblenden für Esterel T39 (Top Volume) RLB_POINTS = [ [0,-234,0], // 0 [0,-212,0], // 1 [51,-52,0], // 2 [135,0,0], // 3 [277,0,0], // 4 [7,-234,0], // 5 [60,-63,0], // 6 [138,-16,0], // 7 [277,-16,0], // 8 [26,-234,50], // 9 [75,-80,50], // 10 [140,-40,50], // 11 [277,-40,50], // 12 [54,-234,50], // 13 [117,-110,50], // 14 [154,-90,50], // 15 [277,-90,50], // 16 [64,-234,45], // 17 [128,-114,45], // 18 [156,-100,45], // 19 [277,-98,45], // 20 ]; RLB_FACES = [ [0,1,2,6,5], // flach [2,3,7,6], // flach [3,4,8,7], // flach [5,6,10,9], // schräg [6,7,11,10], // schräg [7,8,12,11], // schräg [9,10,14,13], // flach [10,11,15,14], // flach [11,12,16,15], // flach [13,14,18,17], // schräg [14,15,19,18], // schräg [15,16,20,19], // schräg ]; scale([1.343,1.08,1]) { union() { translate([554,0,0]) mirror([1,0,0]) polyhedron(RLB_POINTS, RLB_FACES); polyhedron(RLB_POINTS, RLB_FACES); }; }; This generates pretty much it, but I can't get this shape a thickness. How can I do this ? Is there another simple way to construct a part like this in OpenScad ? What do I do wrong? Any ideas? Cheers Peter
DP
Dan Perry
Thu, Jul 4, 2024 7:58 AM

To get thickness, you need to have more points.  For example, the point at
[0, -234, 0] would have a corresponding point [0, -234, 1] if the part is
1mm thick.

Now you have many more points and faces to keep track of.  This will be a
little easier if you take advantage of the part's X symmetry by centering
on the Y axis.  And even easier if you model half the part and use the
OpenSCAD mirror() function to make the other half.

Dan

On Thu, Jul 4, 2024 at 4:09 AM Gertrude Musterfrau via Discuss <
discuss@lists.openscad.org> wrote:

Hello everybody!

I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer
caravan for which I don't get spare parts any more. I can model the
shape with points in 3d space. The code looks like that:

// Radlaufblenden für Esterel T39 (Top Volume)
RLB_POINTS = [
[0,-234,0],    // 0
[0,-212,0],  // 1
[51,-52,0],  // 2
[135,0,0],  // 3
[277,0,0],  // 4
[7,-234,0],  // 5
[60,-63,0], // 6
[138,-16,0], // 7
[277,-16,0], // 8
[26,-234,50], // 9
[75,-80,50], // 10
[140,-40,50], // 11
[277,-40,50], // 12
[54,-234,50], // 13
[117,-110,50], // 14
[154,-90,50], // 15
[277,-90,50], // 16
[64,-234,45], // 17
[128,-114,45], // 18
[156,-100,45], // 19
[277,-98,45], // 20
];

RLB_FACES =  [
[0,1,2,6,5], // flach
[2,3,7,6], // flach
[3,4,8,7], // flach
[5,6,10,9], // schräg
[6,7,11,10], // schräg
[7,8,12,11], // schräg
[9,10,14,13], // flach
[10,11,15,14], // flach
[11,12,16,15], // flach
[13,14,18,17], // schräg
[14,15,19,18], // schräg
[15,16,20,19], // schräg
];

scale([1.343,1.08,1]) {
union() {
translate([554,0,0])
mirror([1,0,0])
polyhedron(RLB_POINTS, RLB_FACES);
polyhedron(RLB_POINTS, RLB_FACES);
};
};

This generates pretty much it, but I can't get this shape a thickness.
How can I do this ? Is there another simple way to construct a part like
this in OpenScad ? What do I do wrong? Any ideas?

Cheers
Peter


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

To get thickness, you need to have more points. For example, the point at [0, -234, 0] would have a corresponding point [0, -234, 1] if the part is 1mm thick. Now you have many more points and faces to keep track of. This will be a little easier if you take advantage of the part's X symmetry by centering on the Y axis. And even easier if you model half the part and use the OpenSCAD mirror() function to make the other half. Dan On Thu, Jul 4, 2024 at 4:09 AM Gertrude Musterfrau via Discuss < discuss@lists.openscad.org> wrote: > Hello everybody! > > I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer > caravan for which I don't get spare parts any more. I can model the > shape with points in 3d space. The code looks like that: > > // Radlaufblenden für Esterel T39 (Top Volume) > RLB_POINTS = [ > [0,-234,0], // 0 > [0,-212,0], // 1 > [51,-52,0], // 2 > [135,0,0], // 3 > [277,0,0], // 4 > [7,-234,0], // 5 > [60,-63,0], // 6 > [138,-16,0], // 7 > [277,-16,0], // 8 > [26,-234,50], // 9 > [75,-80,50], // 10 > [140,-40,50], // 11 > [277,-40,50], // 12 > [54,-234,50], // 13 > [117,-110,50], // 14 > [154,-90,50], // 15 > [277,-90,50], // 16 > [64,-234,45], // 17 > [128,-114,45], // 18 > [156,-100,45], // 19 > [277,-98,45], // 20 > ]; > > RLB_FACES = [ > [0,1,2,6,5], // flach > [2,3,7,6], // flach > [3,4,8,7], // flach > [5,6,10,9], // schräg > [6,7,11,10], // schräg > [7,8,12,11], // schräg > [9,10,14,13], // flach > [10,11,15,14], // flach > [11,12,16,15], // flach > [13,14,18,17], // schräg > [14,15,19,18], // schräg > [15,16,20,19], // schräg > ]; > > > scale([1.343,1.08,1]) { > union() { > translate([554,0,0]) > mirror([1,0,0]) > polyhedron(RLB_POINTS, RLB_FACES); > polyhedron(RLB_POINTS, RLB_FACES); > }; > }; > > This generates pretty much it, but I can't get this shape a thickness. > How can I do this ? Is there another simple way to construct a part like > this in OpenScad ? What do I do wrong? Any ideas? > > Cheers > Peter > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
DP
Dan Perry
Thu, Jul 4, 2024 8:14 AM

Sorry, I see that you are using the mirror() function...  Another
suggestion, and the way I tackle this type of problem, is to use the hull()
function, one for each face of your polyhedron.  If you hull() four spheres
of 1mm diameter, you will get a 1mm thick shape with rounded edges.  hull()
four 1mm cubes and you get a shape with square edges.  hull of four
cylinders will make a shape with flat surfaces and rounded corners,
depending on cylinder orientation.  This technique, combined with some
trigonometry, will allow different thicknesses in different areas.
Regards,
Dan

On Thu, Jul 4, 2024 at 8:58 AM Dan Perry dan.p3rry@gmail.com wrote:

To get thickness, you need to have more points.  For example, the point at
[0, -234, 0] would have a corresponding point [0, -234, 1] if the part is
1mm thick.

Now you have many more points and faces to keep track of.  This will be a
little easier if you take advantage of the part's X symmetry by centering
on the Y axis.  And even easier if you model half the part and use the
OpenSCAD mirror() function to make the other half.

Dan

On Thu, Jul 4, 2024 at 4:09 AM Gertrude Musterfrau via Discuss <
discuss@lists.openscad.org> wrote:

Hello everybody!

I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer
caravan for which I don't get spare parts any more. I can model the
shape with points in 3d space. The code looks like that:

// Radlaufblenden für Esterel T39 (Top Volume)
RLB_POINTS = [
[0,-234,0],    // 0
[0,-212,0],  // 1
[51,-52,0],  // 2
[135,0,0],  // 3
[277,0,0],  // 4
[7,-234,0],  // 5
[60,-63,0], // 6
[138,-16,0], // 7
[277,-16,0], // 8
[26,-234,50], // 9
[75,-80,50], // 10
[140,-40,50], // 11
[277,-40,50], // 12
[54,-234,50], // 13
[117,-110,50], // 14
[154,-90,50], // 15
[277,-90,50], // 16
[64,-234,45], // 17
[128,-114,45], // 18
[156,-100,45], // 19
[277,-98,45], // 20
];

RLB_FACES =  [
[0,1,2,6,5], // flach
[2,3,7,6], // flach
[3,4,8,7], // flach
[5,6,10,9], // schräg
[6,7,11,10], // schräg
[7,8,12,11], // schräg
[9,10,14,13], // flach
[10,11,15,14], // flach
[11,12,16,15], // flach
[13,14,18,17], // schräg
[14,15,19,18], // schräg
[15,16,20,19], // schräg
];

scale([1.343,1.08,1]) {
union() {
translate([554,0,0])
mirror([1,0,0])
polyhedron(RLB_POINTS, RLB_FACES);
polyhedron(RLB_POINTS, RLB_FACES);
};
};

This generates pretty much it, but I can't get this shape a thickness.
How can I do this ? Is there another simple way to construct a part like
this in OpenScad ? What do I do wrong? Any ideas?

Cheers
Peter


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

Sorry, I see that you are using the mirror() function... Another suggestion, and the way I tackle this type of problem, is to use the hull() function, one for each face of your polyhedron. If you hull() four spheres of 1mm diameter, you will get a 1mm thick shape with rounded edges. hull() four 1mm cubes and you get a shape with square edges. hull of four cylinders will make a shape with flat surfaces and rounded corners, depending on cylinder orientation. This technique, combined with some trigonometry, will allow different thicknesses in different areas. Regards, Dan On Thu, Jul 4, 2024 at 8:58 AM Dan Perry <dan.p3rry@gmail.com> wrote: > To get thickness, you need to have more points. For example, the point at > [0, -234, 0] would have a corresponding point [0, -234, 1] if the part is > 1mm thick. > > Now you have many more points and faces to keep track of. This will be a > little easier if you take advantage of the part's X symmetry by centering > on the Y axis. And even easier if you model half the part and use the > OpenSCAD mirror() function to make the other half. > > Dan > > > > On Thu, Jul 4, 2024 at 4:09 AM Gertrude Musterfrau via Discuss < > discuss@lists.openscad.org> wrote: > >> Hello everybody! >> >> I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer >> caravan for which I don't get spare parts any more. I can model the >> shape with points in 3d space. The code looks like that: >> >> // Radlaufblenden für Esterel T39 (Top Volume) >> RLB_POINTS = [ >> [0,-234,0], // 0 >> [0,-212,0], // 1 >> [51,-52,0], // 2 >> [135,0,0], // 3 >> [277,0,0], // 4 >> [7,-234,0], // 5 >> [60,-63,0], // 6 >> [138,-16,0], // 7 >> [277,-16,0], // 8 >> [26,-234,50], // 9 >> [75,-80,50], // 10 >> [140,-40,50], // 11 >> [277,-40,50], // 12 >> [54,-234,50], // 13 >> [117,-110,50], // 14 >> [154,-90,50], // 15 >> [277,-90,50], // 16 >> [64,-234,45], // 17 >> [128,-114,45], // 18 >> [156,-100,45], // 19 >> [277,-98,45], // 20 >> ]; >> >> RLB_FACES = [ >> [0,1,2,6,5], // flach >> [2,3,7,6], // flach >> [3,4,8,7], // flach >> [5,6,10,9], // schräg >> [6,7,11,10], // schräg >> [7,8,12,11], // schräg >> [9,10,14,13], // flach >> [10,11,15,14], // flach >> [11,12,16,15], // flach >> [13,14,18,17], // schräg >> [14,15,19,18], // schräg >> [15,16,20,19], // schräg >> ]; >> >> >> scale([1.343,1.08,1]) { >> union() { >> translate([554,0,0]) >> mirror([1,0,0]) >> polyhedron(RLB_POINTS, RLB_FACES); >> polyhedron(RLB_POINTS, RLB_FACES); >> }; >> }; >> >> This generates pretty much it, but I can't get this shape a thickness. >> How can I do this ? Is there another simple way to construct a part like >> this in OpenScad ? What do I do wrong? Any ideas? >> >> Cheers >> Peter >> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> >
RW
Raymond West
Thu, Jul 4, 2024 10:24 AM

I'm guessing you would need to print it in two or three sections, and
solvent weld or glue together. Anyway, my first thoughts, for that
shape, I would generate a cross section, and linear extrude. Using #, it
would be relatively simple to line up the parts with your existing
image. The tapered ends would need a bit more fiddling to get the taper,
but you'd only need to do one.

On 03/07/2024 15:08, Gertrude Musterfrau via Discuss wrote:

Hello everybody!

I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer
caravan for which I don't get spare parts any more. I can model the
shape with points in 3d space. The code looks like that:

// Radlaufblenden für Esterel T39 (Top Volume)
RLB_POINTS = [
[0,-234,0],    // 0
[0,-212,0],   // 1
[51,-52,0],  // 2
[135,0,0],  // 3
[277,0,0],   // 4
[7,-234,0],  // 5
[60,-63,0], // 6
[138,-16,0], // 7
[277,-16,0], // 8
[26,-234,50], // 9
[75,-80,50], // 10
[140,-40,50], // 11
[277,-40,50], // 12
[54,-234,50], // 13
[117,-110,50], // 14
[154,-90,50], // 15
[277,-90,50], // 16
[64,-234,45], // 17
[128,-114,45], // 18
[156,-100,45], // 19
[277,-98,45], // 20
];

RLB_FACES =  [
[0,1,2,6,5], // flach
[2,3,7,6], // flach
[3,4,8,7], // flach
[5,6,10,9], // schräg
[6,7,11,10], // schräg
[7,8,12,11], // schräg
[9,10,14,13], // flach
[10,11,15,14], // flach
[11,12,16,15], // flach
[13,14,18,17], // schräg
[14,15,19,18], // schräg
[15,16,20,19], // schräg
];

scale([1.343,1.08,1]) {
    union() {
        translate([554,0,0])
            mirror([1,0,0])
                polyhedron(RLB_POINTS, RLB_FACES);
        polyhedron(RLB_POINTS, RLB_FACES);
    };
};

This generates pretty much it, but I can't get this shape a thickness.
How can I do this ? Is there another simple way to construct a part like
this in OpenScad ? What do I do wrong? Any ideas?

Cheers
Peter


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

I'm guessing you would need to print it in two or three sections, and solvent weld or glue together. Anyway, my first thoughts, for that shape, I would generate a cross section, and linear extrude. Using #, it would be relatively simple to line up the parts with your existing image. The tapered ends would need a bit more fiddling to get the taper, but you'd only need to do one. On 03/07/2024 15:08, Gertrude Musterfrau via Discuss wrote: > Hello everybody! > > I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer > caravan for which I don't get spare parts any more. I can model the > shape with points in 3d space. The code looks like that: > > // Radlaufblenden für Esterel T39 (Top Volume) > RLB_POINTS = [ > [0,-234,0],    // 0 > [0,-212,0],   // 1 > [51,-52,0],  // 2 > [135,0,0],  // 3 > [277,0,0],   // 4 > [7,-234,0],  // 5 > [60,-63,0], // 6 > [138,-16,0], // 7 > [277,-16,0], // 8 > [26,-234,50], // 9 > [75,-80,50], // 10 > [140,-40,50], // 11 > [277,-40,50], // 12 > [54,-234,50], // 13 > [117,-110,50], // 14 > [154,-90,50], // 15 > [277,-90,50], // 16 > [64,-234,45], // 17 > [128,-114,45], // 18 > [156,-100,45], // 19 > [277,-98,45], // 20 > ]; > > RLB_FACES =  [ > [0,1,2,6,5], // flach > [2,3,7,6], // flach > [3,4,8,7], // flach > [5,6,10,9], // schräg > [6,7,11,10], // schräg > [7,8,12,11], // schräg > [9,10,14,13], // flach > [10,11,15,14], // flach > [11,12,16,15], // flach > [13,14,18,17], // schräg > [14,15,19,18], // schräg > [15,16,20,19], // schräg > ]; > > > scale([1.343,1.08,1]) { >     union() { >         translate([554,0,0]) >             mirror([1,0,0]) >                 polyhedron(RLB_POINTS, RLB_FACES); >         polyhedron(RLB_POINTS, RLB_FACES); >     }; > }; > > This generates pretty much it, but I can't get this shape a thickness. > How can I do this ? Is there another simple way to construct a part like > this in OpenScad ? What do I do wrong? Any ideas? > > Cheers > Peter > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
JB
Jon Bondy
Thu, Jul 4, 2024 11:31 AM

This is how I stitched together two polygons, one defined as a top and
the other as a base.  You can ignore the details of the points lists and
focus on my use of BOSL2 and function().  I hope it helps.

include <BOSL2/std.scad>
include <BOSL2/rounding.scad>

$fn = 120;

function TopShape() =
    [
    [0, 0],                                                // 1
    [9.4, 0],                                            // 2
    [9.4 + 4.1                   , -9.4],                // 3
    [9.4 + 4.1 + 21.3            , -9.4],                // 4
    [9.4 + 4.1 + 21.3 + 4.1      , 0],                    // 5
    [9.4 + 4.1 + 21.3 + 4.1 + 9.4, 0],                    // 6
    [9.4 + 4.1 + 21.3 + 4.1 + 9.4, 33.1],                // 7
    [9.4 + 4.1 + 21.3 + 4.1      , 33.1],                // 8
    [9.4 + 4.1 + 21.3            , 33.1 + 9.4],            // 9
    [9.4 + 4.1                   , 33.1 + 9.4],            // 10
    [9.4                         , 33.1],                // 11
    [0                           , 33.1]                // 12
    ];

function BotShape() =
    [
    [2.3 + 0                           , 2.3 + 0], // 1
    [2.3 + 9.4                           , 2.3 + 0],     // 2
    [2.3 + 9.4 + 4.1                   , 2.3 + -9.4], // 3
    [2.3 + 9.4 + 4.1 + 21.3               , 2.3 + -9.4],     // 4
    [2.3 + 9.4 + 4.1 + 21.3 + 4.1       , 2.3 + 0], // 5
    [2.3 + 9.4 + 4.1 + 21.3 + 4.1 + 9.4, 2.3 + 0], // 6
    [2.3 + 9.4 + 4.1 + 21.3 + 4.1 + 9.4, 2.3 + 28.5], // 7
    [2.3 + 9.4 + 4.1 + 21.3 + 4.1      , 2.3 + 28.5], // 8
    [2.3 + 9.4 + 4.1 + 21.3            , 2.3 + 28.5 + 9.4], // 9
    [2.3 + 9.4 + 4.1                   , 2.3 + 28.5 + 9.4], // 10
    [2.3 + 9.4                         , 2.3 + 28.5], // 11
    [2.3 + 0                           , 2.3 + 28.5]            // 12
    ];

module Shape()
    skin(
        [
        round_corners(BotShape(), radius = 2),
        round_corners(TopShape(), radius = 2)
        ], z = [0, 36.3], slices=2);

Shape();

On 7/4/2024 3:58 AM, Dan Perry via Discuss wrote:

To get thickness, you need to have more points. For example, the point
at [0, -234, 0] would have a corresponding point [0, -234, 1] if the
part is 1mm thick.

Now you have many more points and faces to keep track of.  This will
be a little easier if you take advantage of the part's X symmetry by
centering on the Y axis.  And even easier if you model half the part
and use the OpenSCAD mirror() function to make the other half.

Dan

On Thu, Jul 4, 2024 at 4:09 AM Gertrude Musterfrau via Discuss
discuss@lists.openscad.org wrote:

 Hello everybody!

 I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer
 caravan for which I don't get spare parts any more. I can model the
 shape with points in 3d space. The code looks like that:

 // Radlaufblenden für Esterel T39 (Top Volume)
 RLB_POINTS = [
 [0,-234,0],    // 0
 [0,-212,0],   // 1
 [51,-52,0],  // 2
 [135,0,0],  // 3
 [277,0,0],   // 4
 [7,-234,0],  // 5
 [60,-63,0], // 6
 [138,-16,0], // 7
 [277,-16,0], // 8
 [26,-234,50], // 9
 [75,-80,50], // 10
 [140,-40,50], // 11
 [277,-40,50], // 12
 [54,-234,50], // 13
 [117,-110,50], // 14
 [154,-90,50], // 15
 [277,-90,50], // 16
 [64,-234,45], // 17
 [128,-114,45], // 18
 [156,-100,45], // 19
 [277,-98,45], // 20
 ];

 RLB_FACES =  [
 [0,1,2,6,5], // flach
 [2,3,7,6], // flach
 [3,4,8,7], // flach
 [5,6,10,9], // schräg
 [6,7,11,10], // schräg
 [7,8,12,11], // schräg
 [9,10,14,13], // flach
 [10,11,15,14], // flach
 [11,12,16,15], // flach
 [13,14,18,17], // schräg
 [14,15,19,18], // schräg
 [15,16,20,19], // schräg
 ];


 scale([1.343,1.08,1]) {
      union() {
          translate([554,0,0])
              mirror([1,0,0])
                  polyhedron(RLB_POINTS, RLB_FACES);
          polyhedron(RLB_POINTS, RLB_FACES);
      };
 };

 This generates pretty much it, but I can't get this shape a thickness.
 How can I do this ? Is there another simple way to construct a
 part like
 this in OpenScad ? What do I do wrong? Any ideas?

 Cheers
 Peter
 _______________________________________________
 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

--
This email has been checked for viruses by AVG antivirus software.
www.avg.com

This is how I stitched together two polygons, one defined as a top and the other as a base.  You can ignore the details of the points lists and focus on my use of BOSL2 and function().  I hope it helps. include <BOSL2/std.scad> include <BOSL2/rounding.scad> $fn = 120; function TopShape() =     [     [0, 0],                                                // 1     [9.4, 0],                                            // 2     [9.4 + 4.1                   , -9.4],                // 3     [9.4 + 4.1 + 21.3            , -9.4],                // 4     [9.4 + 4.1 + 21.3 + 4.1      , 0],                    // 5     [9.4 + 4.1 + 21.3 + 4.1 + 9.4, 0],                    // 6     [9.4 + 4.1 + 21.3 + 4.1 + 9.4, 33.1],                // 7     [9.4 + 4.1 + 21.3 + 4.1      , 33.1],                // 8     [9.4 + 4.1 + 21.3            , 33.1 + 9.4],            // 9     [9.4 + 4.1                   , 33.1 + 9.4],            // 10     [9.4                         , 33.1],                // 11     [0                           , 33.1]                // 12     ]; function BotShape() =     [     [2.3 + 0                           , 2.3 + 0], // 1     [2.3 + 9.4                           , 2.3 + 0],     // 2     [2.3 + 9.4 + 4.1                   , 2.3 + -9.4], // 3     [2.3 + 9.4 + 4.1 + 21.3               , 2.3 + -9.4],     // 4     [2.3 + 9.4 + 4.1 + 21.3 + 4.1       , 2.3 + 0], // 5     [2.3 + 9.4 + 4.1 + 21.3 + 4.1 + 9.4, 2.3 + 0], // 6     [2.3 + 9.4 + 4.1 + 21.3 + 4.1 + 9.4, 2.3 + 28.5], // 7     [2.3 + 9.4 + 4.1 + 21.3 + 4.1      , 2.3 + 28.5], // 8     [2.3 + 9.4 + 4.1 + 21.3            , 2.3 + 28.5 + 9.4], // 9     [2.3 + 9.4 + 4.1                   , 2.3 + 28.5 + 9.4], // 10     [2.3 + 9.4                         , 2.3 + 28.5], // 11     [2.3 + 0                           , 2.3 + 28.5]            // 12     ]; module Shape()     skin(         [         round_corners(BotShape(), radius = 2),         round_corners(TopShape(), radius = 2)         ], z = [0, 36.3], slices=2); Shape(); On 7/4/2024 3:58 AM, Dan Perry via Discuss wrote: > To get thickness, you need to have more points. For example, the point > at [0, -234, 0] would have a corresponding point [0, -234, 1] if the > part is 1mm thick. > > Now you have many more points and faces to keep track of.  This will > be a little easier if you take advantage of the part's X symmetry by > centering on the Y axis.  And even easier if you model half the part > and use the OpenSCAD mirror() function to make the other half. > > Dan > > > > On Thu, Jul 4, 2024 at 4:09 AM Gertrude Musterfrau via Discuss > <discuss@lists.openscad.org> wrote: > > Hello everybody! > > I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer > caravan for which I don't get spare parts any more. I can model the > shape with points in 3d space. The code looks like that: > > // Radlaufblenden für Esterel T39 (Top Volume) > RLB_POINTS = [ > [0,-234,0],    // 0 > [0,-212,0],   // 1 > [51,-52,0],  // 2 > [135,0,0],  // 3 > [277,0,0],   // 4 > [7,-234,0],  // 5 > [60,-63,0], // 6 > [138,-16,0], // 7 > [277,-16,0], // 8 > [26,-234,50], // 9 > [75,-80,50], // 10 > [140,-40,50], // 11 > [277,-40,50], // 12 > [54,-234,50], // 13 > [117,-110,50], // 14 > [154,-90,50], // 15 > [277,-90,50], // 16 > [64,-234,45], // 17 > [128,-114,45], // 18 > [156,-100,45], // 19 > [277,-98,45], // 20 > ]; > > RLB_FACES =  [ > [0,1,2,6,5], // flach > [2,3,7,6], // flach > [3,4,8,7], // flach > [5,6,10,9], // schräg > [6,7,11,10], // schräg > [7,8,12,11], // schräg > [9,10,14,13], // flach > [10,11,15,14], // flach > [11,12,16,15], // flach > [13,14,18,17], // schräg > [14,15,19,18], // schräg > [15,16,20,19], // schräg > ]; > > > scale([1.343,1.08,1]) { >      union() { >          translate([554,0,0]) >              mirror([1,0,0]) >                  polyhedron(RLB_POINTS, RLB_FACES); >          polyhedron(RLB_POINTS, RLB_FACES); >      }; > }; > > This generates pretty much it, but I can't get this shape a thickness. > How can I do this ? Is there another simple way to construct a > part like > this in OpenScad ? What do I do wrong? Any ideas? > > Cheers > Peter > _______________________________________________ > 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 -- This email has been checked for viruses by AVG antivirus software. www.avg.com
GM
Gertrude Musterfrau
Wed, Jul 10, 2024 8:35 AM

Hey guys,

thanks for your answers! I understand that there is no simple way to
solve this problem. Thus, I will have to do some geometry... :))

Cheers

Peter

Am 03.07.24 um 16:08 schrieb Gertrude Musterfrau via Discuss:

Hello everybody!

I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer
caravan for which I don't get spare parts any more. I can model the
shape with points in 3d space. The code looks like that:

// Radlaufblenden für Esterel T39 (Top Volume)
RLB_POINTS = [
[0,-234,0],    // 0
[0,-212,0],   // 1
[51,-52,0],  // 2
[135,0,0],  // 3
[277,0,0],   // 4
[7,-234,0],  // 5
[60,-63,0], // 6
[138,-16,0], // 7
[277,-16,0], // 8
[26,-234,50], // 9
[75,-80,50], // 10
[140,-40,50], // 11
[277,-40,50], // 12
[54,-234,50], // 13
[117,-110,50], // 14
[154,-90,50], // 15
[277,-90,50], // 16
[64,-234,45], // 17
[128,-114,45], // 18
[156,-100,45], // 19
[277,-98,45], // 20
];

RLB_FACES =  [
[0,1,2,6,5], // flach
[2,3,7,6], // flach
[3,4,8,7], // flach
[5,6,10,9], // schräg
[6,7,11,10], // schräg
[7,8,12,11], // schräg
[9,10,14,13], // flach
[10,11,15,14], // flach
[11,12,16,15], // flach
[13,14,18,17], // schräg
[14,15,19,18], // schräg
[15,16,20,19], // schräg
];

scale([1.343,1.08,1]) {
    union() {
        translate([554,0,0])
            mirror([1,0,0])
                polyhedron(RLB_POINTS, RLB_FACES);
        polyhedron(RLB_POINTS, RLB_FACES);
    };
};

This generates pretty much it, but I can't get this shape a thickness.
How can I do this ? Is there another simple way to construct a part like
this in OpenScad ? What do I do wrong? Any ideas?

Cheers
Peter


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

Hey guys, thanks for your answers! I understand that there is no simple way to solve this problem. Thus, I will have to do some geometry... :)) Cheers Peter Am 03.07.24 um 16:08 schrieb Gertrude Musterfrau via Discuss: > Hello everybody! > > I intend to 3d-print a wheel cover (Radlaufblende) for my old-timer > caravan for which I don't get spare parts any more. I can model the > shape with points in 3d space. The code looks like that: > > // Radlaufblenden für Esterel T39 (Top Volume) > RLB_POINTS = [ > [0,-234,0],    // 0 > [0,-212,0],   // 1 > [51,-52,0],  // 2 > [135,0,0],  // 3 > [277,0,0],   // 4 > [7,-234,0],  // 5 > [60,-63,0], // 6 > [138,-16,0], // 7 > [277,-16,0], // 8 > [26,-234,50], // 9 > [75,-80,50], // 10 > [140,-40,50], // 11 > [277,-40,50], // 12 > [54,-234,50], // 13 > [117,-110,50], // 14 > [154,-90,50], // 15 > [277,-90,50], // 16 > [64,-234,45], // 17 > [128,-114,45], // 18 > [156,-100,45], // 19 > [277,-98,45], // 20 > ]; > > RLB_FACES =  [ > [0,1,2,6,5], // flach > [2,3,7,6], // flach > [3,4,8,7], // flach > [5,6,10,9], // schräg > [6,7,11,10], // schräg > [7,8,12,11], // schräg > [9,10,14,13], // flach > [10,11,15,14], // flach > [11,12,16,15], // flach > [13,14,18,17], // schräg > [14,15,19,18], // schräg > [15,16,20,19], // schräg > ]; > > > scale([1.343,1.08,1]) { >     union() { >         translate([554,0,0]) >             mirror([1,0,0]) >                 polyhedron(RLB_POINTS, RLB_FACES); >         polyhedron(RLB_POINTS, RLB_FACES); >     }; > }; > > This generates pretty much it, but I can't get this shape a thickness. > How can I do this ? Is there another simple way to construct a part like > this in OpenScad ? What do I do wrong? Any ideas? > > Cheers > Peter > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org
MP
Marcus Poller
Wed, Jul 10, 2024 2:23 PM

Dear pseudonymous,

TL;DR: Have a look at the attachments.

I just had a brain wave: Your first attempt provided a list of coordinates and a list of surfaces/areas.
The issue is, that OpenSCAD has a strong destinction between 2D (anything in the x-y-plane, can be extruded) and 3D (any closed volume) and does not allow you to mix those two. You exploited polyhedron() to describe a 2D object and put it into 3D space.
You would like to have volumes, described by corner coordinates, thickness is negotiable.

What about using the list of coordinates and the list of surfaces -- plus adding hull() ? That will provide a 3D volume that reassembles thin sheets of material.

Have fun with the attachment,

Cheers,
Marcus

Dear pseudonymous, TL;DR: Have a look at the attachments. I just had a brain wave: Your first attempt provided a list of coordinates and a list of surfaces/areas. The issue is, that OpenSCAD has a strong destinction between 2D (anything in the x-y-plane, can be extruded) and 3D (any closed volume) and does not allow you to mix those two. You exploited polyhedron() to describe a 2D object and put it into 3D space. You would like to have volumes, described by corner coordinates, thickness is negotiable. What about using the list of coordinates and the list of surfaces -- plus adding hull() ? That will provide a 3D volume that reassembles thin sheets of material. Have fun with the attachment, Cheers, Marcus
GM
gertrude.musterfrau@web.de
Thu, Jul 11, 2024 9:07 AM

Marcus, you are a genius!

Thankx a lot, this solves my problem. :-))

Peter

Marcus, you are a genius! Thankx a lot, this solves my problem. :-)) Peter
RW
Raymond West
Thu, Jul 11, 2024 4:50 PM

using a cube instead of the sphere, gives a more 'angular' appearance,
which my match the existing better, and possibly better to fdm print.

On 10/07/2024 15:23, Marcus Poller via Discuss wrote:

Dear pseudonymous,

TL;DR: Have a look at the attachments.

I just had a brain wave: Your first attempt provided a list of coordinates and a list of surfaces/areas.
The issue is, that OpenSCAD has a strong destinction between 2D (anything in the x-y-plane, can be extruded) and 3D (any closed volume) and does not allow you to mix those two. You exploited polyhedron() to describe a 2D object and put it into 3D space.
You would like to have volumes, described by corner coordinates, thickness is negotiable.

What about using the list of coordinates and the list of surfaces -- plus adding hull() ? That will provide a 3D volume that reassembles thin sheets of material.

Have fun with the attachment,

Cheers,
Marcus


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

using a cube instead of the sphere, gives a more 'angular' appearance, which my match the existing better, and possibly better to fdm print. On 10/07/2024 15:23, Marcus Poller via Discuss wrote: > Dear pseudonymous, > > TL;DR: Have a look at the attachments. > > I just had a brain wave: Your first attempt provided a list of coordinates and a list of surfaces/areas. > The issue is, that OpenSCAD has a strong destinction between 2D (anything in the x-y-plane, can be extruded) and 3D (any closed volume) and does not allow you to mix those two. You exploited polyhedron() to describe a 2D object and put it into 3D space. > You would like to have volumes, described by corner coordinates, thickness is negotiable. > > What about using the list of coordinates and the list of surfaces -- plus adding hull() ? That will provide a 3D volume that reassembles thin sheets of material. > > Have fun with the attachment, > > Cheers, > Marcus > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org