|
QCAD Application Framework
CAD Application Development and Automation.
|
This is the developer documentation for QCAD Application Framework developers. If you are a user of QCAD and don't have any interest in extending or modifying the QCAD Application, please refer to the QCAD user documentation instead at: http://www.ribbonsoft.com/qcad_doc.html
The QCAD Application ("QCAD") is a cross platform 2D CAD system and the flagship product of Switzerland based RibbonSoft GmbH.
QCAD is based on the QCAD Application Framework, a framework that can be used to build CAD related applications in C++ or in ECMAScript.
The QCAD Application Framework consists of several programming libraries as well as resources such as fonts or hatch patterns and an executable which is capable of running ECMAScript code.
The QCAD Application Framework is written in C++ and uses the Qt Application Framework ("Qt"). Qt provides a lot of the generic, low level functionality that is often found in desktop applications. The QCAD Application Framework adds all CAD specific functionality to that. On the ECMAScript level, the actual application is put together using the components provided by Qt and the QCAD Application Framework.
The QCAD Application Framework can be extended in both C++ (developer license required) or ECMAScript (under any QCAD user license).
This module contains some fundamental core classes and abstract base classes for extensions, e.g. RStorage as an abstract base class for all storage implementations or REntity, the base class for all entity classes in the Entity module.
This module contains fundamental classes that implement basic mathematical concepts such as vectors or matrices as well as basic geometrical classes that represent points, lines, triangles and other basic geometrical shapes.
This module contains implementations of all CAD entities that are supported by the QCAD Application Framework.
GUI implementation of widgets, graphics views and graphics scenes based on the QWidget class of Qt.
Implements an orthogonal grid.
This module contains implementations of the ROperation Interface. Operations offer a convenient API to preview and apply common modifications to a drawing document (adding entities, changing entities, removing entities).
Implements object and grid snaps.
This module implements the spatial index interface based on the spatial index library from Navel Ltd.
These modules are implemented in ECMAScript and used by the QCAD application. They may also be used by other applications.
This module contains ECMAScript implementations of the tools in the file menu.
This module contains ECMAScript implementations of the editing tools (copy, paste, undo, redo, delete, ...)
This module contains ECMAScript implementations of advanced selection tools.
This module contains ECMAScript implementations of various drawing tools.
This module contains ECMAScript implementations of various modification tools.
This module contains ECMAScript implementations of the block tools.
This module contains ECMAScript implementations of various measuring and information tools.
This module contains ECMAScript examples.
This module contains ECMAScript implementations of the help menu entries.