Closed GoogleCodeExporter closed 9 years ago
rather than having one list of CL points and a separate list of CC points, I
think these two concepts should be merged.
create a new class CLPoint which represents a valid cutter location. Each valid
CL point makes contact with the model somewhere, so it is natural that a
CLPoint "has a" CCPoint as a member.
We then get only one list for later processing/output.
The refinePointList function can then be rewritten as a more generic
CLPoint-list filter (CLPoints in, CLPoints out), which also takes a tolerance
parameter, and loops through all points in the list looking at three
consecutive points on each loop iteration and removing the middle one if it
lies within tolerance from a straight line between the first and last point.
The same kind of filter, but with another algorithm, could be made to detect
arcs, for later output as G2/G3 codes in post-processing.
keeping paths, sampling, drop-cutter, and filters as separate small pieces and
not bunching them into monolithic big black-magic-boxes is important.
Original comment by anders.e...@gmail.com
on 3 Jul 2010 at 9:46
there is now an initial try at this in r285 and later
if you have a list of CLPoints generated in some way or another you push them
to the filter, then run the filter, and then ask for the filtered points, like
so:
f = ocl.LineCLFilter()
f.setTolerance(0.01)
for p in clpoints:
f.addCLPoint(p)
f.run()
clpoints_filtered = f.getCLPoints()
it might be good to have a constructor or method take a whole list of points
also to avoid the loop in python.
it should not be too hard to write an ArcCLFilter which will detect G2/3 moves
in one of the three coordinate-planes.
Original comment by anders.e...@gmail.com
on 5 Jul 2010 at 6:08
closing issue.
Original comment by anders.e...@gmail.com
on 4 Aug 2010 at 9:37
Original issue reported on code.google.com by
danhe...@gmail.com
on 3 Jul 2010 at 9:56