Mabe try and make only one CAD project around OpenCascade ?

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Cristi Achim

Mabe try and make only one CAD project around OpenCascade ?

Postby Cristi Achim » Fri Aug 14, 2009 8:24 pm

Hello Jurgen .

There are currently 3 active projects building a CAD package around OpenCascade . The other two are HeeksCad and NaroCad . This 3 projects can't all succeed , only one can succeed . The big idea is that there are at least two very capable people in the other two projects that could contribute to this project that I find the most advanced of the three . So mabe you could try and speak to the maintainers and ask them to participate in this project . Having good work disperesed in 3 projects doesn't make them all better and might hurt the future of all of the projects : the faster one project succeeds the better .

That would mean that changes would have to be made in the organisation of the development and it wouldn't be efficient very fast , but it would speed up development in the long term .
Posts: 1
Joined: Fri Aug 14, 2009 8:46 pm

Re: Mabe try and make only one CAD project around OpenCascade ?

Postby danheeks » Fri Aug 14, 2009 9:12 pm


My name is Dan Heeks. I started HeeksCAD ( ). I release it under the BSD license.
It uses OpenCASCADE and wxWidgets.

I looked at FreeCAD, but I didn't like the Qt license at the time; it was GPL, or commercial.

I wanted to make a simple CAD system that could be used as the basis for commercial CAD/CAM products and for free CAD/CAM.
I am using HeeksCAD to develop a commercial Wire EDM CAD/CAM application for a German software company, so I am not going to stop developing it overnight.

With HeeksCAD, there are at least 3 people regularly contributing code to it.
We use the #cam IRC channel on FreeNode to chat about any kind of CAD/CAM.

One of you FreeCAD guys should come to the #cam channel and persuade some of the guys there to start using FreeCAD instead of HeeksCAD; then I will think about making HeeksCNC ( my free CAD/CAM ) work using FreeCAD.

You said: "only one can succeed".
This is not necessarily true. There is room for similar but different products.
It is great that they are open source projects, because we can copy the bits we like from each others projects.
I will try to have another look at FreeCAD when I have the time. I couldn't do much with it when I tried it 1 year ago.

Posts: 1
Joined: Fri Aug 14, 2009 11:45 pm

Re: Mabe try and make only one CAD project around OpenCascade ?

Postby lordcip » Sat Aug 15, 2009 12:16 am

Thank you for your take!

I'm ciplogic, one of the developers that actively contribute on NaroCAD.

I really think that NaroCAD will be in a long run a better technology and I don't mean it only just because I work on it. At the first take we considered Qt and OpenCascade as the platform of choice, but we encounter problems on a long run, as code completion was suboptimal, compiling times (comparing with a .NET language) huge, etc.

.NET platform is much productive and can integrate (at least on Windows platform) more languages/paradigms that can do C++. Our integration with Python (IronPython) was enough powerful and was a part done under a week of work. So at least platform wise I think that IPy + C# is a better combination than Python and C++. I don't want to put a platform war here, but technology wise at least because NaroCAD may be started later may have the option to use a mature .NET/C# 3.0 language.

FreeCAD was ported to Qt4 in January 2007 and achieves fairly good feats. But NaroCAD did not even exists at that time. Main development of NaroCAD starts around sept. 2008 and was at full speed around march 2009. From this time it adds some features, including a complete replacement of OCAF implementation, a XML format to serialize data, on top of components framework, a special command line component, etc. etc. etc. Right now NaroCAD is not probably better than FreeCAD or with HeeksCAD but have some good parts. Technology wise, even with fewer developers, we hope that Naro will catch up as we consider that .Net in itself have a lot of advantages.

