discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Re: [OpenSCAD] part not rendering properly?

P
Parkinbot
Tue, Jun 14, 2016 12:39 PM

without having analyzed your code let me remark something, as it takes a long
time to show up with F5.

There is some problems in OpenSCAD with closely attaching shapes.

http://forum.openscad.org/file/n17673/od.png

As your result 'lives' in 2D it might be a better idea to start and compose
everything in 2D using circle() and square() modules instead of doing it in
3D and projecting it down. A 2D-shape you can linear_extrude() to have it
3D. This is fast.

Here is a different approach, as a start. Not exactly your measures (didn't
understand your outer slot description), but fast, and easy to understand
and alter.

grate_od = 59.5;
grate_id = 58;
grate_thickness = 1;
slot_height = 0.5; //inner slot
slot_width = 1.06; //inner slot
number_of_slot = 24; //number of inner slot
outer_slot_height = 1;
outer_slot_width = 0.625;
number_of_outer_slot = 8;
outerslotradius=0.156; //inside the outer slot hole
outerslotradius2=0.312; //the two hole on outside slot hole
totalouterslotwidth=2.5;
number_of_slot_holes=8; //number of outer slots

rot_offset = 360/number_of_slot/2;

$fn=100;
difference()
{
added();
subtracted();
}

module subtracted()
{
circle(grate_id);
for(i=[0:360/number_of_slot:359.9]) // inner slots
rotate(i+rot_offset) translate([grate_id, 0])
square([2*slot_height, slot_width], center = true);

 for(i=[0:360/number_of_outer_slot:359.9]) // outer slots
   rotate(i) translate([grate_od+outer_slot_height/2, 0])
      square([2*outer_slot_height, outer_slot_width], center = true); 

}

module added()
{
circle(grate_od);
for(i=[0:360/number_of_outer_slot:359.9]) // outer slot support
rotate(i)  translate([grate_od, 0])
square([2*(outer_slot_height), totalouterslotwidth], center =
true);
}

--
View this message in context: http://forum.openscad.org/part-not-rendering-properly-tp17670p17673.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

without having analyzed your code let me remark something, as it takes a long time to show up with F5. There is some problems in OpenSCAD with closely attaching shapes. <http://forum.openscad.org/file/n17673/od.png> As your result 'lives' in 2D it might be a better idea to start and compose everything in 2D using circle() and square() modules instead of doing it in 3D and projecting it down. A 2D-shape you can linear_extrude() to have it 3D. This is fast. Here is a different approach, as a start. Not exactly your measures (didn't understand your outer slot description), but fast, and easy to understand and alter. > grate_od = 59.5; > grate_id = 58; > grate_thickness = 1; > slot_height = 0.5; //inner slot > slot_width = 1.06; //inner slot > number_of_slot = 24; //number of inner slot > outer_slot_height = 1; > outer_slot_width = 0.625; > number_of_outer_slot = 8; > outerslotradius=0.156; //inside the outer slot hole > outerslotradius2=0.312; //the two hole on outside slot hole > totalouterslotwidth=2.5; > number_of_slot_holes=8; //number of outer slots > > rot_offset = 360/number_of_slot/2; > > > $fn=100; > difference() > { > added(); > subtracted(); > } > > module subtracted() > { > circle(grate_id); > for(i=[0:360/number_of_slot:359.9]) // inner slots > rotate(i+rot_offset) translate([grate_id, 0]) > square([2*slot_height, slot_width], center = true); > > for(i=[0:360/number_of_outer_slot:359.9]) // outer slots > rotate(i) translate([grate_od+outer_slot_height/2, 0]) > square([2*outer_slot_height, outer_slot_width], center = true); > } > > module added() > { > circle(grate_od); > for(i=[0:360/number_of_outer_slot:359.9]) // outer slot support > rotate(i) translate([grate_od, 0]) > square([2*(outer_slot_height), totalouterslotwidth], center = > true); > } -- View this message in context: http://forum.openscad.org/part-not-rendering-properly-tp17670p17673.html Sent from the OpenSCAD mailing list archive at Nabble.com.