1. If toolpath was hidden, it becomes visible on operation selection.
After selection of other operation it returns back to its hidden state.
2. On operation selection all other cam toolpathes objects become deselected
3. Added checkbox option under "CAM operations" > "Hide all others"
This options gives ability to user to automatically hide all other
cam toolpath objects except the current operation cam toolpath.
I guess this was always the wanted behaviour, correct me if I'm wrong -
so setting this to true, both for the operation target, as also for
bridge curve.
- changing source of data, object, or group will now automatically
highlight the object/group being used by the operation
- removed duplicate creation for group_name property
- deleting the operation will also delete the path object/mesh
- if the path object is not available then the if the operation uses an
object it will be highlighted in the 3d view
The user no longer has to apply modifiers to a mesh before calculating a
cam operation. If user option "use mesh modifiers" is enabled then a
temporary mesh is created with all modifiers applied.
This has not been tested with OpenCamlib.
When adding new featuers, the default behaviour should always be so that
things work like before by default... Please don't assume more users
will want a new behaviour, and not noticing this might be dangerous for
users who are used to a certain behaviour.
If experimental is disabled in addon properties then disable the
following:
- first down for pocket and medial axis operation
- gcode header and trailer
- tool change overides
- block numbering overrides
- block numbers can be enabled/disabled in gcode output. the starting
number and increment value can also be set
- Tool change commands output can be controlled along with G43
added the following post processor override options:
- output block numbers
- output tool definitions
- output tool change commands
- output g43 on tool change command
- output a user defined g-code header for an operation
- output a user defined g-code trailer for an operation
Generates overcuts on a curve.
- inner, or also outer polygons.
-has threshold for angles to consider
the overcuts are optimal - done so that the radius of the cutter only
touches the corner, but doesn't go behind it.
the memory limit is a new feature, preventing crashes when ppl. e.g.
compute path on the default size obects, and also any other cases with
non-exact mode.
otherwise, big, happy removal of polygon library residues. This library
is NO logner a dependency of blender CAM. Shapely library works far
better in most cases. Sometimes it's slower but this can be compensated
with optimizations almost always quite easily.
new bridge implememtation:
bridges are generated from a group of curves, which define bridge
borders. This works much better than the old implementation, where auto
bridges didn't work well with other features like ramps, multiple
outlines.
fix free movement back to where it was.
it's up to the user to set it right.
subdivide edges fixed with scaling, now also off by default, could be
very slow some times.
this makes some preferences for blender cam,
first one is to hide experimental stuff for releases, so we can work on
the features and still not to get questioned all the time about "how
does the new stuff work"...
minor bugs and decrease default simulation detail - simulates of course
4x faster(at least)
most users probably won't go into this setting, and default detail was
really too good for simulation.
waterline mess
trying to fix waterline a bit.
this is algorithm usefull for slowing down in heavy load areas, which can be retrieved when simulating the operation. not yet plugged in to export, but giving a nice graph as shape key ;)
suggested by Gael Rosset.
offsets curve in both ways so that the result is the same curve but with minimal radius of the cutter, so it can be cut both outside and inside with the same result ;)
-better limits for 4 axis pattern - now enables positive operation depth end, which enables not to mill the axis by now, but is flexible enough for cases where you would want to go below the axis...
reverted chipload algo, have to investigate why it doesn't work now.
made shapely obligatory by now. It has been tested on all platforms allready, and I want to move forward to complete replacing of Polygon.
fixed bug in nc, when exporting more than 1 axis.
tried to generalize 4 axis path generation code
re-allowed more panels hooked to specific renderers in the interface
Changed the way rotations are stored in the path mesh object - now they are stored as shape keys
this enables to project a curve towards another curve, and do the sampling along the way - this enables undercuts for 3 axis! and should be also usefull for n-axis.
5 axis indexed now works in the phase of generating path, but it's just a proof of concept.
It rotates objects as for 3 axis, there is a big advantage of this, because it should be same speed as 3 axis. Otherwise, bullet is probably slower when operating really in 3 dimensions.
-enable 4 and 5 axis interface again,4 axis currently broken, trying to fix this, 5 axis is just interface by now
-enable experimental strategies
-more code reorganization
-disabled parallel step-back in combination with layers, this shouldn't be allowed also before.
-small code reorganisations.
-ramps for curve to path
-fix several zero divisions in ramps
-add some comments
-commented unused outlineimage functions
-some small tests in CrazyPath
more medial axis experiments, but not usefull yet
some care for slicing -
- add indexes, so you know which layer is which
- add the default thickness to curves, to see how the object looks when glued together
still needs merging of curves which are inside each other, by now not supported.
-separate slicing code, it has now separate file slice.py and a panel, similar to pack curves.
-very first experiments towards medial axis algorithm, will probably replace this with openvoronoi if I suceed in compiling it for windows.
- fix error message with use of curves that are not on a visible layer, curves get moved to visible layer temporarily.
- comments for pack.py
- improve testing script
- splitting of files now lifts the cutter on file end, and writes spindle and feedrate info in the following files
-voronoi diagram library taken from the VoronoiDelaunay add-on from blender. I tested about 4 versions of this library and this one is most stable. to be hopefully replaced with OpenVoronoi.
-new rams with zig-zag direction, can be later used in any operation. Now still only in cutout, non-closed curves work now however.
-fixed some bugs with ramps
-object silhouete operator, enables extracting silhouete from 3d object. Mainly for debugging, but can be used in some cases. Only for low poly meshes now.
-silhouette offset operator for objects. you can offset curves and object silhouettes interactively now.
-silhouete generation function was revamed, for separate and more flexible use.
-removed some debugging comments
-fixed a bug with alignment - all cutouts and silhouettes were offest by amout of 2 pixels! This was introduced with another fix
- new feature: curves packing for 2d cutting. Although slow and stupid algorithm, gives nice results in first tests.
-poll function for panels, now it draws only when blender CAM is chosen in upper header.
-ambient in non exact mode removed from image based part, to shape based - needs testing.
- more update function problems. I should kill those!
- cleaned up some todos.
- finally found evil bug with polygon hierarchy depth.4 hours on this one... :(
-fix ambient All in non-exact mode
-add Blender CAM as an output option in upper info header, which enables hiding of render buttons from internal renderer.
-fix error when adding an operation for the first time with 0 objects in the scene, which also creates the machine area object.
-fix update of machine area size object when changing it's dimensions in the ui
-fix a bug in ambient calculaction in non-exact mode
-merge ambient and limit curve calculation - should save some sampling time, thus be a bit faster again :)
-ambient and limit curve have a common option - whether cutter goes with the tip on the limiting line, or stays inside the area. That's important when finishing after a roughing operation, avoids breaking cutters in the corners.
-fix limit curve & waterline
-fix limit curve & pencil
-saved some space by doing a common class for panels
-fast fix for mysterious eternal loop bug. Blender's properties are obviously able to call their update functions during a script run !?
this just blocks the eternal loop doesn't explain it.
this works for both exact and non exact mode now. You simply model a cutter in the desired shape, but it has to be rotary object. it should not be rotated in world coordinates. You assign it to the cutter definition. It get's auto scaled to the pre-set diameter - the total dimensions of the cutter object get scaled to the diameter. it works nicely so far.
- lots of work on background operations again:
now they work properly here, I could compute more than 10 paths simultaneously and all got computed and read back into blender.
you have to save your file before doing bg operations.
paths are now saved as pickle files for reading back, saves a lot of disc space.
- caching for background operations working
- fix when printing more warnings at once
- helix enter check if inside pocket
- try on collision check on tangential retract