Path Development Philosophy

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
karlnick
Posts: 54
Joined: Sat Jul 25, 2020 9:33 am

Re: Path Development Philosophy

Post by karlnick »

Some of the macros #define are rather hard to figure out how they work. Suggest in many cases structures or if an initialization function is needed an object is a better option and this might also improve type checking. Large part of the code actually have structures and objects and few if any macros.

In some parts of the code there are very few comments. In many cases a comment about what a function do and it's parameters is very helpful. This is also be the case for many variables.

Data model used to store in particular the generated paths I did not find any documentation about.
wjr
Posts: 66
Joined: Wed Mar 13, 2024 6:37 pm

Re: Path Development Philosophy

Post by wjr »

sliptonic wrote: Tue Nov 23, 2021 2:26 pm .... we get a lot of first-time contributors here because of the post-processers.
... and my, oh Lord, I'm one ... ;)

So may be I can help you with a view "from the other side of the river".

I drafted a considerable rearrangement of the canned drill translation code in grbl_post.py
collection of threads here:
viewtopic.php?p=749486#p749486

When I started, I tried to setup a development environment from git clone, but it is a huge nightmare of missing dependencies on my old debian 10. And in the past, I made horrible experience with python incompatibilites, upgrades screwing my whole systen etc. And no, I don't want to dive into UI development.

So I'm runing FREECad from stable AppImage. Since I'm new to FREECad and 3D-CAD, too, I'm quite happy with this. Little less development noise messing up my newcomers garbage and quirks of FREECad you Veterans all have learned to live with. Just yesterday, I stumbled across a "heureka"-Link to understand the difference between Part and PartDesign :? .... just go provide an impression where to locate me on the intergalatical learning curve ...

As far as I understand, AppImage on Linux mounts skd of sandbox in read only mode, and does this on changing random mounting path every time it's called. No clue how to git in there. So I just did a small git init where I threw grbl_post.py in for a local version management. Linked this into my local users macro directory (git didn't like it the other way round) and voila - happy development. Haven't even dared to rename it. Did not even push it yet to my public git account.

Essence:
A full fledged development setup is more work for me (and may be other postprocessor fiddlers) than the whole improvement I might contribute to grbl_post.py

What possible ways might help me to overcome this obstacle and contribute to the community instead of just drop out at "works for me" status?
  • skd of "Patron" who has experience and setup of the big picture and collects postprocessor stuff and feeds the juggernauth
  • a small subset of a fullfledged development setup, with as little dependencies as possible (shold'nt be that difficult for postprocessors in particular)
  • some kind of AppImage like development sandbox with the option of keeping (a part of) git clones in
  • if such a thing exists (I remember there is a dev version of AppImage) some pointer how to work with it
  • if it comes to postprocessors, I just linked my grbl_post.py into my local users macro directory (git refused to work the other way round). So isn't there already an easy way of hierarchical project separation?
  • ... any better idea?
  • I think a "two tier", subproject like approach might be an image to keep in mind....
And yes, I understand that the title question of my post mentioned (skd of "How can I access UI.FooBar in postprocessor") proves the limit of my subproject containment idea .. :o
User avatar
onekk
Veteran
Posts: 6199
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Path Development Philosophy

Post by onekk »

Ignoring the necrobumping, you can extract an AppImage and run from a stable directory, and then remade the AppImage with your modification included.

There is an article in the Wiki if I remember correctly.

Kind regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
wjr
Posts: 66
Joined: Wed Mar 13, 2024 6:37 pm

Re: Path Development Philosophy

Post by wjr »

onekk wrote: Thu Mar 28, 2024 6:57 pm Ignoring the necrobumping,
oh, sorry, still have to get acquainted to the way things are done around here.
Considered this as an fundamental topic / issue / post with longer life time than a few weeks.
And really felt urged to answer.
onekk wrote: Thu Mar 28, 2024 6:57 pm you can extract an AppImage and run from a stable directory, and then remade the AppImage with your modification included.
There is an article in the Wiki if I remember correctly.
Ah, thanks for the hint.
you mean this here? maybe, in case sbd drops in here, ....
https://wiki.freecad.org/AppImage#Experimental

May be this is somewhat related and also helpful:
https://wiki.freecad.org/Debugging/en#W ... d_AppImage
User avatar
M4x
Veteran
Posts: 1480
Joined: Sat Mar 11, 2017 9:23 am
Location: Germany

Re: Path Development Philosophy

Post by M4x »

You can find the information regarding unpacking / repacking an AppImage in your first link, yes.

The Part / PartDesign stuff is explained at the wiki too: https://wiki.freecad.org/Part_and_PartDesign
User avatar
onekk
Veteran
Posts: 6199
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Path Development Philosophy

Post by onekk »

wjr wrote: Thu Mar 28, 2024 9:53 pm ...
oh, sorry, still have to get acquainted to the way things are done around here.
...
No problem from my side.

But as this topic will expand as it is Off Topic here to discuss of AppImages, will be better to move the discussion in Install/compile subforum.

Kind regards

Carlo D.
GitHub page: https://github.com/onekk/freecad-doc.
- In deep articles on FreeCAD.
- Learning how to model with scripting.
- Various other stuffs.

Blog: https://okkmkblog.wordpress.com/
Post Reply