Path.Area: Welcome, to the new era!

Here's the place for discussion related to CAM/CNC and the development of the Path module.
User avatar
sliptonic
Posts: 1560
Joined: Tue Oct 25, 2011 10:46 pm

Re: Path.Area: Welcome, to the new era!

Postby sliptonic » Tue Jul 11, 2017 1:28 pm

Konstantin wrote:
Tue Jul 11, 2017 11:13 am
sliptonic wrote:
Sun Jul 09, 2017 6:08 pm
The start point fixes have already been merged.

PR 865 has a number of new features and bug fixes and is pending.
After 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 :))
Please start a new thread with a bit more detail like error message or screenshot. Thanks
realthunder
Posts: 1169
Joined: Tue Jan 03, 2017 10:55 am

Re: Path.Area: Welcome, to the new era!

Postby realthunder » Thu Aug 10, 2017 4:41 pm

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.
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
Escain
Posts: 40
Joined: Sun Oct 11, 2015 4:04 pm

Re: Path.Area: Welcome, to the new era!

Postby Escain » Thu Aug 10, 2017 5:25 pm

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
mlampert
Posts: 1308
Joined: Fri Sep 16, 2016 9:28 pm

Re: Path.Area: Welcome, to the new era!

Postby mlampert » Sun Aug 13, 2017 6:43 pm

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)
Attachments
pocket.fcstd
(34.24 KiB) Downloaded 22 times
realthunder
Posts: 1169
Joined: Tue Jan 03, 2017 10:55 am

Re: Path.Area: Welcome, to the new era!

Postby realthunder » Sun Aug 13, 2017 8:20 pm

mlampert wrote:
Sun Aug 13, 2017 6:43 pm
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?
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.
Screenshot from 2017-08-14 04-14-44.png
Screenshot from 2017-08-14 04-14-44.png (17.32 KiB) Viewed 569 times
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal