Please start a new thread with a bit more detail like error message or screenshot. ThanksKonstantin wrote: ↑Tue Jul 11, 2017 11:13 amAfter your changes I am not able to use Path profiling tools, when Russian (and maybe others) language is used. (for experimenting it's ok, but it can scare people )
Path.Area: Welcome, to the new era!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
- sliptonic
- Veteran
- Posts: 3459
- Joined: Tue Oct 25, 2011 10:46 pm
- Location: Columbia, Missouri
- Contact:
Re: Path.Area: Welcome, to the new era!
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: Path.Area: Welcome, to the new era!
Edit: uh... the post is gone? There was a post by someone named Escain, stating interest in working on Path WB. But now is gone? Anyway, I'll leave my response here just in case.
Hello Escain, welcome to the big family. BTW, I am a quite new member myself. You can talk to the the Path developers at this gitter channel.
Here is a very brief introduction to Path WB from my perspective. You know that most of FreeCAD's CAD part is built on top of OpenCasCade (OCC), which is quite good in many aspect, especially for 3D modeling. But CAM also needs a lot of operations done in 2D space, which unfortunately, OCC is having trouble with. So, Path WB picks another library as the foundation, libarea from HeeksCNC, which in turn is based on the powerful 2D polygon processing library called ClipperLib. If you are also into 3D printing, then just about any open source slicer software out there is using ClipperLib too.
Before I came into the picture. Path mostly relies on Python to bridge between libarea to OCC and FC, for things like section 3D model and convert to wires that are readable by libarea, and then convert the output back to OCC wires for displaying and stuff. My contribution here, and also what this thread is all about, is the Path.Area python module, written in C++, which serves the purpose of bridging. The goal is to abstract libarea/ClipperLib's function from the rest of Path WB. Path.Area's code is at src/Mod/Path/Area.h/cpp, if you are curious. Right now, I am busy with something else, and is not actively developing Path.Area. You can talk to the other developers to see if you can help with the other aspects. I think your expertise in UI will certainly be helpful. I do intend to further develop Path.Area, or maybe extend it into another module, as a slicer for 3D printing. But that won't be in near future, I think. But if you are interested, let me know and I'll be glad to point you to the right direction.
Hello Escain, welcome to the big family. BTW, I am a quite new member myself. You can talk to the the Path developers at this gitter channel.
Here is a very brief introduction to Path WB from my perspective. You know that most of FreeCAD's CAD part is built on top of OpenCasCade (OCC), which is quite good in many aspect, especially for 3D modeling. But CAM also needs a lot of operations done in 2D space, which unfortunately, OCC is having trouble with. So, Path WB picks another library as the foundation, libarea from HeeksCNC, which in turn is based on the powerful 2D polygon processing library called ClipperLib. If you are also into 3D printing, then just about any open source slicer software out there is using ClipperLib too.
Before I came into the picture. Path mostly relies on Python to bridge between libarea to OCC and FC, for things like section 3D model and convert to wires that are readable by libarea, and then convert the output back to OCC wires for displaying and stuff. My contribution here, and also what this thread is all about, is the Path.Area python module, written in C++, which serves the purpose of bridging. The goal is to abstract libarea/ClipperLib's function from the rest of Path WB. Path.Area's code is at src/Mod/Path/Area.h/cpp, if you are curious. Right now, I am busy with something else, and is not actively developing Path.Area. You can talk to the other developers to see if you can help with the other aspects. I think your expertise in UI will certainly be helpful. I do intend to further develop Path.Area, or maybe extend it into another module, as a slicer for 3D printing. But that won't be in near future, I think. But if you are interested, let me know and I'll be glad to point you to the right direction.
Re: Path.Area: Welcome, to the new era!
Yes and sorry, I have seen afterware that a forum exists for this topic and thus, I moved my post there (I seemed more appropriate to me).
https://forum.freecadweb.org/viewtopic.php?f=15&t=23825
Thanks you a lot for your answer and guide, I will have a first look to libArea
https://forum.freecadweb.org/viewtopic.php?f=15&t=23825
Thanks you a lot for your answer and guide, I will have a first look to libArea
Re: Path.Area: Welcome, to the new era!
I get a consistent segfault with the attached file when trying to pocket the cyliinder. The other two indents work fine, it's just the cylinder that has this issue. It seems to be driven by Path::Area::makeSections. Can someone take a look please?
OS: Debian GNU/Linux testing (buster)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11784 (Git)
Build type: Debug
Branch: master
Hash: d5b554d2b6d6e780c9ead67153888f7fe5e140be
Python version: 2.7.13
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Locale: English/Canada (en_CA)
OS: Debian GNU/Linux testing (buster)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.11784 (Git)
Build type: Debug
Branch: master
Hash: d5b554d2b6d6e780c9ead67153888f7fe5e140be
Python version: 2.7.13
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Locale: English/Canada (en_CA)
- Attachments
-
- pocket.fcstd
- (34.24 KiB) Downloaded 80 times
-
- Veteran
- Posts: 2190
- Joined: Tue Jan 03, 2017 10:55 am
Re: Path.Area: Welcome, to the new era!
I did a quick look. The problem only occur with OCE. It works fine with OCC 7.1. @sliptonic, you may want to check this. I am getting invalid solid passed to makeSection, which causes the OCE segfault when trying to section it. You can show the solid before calling makeSection to see the invalid shape, something like below. How do you generate the solid? Project then extrude? Maybe the real problem is further up.