Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics
Open CASCADEShowroomGet it!Developer CornerSupport and ProductsAbout us
Technical overview
Areas of use
Advantages
FAQ
Screenshots
Shape factory
Shape gallery
Demonstrations
What's new
System requirements
Download Center
Public license
Documentation
Getting started
Forums
Open Source community
Training and e-learning
A-la Carte Support
Value-added software
Complementary Components
Customer Corner
Company Profile
Marketing Materials
Contact Us
News
Home / Developer Corner / Forums / HeeksCAD / HeeksCAD

HeeksCAD

HeeksCAD
Daniel Heeks 2008/10/24 23:34
I am making a free ( permissive license ) CAD package using wxWidgets and Open CASCADE for Windows. Download and try my latest version HeeksCAD 0.3.0 ( it's not finished yet ) here http://code.google.com/p/heekscad/downloads/list
trillion 2008/10/25 05:02
It's pretty works, but The package corrupted in my system. Can I download the sourcecode?
Daniel Heeks 2008/10/25 12:23
Yes the source code is on my Google Code project, you need to use SVN.
http://code.google.com/p/heekscad/source/checkout
memscad 2008/10/25 18:34
It's really a good job! Have you use ocaf technologies to manage the modeling processes?
Daniel Heeks 2008/10/25 19:18
Thanks. No, I don't know what OCAF is.
What is OCAF? I have read about it now. "OCAF helps to implement such functions as undo and redo, copy, cut and paste, storage and retrieval of documents"
"undo, redo." I do this by not deleting the solids, I just don't show them, if my objects are deleted. I have my own undo history.
"storage and retrieval of documents". I do this by writing a STEP file and then putting the text in my "heeks" file ( an XML file )
"copy, cut and paste". same as "storage and retrieval of documents"
William Jones 2008/10/31 14:50
I am aware of your project, although I have yet to download it. OCAF is far more that a means to supply undo/redo. OCAF is what should be used to develop a true feature based parametric modeler. Such is something truly needed by the open source community.
Daniel Heeks 2008/11/01 20:42
I'll have a better look at it. What's the best documentation for it? Is there an example I can copy?
Torsten Sadowski 2008/11/03 09:43
Hi,

the best point to start is

OpenCASCADE6.3.0/samples/standard/mfc/10_Ocaf/

But the new Object Oriented extensions in 6.3 sound really interesting. Just look into the release notes and in the OCC documentation.

The biggest problem is the design of a useful logical document structure.

Cheers, Torsten
Svetlozar Kostadinov 2008/10/25 19:47
It's very pretty. Congratulations! What kind of visualization engine you use and how do you render the OCC data structures?

Regards!
Daniel Heeks 2008/10/25 21:51
Thank you. wxWidgets makes an OpenGL window. I use code I copied from the Open CASCADE source code and from this forum to do the OpenGL commands.
See the CFace::glCommands in this file of mine, http://code.google.com/p/heekscad/source/browse/trunk/src/Face.cpp
This is mostly copied from AIS_TexturedShape::Compute in C:\OpenCASCADE6.3.0\ros\src\AIS\AIS_TexturedShape.cxx
Paul Jimenez 2008/10/30 16:05
I wanted to take a look at your application, but, when it finished downloading, Norman antivirus detected a Trojan and removed it right away.

I'll just try to build it from SVN...
Daniel Heeks 2008/10/30 20:57
I'm sorry to hear your antivirus software thought it was a Trojan. It downloads OK on my work computer ( uses Avira antivirus ). Good luck building the source code. Let me know if you have a problem. Maybe you can download the installation on a different computer?
Paul Jimenez 2008/10/31 08:52
I was able to build it, after downgrading the solution to VS2005 and compiling tinyXML (also downgrading the solution file to VS2005). However, it crashes on start (I don't even see the interface).

I decided to download it again, and this time Norman didn't complain. The trojan magically disappeared. I played a bit with it, and it's nice to see those little details that you achieved using OCC. However, now the application crashed on exit, but at least I could give it a try.
Daniel Heeks 2008/10/31 13:00
Paul, I have now added my tinyxml2005.lib to the source code to make this easier.
I build it on VS2005 on my work computer and VS2008 Express ( it is free ) on my own computer.
Do you have the call stack?
Thanks for trying it. I know about it crashing on exit. I have added a bug report to my issue list, already ( number 26 http://code.google.com/p/heekscad/issues/list ).
Dan. danheeks@gmail.com
Paul Jimenez 2008/10/31 13:22
Sorry, I don't have a call stack (I ate them all).

I'll probably give it another try and see if I can get a call stack for you.
Jun WANG 2008/10/30 23:57
That is amazing. Would you please send me your sourcecode for studying. Thank you very much. email: junwang@ucdavis.edu
Daniel Heeks 2008/10/31 13:04
Thanks. It is a Google Code project. You need SVN. http://code.google.com/p/heekscad/source/checkout. Dan. danheeks@gmail.com
P Dolbey 2008/11/01 13:03
Daniel,

Impressive!

I've downloaded and built from svn - and linked to wxWidgets 2.8.9.

The reason for the crash on exit is that the call "glFontDestroy(&m_gl_font);" in OnExit ends up calling "free(Font->Char);". However this memory has not been alloctaed as you haven't called the corresponding malloc that's in glFontCreate (neither breakpoint or statics code analysis showed this happening).

Anyway commenting out the "glFontDestroy(&m_gl_font);" fixes for now.

My next job - convert to Qt??? ;)

Pete
Daniel Heeks 2008/11/01 14:08
Thanks Pete,
I have now fixed this problem, thanks for your contribution.
It's not the problem in the installation, though, it's too recent.
There will be many problems yet, while I am in a hurry to add functionality.

>> convert to Qt???
I have avoided Qt, because the free version of Qt license is GPL. This means that I wouldn't be allowed to use HeeksCAD as the basis of a commercial application.
The tools I have used ( wxWidgets, Open CASCADE, glFont ) all have permissive licenses, so anyone can make commercial add-ins for HeeksCAD, or adapt HeeksCAD into a commercial application.
P Dolbey 2008/11/01 17:15
If only Qt's license was that simple - it becomes complicated with the Trolltech / Nokia GPL Exceptions, see http://doc.trolltech.com/snapshot/license-gpl-exceptions.html .

I've interpreted the exception to say that QtOPENCASCADE can be released on an LGPL license, so that it can be incorporated into commercial code (that was developed under Qt commercial license) without forcing the entire app to become GPL.

But I'm not a lawyer...

Pete
Daniel Heeks 2008/11/01 20:35
Yes, fine, if you've already paid for Qt commercial license.
I'm quite happy for you to use my source code to make a Qt version of it, but let me know if you fix my bugs.


Dan Heeks 2009/03/03 16:09
HeeksCAD works on Linux too. http://code.google.com/p/heekscad/
I am also making open source CAM add-on to HeeksCAD:
HeeksCNC http://code.google.com/p/heekscnc/
yohplala 2009/03/03 23:42
Hi Daniel!


Actually, I have the feeling that HeeksCAD follows a similar path to FreeCAD (http://free-cad.sourceforge.net/). There is some python in your code, it is based on OCC, and previously in the thread has even been discussed Qt.

Wouldn't it be interesting to consider a collaborative work, or why not, even a kind of merging between both projects? It may boost the developments, and could lead to a greater open source CAD software!
(FreeCAD is actually looking for a new name. That could be an excellent occasion!)


Well, that is just a suggestion. I do not wish to bother anyone, and am actually not a member of the developer team of FreeCAD. I have thus no real right to speak.
But as a tester/user, I think that both projects may really benefit from a close team work!

Cheers,

Yoh
Robert Hill 2009/06/13 03:36
Hi Dan,

I've recently downloaded the latest version. Looks like you've added quite a bit of functionality. Good job. I have a couple of questions if you don't mind answering them.

1) Have you incorporated OCAF into the application? If not, what mechanism do you use to ID parts?

2) I notice your coordinate system icons remain at essentially a constant scale when zooming in or out. How did you accomplish that?

Thanks in advance for any replies. I appreciate it.

Best regards, R. Hill
Dan Heeks 2010/04/20 10:24
1) No, I don't use OCAF. But faces and edges are always made in the same order, so I save separate data in my XML file and map them back to faces and edges when I load my file.

