> There are a few other people working on the problem of modeling material
> removal. Unfortunately it seems that our approaches are different enough
> that merging the projects would be difficult.

hi all,

I've done a bit of work modeling the stock as a signed-distance field.
I'm using the classic marching-cubes algorithm to extract the
iso-surface triangles of the stock model. There are more advanced
approaches which also store surface normals in each octree vertex. To
save space the distance field is not stored on a regular 3D grid, but
in an octree which is subdivided whenever required.
the approach is described here:
http://www.cadanda.com/V2Nos1to4_11.pdf
http://dx.doi.org/10.1080/00207540410001671651
http://dx.doi.org/10.1115/1.3130231

my results are here:
http://www.youtube.com/watch?v=1DAvgLCj_RQ
http://www.youtube.com/watch?v=17mpgQ4KVLg

The code is here:
http://code.google.com/p/opencamlib/source/browse/#svn%2Ftrunk%2Fsrc%2Fcutsim

This approach can deal with any kind of cutters as long as you come up
with the distance field for the cutter, essentially a function that
takes an xyz-position and returns positive outside the cutter and
negative inside.
To model cutting moves or sweeps the sampling-approach is used. The
low-level operation (runs in 1ms or so) is to subtract the cutter
positioned at some xyz from the stock. Linear/arc/etc. moves are dealt
with by positioning the cutter at many sampled points along the path
and calling the basic function which subtracts the (stationary) cutter
for each sample point.

I hope to do some more work on this in February. The to-do list could
look something like this:
- find a g-code interpreter (emc2 or other) which can be used to read
g-code and output 'canonical' G1 type moves to the sim
- work on accelerating the opengl 3D view. I hear this involves things
like VAOs and/or VBOs which I haven't tried.
- I'm now calling the lib/sim from python, but this is probably too
slow. Think about a C++ GUI that would integrate interp+3D-view+cutsim
- fancy sim improvements:
-- different colors for stock cut with different tools
-- material removal rate calculation/plot/warning
-- collision detection (fixtures=forbidden stock region,
toolholder=forbidden cutter region)
-- improved marching-cubes: dual-contouring, hermite-data, etc.

enjoy,
Anders

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to