Can we contribute?

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
User avatar
easyw-fc
Posts: 2730
Joined: Thu Jul 09, 2015 9:34 am

Re: Can we contribute?

Postby easyw-fc » Fri May 12, 2017 11:03 pm

Roland wrote: Since we are obliged to produce designs, I hesitate to use the pre-release FreeCAD 17. But I assume that I should give it a try anyway, to see where you guys are heading.
there are some interesting user cases that are on the FC0.17 pre-release because of such a many features improved...
here an example of what FreeCAD and Open Source can do in a quite large scale industry
https://www.linkedin.com/pulse/eskom-op ... te-michael
just a few line from the presentation
In September 2016, this open source software solution was rolled out to 300+ individuals in Eskom. The initiative proved to be more cost-effective than purchasing commercial licenses. The capability expansion also exceeded the initial planning without additional costs.
thanks a lot to Michael
makkemal wrote:Eskom FreeCAD FEM
for his contribution to FreeCAD :D

An interesting strategy IMO could be to use FC0.17 and design using the techniques of FC0.16 through Part WB and not Part Design Next ... in this way many new features are still available, but reducing the probability to add all the risks introduced by the still growing, but not complete PDN...

Maurice
User avatar
yorik
Site Admin
Posts: 11621
Joined: Tue Feb 17, 2009 9:16 pm
Location: São Paulo, Brazil
Contact:

Re: Can we contribute?

Postby yorik » Mon May 15, 2017 2:09 pm

abdullah wrote:I am not saying the world should forget about commercial CAD software and turn into FreeCAD. What I say is that in certain business it may make lots of sense to choose FreeCAD.
That's my opinion as well, same as the discussion between Windows and Linux. Just not everyone wants and can switch to Linux, bascially because there is nobody behind it for you to call when you need. It is fine for an individual person to take the time to find a solution by him/herself, but for a company you usually need something stronger.

But of course you can also see that the "big" software vendors have escalated that fact a lot, and the licenses fees they charge today is astronomically high for the value of the product and service they give you. Smaller companies that sell smaller CAD solutions often do a much better job at offering support, but as abdullah says there is a bigger risk involved (what if the CAD company goes bankrupt or, much more likely, gets bought by one of the big ones and their product "shut down" and you get "offered" to "switch" to the master product instead).

Using open-source solutions can certainly be a great bet for a company, in my opinion we should to add "if done correctly", means, caring for their own support, like having a person dedicated to it inside the company, who gets to know FreeCAD well and can do maintenance and scripting, who would also be allowed to spend some time here on the forum :) I think that could be a rock-solid combination. Any of the long-time users of this forum would have all the necessary skills to keep a company running with FreeCAD, I think. It's much a matter of knowing the strengths and weaknesses of it, knowing how to find workarounds when something doesn't work, and knowing how to get specific help when you don't find a solution yourself.
abdullah
Posts: 3174
Joined: Sun May 04, 2014 3:16 pm

Re: Can we contribute?

Postby abdullah » Mon May 15, 2017 8:42 pm

yorik wrote: Just not everyone wants and can switch to Linux, bascially because there is nobody behind it for you to call when you need.
https://www.ubuntu.com/support/plans-an ... or-desktop
https://www.redhat.com/en/store/red-hat ... =RH0986300
https://www.suse.com/products/desktop/

It was that way. Now it seems you can have quality paid support for "linux" ;)
Roland
Posts: 218
Joined: Fri Aug 21, 2015 2:20 pm

Re: Can we contribute?

Postby Roland » Mon May 15, 2017 8:53 pm

triplus wrote:If you plan to work in a team environment my suggestion would be:
  • FreeCAD 0.16
  • Drawing dimensioning workbench
  • Assembly 2 workbench
The same setup should be used by all involved from start to finish of the project. FreeCAD 0.17 hasn't stabilize yet and using it in a team environment for mid size projects is too risky.
After further analyzing our needs and our experience with FreeCAD, we drew some conclusions. I tend to fully agree with quoted Triplus.

1/ Please comment, how do you value our observations, as approaches to be developed in FC?
2/ For where you agree: How do you assess the activities needed: Writing Macro codes as plug-ins, or digging more deeply into (and adapting) existing workbenches?
3/ And how to organise the suggested developments? Just enter the Forum in the applicable threads?


I do welcome your suggestions very much. Hopefully, the code that we are able to prepare could serve further development of FC.

############
Here are our observations:

