Idea Repository


 * features move between parts and assemblies
 * able to make references and/or condense references from a feature and apply to other features
 * able to make assembly constraints become design constraints i.e. to drive geometry
 * references can be copied and or referred to at the part level as well as the assembly level (i.e. skeletons for parts)
 * geometry engine - all internal representations stored as exact numbers - rational numbers for the most part (and for ALL user entered values). derived numbers are stored as exact real numbers, rational or irrational (e.g. pi and sqrt(2)).  use a CAS here? the numbers are expanded/computed to float/double when necessary (such as for display or to calculate mass properties).
 * UI -> GUI <-> Geometry Display -> Geometry Engine <- Modules (better name needed) <-> UI
 * "Modules" is no good... something like "features" or "operations"?
 * Certain parameters should NOT have default values, they should instead be "undefined" or "not specified." e.g. density, modulus, units, surface rougness
 * REQUIRED: extremely reliable dependency checking
 * REQUIRED: extremely FAST regeneration (ties in to dependency checking, 'cause you don't need to regen what hasn't changed)
 * Any circular references need to be FLAGGED IMMEDIATELY at creation, and specified CLEARLY, and before any changes are finalized
 * features can be stored seperately, sort of like Pro/Engineer "skeleton" parts
 * design hierarchy:
 * project
 * assemblies
 * parts
 * features
 * parts and assemblies can have several states
 * possibly:
 * in design
 * semi-finalized
 * released
 * special handling for different states, e.g. "read only" or "warn on change", external references allowed or no references allowed
 * checking/analysis includes concepts such as "minimum part thickness"
 * entities retain references to how they were constructed and retain history/references to other entities used in construction
 * "released" part and assembly dimensions are converted to "nominal" values (i.e. no longer exact numbers) according to drawing dimension scheme
 * robust pattern generation, not exclusively for hole patterns, but also for tiles and other patterns
 * can be based on a sketch of holes
 * might be based off of an array of points
 * some sort of "universal" import/export needed (STEP, IGES, DXF?)
 * the ability to merge parts with similar features, so a pair of parts based on the same part can be reconciled and features copied to/from each other
 * Dimensions and Constraints
 * during design, constraints drive the geometry and dimensions take up the slack
 * during release, constraints are frozen/no longer appear at the part level, and the part is driven entirely from dimensions
 * snap to dimension values such as 1/8 inch or .01mm. apply at release?
 * sketcher can be 2d and 3d
 * similar to CADDS explicit mode
 * need checks for open/closed boundaries
 * checks for self-intersections