130 likes | 143 Views
Explore an innovative framework for managing the complexity of design processes, involving vast data, automation of tasks, and visualization tools, including aggregations, relationships, and version objects. Enhance design alternatives and history while supporting analysis and simulation. Benefit from concurrent design views ensuring seamless workflow.
E N D
Enhancing Design Complexity ManagementSeptember 13, 2000 Benjamin A. Baker, Russell D. Fish and Elaine Cohen
Design ComplexityManagement Problems • Vast amounts of data involved • Difficult to create and visualize complex design frameworks • Requires automation of complex and time-consuming tasks • Lack of user interfaces that support design complexity management
Three main components: Aggregations Relationships Version objects Decomposition at multiple levels of detail Interactions between components Represents design functionality Simultaneous development and integration Supports analysis and simulation Design alternatives and history Complexity Management Framework
Concurrent Design Views Interface • Box diagram of design framework • Familiar tree view structure • Text based specification • Geometric representation
Aggregations Neighborhood Part Assembly Relationships Interface specification Aggregations & Relationships
Concurrent Design Views Interface Capabilities • Visualization of multiple levels of design detail and complexity • Hierarchical representation of design framework • Rapid navigation of the model hierarchy • Concurrency among design views • Consistent user interface throughout entire development process
No Concurrency May have tools designed for specific tasks Powerful tools that are unable to communicate with each other Re-entry or conversion of data between different tools Concurrent Views Changes made in one view are reflected across all views Allows the designer to perform operations in the most suitable interface Conceptual design creates a usable framework Concurrency Between Views
Incremental Design Example Video FormulaSAE Automobile
Model Specification&Geometric Representation Chassis : { Frame; Wheel; RearSuspension : { SupportMembers; Springs; BearingCarrier; Hub; SupportMembers_Springs_Intfc; SupportMembers_BearingCarrier_Intfc; BearingCarrier_Hub_Intfc; } Brake : { Hat; Rotor; Caliper; Adapter; Hat_Rotor_Intfc; Rotor_Caliper_Intfc; Caliper_Adapter_Intfc; } Frame_RearSuspensionIntfc; RearSuspension_Wheel_Intfc; Brake_RearSuspension_Intfc; }
HeatSlots : seq { “Slots”; CirDia : (Rotor_Hat_Intfc::BoltCirDia + RotorParms::SlotCirOffset); CtrPt : pt (0.0, -RotorParms::SlotCtrRad); CtrCir : circleCtrRad (CtrPt, RotorParms::SlotCirRad); ConstLine1 : linePtAngle(CtrPt, 35.0); Point1 : prIntersectCircleLine(CtrCir, ConstLine1, false); Cir1 :* circleCtrRad (origin, RotorParms::SlotWidth/2.0); Cir2 :* circleCtrRad (Point1, RotorParms::SlotWidth/2.0); Cir3 :* circleRadTan2Circles (RotorParms::SlotCtrArd + RotorParms::SlotWidth/2.0, Cir1, Cir2, true, true, true); Cir4 :* circleRadTan2Circles (RotorParms::SlotCtrRad – RotorParms::Width/2.0, Cir1, Cir2, false, false, true); SlotCrv : outlineCrv (array (Cir1, Cir3, Cir2, CircCCW(Cir4)), false); Slot : profileSize (SlotCrv, “inside”, RotorParms::Thick + 0.1, 0.0, 0.0, 0.0); Anchor1 : rotateAnchor (Prims::Anchor1, 0.0, 0.0, - RotorParms::SlotFrstAng); SlotPattern1 : radialPattern (Anchor1, Slot, RotorParms::SlotNum, (RotorParms::SlotFrstAng+90.0) / RotorParms::SlotNum, CirDia); Anchor2 : rotateAnchor (Anchor1, 0.0, 0.0, 90.0); SlotPattern2 : radialPattern (Anchor2, Slot, RotorParms::SlotNum, (RotorParms::SlotFrstAng+90.0) / RotorParms::SlotNum, CirDia); Slots : entity (mergeShell (SlotPattern1, SlotPatter2); } Brake_RearSuspension_Intfc : intfcSeq { “Include generic link information” joint : ijoint(); pos : intfcPos (baseAnchor, Brake); neg : intfcPos (baseAnchor, RearSuspension); “Identify common dimensions”; CalMountOffset :* (37.5); BrakeEarOffset :* (40.0); “Decompose into interfaces between Adaptor and Bearing Carrier and betweem Brake Hat and Hub”; AdapterAnchor : offsetAnchor (baseAnchor, CalMountOffset, BrakeEarOffset, 0); Adapter_BearingCarrier : intfc (ijoint(), baseAnchor, Adapter, baseAnchor, BearingCarrier); atch1 : partOf (joint, AdaptorAnchor, Adapter_BearingCarrier); BrakeHat_Hub : intfc (ijoint(), baseAnchor, BrakeHat, baseAnchor, BearingCarrier); atch2 : partOf (joint, baseAnchor, BrakeHat_Hub); } Aggregation Specification Example Interface Specification Example
Conclusions • Intuitive user interface increases the utility and ease of use for a powerful complexity management framework • Visual hierarchical decomposition of complex design frameworks • Multiple representations of the design framework • Concurrency between design views is maintained
Future Work • Version objects & design histories • Visual sub-system separation • Commenting of code within objects • Analysis & simulation support with other tools via the user interface
Acknowledgments This work was supported in part by: • NSF Science and Technology Center for Computer Graphics and Scientific Visualization (ASC-89-20219) • DARPA (F33615-96-C-5621)