Progress report

posted Apr 9, 2019, 7:44 AM by Anthony Douglas   [ updated Apr 9, 2019, 10:39 AM ]
I have made some substantial progress in the last month and a half, mostly because I have had a vague semblance of a workspace, a section of a shared two car garage, made possible by my friend and fellow open source ecologist Matt and his wife Carolyn.

I have been able to make a lot of progress on figuring out the core of how the process works, the process for generating the gcode, and formulate plans for what material to use at first, and the deposition apparatus.

However I am still working in what are objectively extremely poor conditions, and this slows everything down severely.  My housing situation is again precarious, too. 

As long as I continue to be allowed to use the garage, I can still progress at a slow pace at least.  I am discussing cleaning up and reorganizing the garage etc. and may be able to get better housing soon.

I have made a few videos that explain the process, as it evolves things change fast though, so I will only bother to post the most recent one here.

I am currently focussing on producing an add on written in Python, for fusion three sixty, which I think will be a practical way to automate the process to produce gcode.

I have achieved the very important first milestone of producing the complete gcode for a test part, with a great deal of manual interventions and thick layers.  The layers must be thick to limit the number, or the process is far too time consuming.  As it stands, with the use of thick layers, the feature size is limited though.  Much of the power of the process comes from being able to use small layer heights, thereby allowing the use of small diameter tools to get those small features machined.  

With the manual approach, you get a substantial radius on the inner, upward facing corners.

So, automation of this process is critical, however it looks promising that a plugin will be able to do this.  


current instructions for manual cam:

prepare the model
-import the model into solidworks.  create split line
-offset all upwards facing surfaces, have to manually select them. careful not to miss any, sometimes it splits faces in nonsensical places
-offset all lower facing surfaces
- offset all vertical surfaces.
-import the solidworks file into fusion.
in fusion from now on:
-have the solid body present. 
-put all up surfaces in a folder
-put all down surfaces in a folder
-put all vertical surfaces in a folder.
-color all up surfaces red
-color all down surfaces blue
-color all vertical surfaces green

**Start layer height decision making, splitting surfaces and sketching

- draw a sketch under the model to indicate the deposit layer boundaries. this will be used for extruding stock blocks. call this the deposit layer boundary.
#we could make a 3d sketch with points for layer heights.  little point for now. in the future allows easier editing ands positioning of planes, esp where the self occlusion point are which is hard to position a construction plane at.
- draw another sketch offset 1/2 of a tool diameter outwards, to use as the machiing boundary when doing red pocketing with hard exclusion boundaries. So 1/16 of an inch out if we are using 1/8 inch end mills for roughing.
-decide on a compact top height based on: 

-4 major hard rules, which determine major layer heights, which makes layers regardless of tool aspect ratio limits, to ensure machining is possible with a three d strategy. violating these results in defects, however we cannot use thin enough planes for all features yet, so that criteria we have to slide on till we have a plugin:
-- blue top cant be raised above the point where it occludes a red surface.
-- a red top cannot be raised above where red occludes a blue
--no top can be raised above a point of self occlusion, even a red top above a blue self occlusion point. I think.
-- the max layer height that is practical for the tools used and feature sizes or sharpness.
Guidelines we can use for now to narrow down the choices:
 -- we could make the red top coincident with the blue deposit top in some cases. that would be consistent with the minimal red advance strategy.  indeed it requires it.  that would simplify things in some ways. it could prevent sharp vertical edges and some sharp points of red which might break off and result in a defect. ideally we would specify the red solid shape and then machine it, not the tool layer boundary stuff but gotta make do for now. we camn do the contour first, that would revenet sharp points.  sharp points are over blue anyways so they will get redone so doesnt mater.  dpesm't jhelp with the vertical sharp surfaces. the tool does not need to go over ther though maybe it wont in which case problem solved.doesnt really help much once you have the other stages automated
-- red should be minimally above the blue.  that implies raising blue as much as you can get away with, generally.

-make a surface for the plane, might as well make the sketches for them projected rectangles of the deposit layer boundary.
-Make the deposit top surface for each plane using the surface offset tool
- color it. we only ned to color the top of each pair really.
-the program should name them, when doing it manually lets not bother for now. we can see thm visually easily enough.
-split all surfaces that intersect with the deposit top using the deposit top. #lets try splitting surfaces only at the deposit top. not compact top Open split face tool, first selecty the splitting surface, then view the model side on and use a crossing box so drag from the top right down and left across the model at the height of the layer to select surfaces that intersect with the layer. for surfaces below it, we can select the whole thing all the way down, and machining will still stop at the stock bottom without issue.  

-for both blue and red layers, make a sketch with the intersection of the compact top planes and solid model. slice the sketch and select the model. then select the patch to do the next step without exiting the sketch so it stays sliced. I think. we might not always need it.  for now lets make it just in case we need it later on. for the first blue layer we needa special sketch  cuz the blue is not at the level of the red bottom.

