> 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
