This is just some
FunCAD documentation that I am
working on. This project is
work in progress.
FunCAD Goals and Requirements
This is where I list the various goals and
requirements for the FunCAD project.
The overall goals and requirements are:
-
Have Fun
-
My ultimate goal is to have fun.
For me, writing software is fun.
-
Platform Independent
-
FunCAD is intended to run on Linux,
Windows, and MacOS.
-
3D Graphics
-
3D graphics support are assumed. FunCAD
will run on top of OpenGL and GLUT.
-
Parameterized
-
Support for parameterized design is
required.
-
Recursive
-
It is assumed that a project consists
of sub-projects, sub-sub-projects,
etc. There will be no artificial
constraints on the number of sub-projects.
-
XML
-
File formats will be XML based.
-
Unified Bill of Materials
-
The bill of materials will support both
electronic and mechanical parts.
-
Web and Printer Friendly
-
It will be easy to print out views and
display them as web pages.
-
Documentation Friendly
-
It will be easy to generate instructions for
assembling and manufacturing stuff.
-
Unlimited Undo
-
Support unlimited undo.
-
Tutorial Support
-
Provide the ability to generate the tutorial
material in batch mode.
The mechanical CAD/CAM goals and requirements are:
-
xxx
-
xxxx
2.3 Electrical_CAD_Goals_and_Requirements
The electronic CAD goals and requirements are:
-
Supplant HobECAD
-
HobECAD was the previous ECAD system that
I designed that runs on top of the X11
window system. FunCAD will be able to read
in HobECAD files, but there is no need to
output HobECAD files.
-
Interoperate with pcb
-
pcb is an open source printed
circuit program that runs on top of X11.
The goal is to be able to read and write
pcb format files.
-
Gerber and Excellon
-
Provide good Gerber (RS-274X) and Excellon
drill file support.
-
Drill Rack
-
Frequently manufacturers let you use drills
from a pre-specified drill set for free and
charge you extra for different sizes. The
drill holes should specify a minimum size
and perhaps a maximum size.
-
Surface Mount
-
Support surface mount components.
-
G-code Generation
-
Support generation of outlines for mechanical
etching systems.
-
No layer restrictions
-
Support an arbitrary number of layers.
-
No size restrictions
-
Support fairly large boards.
-
Support Schematic Capture
-
Support the entering of schematics.
-
Multiple Boards and Schematics
-
Support concurrent work on multiple boards
and schematics.
-
Schematic and Board Cross Check
-
Allow the verification that a board
implements all of the componts in a
schematic.
-
Design Rule Check
-
Allow the verification that the PCB's do
not violate minimum line widths and trace
separations.
-
Multiple Line Thicknesses
-
Allow multiple line thicknesses.
-
Mechanical Interference Check
-
Detect mechanical interferance problems.
-
Assembly Instructions
-
Support the generation of assembly instructions.
-
Easy Part Addition
-
Allow easy addition of new parts.
-
Signal Compatibility Checking
-
Allow checking of signals for compatibilty.
-
Header File Generation
-
Support header file generation for software.
-
Allow Multiple Grids
-
Support multiple grids.
Copyright (c) 2005 by
Wayne C. Gramlich All rights reserved.