← Back to team overview

kicad-developers team mailing list archive

Re: OCE and KiCad

 

On 7/5/2016 8:38 PM, Cirilo Bernardo wrote:
> I have had an out-of-tree IGES/STEP 3D plugin based on OCE
> for a few months now. I'd like to get this plugin into the main
> branch but there are some OCE issues that need to be resolved
> and which I'd need some help with:
> 
> 1. Do we use only OCE or a choice of OCE or OpenCascade?

I'm not terribly familiar with either of these packages.  You will have
to look at the advantages and disadvantages of each library and make a
decision.

> 
> 2. What is the availability of OCE/OpenCascade on the
> different platforms and how do we ensure run-time linkage?
> On Linux the run-time linkage is not a problem, but I don't
> know how things work on OSX and Windows is a free-for-all
> which may require us to build OCE for distribution to ensure
> that everything works.

This is important.  I would suggest that you check the availability of
packaged binaries on windows, linux, and osx.  If these binary packages
are not available for a given package, then you need to make sure they
build on each platform.  At a minimum they should use a build config
tool such as cmake or autotools.  You can always enlist some of the devs
for help to verify if a library builds on platforms you do not have
access to.

> 
> FreeCAD can use either OCE or OpenCascade so we can
> use their FindOCE.cmake script as a starting point for
> detecting OCE/OpenCascade.

If FindOCE.cmake is GPL 2+ compatible, we should be able to use it in KiCad.

> 
> I think Nick has managed to compile OCE with MSys2/MinGW
> but I've had no luck.

@Nick, can you help Cirilo out with this.  What about OpenCascade?  This
is critical.  If we cannot reliably build either of these libraries on
all three platforms than maybe we will have to wait.  One thing I saw on
the OpenCascade website is that the minimum OpenGL version is 3.3+.
This is considerably higher requirement than GAL so that may be an
issue.  Since we would not be using OpenCascade to render anything, that
may not be an issue.

> 
> If we have enough interested devs on OSX/Linux/Windows I
> think we need to make up a small team to work on the OCE
> issues so we can get the 3D plugin into KiCad. This is also
> an important step towards realizing a STEP exporter.

If I have time, I will see if I can get OCE to build on msys2.  If
someone beats me to it, I would be OK with that.  Would one of our osx
devs see what it takes to build it on osx?  This has to be done first
before you spend any more time on the exporters.  In the future, I
suggest if you are considering using a new library that you confirm that
it can easily be built from source on all three platforms.  If not, fix
the library or write your own.

> 
> I also expect other issues to pop up such as available
> versions of OCE on different platforms/distributions
> (some versions of OCE are actually unusable due to
> fatal bugs) and various compiler issues (is c++11 supported
> by the compiler or not, etc). This is why I created the OCE
> plugin as a separate project rather than starting off as a
> kicad branch.

That's true with any library.  Boost comes to mind. :)

> 
> Any comments/suggestions or devs who will volunteer to
> be part of the team making this happen?
> 
> - Cirilo
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


Follow ups

References