diff --git a/docs/design-handbook/structure/images/materials/1540woodprototypes.webp b/docs/design-handbook/structure/images/materials/1540woodprototypes.webp new file mode 100644 index 00000000..37b75560 Binary files /dev/null and b/docs/design-handbook/structure/images/materials/1540woodprototypes.webp differ diff --git a/docs/design-handbook/structure/images/materials/coolbillet29102023.webp b/docs/design-handbook/structure/images/materials/coolbillet29102023.webp new file mode 100644 index 00000000..19bc6c04 Binary files /dev/null and b/docs/design-handbook/structure/images/materials/coolbillet29102023.webp differ diff --git a/docs/design-handbook/structure/images/materials/examplegusset.webp b/docs/design-handbook/structure/images/materials/examplegusset.webp new file mode 100644 index 00000000..06b5d6cf Binary files /dev/null and b/docs/design-handbook/structure/images/materials/examplegusset.webp differ diff --git a/docs/design-handbook/structure/images/materials/srppexample.webp b/docs/design-handbook/structure/images/materials/srppexample.webp new file mode 100644 index 00000000..1a06d723 Binary files /dev/null and b/docs/design-handbook/structure/images/materials/srppexample.webp differ diff --git a/docs/design-handbook/structure/materials.md b/docs/design-handbook/structure/materials.md index 3ca5bcd7..1d5177b8 100644 --- a/docs/design-handbook/structure/materials.md +++ b/docs/design-handbook/structure/materials.md @@ -1,23 +1,104 @@ # Materials - +An overview of raw materials commonly found on FRC robots, including tips for handling them and use cases. This is specifically on materials used to make custom plates and parts, not necessarily COTS items. -An overview of raw materials commonly found on FRC robots. +!!! Note + For more information on materials used in 3D printing, like TPU or PLA, refer to the Intro to 3D Printing page for more information. ## Aluminum -1/8, 3/16, and 1/4 aluminum stock are generally used for gussets and plates that have to be stiffer than plastic could provide. Avoid using use these materials in applications where they will be exposed beyond the robot frame, as they are not as impact-resistant as plastics and can easily bend, or fail catastrophically. 6061-T6 is the most common alloy, but 7075 is sometimes used and has higher yield strength. +Aluminum is one of the most versatile materials in FRC. It is both durable and easy to work with which means it's perfect for many applications. It's great for its cost; compared to other metals, it is relatively affordable. They are ideal for many applications where strength and structure are needed. In applications where this support isn't important, it may be more optimal to use a cheaper material like polycarbonate or to cut weight with SRPP. In addition, aluminum is not ideal for places where it extends beyond frame perimeter like intakes as it can easily bend or fail catastrophically. -## Polycarbonate +This section focuses on aluminum plates and blocks, however they are used everywhere in COTS and stock items like shafts, extrusions, etc. The thickness of the metal and type (6061 vs 7075) are important considerations as they each have different use cases. + +
+ +
Example of gusset made out of aluminum. Credit: CTRE.
+
+ +### Sheet Thickness + +Aluminum sheets can come in many thicknesses. The following are common thicknesses, however consider them as more ranges than single values. -Polycarbonate plastic is used in high impact applications such as subsystems that are exposed beyond the robot frame perimeter. Typically 1/4" thickness is used. 1/8 or 1/16" polycarbonate can be used for dust covers, sponsor panels, etc. - it will almost never shatter, and looks great. +**1/16" or 0.090":** Such thin metal is almost exclusively used for supports, like gussets or bellypans. Easy to route and use, it is very helpful in many cases. + +**1/8":** 1/8" aluminum can play a variety of roles, from structural pieces to gussets. It can be more beneficial than 1/4" material because of its lower weight, however in cases involving high loads and forces, 1/4" is preferred. !!! Tip - "Smoked" or "tinted" polycarbonate can provide a more aesthetic look than clear. While making smoked polycarbonate is difficult, making frosted is easy! 30 seconds of sanding with an orbital sander using 240 grit will give the material a nice, glassy finish. + For outer frame tubes on a drivetrain, it is best practice that they are 1/8" rather than 1/16" because of the large forces they'd experience from robot collisions. + +**1/4":** Best thickness for anything structural, where strength is needed (i.e. high load pivots). +### Alloy + +Although many types of aluminum alloys exist, the most commonly used in FRC is **6061-T6** followed by **7075**. 6061 is best because of its ability to be both strong and easy to machine with. For most applications, it works well. However, in applications where more strength to handle higher loads is wanted, 7075 aluminum can be helpful. For more information on alloys aside from the two discussed, visit this website to learn more. !!! Note + 7075 aluminum is used in many COTS items, notably solid hex shafts and gears. It is important to note the alloy on vendor websites if attemping to machine or modify COTS items. + +### Billet + +Billet parts are blocks of metal that are machined through milling to remove part of it. They are usually made of 6061 aluminum. It is rare to see custom billet because of the difficulty in manufacturing for many teams, however they can be an important tool for many teams. Many COTS parts are made of billet material, such as tube plugs. + +
+ +
Billet part used on the end of 2910's 2023 telescoping tube. These parts can range wildly in complexity, and depends significantly on your team's capabilities.
+
+ +## Polycarbonate + +Also known as Lexan, polycarbonate or "polycarb" is a very versatile and useful material used in applications where less strength is needed and where aluminum is overkill/not optimal. Polycarbonate plastic is used in high impact applications such as subsystems that are exposed beyond the robot frame perimeter. Typically 1/4" thickness is used. 1/8 or 1/16" polycarbonate can be used for dust covers, sponsor panels, etc. - it will almost never shatter, and looks great. + +
+ +
Example of polycarbonate plates on 1678's 2022 intake.
+
+ +!!! Warning + Do not use loctite around polycarbonate! This can cause the plate to crack irreversibly. For bolts that are susceptible to vibrating out of plate, be sure to tighten them regularly and take care when assembling. + +### Sheet Thickness + +**1/32"-1/8":** Often used where strength is not important, such as in dust covers or sponsor plates. Can be great as a material for floors, for example the polycarbonate backing of shooters. + +**1/4":** Great for applications where more strength is needed. For maximum strength, switching to aluminum instead may be better. + +!!! Tip + "Smoked" or "tinted" polycarbonate can provide a more aesthetic look than clear. While making smoked polycarbonate is difficult, making frosted is easy! 30 seconds of sanding with an orbital sander using 240 grit will give the material a nice, glassy finish. In addition, stickers (i.e. sponsor stickers) on the plate will stand out much more on tinted polycarbonate. + + +!!! Warning Make sure to check your supplier's thickness and tolerance for each material. Sometimes, something marketed as in imperial measurements is actually manufactured to fit metric tolerances. For instance: 1/4" polycarbonate is actually sometimes manufactured as 6mm, which is 14 thousandths of an inch off of 1/4in. Account for these actual stock measurements when designing to make sure things end up fitting together! +## Steel + +Steel is a useful alternative to aluminum when maximum strength is needed or for ballast. Some teams may opt to have a steel bellypan instead of aluminum, for example, in order to lower their center of gravity. It is also used in some COTS items like steel hex axles or bolts. Custom machined steel plates or parts are rare in FRC because of how difficult it is to machine with (steel saws and sanders are needed to work with steel). In almost all cases, teams will have to reach out to an outside manufacturer in order to make it. + +## Self-Reinforced Polypropylene (SRPP) + +SRPP is an increasingly popular material in FRC for its weight savings and strength compared to polycarbonate. It is a less toxic compound used in plates, and it is composed of fibers woven into a "fabric" (similar to carbon fiber). It is both stiffer and significantly more impact resistant than polycarbonate. Plus, it also weighs much less, which can be hugely important for weight savings. It is a great material for mechanisms that are often outside of frame perimeter, like intakes; where polycarbonate might be used, SRPP can often be slotted in. + +The major drawback is its expense: it costs $250 a sheet compared to $80 for polycarbonate. In addition, machining it is slightly different than polycarbonate. Laser cutting is the preferred method for clean, precise cuts. However, it can also be routed with a CNC machine, though extra precaution should be taken. It is fine to cut sheets, i.e. with a table saw. More information on manufacturing can be found at a vendor's website, for example REV Robotics guide for SRPP. + +
+ +
SRPP sheet. Credit: REV Robotics.
+
+ +!!! Tip + SRPP is resistant to many chemicals, including loctite! This means you can loctite bolts around SRPP, unlike polycarbonate, with no issues. + +## Carbon Fiber + +**Coming Soon** + +## Wood + +Wood is a useful material for prototyping or testing ideas before creating it out of the intended (and more expensive) material. Due to its brittleness, it should almost never be on an FRC robot. It is easy to source, machine, and use, and can be an essential tool for prototyping whole mechanisms before they're put on the robot. + +
+ +
The usefulness of wood for prototyping, especially if you have a laser cutter. Can make many prototypes quickly. Credit: Team 1540.
+