As Dan already said, another "competitor" will not fragment the free/oss CADs. There are different approaches and various ups and downs. Theoretically you can import C++ code (via, any .NET language code and python code in NaroCAD. But as a downside it does not run on other platforms than Windows (at least for now).

I think a better idea will be to create a common format of all three CADs and that will represent an interoperability standard for those three packages. This open format, probably XML based will be great if it will expose a common ground and us to know that an user if will have a better implementation in one CAD system to jump for that tool. Having a better feature in FreeCAD that users will enjoy it will simply push both Naro or HeeksCAD to be in the same league. Also, as long as is needed, we may consider other thinks that may benefit all users. NaroCAD tries to make major releases at every three months. If all can do the same, we can synchronize releases and some features with them. A common format will really mean that all users will have the guarantee if the project will stagnate (not succeed!?) that he can migrate the done work already to other in the same league. Being XML based will make that even all three products will fail to impress, will make the users to have the freedom of their data exposed.

Hope it helps,
Ciprian M.
User avatar
Site Admin
Posts: 12146
Joined: Tue Feb 17, 2009 9:16 pm
Location: Brussels, Belgium

Re: Mabe try and make only one CAD project around OpenCascade ?

Postby yorik » Wed Aug 19, 2009 4:29 am

Of course it is not me who should answer here but rather Jürgen, the father (dictator? secretary? au pair?) of FreeCAD, but I couldn't resist when I saw Dan and Ciprian writing here... I look at both projects all the time too.

I also think what is happening with opencascade now (several projects growing) is great, and absolutely not counter-productive. All those projects share a lot of things, beginning with file formats, which, no doubts, will give us a level of compatibility never found in the rest of the cad world, and the code is extremely easy to read, understand and adapt between projects (I had some looks at heekscad code already) because they share many concepts. And CAD world is very vast, with many different users, different expectations, and most important different ideas on how things should be done, and I don't think "one program for all" would be a very adequate answer, even autodesk more or less seems to agree with that, if one can know what autodesk thinks.

Actually the best thing is what is happening right now, that we have a dialogue here. Thanks Cristi for bringing this, even if it wasn't exactly the idea ;) The file format Ciprian talks about makes sense to me... FreeCAD uses a compound format (a zip file, basically), that stores document structure in xml format, shapes in brep format and thumbnails (Jürgen or Werner, correct me if needed). The brep parts are probably already easily importable in both naroCAD and HeeksCAD...

Anyway, this discussion could become very interesting. Shouldn't we continue this in a place that would not be only Freecad's forum? I'll see if I hang out a bit on #cam too...

Cheers to all,
User avatar
Site Admin
Posts: 3369
Joined: Sun Feb 15, 2009 5:29 pm
Location: Ulm, Germany

Re: Mabe try and make only one CAD project around OpenCascade ?

Postby jriegel » Sun Aug 23, 2009 9:05 pm

Hi together,
that is indeed a very interesting threat!

Its great to here voices of other projects here! And here are my thoughts:

First of all, the great thing in FOSS is the variety of solutions. To see this 3 projects all using the same foundation (OCC)
but choosing different approaches. NaroCAD the latest software technology and HeeksCAD the fast an simple one.
Compared to that, my approach was very fat and broad.
I think its not the question who wins! All of us wining by heaving the things around a OpenSource CAD solution going.

I would never ask developers or maintainer of other projects to abandon his baby for a another project, as I would never abandon
our baby! If its on me, its great someone develop code with OCC in a FOSS project so I can peak his code to see what
he/she is done right and so can do all the other with my code. Thats the big advantage of the game. A advantage a big
company like Autodesk or Dassault will never have. An that will make us win in the long run!

The discussion about the file formate is always a bit tricky. Most systems have a great deal of internal logic in their file format.
In case of FreeCAD e.g. the seperation of App and Gui, which result in two XML files. Also every Application module in FreeCAD
can introduce additional stuff into the files format which we have no control of. So choosing one XML standard for FOSS CAD
is IMO hard to do.
The only standard I know in this field is still STEP!

A word to the language.
Sure, C++ is a old work horse and I often curse about some of its quirks - but - all of the great libs I want to use are written
in c/c++. Sure you can wrap everything but do you not ending up building wrappers?
Anyway, when I started FreeCAD there was no .NET at all, so I had no choice ;)
On Windows .NET and C# will be the future (Microsoft will push it that way) but in OpenSource
I see a lot of problems with that. The Debian Mono discussion showed some explosives in that...

But what I would like to see between our projects is discussion not about the right compiler (irrelevant)
or the right license. I would like to see a discussion what a OpenSource CAD shut be capable of. Where is CAD
going in the OpenSource??

Another point is CasCade. If we work together, maybe we get a more open ear in France! ;)

So, that all fore now

Stop whining - start coding!
User avatar
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Mabe try and make only one CAD project around OpenCascade ?

Postby NormandC » Thu Nov 22, 2012 4:15 am

Wow, I just stumbled on this old topic, how the situation has changed in 3 years.

I'm thinking of this particularly:
lordcip wrote:I really think that NaroCAD will be in a long run a better technology and I don't mean it only just because I work on it.
lordcip wrote:.NET platform is much productive and can integrate (at least on Windows platform) more languages/paradigms that can do C++.
I agree these are strong points. My brother is a .NET developer, and even if he's a strong proponent of open source technology (talk about some paradox ;) ) he always tells me how efficient and powerful .NET is, and that there is no equal in the open source world. Still, I think lordcip was wrong in thinking this is the most important point. Nope, we are talking about open source software, and for that single reason it's multiplatform or bust. Who knows where Windows will be in 5 or ten years? Maybe some version of Android will be running on many desktop PCs sporting ARM CPUs? In any case many people try to free themselves from MS' hold. On that ground for me and those people, NaroCAD is simply DOA. Which is a shame really.

Unfortunately Dan Heeks stopped development of HeeksCAD. The NaroCAD guys seem to make constant progress, but each time I try one of their alpha release I'm unable to make it run on Windows. Oh, just found they've been releasing betas since past June, maybe I'll be able to make the last one run on my PC. I'll have to boot into Windows though... argh ;)
Site Admin
Posts: 16857
Joined: Thu Feb 19, 2009 10:32 am

Re: Mabe try and make only one CAD project around OpenCascade ?

Postby wmayer » Thu Nov 22, 2012 10:25 am

but each time I try one of their alpha release I'm unable to make it run on Windows.
I had the same difficulties once I tried it. Starting it with administrator rights solved the problem.
Posts: 17
Joined: Mon Jun 04, 2012 11:51 pm

Re: Mabe try and make only one CAD project around OpenCascade ?

Postby pinniped » Thu Nov 22, 2012 8:48 pm

Ah, zombie threads.

I'm glad everyone did their own thing; I don't believe the project can go anywhere if you have several people with very different ideas on what to do. For example you have a very strong proponent of .NET but as useful as the .NET framework is for instant gratification, I have supported legacy software using such closed code for many years so I avoid things like .NET. I suspect .NET will live on but it is closed and not cross-platform so I instantly reject it as a foundation for a long-term project.

Keep going - we really need high quality free MCAD software, especially for small businesses who are prisoners of SolidWorks and its competitors. I'm just waiting for the Assembly module to be completed before I start using FreeCAD seriously. :) In the future, once the drawing tools are good enough so that it's easy for me to create manufacturing and assembly drawings, then bye-bye SolidWorks.