Preparing construction Drawings
Title Block
Wish: Title block text inputs are taken from list in spreadsheet.
Comment: Currently if Drawing workbench reloads a page template, all editable text needs to be put in manually again.
Bill of Materials
Wish: An extended BOM is placed in a spreadsheet. The extended BOM includes all information needed for Production Management (see below), as well as the information needed for the construction workshop (for which the Drawing is intended). FC creates a Drawing BOM for display on the Drawing with sufficient (limited) information (selectable categories and their content) for the workshop.
Comment: Drawing BOM is now made under Assembly2. Assembly2 does not place BOM in a spreadsheet. Rather, Assembly2 places BOM on svg drawing. Assembly2 BOM categories cannot be selected (are pre-defined). Rather than only part names (and where only part name is desired), Assembly2 BOM quotes full file name including extension.
Wish: Drawing BOM is made under Drawing workbench.
Comment: Part and assembly are sort of floating concepts. An assembly of two parts can become a part in a 'super' assembly. A more flexible BOM with selectable categories (and their inputs) might be useful in some cases (to extend the information of a drawing beyond a predefined Text Block), even if an assembly is not involved at all. Therefore, one might prefer a BOM for a drawing to be made in the Drawing assembly (perhaps a matter of taste).
Dimensions
Wish: Dimensions are recomputed along with adaptations in Parts or Assembly.
Comment: This is possible in FC17. Not in FC16 (manual redrawing of dimensions is needed in FC16).

Preparing Assemblies
Bugs
Wish: Remove bugs from Assembly2, i.e.: Font size (text render in Parts List) of BOM (but let's create a BOM in a different manner, see above), Sometimes constraints are not resolved.
Comment: Manual work arounds exist.
Bill of Materials (BOM)
Wish: See Wish provided under Preparing construction Drawings
Comment: See Comment provided under Preparing construction Drawings

Production management (not to be confused with Product Data Management (= this FC project: Resource framework project))
Wish: Spreadsheet to analyse all materials needed in categories, e.g.: Bolt types used (D, L, thread, material, etc.), Parts used (Part name, FC file name), Materials used: beam types, pipe types, plate types.
Comment: This needs coding e.g. in Python. As Macro? All required information items need to be assessed. The existing Assembly2 BOM is incomplete for this purpose.
##############

Greetz,

Roland
User avatar
sgrogan
Posts: 5549
Joined: Wed Oct 22, 2014 5:02 pm

Re: Can we contribute?

Postby sgrogan » Mon May 15, 2017 9:41 pm

Roland wrote:2/ For where you agree: How do you assess the activities needed: Writing Macro codes as plug-ins, or digging more deeply into (and adapting) existing workbenches?
2/ I think this depends on your long term commitment. Addon Python Workbenches/Modules are technically 3rd party add-ons. You can fork them and do anything you want. They will work with FreeCAD and you don't need to make merge requests. As a user I would hope that you would contribute back to the 3rd party project. As a greedy user I would prefer you are more involved with the core FreeCAD project and contribute to TechDraw and the not yet existing Assembly (probably in C++) This is more risk for you with potentially more gain. It would require more community involvement to get your changes merged. Either way if you are involved with the FreeCAD community you will get help and testing.
3/ As Yorik mentions in his FreeCAD presentations 'Please visit the Forum, it all happens there' <paraphrased>

It's a tough decision. For perceptive I'd point out that before the 0.17 dev cycle FreeCAD-daily could be treated as a rolling release. The PDN stuff required a "bite the bullet" moment. That's why it's taking such a long time for the release. I would guess that after this FreeCAD will return to the previous development model.
abdullah
Posts: 3174
Joined: Sun May 04, 2014 3:16 pm

Re: Can we contribute?

Postby abdullah » Tue May 16, 2017 12:14 am

You have a very open approach, so whatever you do, I would love to see it in the forum. I would use a thread for the development of a "package", being possible to complement it with other different threads (for example to resolve a doubt on how to code XXX). This no matter if it is a macro, WB. Anything you do most likely will be re-used by anybody else.

Although you have chosen 0.16. If something of your requirements would find a place within 0.16 itself (not referring to 3rd party WB or macros), there is always the possibility of keeping an eye / working together so that the result can be ported to 0.17. It is good to keep an open mind.

For the 3rd party WBs, you can do whatever you wish. I think it is nice to contact the author, as maybe he is interested or can answer questions. You can agree with him whether he is willing to accept your modifications back during or afterwards (probably depends how active the author is ATM, it may make sense not to diverge too much for a successful merge). I mean you can always fork, develop and then try to give back (pull request to the original repo, or leave your own repo available). Anything is possible.

Everything that is a normal extension of 3rd party WB I would tend to keep it with the WB. That way is directly usable by any other person when/if you give back to the 3rd party WB repo. Or directly from your own repo if you make it public (GitHub). So preferably modify workbench over a macro, if it makes sense to have it in the WB. For example, you refer to incomplete BOMs in Assembly 2 WB. My first idea would be, if it is incomplete and you can make it complete, do it! :) Of course, when looking at the code, it may come to a situation where information may be missing and another approach (macro?) be better. I would just post a thread to gather further info when you have looked into it and you see a direction, but want to enrich your original idea with the experience of the community.