- for red make a patch of this compact top intersection sketch created, this is useful as a machining surface for blue first layers to expose the red again. 

-- for red layers, then make a sketch on the red deposit top.  project in the inner part of the red layer tops, which would be the sharp upper edges if just the red was machined. or all of them. project in and combine it with the lower blue compact top layer intersection sketch.  identify the tool exclusion contour. close it with one line. that makes the inner machinig boundary, to keep the tool out of.   when the red does not intersect the olane there would be only one contour, and we would just have no exclusion contour. the program has to account for this, not go and treat that contour as a tool exclusion zone.  Or just say that in the event the red surfaces do not intersect, dont bother making a sketch or selecting the contour. the machining operation generation section has to also account for this. #this region doeslt reallyneed to be closed witha straight line, could use the section of the compact top intersection sketch to close it.  this is a bit simpler, we just say if there is more than one countour, its the innermost one that is the tool exclusion zone.  YEs, this also prevents any lumps of blue getting in there, which could actually happen otherwise.

-return to "-decide on a compact top height" and repeat for the next layer, remember minimal red advance, maximal blue

**make stock blocks
- next, make the stock blocks of red and blue material to use in hsmworks. use the sketch of the layer boundaries previously produced, and a two direction extrusion, one direction to the top one direction tothe bottom of the layer. 
-for blue make it extend from compact top of lower layer tp deposit topof iupper layer
-fOR RED make it to the compact top of the previous red layer. The machining heights are what we are selecting here. lets make it extends from deposit top to compact top. 
-make a new folder for the red stock and name it red stock
-make a new folder for the blue stock and name it blue stock
-put the relevant stocks in the relevant folders so you can find them when camming. divide and conquer.
- put the little used surface bodies in a littel used surface bodies folder so they dont slow you down.
# we can use the volume of the stock blocks to estimate the maximum amount of material needed to deposit. for now just let the extra go to waste. not right now

**in hsmworks:
dont forget to use the radio buttons for selection 
for the first two layers, make new setups. then, for subsequent layers, duplicate and edit those. Then after the duplication, delete some of the operations, change the model geometry in the similar one, duplicate them again, then change the tools. This is just to avoid reselecting the geometry. or we could just duplicate and reselect geometry for all operations sure 

there are three things to do in each layer: clear the way for the next deposition, i.e. no material taking up volume which is going to be consumed by the next deposit with different material.  two, expose the top of material so the next deposit sticks.  three, clear material away from the surfaces to be shaped in that layer.
-for each new layer:

-Seed setup: blue:one pocket operation, none selected for model geometry for both setup and the pocket operation, let use machine shallow stepovers, minor preference.  
red:for red, three operations, one pocket for the top area with boundary the red surface projection combined with compact top sketch and the layer boundary, a 2d contour to trim away red with the contour being the compact top sketch of the blue layer below, and another pocket, with the tool exclusion boundary the compact top intersection sketch of the blue compact top below, and the offset of the layer stock boundary.
-- we can make the top the stock top and bottom the model bottom for the blue operations, having made the stock blocks accordingly.  The red needs different heights for the different pocket operations.
-- make the entry plunge
-- stock to leave, 10 microns to make the simulations look better. 
- max step down 3 mm but with machine shallow areas so it basically does some finishing but comput time is less
-duplicate and reposition it
-modify the setup for the new stock block.  make sure there is none selected for the model.
-then modify the furst pocket operation for model surfaces and machining boundaries. dont forget to select the surfes in the layer below, which are inthe overlap region
--for red first layers, for the first pocket operation, make the machining boundary the area between the two or more contours that we made as sketches for the purpose previously, the projection of the red surfaces combined with the model and compact top intersection sketch to find the smallest inner contours made from the lines that close the contours where the two sketches intersect.  Make the boundary tool center

-- for blue layers, dont forget to  select the patch on the top of the red layer below and machine it with pocket to clear way for red deposit and expose the red surface
- for red layers, do a contour operation to chop off extra red, after the first pocket.  the contour being the model and compact top intersection sketch in the blue layer below, on the compact top of the blue layer below.
- for red layers, do a second pocket operation to the bottom of the stock, with a tool exclusion contour that protects blue.  One contour will be the compact top intersection sketch, the other the sketch slightly larger than the stock boundary that I made way back there.

- maybe make more operations with smaller tools and rest machining and/or make derived operations for finishing. #at this point the number and variety of operations to try to acheive closer tolerances and better feature sharpness for internal corners by using smaller tools etc. is mostly discretionary. lets leave most of that till later.  just a matter of more tools, tighter tool paths, thinner layers.  That we need the plugin for because smaller tools take smaller layers and it is impractical to program a large number of layers.
-now repeat for the next layer.
- add the layer height and stock volume nc code to each layer.