Hi, Thomas, thanks! The target machine is a rapid prototyping (RP) machine-- RepRap. Thus, the infill for a slice is not necessarily a 'machine all material away' path. Ultimately it still uses Gcode, but it is additive rather than subtractive. I use EMC for machine control.
The ideal is actually to offset all of the wires on the face inwards to create a user-configured number of 'shells' around the exterior boundaries, but then inside fill with a hatch pattern. For the offset I can use BRepOffsetAPI of course. The unusual variation that an RP machine has is that the interior hatching is ideally not uniform or 100% coverage. Sometimes a honeycomb is desired, and other times, a 'sparse' hatch is desired to save material. I thought about looping over the surface parameters, but then again realized it would not create points along a uniform grid. Is there a function that will test whether a point is on the surface? Maybe it would be easiest to make my own discrete x-y- grid, and then simply test each point for membership on the surface. I'm quite excited about this project. The main reason is that nearly the entire RP community ( including commercial ) still relies on STL files for production. This is a pain because it results in all toolpaths being little line segments. So for curves there end up being a billion little G01 moves. Using OCC represents the only way i know of to use STEP representations of solids, which when sliced still preserve the ability to generate Gcode arcs ( G02/G03 ), which result in much smaller Gcode and much smoother motion than having all arcs represented by tiny line segments. This would be the first tool that can prevent a triangulated approximation during the fabrication process. Thanks for the help! On Thu, Feb 11, 2010 at 11:16 AM, Jelle Feringa <jelleferi...@gmail.com>wrote: > > I'm getting back to using pyOCC after a while. > > Welcome back Dave, we've missed you! > > > I am hoping someone can point me the right direction. After reading > documentation and samples for a few hours, I'm still not sure where to > start. > > > > Previously, I have written a slicing application ( samples--> slicer ), > and I would like to continue that work. > > > > The next step is to create toolpaths that fill in the faces created from > the slicing operation. > > Wow, so a g-code export? > Have you seen pycam? > > > There are a number of general approaches that could be used: One is to > use BRepOffset to offset the wires inwards. > > > > However, the approach I would rather take is to use a 'grid' approach, in > which I first compute a grid of points on the face, and the fill them all in > afterwards. I feel like this approach will be more tolerant to degenerate > geometry. > > Yes, dekskproto of delft spline systems has that algorithm for instance. > > > So, to my question: I think looking at the SMESH sample, I could use > smesh to generate a set of points on my surface that are spaced evenly. > > Or just loop through the U,V domain of a face? > And than offset via the normal of the face? > > > Looking at the sample I can see how to create the mesh, but I cannot see > how to extract the points from the mesh. > > You could do something similar ( if you decide polysoup is the way to go ) > to just look up the triangles that represent a surface ( we always look at > triangles in OpenGL, you don't get to see the actual nurbs but just an > approximation ) > > > I am also unsure how to instruct the mesher to generate a grid that has a > fixed space between the points in a particular plane. > > No way a mesher will generate equidistant points uh uh... > > > In my case the face will always be a planar face in the x-y plane: what > I want is an array of points at a fixed spacing that cover the surface. > > Right, abscissa points… > So, what about dividing up the contours of your slicer by n-points or a > distance? > > For what machine are you writing the slicer exactly? > Do you need an offset ( like we need when milling ) to the surface? > > Happy to see you back on this list ;') > > -jelle > _______________________________________________ > Pythonocc-users mailing list > Pythonocc-users@gna.org > https://mail.gna.org/listinfo/pythonocc-users >
_______________________________________________ Pythonocc-users mailing list Pythonocc-users@gna.org https://mail.gna.org/listinfo/pythonocc-users