Overview
In order to enable good collaboration CAD must be clean and useable for all parties. Compliance with the standard is required for submitting CAD to the Rocket Team GitHub.
- Shall - A mandatory requirement
- May - Permissible. Can also represent a suggested implementation where other valid solutions exist.
The Short Version
If you're only here for a minute, read this before commiting to GitHub!
- You need GitHub desktop installed, and a GitHub enterprise account though MIT.
- Clone the repository onto your computer if you haven't already. You should only need to do this once.
- Before making changes, pull changes.
- Make changes by modifying the files in the GitHub directory.
- Check the highest level assembly in your project. Ensure it opens without any errors and that no mates are broken.
- Ensure your part has a material and appearance.
- Ensure your part is named and located somewhere that other people can make a good guess at what you were trying to do.
- On GitHub desktop verify you are committing the files (and only the files) you mean to.
- Add a commit message that says what you did.
- Commit.
- Push. You can verify your push by checking the GitHub repository online.
COTS Part File Naming
COTS parts shall be named X (Title) where X is the manufacturer assigned part number. Title shall be a descriptive word or phrase, being the commonly used name of the part. If the part is modified by the Rocket Team such that it is no longer equivalent to a part received new (i.e. a new part cannot be flown without modification). It shall receive a proprietary part name. Maintenance and repairs do not require a proprietary part name.
Example
A bolt is purchased from McMaster-Carr. The part number is 91253A102. Rocket Team downloads the official McMaster-Carr CAD file and names it 91253A102 (4-40 .125 Flat Head Cap Screw).
An eye nut is purchased from McMaster-Carr. The part number is 3274T410. Rocket Team drills a hole through the eye nut to accomodate a cotter pin. Rocket Team downloads the official McMaster-Carr CAD file. The CAD file is named HADES007 (3274T410, Eye Bolt). The CAD file can not be named 3274T410 (Eye Bolt) since the part was modified.
Proprietary File Naming
All part files shall follow a naming scheme of ASXYY (Title). The form ASXYY is considered the part number. All parts are required to have a unique part number. Files of the 'sldprt' type shall end in any non-zero digit. All 'sldasm' type files shall end in 0. Parts are not required to have a unique title at any scope. Within an assembly code there may be multiple parts titled 'Tube', within the project scope of the part there may be several other assemblies and parts titled 'Tube'. These tubes can not have the same part numbers.
Assemblies shall only reference parts under their file structure. If a part is needed in an assembly that does not contain the part a copy must be made and moved to the appropriate location.
Major Assemblies
AS is an assembly code representing large upper level assemblies. Every AS code shall have it's own folder. Every AS code shall have an assembly file AS000 (Major Assembly Name). Examples of assembly codes are shown below.
Major Assembly Name | Assembly Code |
---|---|
Payload Stack | PS |
Booster | BT |
Hermes 2 | HR |
Assembly codes shall not be reused within a project. Assembly Codes may be reused between projects, particularly to indicate similarity of function, design heritage, or commonality.
Sub-Assemblies
X is a sub-assembly code. Top level assemblies shall use '0' as the X character. Incidental, MOA, and minor assemblies may use the digits 1-9 for the X character. Two digit X codes are not acceptable. It is suggested that if you are creating more than 9 minor assemblies it is worthwhile to organize the files into multiple folders and create a new AS code. For example, the Hermes 2 Avionics Tower has 6 different panels, based on a common sled. The major assembly is AV000 (Avionics Tower). The panels are assemblies AV100 (Panel 1) through AV600 (Panel 6). This structure allows the panel to share discreet parts between assemblies without having to maintain multiple copies. The minor assemblies are children of the AV000 assembly.
YY is the part number. Parts shall have a unique part number within their sub-assembly. The last digit of a part number may only be 0 if the part is an assembly. The first digit may be 0.
Examples
Project Hermes is a rocket flying to 80,000 ft. The highest level assembly is HR000 (Hermes 2). It has its own folder. This folder contains folders for the major assemblies 'Mission Package' and 'Booster.' The Project Hermes folder contains COTS part files for fasteners. The project Hermes folder contains a proprietary part HR001 (Igniter). This part is included here because it is installed only when the vehicle is in this configuration.
The 'Mission Package' folder mentioned above contains several folders and files. There are folders for the major assemblies 'Avionics Bay', 'Payload Stack', and 'Outreach Payload.' It contains files such as MP000 (Mission Package), the major assembly file for the folder (which is used by the assembly one level above). The folder also contains files like MP001 (Nose Cone), MP002 (Nose Cone Tip), and 91253A108 (#4-40 .125 Flat Head Cap Screw).
Sketches
Drawings shall be fully constrained and dimensioned. Where possible they shall inherit dimensions from other sketches and parts. When multiple features are being defined from the same plane they shall all be in a single sketch.
2D sketches are highly preferred over 3D sketches. A 3D sketch may be substituted for a 2D sketch where the geometry cannot be defined by a 2D sketch, such as a helix or complex loft.
Parts
Parts shall be dimensioned as they are to be constructed. Tolerances for fit and function shall be modeled. Internal threads may be modeled with Solidworks cosmetic threads feature or modeled explicitly (as required by digital manufacturing). External threads shall be explicitly modeled.
Parts shall have a material applied. This material shall represent to the best knowledge of the team the material properties of the material that will be used in it's manufacture.
Drawings
Proprietary parts shall have a controlling document. For machined parts this will take the form of a drawing. The drawing may be made to a commercial standard such as ASME Y14.24. This document shall be committed to the SVN. This document shall retain the part number name with an appropriate file extension. Uploading a .pdf as well is strongly encouraged.
At minimum the drawing shall:
- Show dimensions for all critical features
- Note material and finish for the part
- Have three orthogonal projections in 3rd-Angle-Projection
Manufacturing Files
Proprietary parts shall have a controlling document. For some parts this takes the form of digital files such as .stl, .gcode, .amf, .dxf, .cam. This file shall be committed to the SVN. These files are usually specific to the machine that uses them. Caution should be taken when attempting to reuse these files. File types which do not explicitly encode the machine parameters, or require parameters to be set separately may have these parameters recorded separately. Files for digital manufacture shall be named with the part number and the appropriate file extension.
Fasteners
The team prefers even numbered UNC fasteners through #10 thread. Exceptions should be considered on a case by case basis. Fasteners should have a corrosion treatment, either plating or black oxide.
Solidworks Toolbox
Solidworks toolbox components shall not be used on flight parts. In order to generate an accurate bill of materials, a part number that can be referenced to a manufacturer should be used. Example: you are creating the assembly for the motor case and adding in the bolts. You know you need a UNC 1/4-20 5/8 cap head bolt. You may not insert it from the solidworks toolbox. You may download the file from McMaster-Carr and add it to the assembly that way.