Make It With MoI

 From:  Mike K4ICY (MAJIKMIKE)
4388.47 
Today's tutorial shows you one use for the "ArrayGem" command:::

Also known as the "Fifth Wheel of the Array Toolset", it is not presented in the standard UI and needs to be activated from the command input or by keyboard assignment.
Guess what? - ArrayGem isn't a crazy extra that makes gem stones - IT CAN USE AND ARRAY ANY OBJECT!

Briefly described - it takes any selected object, and using a reference circle (usually at a base point of the object) arrays copies of it not only along any selection of curve paths, but also in orientation to an associated surface.
For more on ArrayGem, see MoI's documentation in the additional commands section.


How to model a common hair brush:

We'll be making a Network Mesh to get the plastic molded handle.
1) Create your side profile curves. One Freeform curve will work the best.


2) Go to a side view and manipulate the points to give the profiles a interesting lateral shape like an undulating curve, doing what stylish handles do...


Yes! - You can Network Mesh funky 3D curves...


3) Draw curves to define the perpendicular boundaries of the brush handle shape.


4) Rings are made laterally along the general path of the profile curves to define the shape through the network.
Note: The rings do not have to be near the ends, infact, they'll create a smoother start and end if they are set back some.


Use as many rings as you need to "emphasize" the shape along the length of the network mesh.
5) Fit the width and height of the rings to match the profile edges in all directions. They are hard to see from the ends, so guessing is fine - you can adjust them later with it's history ability.
Also: try to rotate and orient the facing direction of the rings to best suit the flow of the network shape - as you can see in the image. Note the angles of the ring's orientation...


6) Create the Network Mesh - adjust the shape and position of the profiles and rings to get the best shape - as network meshes average the profiles to each other.


7) Boolean Trim a hole in the handle for where a hook or loop strap would go.
Trim a circle through, then Fillet the edges.
- I could write a whole tutorial on how I got that hole to work... the stupid seam curve on the mesh didn't play nice with the Fillet. I had to do half a dozen go-arounds to make it work.


8) Make profiles for the rubber bristle pad base and Network Mesh them. Use the Top view for reference.


9) Make sure the bristle pad base "sinks" into the handle.


10) Trim the handle object from the bristle pad base object.


The resulting shape...


11) Draw a line or curve and Array Direction duplicate it to fill in the pad area.


12) Draw an inset curve to trim the pattern, so that it resides more on the inside of the pad and not too close to the edges.


13) Trim and delete the excess. Mirror Copy the pattern to the other side.
Also - I added a straight line down the middle of the pad (not shown here) to complete the arrangement.


14) Project the whole pattern to the base pad object face.
This will be used for the ArrayGem to follow...


15) Create a bristle, with a little ball on top using Revolve on a profile.


16) ArrayGem needs a reference circle (maybe other shapes will work - need to find out).
If there is one handy, copy and past it. Move it up a little also - this will essentially sink the bristle into the pad a little when you array it.


17) Input the command "ArrayGem" in the input box at the bottom of the screen or use a keyboard shortcut.
There are four objects that ArrayGem will ask for in two steps:
You'll first grab the [Object to be Arrayed] along with the [Orientation Reference Ring]
Then, you'll be prompted to select the [Path Curves] and the [Face for Orientation] (not necessarily called those things).
Note: The path curves must be oriented along the surface of the face. Use Projection...


Then After 18) Selecting the array distance, ArrayGem will magically make copies of your object and arrange them along the curves with the object oriented where the reference circle is rested on the surface.
Ehhh.... hmmm... Not what I wanted. Puzzled for only a few seconds, I figured it was the physical orientation of the reference ring on the object...


I flipped it across, or mirrored the circle on it's center axis...


AFTER FIVE MINUTES!!! Be patient, it takes some time to copy hundreds of your favorite objects along convoluted surfaces and paths...
You may need to change the Spacing variable...


Sweet!
Note: I have found that as the array moves along sharper curvatures, the distance seems to increase. You may have problems getting a nice arrangement around more curved surfaces.
This takes true trial and error.


Introducing the New MOI hair brush series!!! (oohs and ahhs) Comes in 22 Fabulous Colors!



Michael: Just another wish suggestion, think nothing of it, if it is too esoteric. Another Array option could be made to place a grid or diamond configured (offset) grid of objects on a surface, starting from a chosen middle point and with the ability not to place objects too close to each other, or to even space them out. For instance, I tried to create cylinders to cut holes on a curved surface for a speaker grill. It was a mess.
It would essentially "blanket" a larger object with evenly spaced smaller objects in an even pattern... You could put hair follicles on a head... weird, I know.
Just a thought off the top of my head... could be kept off the UI along with this array tool. ;-)

I've seen your example of the ArrayGem function in the commands instruction list all along... but for the life of me... I thought you really meant that it was some kind of funny "gem stone" making tool!
It should've been called "ArraySurface" or something - but I guess it really is a nice "Gem".
Attachments: