[Proposal] List of supported external software

Discussions about the wiki documentation of FreeCAD and its translation.
User avatar
waebbl
Posts: 90
Joined: Thu Aug 16, 2018 3:12 pm

[Proposal] List of supported external software

Postby waebbl » Sat Oct 20, 2018 5:06 pm

Hi, not sure where to post this topic. It somewhat belongs IMO here, but also, to some extent to Developers Corner. Feel free to move it around, if you find it doesn't fit.

Looking through the wiki and forum, I didn't find a list of software that is supported by FreeCAD out of the box, which don't have build time dependencies. I think it could be useful for users, to have such a list in one place, to see which other software they can install to have them automagically supported by FreeCAD. If this get's broad agreement, I'm willing to write such a page for the wiki. I'm also keeping this thread updated to replies on the topic, where necessary.

What I have found so far somewhere in the wiki, the forum and in various places in FreeCAD:
Thanks @chrisb for mentioning OpenCAMLib, @Kunda1 for the issue link with references to OpenFOAM and FeniCS, @NormandC for mentioning ODAFileConverter and CAD Exchanger, @NormandC and @sgrogan for their hint on OpenSCAD, @sgrogan for clearing the gmsh macro, and pointing out git-python, @yorik for explaining pycollada and menu entries for .dae files.

If you know of any other software that fits the criteria, please reply here, so I can add it.

A few questions did arise when I was compiling that list. I'd be happy, if anyone has answers to any of those questions.
  1. Debian: What's the difference between suggested and recommended packages in debian?
  2. What's the support for graphviz? Import / export of .dot files? Creation of dependency graphs (thanks @chrisb)
  3. Beside python-collada is there direct support to import / export collada files? OpenCollada isn't a direct dependency of FreeCAD AFAIR.
  4. gts and proj are listed as dependencies in the debian control file. I currently have them installed on my system, but can't remember having seen them referenced somewhere in the CMakefiles, so they might be automagic dependencies which I just haven't noticed. My question is, whether FreeCAD really depends on them or not (in the meaning of a build time dep)?Most likely they are not build-time dependencies. See https://forum.freecadweb.org/viewtopic. ... 20#p264925 Thanks @sgrogan
  5. gmsh is referenced somewhere on the wiki in a page about macros. Is this macro needed for gmsh support, or is it sufficient to just have gmsh installed on the system?
  6. LuxRender is named several times in the wiki, noteably on the Render_project page which states (outdated) version 1.3. Maybe you know already, that at the end of 2017, LuxRender was renamed to LuxCoreRender and they've gone github (https://github.com/LuxCoreRender/LuxCore) and have released version 2 of Lux. Is this new version already supported by FreeCAD? If not, are there plans to support it in the future?
  7. I found a reference to dxf-importer github repo of Yorik van Havre. As he's part of the core team, I'm curious whether this has already found it's way into FreeCAD? Are there any other DXF importers / exporters supported, like for example dime from the Coin3D team? CAD Exchanger and ODA File Converter. Thanks @NormandC
  8. I found reference to the elmer and z88 solvers in the FEM workbench in FreeCAD. For z88, what is actually needed to have support in FreeCAD? At https://z88.de/ there are several pieces of software: Z88OS, (also availabe at https://github.com/LSCAD/Z88OS), z88aurora and z88arion, of which the latter two are only available under a very restrictive license, allowing it's use only in academic or R&D areas. What is actually needed to have support for z88 in FreeCAD? Will z88os be enough or is any of the aurora or arion applications needed?
TIA for any feedback on this topic.
Last edited by waebbl on Sat Oct 27, 2018 1:17 pm, edited 9 times in total.
chrisb
Posts: 17593
Joined: Tue Mar 17, 2015 9:14 am

Re: List of supported external software

Postby chrisb » Sat Oct 20, 2018 6:15 pm

The list should be extended to show the usage, e.g. "calculix for FEM", "graphviz for Dependency graph", ...

And here is another one:
Opencamlib for Path surface
User avatar
Kunda1
Posts: 5226
Joined: Thu Jan 05, 2017 9:03 pm

Re: List of supported external software

Postby Kunda1 » Sat Oct 20, 2018 8:28 pm

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
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: List of supported external software

Postby NormandC » Sat Oct 20, 2018 10:16 pm

waebbl wrote:
Sat Oct 20, 2018 5:06 pm
Debian: What's the difference between suggested and recommended packages in debian?
https://superuser.com/questions/70031/w ... untu#70575

By default, recommended packages are automatically installed, suggested packages aren't.

waebbl wrote:
Sat Oct 20, 2018 5:06 pm
I found a reference to dxf-importer github repo of Yorik van Havre. As he's part of the core team, I'm curious whether this has already found it's way into FreeCAD?
This python library is external because of its GPL license. Yorik reprogrammed a native C++ importer from scratch but it does not yet provide the same functionality as the external library, which is why the latter can still be enabled (and downloaded) through preferences.

waebbl wrote:
Sat Oct 20, 2018 5:06 pm
If you know of any other software that fits the criteria, please reply here, so I can add it.
The following are standalone programs that FreeCAD can link to for added functionality:

  • OpenSCAD (GPLv2) on which some of the tools in the OpenSCAD workbench rely on, including import/export of .scad and .csg files
  • ODA Converter (free proprietary) for DWG import/export
  • CAD Exchanger ($$$ proprietary) for import/export of various proprietary CAD formats https://forum.freecadweb.org/viewtopic.php?t=22227
User avatar
waebbl
Posts: 90
Joined: Thu Aug 16, 2018 3:12 pm

Re: [Proposal] List of supported external software

Postby waebbl » Sun Oct 21, 2018 11:19 am

Thanks for the replies so far. I have updated the topic with this information, and added a [Proposal] tag to the header.
chrisb wrote: The list should be extended to show the usage, e.g. "calculix for FEM", "graphviz for Dependency graph", ...
On the wiki, the list will of course be extended to show usage, interface options, download links, ...
NormandC wrote: By default, recommended packages are automatically installed, suggested packages aren't.
Thanks for the link. This makes it a lot easier for a package maintainer to decide what get's installed as a dependency by default, and where to give the user an option.
NormandC wrote: OpenSCAD (GPLv2) on which some of the tools in the OpenSCAD workbench rely on, including import/export of .scad and .csg files
OpenSCAD has a build time dependency, so I would not count it here (see https://github.com/FreeCAD/FreeCAD/blob ... s.txt#L260). It's part of the package maintainer to decide how this is handled. There are different approaches for this on different distributions. IMO OpenSCAD would belong to the dependencies page or the dependency matrix where @Kunda1 pointed to, but not on a page with externally supported software, where the support will always be included with FreeCAD.
User avatar
sgrogan
Posts: 5252
Joined: Wed Oct 22, 2014 5:02 pm

Re: [Proposal] List of supported external software

Postby sgrogan » Sun Oct 21, 2018 4:12 pm

waebbl wrote:
Sun Oct 21, 2018 11:19 am
OpenSCAD has a build time dependency, so I would not count it here (see https://github.com/FreeCAD/FreeCAD/blob ... s.txt#L260).
There is no dependency on OpenSCAD to build the OpenSCAD WB at build time. If the OpenSCAD executable is available at runtime the WB gets additional functionality, for example mesh booleans.
User avatar
sgrogan
Posts: 5252
Joined: Wed Oct 22, 2014 5:02 pm

Re: [Proposal] List of supported external software

Postby sgrogan » Sun Oct 21, 2018 4:22 pm

waebbl wrote:
Sat Oct 20, 2018 5:06 pm
gmsh is referenced somewhere on the wiki in a page about macros. Is this macro needed for gmsh support, or is it sufficient to just have gmsh installed on the system?
The macro is no longer required as of some time in 0.17-dev. If the executable is found it is automatically available in the FEM WB.
User avatar
waebbl
Posts: 90
Joined: Thu Aug 16, 2018 3:12 pm

Re: [Proposal] List of supported external software

Postby waebbl » Sun Oct 21, 2018 5:20 pm

sgrogan wrote:
Sun Oct 21, 2018 4:12 pm
waebbl wrote:
Sun Oct 21, 2018 11:19 am
OpenSCAD has a build time dependency, so I would not count it here (see https://github.com/FreeCAD/FreeCAD/blob ... s.txt#L260).
There is no dependency on OpenSCAD to build the OpenSCAD WB at build time. If the OpenSCAD executable is available at runtime the WB gets additional functionality, for example mesh booleans.
Thanks for the info. Then what does the option from the CMakeLists.txt actually do? Has it become obsolete?
User avatar
sgrogan
Posts: 5252
Joined: Wed Oct 22, 2014 5:02 pm

Re: [Proposal] List of supported external software

Postby sgrogan » Sun Oct 21, 2018 5:52 pm

waebbl wrote:
Sun Oct 21, 2018 5:20 pm
Thanks for the info. Then what does the option from the CMakeLists.txt actually do? Has it become obsolete?
It builds the FreeCAD OpenSCAD WB, but this WB doesn't depend on OpenSCAD(external) code. Maybe the name is confusing.
User avatar
waebbl
Posts: 90
Joined: Thu Aug 16, 2018 3:12 pm

Re: [Proposal] List of supported external software

Postby waebbl » Sun Oct 21, 2018 5:53 pm

sgrogan wrote:
Sun Oct 21, 2018 5:52 pm
waebbl wrote:
Sun Oct 21, 2018 5:20 pm
Thanks for the info. Then what does the option from the CMakeLists.txt actually do? Has it become obsolete?
It builds the FreeCAD OpenSCAD WB, but this WB doesn't depend on OpenSCAD(external) code. Maybe the name is confusing.
Ok got it :) Thanks a lot!