GtkCADFree modular CAD/CAM/CAE Software |
HomeRequirementsDesignScreenshotsFAQProject PageSVNBugsLinks |
1. Revision History2. Business Justification:GtkCAD is being written because there are currently no CAD systems that have been developed for the LINUX operating system that meets the needs of the naval architecture community. This software is an attempt to fill those needs. 3. Scope:3.1. Identification:This document pertains to GtkCAD which is being developed for the LINUX operating system using the GTK+ graphics toolkit on top of the X windowing system. Initial releases will be for Intel x86 architecture. Current software version is GtkCAD 0.1.0 3.2. System Overview:GtkCAD will consist of 2 major programs. The first will be the Drawing editor (herein called GtkCAD). GtkCAD will be used by the end user to create and edit CAD drawings. The second component will be be a drawing viewer (herein called GtkViewer). GtkViewer will be used by users that need the ability to view CAD drawings, but do not have the authority to edit the documents. The design of GtkCAD should be very modular. So the end user should be able to decide at run time which modules to run at start-up and have the ability to change that selection during run time. 3.3. Document Overview:Not applicable 3.4. Referenced Documents:GNU Coding standards (http://www.cs.utah.edu/dept/old/texinfo/standards/standards_toc.html). Also see the Links page for futher related documentation. 3.5. Definitions:
4.0. Requirements:4.1. Required States:Not applicable 4.2. Functional Requirements:4.2.1 Requirements of the Main Application: The main application is required to provide the following features:
4.2.2 Requirements for the loadable modules:This should have a seperate document for each module. The basic requirements is that each module should be able to access the data form the drawing. and manipulate that data without modifying it. 4.3. Interface Requirements:4.3.1. List of component interfaces: External:
Internal:
4.3.2. Interface 1: X windows running on LINUXGtkCAD will be designed to run on the LINUX operating system, using Xwindows. It will use the GTK+ toolkit to provide the user interface and some basic processing. 4.3.3 Interface 2: Dynamically loadable modulesGtkCAD should set-up a series of API's that will allow dynamically loadable modules and external programs the ability to access the drawing object. 4.3.4 Interface 3: The Internal databaseThe drawing object will be stored in a database. This might be either flat files or a true Relational SQL database. Functions are needed to access the stored data. 4.4. Data Requirements:There are two data requirements. The first is the data as it is stored in the database. The second is the data in RAM that is manipulated by GtkCAD during normal operation. The data stored in the database should be in real world coordinates. This must be translated to screen coordinates to be used by GtkCAD for display on a video screen. 4.5 Performance and Reliability:To be written 4.6 Failure Contigency:To be written 4.7. Security Requirements:To be written 4.8. Environmental Requirements:As mentioned above, GtkCAD will run under X Windows on the LINUX operating system. 4.9. Hardware Interface Requirements:To be written 4.10. Other Software Requirements:Should be compatible with othe CAD programs via IGES data format. All coding should comply with established GNU coding standards. 4.11. Communication Requirements:To be written 4.12. Design Constraints:To be written 4.13. Deployment:To be written 4.13.1 Upgrades:To be written 4.13.2 New Installs:To be written 4.14. Testing Environment:To be written 5. Assumptions and Dependencies:To be written |
Contact H. James Parker at developer@parkersailing.com