I'm building some examples for testing things in path but I can't get anything to work from surfacing.
Does anyone have a working surfacing example?
I was also curious, is surfacing using libarea or opencamlib? The calls I'm seeing in PathSurface.py are ocl.
Is it going to stay ocl or is it being ported to libarea?
Surfacing example
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
Re: Surfacing example
I have attached an example for you.topcyde wrote: I'm building some examples for testing things in path but I can't get anything to work from surfacing.
Does anyone have a working surfacing example?
I was also curious, is surfacing using libarea or opencamlib? The calls I'm seeing in PathSurface.py are ocl.
Is it going to stay ocl or is it being ported to libarea?
Under operations you can pick the algorithm to run from the drop down list.
It is also a bit counter intuitive as you have to select the object out of the tree and then press the Surface path button. Or i have just not figured out how to select complete object rather than faces in the viewr.
hope this helps linden
- Attachments
-
- Surface example.fcstd
- (15.1 KiB) Downloaded 128 times
Linden
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: Surfacing example
You are correct. Surfacing is very unfinished and only operates on the whole object right now.Linden wrote:I have attached an example for you.topcyde wrote: I'm building some examples for testing things in path but I can't get anything to work from surfacing.
Does anyone have a working surfacing example?
I was also curious, is surfacing using libarea or opencamlib? The calls I'm seeing in PathSurface.py are ocl.
Is it going to stay ocl or is it being ported to libarea?
Under operations you can pick the algorithm to run from the drop down list.
It is also a bit counter intuitive as you have to select the object out of the tree and then press the Surface path button. Or i have just not figured out how to select complete object rather than faces in the viewr.
hope this helps linden
It also requires opencamlib to be installed separately. If the report window is open, you'll see an error if ocl isn't working.
-
- Posts: 6
- Joined: Wed Sep 07, 2016 10:57 pm
Re: Surfacing example
Is there a windows version / installer available for opencamlib?
And - isnt opencamlib a bit like a dead horse as a Freecad part due to its GPL V3 license?
And - isnt opencamlib a bit like a dead horse as a Freecad part due to its GPL V3 license?
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: Surfacing example
I don't use windows so I can't say but a good place to start is here: https://github.com/aewallin/opencamlib/ ... er/Windowsduisenberg wrote:Is there a windows version / installer available for opencamlib?
And - isnt opencamlib a bit like a dead horse as a Freecad part due to its GPL V3 license?
Opencamlib is the best open source library for 3D offsetting that I'm aware of. It does waterlining and dropcutter paths. Sister project, openvoronoi can do centerline calculation for V-cutter engraving among other things.
It's unfortunate that the license is incompatible with FreeCAD which prevents easy distribution but that doesn't mean we have an alternative. If you're aware of one, I'll happy take a look at it.
At least in the linux world, it's possible that packages could be built and accepted into the default repos. That would make installation trivial for linux users but someone would have to step up to maintain a windows installer.
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: Surfacing example
FWIW, we'll have the same issue with adaptive roughing. The only open source library I'm aware of is libactp. This is the basis of the Freesteel/ HSM algorithm. It would be great to have this in FreeCAD but it too is license incompatible. That doesn't mean we can't have an operation that uses it, but we won't be able to distribute the library itself with FreeCAD.
Re: Surfacing example
well after beating my head against the wall for a week trying to get this to work, I realize that ocl is is my problem. I didn't realize that until scrubbing over the source a little more thoroughly trying to figure out why nothing was adjusting when changing parameters. I realized that the OCL waterline and OCL Dropcutter options are hardcoded into PathSurface not based on if they are available installed. Was sure I had it installed because I would have expected and error to have come up on launching PathSurface about import ocl not working. I decided to verify it manually
To check, in the console:
Then I tried pyocl and it sees it, which means they're in the right place.
Still not sure what that means because the ocl.so file is right there in the same directory.
which is /usr/local/lib/python2.7/dist-packages
To double check I did a rebuild and reinstall for ocl and everything looks good but still have the same issue with ocl not working.
Here's the output if anyone could take a look and see if there's something not right that I am overlooking. I'm going to give it another shot tomorrow.
To check, in the console:
Code: Select all
>>> import ocl
Traceback (most recent call last):
File "<input>", line 1, in <module>
ImportError: dynamic module does not define init function (initocl)
Code: Select all
>>> import pyocl
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pyocl.py", line 12, in <module>
import ocl
ImportError: dynamic module does not define init function (initocl)
which is /usr/local/lib/python2.7/dist-packages
To double check I did a rebuild and reinstall for ocl and everything looks good but still have the same issue with ocl not working.
Here's the output if anyone could take a look and see if there's something not right that I am overlooking. I'm going to give it another shot tomorrow.
Code: Select all
~/opencamlib/build$ sudo make install
[sudo] password for graphos:
[ 46%] Built target libocl
[ 59%] Built target ocl_algo
[ 64%] Built target ocl_dropcutter
[ 78%] Built target ocl_geo
[ 81%] Built target ocl_common
[ 92%] Built target ocl_cutters
[100%] Built target ocl
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/python2.7/dist-packages/ocl.so.11.10.64
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/ocl.so
-- Installing: /usr/local/lib/python2.7/dist-packages
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/camvtk.py
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/procmemory.py
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/STLTools.py
-- Up-to-date: /usr/local/lib/python2.7/dist-packages/pyocl.py
-- Up-to-date: /usr/local/lib/opencamlib/libocl.so.11.10.64
-- Up-to-date: /usr/local/lib/opencamlib/libocl.so
-- Up-to-date: /usr/local/include/opencamlib/arc.hpp
-- Up-to-date: /usr/local/include/opencamlib/bbox.hpp
-- Up-to-date: /usr/local/include/opencamlib/ccpoint.hpp
-- Up-to-date: /usr/local/include/opencamlib/clpoint.hpp
-- Up-to-date: /usr/local/include/opencamlib/line.hpp
-- Up-to-date: /usr/local/include/opencamlib/path.hpp
-- Up-to-date: /usr/local/include/opencamlib/stlreader.hpp
-- Up-to-date: /usr/local/include/opencamlib/stlsurf.hpp
-- Up-to-date: /usr/local/include/opencamlib/triangle.hpp
-- Up-to-date: /usr/local/include/opencamlib/point.hpp
-- Up-to-date: /usr/local/include/opencamlib/ballcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/bullcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/compositecutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/conecutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/cylcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/ellipseposition.hpp
-- Up-to-date: /usr/local/include/opencamlib/millingcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/ellipse.hpp
-- Up-to-date: /usr/local/include/opencamlib/adaptivepathdropcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/pathdropcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/batchdropcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/pointdropcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/brent_zero.hpp
-- Up-to-date: /usr/local/include/opencamlib/kdnode.hpp
-- Up-to-date: /usr/local/include/opencamlib/kdtree.hpp
-- Up-to-date: /usr/local/include/opencamlib/numeric.hpp
-- Up-to-date: /usr/local/include/opencamlib/lineclfilter.hpp
-- Up-to-date: /usr/local/include/opencamlib/clfilter.hpp
-- Up-to-date: /usr/local/include/opencamlib/halfedgediagram.hpp
-- Up-to-date: /usr/local/include/opencamlib/operation.hpp
-- Up-to-date: /usr/local/include/opencamlib/batchpushcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/fiberpushcutter.hpp
-- Up-to-date: /usr/local/include/opencamlib/fiber.hpp
-- Up-to-date: /usr/local/include/opencamlib/interval.hpp
-- Up-to-date: /usr/local/include/opencamlib/waterline.hpp
-- Up-to-date: /usr/local/include/opencamlib/adaptivewaterline.hpp
-- Up-to-date: /usr/local/include/opencamlib/weave.hpp
-- Up-to-date: /usr/local/include/opencamlib/simple_weave.hpp
-- Up-to-date: /usr/local/include/opencamlib/smart_weave.hpp
-- Up-to-date: /usr/local/include/opencamlib/weave_typedef.hpp
-- Up-to-date: /usr/local/include/opencamlib/tsp.hpp
-- Installing: /usr/local/include/opencamlib/version_string.hpp