-
Notifications
You must be signed in to change notification settings - Fork 256
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
README: Create a section on how to create a Workbench #104
Comments
CC @looooo |
@luzpaz the starter-workbench is not really related to FreeCAD-addons. I guess it should be possible to also integrate pip-installable modules in the addon-manager but I did not had the time to think about this. Something to think about in the next year. |
It's not related ? |
yes it's a template for a work-bench / module. But I don't want to mix this with the old way of creating workbenches, as this will lead to misunderstandings. Currently both ways are supported, but I guess we should think about how to make both ways more compatible as the old-style workbenches won't go away. Also most users that trying to code something for freecad have not enough python background to understand why new way of creating workbenches is better. |
Many thanks Lorenz (Loooo) and other contributors for all you do for the community !! |
@looooo I see, thanks for explaining that. I didn't understand there was a 'better' preference. IMHO, we could create documentation for this pre-0.18 so any of the users that 'come in to the fold' of FreeCAD can make a more educated decision. |
@pierrard I am only doing what I need / like to work at. There are others like @luzpaz who try to move FreeCAD in the right direction. Best to thank the whole community, which include a lot of smart people fighting for a great project ; ). @luzpaz yes you are right. I always underestimate the impact of docs : ). |
@joelgraff perhaps you could weigh in on workbench creation as well at some point ? (i know your todo list is yuuuuge but nonetheless, please consider thanks!!!) |
@luzpaz - Thanks for mentioning this. Currently, I've forked the starter kit and am, a little bit at a time, trying to build out a general layout that is maintainable and scalable for small to mid-sized Python workbenches. Specifically, I feel a workbench's functions are best divided across individual "Tasks" and code needs to be organized to reflect that. For example:
Of course, there are exceptions (like a command that simply executes an external program, or just opens a file), but for more complex tasks, I really think that sort of structure should be encouraged / enforced where possible. Without a clear structure in place to mange the various workbench command / task use cases, we cannot write clear, useful developer documentation. I realize it's no good trying to enforce absolute standards, but the goal is to provide a clean and well organized picture of how everything fits together rather than leave new devs to their own devices to hack together something that works, but may become unmaintainable as the workbench scope scales. |
@joelgraff
I think I'll pin this issue so it's of priority. |
yikes, got to get around to doing this. |
I had a framework of my own cobbled together, but I think I lost track of
it, too.
*Joel Graff, P.E.*
*LinkedIn:* https://www.linkedin.com/in/joelcgraff
…On Wed, Mar 10, 2021 at 5:41 AM luzpaz ***@***.***> wrote:
yikes, got to get around to doing this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#104 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA2VMSXEFLKNSY7VVBJRUDLTC5EHJANCNFSM4FYCBWNA>
.
|
Hello there, I want to help, I can help @joelgraff on the template, or on the wiki; I would probably need validation that the code I wrote is good enough for that (BTW: learning FreeCAD for one year or so, love it, works like a charm :) ), Bests |
@lukh It would be very welcome update and change. Can you connect to the forum or discord chat and start a discussion relate to this? |
Relevant links:
The text was updated successfully, but these errors were encountered: