4 Replies Latest reply on Feb 5, 2018 6:35 AM by Gareth Ward

    How to Subtract an entire Linear Pattern from a solid body

    Gareth Ward



      I am trying to create the unit cell of a structure that I would like to print, with the end result being two separate but overlaying STL files.


      To do this, I need to create a linear pattern of a particular element, and then keep only what is left within a certain volume, which I can then use to choose how many unit cells to print. This pattern is complicated, so it is not feasible to figure out how to draw only one unit cell directly. It will look something like this, a series of 6 pointed jacks centered in a cube that is smaller than the length of the jack rods, but rotated in a way that it intersects the surrounding cubic elements at an angle. In the end, it will look like a series of rods coming through a cubic volume at apparently random angles, but it would form the jacks if patterned in 3d. I have attached a picture of an example of such a structure made in COMSOL, with the blue being the rotated jack, and the transparent cube being the unit cell (each of these needing to be a separate STL file)


      The plan is to do something similar as I would do on COMSOL multiphysics - create a 3D array of the rotated jacks, and then intersect a cubic volume with the array to leave only what overlaps. Now, I can do this for one of the STL files - that is, create a 3D cube with the required holes (which will be made from one of the plastics in the 3d printer), because the features>combine tool allows me to select the cube as the main element, and subtract each element of the 3 linear patterns that I created to form the cubic array. However, It is proving very difficult to do the opposite, and leave only the parts of the 3D pattern that lie in this volume. The problem is that for the combine feature to work, I need to be able to select the entire 3D array as the 'main body', but I cannot do that, I can only select one element of it at a time.

      I have tried making a larger cube with the required cubic volume cut out of the middle to subtract from the 3D array, but I run into the same issue.


      I thought the best option would be to combine the linear pattern into one selectable body, so that solidworks treats the whole thing as one item to be subtracted from. However, this isn't possible either - the linear patterned jack elements by necessity do not touch each other, and there doesn't seem to be any way to have solid works treat non-touching entities as one thing (which is odd, because I can select 'Lpattern3' outside of the feature options for example). I have attached a picture of what this thing currently looks like, that is the 3d array and the cubic volume. I have also attached my solidworks part file of this so far.


      Does anyone know what I can do to successfully leave behind only what parts of the 3D array intersect the cubic volume?






      Message was edited by: Gareth Ward