Fusion API and Scripts
Got a new add-in to share? Need something specialized to be scripted? Ask questions or share what you’ve discovered with the community.
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Seeking developer to collaborate/consult with on making a plugin for fusion/cam

Message 1 of 1
156 Views, 0 Replies

Seeking developer to collaborate/consult with on making a plugin for fusion/cam

Hey everyone, I am trying to have made a plugin for fusion 360, in python.  I have quite limited skills in this department.

It is basically the automation or semi automation of the CAM process for a machine which can both deposit and do milling operations.  I can do the process manually, and it is quite rote.  The draft instructions are included below, for instance.



--------BEGIN CAM programming technique version 2

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. that can be hard coded in for now.
-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.
-- the max layer height that is practical for the tools used and feature sizes or sharpness. This can just be a user adjustable parameter. In the future, it would be good if it was adaptive, greatly increasing build speed.
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. 
-- red should be minimally above the blue. that implies raising blue as much as you can get away with, generally. This is just one strategy, there may be others, but lets focus on getting somewhere with this one first.

-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 need 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, and also the compact top.

-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.

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

-- for red layers, then make another sketch on the red deposit top. project in the the red layer surface outlines. project in and combine it with the below 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
the program does not have to do this, it can decide on machining heights independently. We might stop doing this manually anyway, now that we need separate heights for the red.
- 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 to the 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.
- 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.

# fundamentally it would be better to use a loft to form surfaces that cover the top edges of the red surfaces much like a blanket over the whole thing. or a very thin sheet. That may or may not be easy to program, I don't know. it could replace some of the machining boundary stuff and would perform better and be a more reliable way to do things, with less potential complications in the future.
______________end cam programming technique vversion 3____________


Video explaining the process:



Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th

Autodesk Design & Make Report