| title | Mechanism Design and Simulation - Collaboration Guide | ||
|---|---|---|---|
| description | Contributing guide for Mechanism Design and Simulation course content | ||
| tableOfContents | true | ||
| sidebar |
|
Read this course at: https://siliconwit.com/education/mechanism-design-simulation/
Hands-on engineering experiments using interactive browser-based mechanism simulators. Each lesson provides structured lab exercises with data collection, Python analysis scripts, and design insight questions.
| # | Title | Simulator |
|---|---|---|
| 1 | Crank-Slider Mechanism Experiments (8 experiments) | Crank-Slider Simulator |
| 2 | Four-Bar Linkage Experiments (9 experiments) | Four-Bar Linkage Simulator |
| 3 | Scissor Lift Experiments (9 experiments) | Scissor Lift Simulator |
mechanism-design-simulation/
├── index.mdx
├── crank-slider-experiments.mdx
├── four-bar-linkage-experiments.mdx
├── scissor-lift-experiments.mdx
└── README.md
All commands below work on Linux, macOS, and Windows (using Git Bash, PowerShell, or Command Prompt with Git installed).
First time setup (clone the repo once):
git clone https://github.com/SiliconWit/mechanism-design-simulation.git
cd mechanism-design-simulationEvery time you start working:
git pull origin mainAlways pull before making changes. This avoids conflicts with other contributors.
After making your changes:
git add .
git commit -m "Brief description of what you changed"
git push origin mainIf you get a push error (someone pushed before you):
git pull origin mainGit will merge the changes automatically in most cases. If there is a conflict, Git will mark the conflicting lines in the file. Open the file, choose which version to keep, then:
git add .
git commit -m "Resolve merge conflict"
git push origin mainTips to avoid conflicts:
- Always
git pull origin mainbefore you start working - Push your changes as soon as you are done, do not hold onto uncommitted work for long
- Coordinate with other contributors so two people are not editing the same file at the same time
- Fork the repository: SiliconWit/mechanism-design-simulation
- Clone your fork:
git clone https://github.com/YOUR-USERNAME/mechanism-design-simulation.git cd mechanism-design-simulation - Make your changes and commit:
git add . git commit -m "Brief description of what you changed" git push origin main
- Open a Pull Request against
mainon the original repository - Describe what you changed and why in the PR description
- All lesson files use
.mdxformat - Each experiment must include: objective, setup instructions, data collection table, Python script, expected results, and design question
- Code blocks should include a title attribute:
```python title="analyze_velocity.py" import numpy as np import matplotlib.pyplot as plt ```
- Use Starlight components (
<Tabs>,<TabItem>,<Steps>,<Card>) where appropriate - Python scripts must work with CSV files exported from the simulators
- Experiments should progress from basic observation to quantitative analysis
To preview the full site locally, clone the main site repository and initialize submodules:
git clone --recurse-submodules <main-repo-url>
cd siliconwit-com
npm install
npm run devTo test a production build:
npm run buildThis course content is released under the MIT License.