2) constant scale when zooming in or out: I have a "pixel_scale" variable, so I can do glScaled(s, s, s) before drawing my coordinate system.

Sorry for late reply. HeeksCAD questions can be asked here: http://groups.google.com/group/heekscad-devel ( but you have to register to log in ). Or email me at danheeks@gmail.com
jeff shanab 2010/04/12 16:33
Thanks for this effort. I have been wanting for years to combine WxWidgits and Opencascade into an opensource 3D parametric modeler. (OpenSolids).
It built on my amd64 but has some linking issues.
HeeksCAD: Symbol `_ZTV16Standard_Failure' has different size in shared
object, consider re-linking
...and 6 more

For other Gentoo'ers.
I installed Opencascade-6.3-r2
svn co heekscad
cd heekscad-read-only/src
edit the Makefile changing $CASROOT/../inc ---> $CASROOT/inc
jeff shanab 2010/04/19 00:29
Follow up.
Move to 32 bit Gentoo that is fully updated as of 4/18/2010 and it builds,installs and runs with only the single change in the makefile :
(after emerging opencasade 6.3 and wxGTK and eselecting wxGTK-2.8)
svn co ...
cd heekscad-read-only/src
vi Makefile
change $CASROOT/../inc to $CASROOT/inc
make
make install
HeeksCad
jeff shanab 2010/07/06 04:18
The new svn up to #1240 eliminates the need for the previous note.

The linking errors I had about relinking turned out to be an opencascade problem.

Old versions of opne cascade put libs in /usr/lib, newer versions uses /usr/local/lib and the most recent $CASROOT/ros/lin/lib

The other dirs are still required for normal operation and early package management didn't clean them out. Manually removing libraries and regenerating the ldcache and heekscad is running on amd64 and Gentoo.

make clean mentioned in ubuntu wiki IS REQUIRED.
.o files have been checked in and make gets confused and breaks build if you don't.
 
 
Latest news
  • New features to enhance the development process
  • Open CASCADE Technology 6.7.1 is available for download!
  • Open CASCADE Technology 6.7.0 is available for download!

  • © OPEN CASCADE 2000 - 2014  |  Search  |  Contacts   |  Site map