Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / desktop / MFC

SolidGraph CAD System

4.97/5 (78 votes)
12 Sep 20062 min read 1   29.9K  
A SolidGraph CAD system source code.

SolidGraph ScreenShort

Introduction

SolidGraph is a full-featured system for 3D modeling of highly complex geometric objects. Sooner or later, everyone who works with computer graphics feels necessary to write his own editor. We want to show you one of the ways of writing a module application where the functions for creating new objects are distributed among plug-ins.

The project has been compiled only with the following compilers: Microsoft Visual C++ 7.1, and Microsoft Visual C++ 8.0.

Points of Interest

Who may be interested in this article:

  • Everyone who is beginning to work with OpenGL-based computer graphics.
  • Everyone who is interested in creating his own CAD system and geometric modeling software.
  • Software developers writing in MFC because this application contains a lot of ways to solve various problems related to MFC (for example, creating 32-bit toolbars, loading toolbars and strings from plug-ins, the TreeControl class, and much more).
  • Software developers who want to embed the LUA interpreter into their code.
  • Experienced software developers creating their own large systems.

In other words, it is for everyone :)

What can be interesting for you:

  • The GUI completely based on MFC and on some articles from CodeProject.
  • The way of creating a "MultiApp" application - an MDI application with several tabs, and a separate full-featured MDI application is behind each of them (the CAppTabManager class.
  • The method of distributing application features among plug-ins, loading these plug-ins, using dialog boxes, toolbars, and images from plug-ins.
  • Working with OpenGL - the gradient background class, the camera class, object linking, getting the object under the mouse pointer, work planes.
  • Working with LUA - initiating and creating your own classes for LUA.
  • A lot of new MFC control elements.
  • Creating an ActiveX control element using OpenGL (ArMax) with the help of MFC.
  • Creating an OpenGL material editor (MaterialsEditor).
  • You will also find the source code of plug-ins for creating 2D primitives, 3D primitives, Boolean operations, cinematic operations, and for creating surfaces and solids.
  • And a lot more :).

The SolidGraph system can be used as a full-featured editor for 3D models and for building photorealistic images. You can write your own plug-ins for it (taking existing plug-ins as examples).

The SolidGraph system is based on the sgCore library and is developed by the Geometros company as an example of a minimal CAD system that can be based on this library. Ask your questions at [support@geometros.com].

Acknowledgements

We thank the authors of the libraries CxImage, LUA, CDiagramEditor, COptionTree.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here