diff --git a/docs/learning-course/stage1/1B/images/exercise2-assy 2.webp b/docs/learning-course/stage1/1B/images/exercise2-assy 2.webp new file mode 100644 index 00000000..1a65241c Binary files /dev/null and b/docs/learning-course/stage1/1B/images/exercise2-assy 2.webp differ diff --git a/docs/learning-course/stage1/1B/images/exercise3-assy 2.webp b/docs/learning-course/stage1/1B/images/exercise3-assy 2.webp new file mode 100644 index 00000000..f0b765e8 Binary files /dev/null and b/docs/learning-course/stage1/1B/images/exercise3-assy 2.webp differ diff --git a/docs/learning-course/stage1/1C/images/exercise1-assy 2.webp b/docs/learning-course/stage1/1C/images/exercise1-assy 2.webp new file mode 100644 index 00000000..1887550a Binary files /dev/null and b/docs/learning-course/stage1/1C/images/exercise1-assy 2.webp differ diff --git a/docs/learning-course/stage1/1C/images/exercise1-layout 2.webp b/docs/learning-course/stage1/1C/images/exercise1-layout 2.webp new file mode 100644 index 00000000..d1a3de40 Binary files /dev/null and b/docs/learning-course/stage1/1C/images/exercise1-layout 2.webp differ diff --git a/docs/learning-course/stage1/1C/images/exercise1-layout-final 2.webp b/docs/learning-course/stage1/1C/images/exercise1-layout-final 2.webp new file mode 100644 index 00000000..2ed9c392 Binary files /dev/null and b/docs/learning-course/stage1/1C/images/exercise1-layout-final 2.webp differ diff --git a/docs/learning-course/stage1/1C/images/exercise3-assy 2.webp b/docs/learning-course/stage1/1C/images/exercise3-assy 2.webp new file mode 100644 index 00000000..938c40d9 Binary files /dev/null and b/docs/learning-course/stage1/1C/images/exercise3-assy 2.webp differ diff --git a/docs/learning-course/stage1/1D/images/define-holes 2.webp b/docs/learning-course/stage1/1D/images/define-holes 2.webp new file mode 100644 index 00000000..8608edfd Binary files /dev/null and b/docs/learning-course/stage1/1D/images/define-holes 2.webp differ diff --git a/docs/learning-course/stage1/1D/images/drivetrain-assembly 2.webp b/docs/learning-course/stage1/1D/images/drivetrain-assembly 2.webp new file mode 100644 index 00000000..29872175 Binary files /dev/null and b/docs/learning-course/stage1/1D/images/drivetrain-assembly 2.webp differ diff --git a/docs/learning-course/stage1/1D/images/example-master-sketch 2.webp b/docs/learning-course/stage1/1D/images/example-master-sketch 2.webp new file mode 100644 index 00000000..0f8c02df Binary files /dev/null and b/docs/learning-course/stage1/1D/images/example-master-sketch 2.webp differ diff --git a/docs/learning-course/stage1/1D/images/full-assembly 2.webp b/docs/learning-course/stage1/1D/images/full-assembly 2.webp new file mode 100644 index 00000000..b3632155 Binary files /dev/null and b/docs/learning-course/stage1/1D/images/full-assembly 2.webp differ diff --git a/docs/learning-course/stage1/1D/images/pop-rivet-steps 2.webp b/docs/learning-course/stage1/1D/images/pop-rivet-steps 2.webp new file mode 100644 index 00000000..2ac56562 Binary files /dev/null and b/docs/learning-course/stage1/1D/images/pop-rivet-steps 2.webp differ diff --git a/docs/learning-course/stage1/1D/images/tab-manager 2.webp b/docs/learning-course/stage1/1D/images/tab-manager 2.webp new file mode 100644 index 00000000..54b65ae5 Binary files /dev/null and b/docs/learning-course/stage1/1D/images/tab-manager 2.webp differ diff --git a/docs/learning-course/stage1/1D/images/tab-manager-2 2.webp b/docs/learning-course/stage1/1D/images/tab-manager-2 2.webp new file mode 100644 index 00000000..db8419b7 Binary files /dev/null and b/docs/learning-course/stage1/1D/images/tab-manager-2 2.webp differ diff --git a/docs/learning-course/stage1/1E/images/full-detail-drivebase 2.webp b/docs/learning-course/stage1/1E/images/full-detail-drivebase 2.webp new file mode 100644 index 00000000..3ea4c2dd Binary files /dev/null and b/docs/learning-course/stage1/1E/images/full-detail-drivebase 2.webp differ diff --git a/docs/mechanism-examples/.meta 2.yml b/docs/mechanism-examples/.meta 2.yml new file mode 100644 index 00000000..28aec3a5 --- /dev/null +++ b/docs/mechanism-examples/.meta 2.yml @@ -0,0 +1,2 @@ +hide: + - toc \ No newline at end of file diff --git a/docs/resources/featurescript-help 2.md b/docs/resources/featurescript-help 2.md new file mode 100644 index 00000000..55220162 --- /dev/null +++ b/docs/resources/featurescript-help 2.md @@ -0,0 +1,36 @@ +--- +hide: + - toc +--- + +# Featurescript Help + +## How To Install Featurescripts + +1. Open any Onshape document and go inside of a part studio +2. Click the rightmost button on the toolbar + - **Note:** If you have previously added any Featurescripts one of those may show up as the right most icon. In that case click the dropdown to show the add button. +3. Paste the link of the document with the featurescript(s) in it into the search bar + - **Note:** Some of the below featurescripts exist in the same document, so you can add multiple from the same link. + +4. Select the featurescript(s) you want to add to your profile, then exit the box. They will be accessible in all documents from then on in the same drop-down in the toolbar where you added the feature. + +??? Video "Video Tutorial" + + +!!! Note "Adding Featurescripts while in a Featurescript Document" + When viewing a tab in a document that uses custom features, you can click a button near the top left that says 'custom features'. From here you can add custom features used in the document to your profile. + +## Troubleshooting and Updating Featurescripts + +If a featurescript is not working as expected, the current version might be broken. You might have to update the featurescript. If it needs updating, the feature will show a blue icon to the right of it that, when hovered over, will say "change version of linked document." + +1. The first way to update it is by individually by right clicking the feature you want updated in the feature list and clicking "Update linked document..." +2. The second, and slightly more permanent way (until the maintainer of the custom feature creates a new version), is by right clicking any of the featurescript icons in your toolbar or in the custom features dropdown and clicking "Update..." or "Update all..." From there, you can see the current versions of the custom features you have added to your profile and update selected ones to use the current latest version when you use a featurescript. + +??? Video "Video Tutorial" + \ No newline at end of file diff --git a/docs/resources/frcdesignlib 2.md b/docs/resources/frcdesignlib 2.md new file mode 100644 index 00000000..77deedc3 --- /dev/null +++ b/docs/resources/frcdesignlib 2.md @@ -0,0 +1,50 @@ +--- +hide: +- toc +social: + cards_layout: special-resource + cards_layout_options: + background_image: layouts/16-9-frcdesignlib-banner.png + +description: FRCDesignLib is a library of FRC COTS components and assemblies maintained by the community. +--- + +# FRCDesignLib + +
+ +FRCDesignLib is a library of FRC COTS components and assemblies maintained by the community. The typical way to use it is through the FRCDesignApp, which allows you to insert or derive those components into your documents easily. + + +## Installing FRCDesignApp + +FRCDesignApp is a plugin for Onshape that allows you to use a large library of parts that are useful when designing for FRC. + +!!! Tip + FRCDesignApp is the plugin/app that helps you insert components into your documents, while FRCDesignLib is the actual collection of components. FRCDesignApp may get upgraded to include more functionality in the future. + +To install it, go to the [FRCDesignApp page](https://appstore.onshape.com/apps/Manufacturers%20Models/2ZT7X5D646R3LM3ZND7LGBTYRVM4SVH6CDDGM6I=/description "FRCDesignApp Store Page"){:target="_blank"} in the Onshape Appstore. + +Press "Subscribe", then "Get for Free". This will automatically add the FRCDesignApp to your Onshape account. + +!!! Note + After subscribing, the FRCDesignLib inserter won't show up in already open documents until you reload. This is a first-time thing though. + +!!! Video "Video Tutorial" +
+ +
+ + +## Contributing to the Library +To maintain the high quality of library components, the contribution process requires some standards to be followed (all of which are documented). Join the Discord below to help out with component and/or app development and to access the contribution resources. + +
+[![](/img/discord-link.webp){width=20%}](https://discord.gg/7bp7mvTU9k) +
+ +--- + +*Credit to the banner image goes to Diego from FRC 4999* + +
\ No newline at end of file diff --git a/docs/resources/images/frcdesignlib-banner 2.webp b/docs/resources/images/frcdesignlib-banner 2.webp new file mode 100644 index 00000000..57d65511 Binary files /dev/null and b/docs/resources/images/frcdesignlib-banner 2.webp differ diff --git a/layouts/16-9-frcdesignlib-banner 2.png b/layouts/16-9-frcdesignlib-banner 2.png new file mode 100644 index 00000000..25bcfad3 Binary files /dev/null and b/layouts/16-9-frcdesignlib-banner 2.png differ diff --git a/layouts/special-resource 2.yml b/layouts/special-resource 2.yml new file mode 100644 index 00000000..a43a06be --- /dev/null +++ b/layouts/special-resource 2.yml @@ -0,0 +1,31 @@ +definitions: + + - &page_description >- + {{ page.meta.get("description", config.site_description) or "" }} + + + - &background_image >- + {{ layout.background_image | x }} + +tags: + + og:type: website + og:title: page.title + og:description: *page_description + og:image: "{{ image.url }}" + og:image:type: "{{ image.type }}" + og:image:width: "{{ image.width }}" + og:image:height: "{{ image.height }}" + og:url: "{{ page.canonical_url }}" + + twitter:card: summary_large_image + twitter:title: page.title + twitter:description: *page_description + twitter:image: "{{ image.url }}" + + +size: { width: 1200, height: 630} + +layers: + - background: + image: *background_image \ No newline at end of file