I wish you luck in your journey! ;)
jnxd
Posts: 162
Joined: Mon Mar 30, 2015 2:30 pm

Re: Can we contribute?

Postby jnxd » Tue May 16, 2017 2:56 am

Roland wrote: ...
############
Here are our observations:

Preparing construction Drawings
Title Block
Wish: Title block text inputs are taken from list in spreadsheet.
Comment: Currently if Drawing workbench reloads a page template, all editable text needs to be put in manually again.
Bill of Materials
Wish: An extended BOM is placed in a spreadsheet. The extended BOM includes all information needed for Production Management (see below), as well as the information needed for the construction workshop (for which the Drawing is intended). FC creates a Drawing BOM for display on the Drawing with sufficient (limited) information (selectable categories and their content) for the workshop.
Comment: Drawing BOM is now made under Assembly2. Assembly2 does not place BOM in a spreadsheet. Rather, Assembly2 places BOM on svg drawing. Assembly2 BOM categories cannot be selected (are pre-defined). Rather than only part names (and where only part name is desired), Assembly2 BOM quotes full file name including extension.
Wish: Drawing BOM is made under Drawing workbench.
Comment: Part and assembly are sort of floating concepts. An assembly of two parts can become a part in a 'super' assembly. A more flexible BOM with selectable categories (and their inputs) might be useful in some cases (to extend the information of a drawing beyond a predefined Text Block), even if an assembly is not involved at all. Therefore, one might prefer a BOM for a drawing to be made in the Drawing assembly (perhaps a matter of taste).
Dimensions
Wish: Dimensions are recomputed along with adaptations in Parts or Assembly.
Comment: This is possible in FC17. Not in FC16 (manual redrawing of dimensions is needed in FC16).
...
Just to point out that the drawing workbench is being replaced by the TechDraw workbench. I suppose a lot of the issues will still remain, but if you would be contributing, why not do so where the work is currently focused.
abdullah
Posts: 3174
Joined: Sun May 04, 2014 3:16 pm

Re: Can we contribute?

Postby abdullah » Tue May 16, 2017 4:34 pm

jnxd wrote:Just to point out that the drawing workbench is being replaced by the TechDraw workbench. I suppose a lot of the issues will still remain, but if you would be contributing, why not do so where the work is currently focused.
You are right, but for stability reasons (which I can understand) they will work exclusively with v0.16. Then TechDraw is not available (at least out of the box).

One think that I do not know, as I do not know the techdraw code, is how much it does rely in FC infraestructure not present in 0.16. One idea, that may be totally impracticable (or not) is them to "port" the techdraw WB to 0.16. This way, they could develop techdraw, while getting advantages of new coding by the community, and the community from their code. This probably is a good question to the techdraw author...
User avatar
Kunda1
Posts: 6223
Joined: Thu Jan 05, 2017 9:03 pm

Re: Can we contribute?

Postby Kunda1 » Tue May 16, 2017 5:51 pm

abdullah wrote: You are right, but for stability reasons (which I can understand) they will work exclusively with v0.16. Then TechDraw is not available (at least out of the box).

One think that I do not know, as I do not know the techdraw code, is how much it does rely in FC infraestructure not present in 0.16. One idea, that may be totally impracticable (or not) is them to "port" the techdraw WB to 0.16. This way, they could develop techdraw, while getting advantages of new coding by the community, and the community from their code. This probably is a good question to the techdraw author...
Let's ask...
wandererfan wrote:ping
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features
User avatar
wandererfan
Posts: 3366
Joined: Tue Nov 06, 2012 5:42 pm

Re: Can we contribute?

Postby wandererfan » Tue May 16, 2017 11:46 pm

abdullah wrote:One think that I do not know, as I do not know the techdraw code, is how much it does rely in FC infraestructure not present in 0.16. One idea, that may be totally impracticable (or not) is them to "port" the techdraw WB to 0.16. This way, they could develop techdraw, while getting advantages of new coding by the community, and the community from their code. This probably is a good question to the techdraw author...
There are a few minor parts of 0.17 that are used by TechDraw:
- PropertyColor <-> QColor conversion
- new PropertyLinkXXXX format (obj1,(subobj1,subobj2) vs ((obj1,subobj1),(obj1,suboj2))
- maybe a couple of new functions in Vector3d?
- some new code in Draft to feed Svg to DrawViewSymbol
Changes to make it work with the 0.16 code base should be trivial. After all, @mrlukeparry started work on what became techdraw in 2014.