# Best way to array/pattern something in a sketch so that it remains in a defined region

I went back to to the holes in the plate from this sketch. Based on comments I am assuming the 2.5 dia. holes are equally spaced 4.25 mm apart covert the surface of the plate. I also made an assumption that no hole edge could be closer to the edge of the plate than 4.25/2.

I started out with the rectangular array command. Since the second col is half a spacing off and the array command does not allow for this I was faced with two choices at this stage. Either make two arrays (first column and second column) or create the second column hole and include it with the other hole and just make one array. I chose the later.

I then proceeded to create a square array that was large enough to cover the circle. And then decided on a way to center the array on the circle. This was all pretty straight forward in my mind.

Then I had to look up how to break the array so I could delete the excess holes, and all holes that were too close to an edge. That lead me to this Q&A.

So after several mouse clicks later I wound up with a bunch of independent holes in a nice pattern.

Then I realized I should have done the holes last because when I started adding center lines and constraining things, the two large circles wound up shifting around and no longer centered in within the small hole pattern...let alone still having to add some leg notches.

I also did a bit of googling to see if I could array a pattern within a region. Similar to how one does a hatch pattern in AutoCad. My search did not provide me with any positive answers

Is there a better way to approach this pattern? Is there away to achieve similar results while keeping it an array?

I wound up trying two separate arrays. I defined the start point for the second array using a 30, 60, 90 degree triangle, and made the second circle equal to the first which had a dimensionally controlled diameter.

Of note here because it confused me the first time, I was able to place a dimensional constraint on the horizontal without it being a driven dimension. It turns out that a HORIZONTAL dimension is not over constraining the triangle, but an aligned dimension is. My second run through I think I constrained the horizontal part of the triangle to be horizontal and it immediately came up as a driven dimension.

I then set up the first array, with a count of 30 items and made the vertical spacing a function of the 4.25 diagonal dimension. I then assigned the horizontal part of the array to 17 or 18, and assigned the spacing to 2 * the driven dimension.

I repeated this process for the second array based on the second circle but reduced the vertical and horizontal item counts by 1.

I then drew an X through the resulting array field to find the center of it.

I then zoomed in on the center circle and selected it using the move tool. After selecting it's center as the base point, when I went to zoom with the mouse wheel, I proceeded to lock up my computer for a significant amount of time. After returning from running about 3 ours of errands, my screen was waiting for me to pick a destination point which I did. And I wound up getting a pattern that look like the following over my completely sketched part.