How to make an array of holes? 1-20  21-24

 From: nycL45 21 Feb 2009  (1 of 24)
 A two-parter: 1/ I am modeling a kitchen tool, a long handled shallow bowl-shaped strainer, and it has lots of holes (1/16"/1.5mm dia., 1/4"/6mm o.c.). There is a center hole surrounded by a hexagonal group (6) and then hexagonal-based concentric rings of holes thereafter with a wedge of holes in the left over spaces. Of course these holes follow the surface of the shallow bowl. How do I go about creating an array of booles and then mass-boole based on this hole pattern in MoI3D? 2/ These holes, on the handle side, have eased (convexed) edges. So, whatever is used to boole the holes, should flair out to ease the edges. Does that sound right? Leonard

 From: Michael Gibson 21 Feb 2009  (2 of 24)
 2434.2 In reply to 2434.1 Hi Leonard, > There is a center hole surrounded by a hexagonal > group (6) and then hexagonal-based concentric rings > of holes thereafter with a wedge of holes in the left > over spaces. It's a bit hard to follow this just from a text description, do you possibly have a drawing or sketch or something that you could post to illustrate? > Of course these holes follow the surface of the shallow bowl. Normally to make an array of holes, you would make an array of circles, using any of the Transform/Array commands, then do a boolean command and pick the circles as the cutting objects. However, it sounds like you want these holes to not be aligned to a single direction and instead change orientation to hug the contours of a surface? If so then that is a lot more difficult, MoI does not currently have any specialized tool to replicate an object along a surface while changing orientation. Depending on what you need, you may be able to project some curves on to the surface and then use the Array curve command, there is a sample of that method here: http://moi3d.com/forum/index.php?webtag=MOI&msg=2262.6 Otherwise if there is no automatic array command that does what you need you will need to place each hole individually by rotating it into place. > 2/ These holes, on the handle side, have eased (convexed) edges. So, > whatever is used to boole the holes, should flair out to ease the edges. You might approach this by doing a chamfer operation on the top edge of the hole after you cut it. That produces an effect like this: Or if you want a rounded piece in there then you do the same thing but with the Fillet command instead of Chamfer. - Michael Attachments:

 From: nycL45 21 Feb 2009  (3 of 24)
 2434.3 In reply to 2434.2 Hi Michael, Thanks for the quick reply. >However, it sounds like you want these >holes to not be aligned to a single direction >and instead change orientation to hug the >contours of a surface? Yes. >Depending on what you need, you may be able to >project some curves on to the surface and then use >the Array curve command, there is a sample of that method here: >http://moi3d.com/forum/index.php?webtag=MOI&msg=2262.6 This will likely work with the concentric hexagonal layout but much more difficult with the areas between. See the attached pic, specifically the black filled circles. Regarding the chamfer, that is what I thought. All 169 holes. I will give the curve projection a go. Thanks again. Leonard Image Attachments:

 From: BurrMan 21 Feb 2009  (4 of 24)
 2434.4 In reply to 2434.3 Hi nycL45, I thought about doing it with a 2 step array. If you have the curve that revolved the bowl you could do a curve array of the first hole to get the orientation, then do a circle array to fill the bowl. Though a single circle array would produce multiple bottom center circles and you would have to edit them out, I did this with 3 steps, thinking you would not want the holes to be symmetrical I was going to suggest doing a second curve with a new set of holes at a different interval then rotate it a bit to get the random holes. I noticed you demoed a symmetrical set of holes, so I will need to fool with this a bit to see if you can make the numbers add up to be symmetrical. EDITED: 19 Jun 2012 by BURRMAN

 From: Michael Gibson 21 Feb 2009  (5 of 24)
 2434.5 In reply to 2434.3 Hi Leonard, I think Burr may be on to something there - there does seem to be a radial pattern there, so possibly if you get one row set up along a curve, then Transform/Array/Circular may be able to create the rest for you. Although maybe not... I guess it would do the spokes of your hexagon but not automatically the parts interior to those spokes. > Regarding the chamfer, that is what I thought. All 169 holes. Actually that part will probably not be too hard - you don't necessarily have to pick each edge individually, you can either pick one edge and then do a window select to capture more within the rectangle you drag out, or also you can instead select a face to fillet and all the edges connected to it will be targeted for chamfering or filleting. For example, if I select just this outer face: Then doing a chamfer will process all these edges connected to it: Sometimes that can be an easier way to target what you want to have processed with the chamfer or fillet. - Michael Attachments:

 From: nycL45 21 Feb 2009  (6 of 24)
 2434.6 In reply to 2434.4 Hi BurrMan and Michael, Nice idea. The curve array lacks the (near) uniformity that my layout has but, I am willing to look at changing the pattern. It appears that 2-3 different arrangements will be necessary to control the density/separation from top to bottom using the curve array. Your chamfer suggestion Michael would be a real time saver. (Sorry if my comment was terse. It was not meant to be critical.) Thanks for the help, guys. Leonard

 From: Nick (BODINI) 21 Feb 2009  (7 of 24)
 2434.7 In reply to 2434.6 How bout this? 1. Make 1 circle 2. Array direction for a base line (either 'direction' or 'curve') 3. Circular array each tier. The first tier is 6, each one after has 6 more. (6,12,18,24,30,etc) 4. Viola! (that is a joke) 5. Also shown on curve (like the curve of a strainer) 3dm below. EDITED: 21 Feb 2009 by BODINI

 From: Michael Gibson 21 Feb 2009  (8 of 24)
 2434.8 In reply to 2434.7 Aha, Nick that is sure looking like the right pattern, cool!! Leonard wrote: > Your chamfer suggestion Michael would be a real > time saver. (Sorry if my comment was terse. It was > not meant to be critical.) Don't worry, I would not be particularly overjoyed at the idea of selecting hundreds of little things one-by-one either! :) An additional thing that could potentially help with this part, is this following script which you can set up on a keyboard shortcut (go to Options / shortcut keys) (may require the v2 beta, not quite sure if it works in v1): script:var gd = moi.geometryDatabase; var faces = gd.getSelectedObjects().getFaces(); gd.deselectAll(); for ( var i = 0; i < faces.length; ++i ) { var face = faces.item(i); face.getEdges().setProperty( 'selected', true ); } That will look at any faces that are currently selected and switch the selection to the edges that belong to those faces. This is the same thing that the Fillet or Chamfer command can do itself with a face selection, but by having the selection done separately like this it may be useful because you can then modify it slightly like deselect the outer edge if you don't want that one to be processed. To deselect something, you can just click it while it is selected and it will deselect or also if you do a window select (where you click in an empty area and drag to get that selection rectangle) you can hold down the Ctrl key while doing the window to de-select things captured by the window. - Michael

 From: BurrMan 21 Feb 2009  (9 of 24)
 2434.9 In reply to 2434.7 Looks like nick hit the pattern, It's exactly the pattern in the picture. EDITED: 19 Jun 2012 by BURRMAN

 From: nycL45 22 Feb 2009  (10 of 24)
 Nick did it. Nick, how did you do the holes between the arms radiating out from the first hexagon group? I know that you can make the first group and then array it around at 60deg but how did you make that first group? The "group" are the black filled holes in my illustration above. Michael, I like the script idea since it answers the question about deselecting edges that would not be chamfered. Also, it will take my skill level up a notch; I have not tried using Moi3D scripts. Thanks. BurrMan, one thing about your hole pattern illustration, the first ring out from the center would have six holes. Having twelve results in one less outer ring and too many holes in the "group". Thanks for helping out. As it is said, "The proof is in the pudding." I will put this to use and post what I come up with. Thanks, Leonard

 From: Nick (BODINI) 22 Feb 2009  (11 of 24)
 2434.11 In reply to 2434.10 >Nick did it. Nick, how did you do the holes between the arms >radiating out from the first hexagon group? I know that you >can make the first group and then array it around at 60deg > but how did you make that first group? The "group" are >the black filled holes in my illustration above. I'm not sure I follow you... but I think, that you might be trying to hard (I let MoI do the thinking :) ). The only thing I did is what you see in the screen shots. I just used Array>Circular for everything and added 6 to the "Item Count" field each time. Thats it! I never concentrated on the white or blacks, just the # in each tier and where the base line was. :) Attachments:

 From: nycL45 22 Feb 2009  (12 of 24)
 2434.12 In reply to 2434.11 You are so right, "trying to hard". And, it can make my head ache. :) I now understand you; the key: "...just the # in each tier..." So simple! Brilliant, Nick. And brilliant, Michael!! Really! Thanks, Leonard Edit: it took about two minutes to complete the hole layout! A note for others struggling with this in the future: in the # field of the circular array info, the first tier number would be 6 (holes) and each successive tier, n+6, where n is the previous tier's number of holes. Thanks again all. Leonard EDITED: 22 Feb 2009 by NYCL45

 From: nycL45 22 Feb 2009  (13 of 24)
 2434.13 In reply to 2434.12 Here is the kitchen utensil. Michael, I tried the surface and hole selection but the fillet did not work. It remained in calculation for a long time and then ceased without applying a fillet. I tried several times. Leonard Attachments:

 From: Michael Gibson 22 Feb 2009  (14 of 24)
 2434.14 In reply to 2434.13 Hi Leonard, it is looking really great so far! re: Failed fillet - it looks like the object has a pretty small thickness in that area. That will limit the fillet radius or chamfer distance to need to be a really pretty small value in order to fit within that small area, like maybe something around the range of 0.01 or so? If you can post the .3dm model file here, or send it to me at moi@moi3d.com (if you wish to keep it private), I can take a closer look at it. - Michael

 From: BurrMan 22 Feb 2009  (15 of 24)
 2434.15 In reply to 2434.13 Something to grab "Malasada's" out of the fryer.

 From: BurrMan 22 Feb 2009  (16 of 24)
 2434.16 In reply to 2434.13 The trick would be to pick just one hole and get the value right, then do the surface slection and wait it out.

 From: Nick (BODINI) 23 Feb 2009  (17 of 24)
 2434.17 In reply to 2434.16 Try something like 1/3 of the thickness of the hole (can a hole have a thickness? there you go thinking too much again :) ).