-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #19 from jsconan/release-1.0.0
Release 1.0.0
- Loading branch information
Showing
126 changed files
with
9,081 additions
and
169 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,127 @@ | ||
# rc-tracks | ||
Printable race track systems for RC cars. | ||
# RC-tracks | ||
|
||
A printable race track systems for remote controlled cars. | ||
|
||
<!-- vscode-markdown-toc --> | ||
|
||
- [At a glance](#Ataglance) | ||
- [Install and requirements](#Installandrequirements) | ||
- [OpenSCAD](#OpenSCAD) | ||
- [Source code](#Sourcecode) | ||
- [Download the zip file](#Downloadthezipfile) | ||
- [Get the code from the repository](#Getthecodefromtherepository) | ||
- [Configuration](#Configuration) | ||
- [Render the parts](#Rendertheparts) | ||
- [Post-scripts](#Post-scripts) | ||
|
||
<!-- vscode-markdown-toc-config | ||
numbering=false | ||
autoSave=true | ||
/vscode-markdown-toc-config --> | ||
<!-- /vscode-markdown-toc --> | ||
|
||
## <a name='Ataglance'></a>At a glance | ||
|
||
The project contains designs for a modular race track system aimed at remote controlled cars. The parts are designed using a scripting language, processed by [OpenSCAD](https://openscad.org/about.html). There is no ready to use 3D model files in the source code. If you are interested in such files, please look at the [released versions](https://github.com/jsconan/rc-tracks/releases) which contains 3D model files built with default parameters. However, if you want to customize these parts, tailoring them with your measures, you should rather download the source code and then tweak the configuration files before generating your own 3D model files. | ||
|
||
The project contains two different systems, each targeting a particular RC car scale: | ||
|
||
- [1/24 to 1/32 scale](scale-24/README.md) | ||
|
||
![RC track](./doc/rctrack-24.jpg) | ||
|
||
- [1/64 to 1/76 scale](scale-64/README.md) | ||
|
||
![RC track](./doc/rctrack-64.jpg) | ||
|
||
Please refer to the readme file for each variant in order to get the proper documentation. | ||
|
||
> **Note:** the scales are given as an estimate, not all scales have been tested. The `1/24 to 1/32` variant has been tested with `1/28` scale models, while the `1/64 to 1/76` variant has been tested with `1/76` models. | ||
## <a name='Installandrequirements'></a>Install and requirements | ||
|
||
To properly use the project you first need to do some installations steps. | ||
|
||
### <a name='OpenSCAD'></a>OpenSCAD | ||
|
||
First of all you need [OpenSCAD](https://openscad.org/) to be installed. To do so, please go to the [OpenSCAD download page](https://openscad.org/downloads.html), an get the version suitable for your operating system. | ||
|
||
### <a name='Sourcecode'></a>Source code | ||
|
||
The source code is hosted on a [Git](https://git-scm.com/) repository. To get it you can either download a [zip file](https://github.com/jsconan/rc-tracks/archive/refs/heads/main.zip), or clone the repository locally. | ||
|
||
#### <a name='Downloadthezipfile'></a>Download the zip file | ||
|
||
The source code can be downloaded from the [GitHub repository](https://github.com/jsconan/rc-tracks). | ||
|
||
You can download it as zip file from this [link](https://github.com/jsconan/rc-tracks/archive/refs/heads/main.zip). | ||
|
||
As the project is using a shared library, that is not supplied with the package, you will need to also download it. | ||
|
||
Download the zip file from this [link](https://github.com/jsconan/camelSCAD/archive/refs/heads/main.zip). | ||
|
||
Then extract its content inside the folder `lib/camelSCAD`. Please make sure the folder directly contains the library and not an intermediate folder like `lib/camelSCAD/camelSCAD-main`. If this is the case, please move the content one folder up and delete the extra folder. | ||
|
||
Note: the easiest way is to call the `init.sh` script, that will take care of this for you. | ||
|
||
#### <a name='Getthecodefromtherepository'></a>Get the code from the repository | ||
|
||
A git tool is needed if you intend to get the source code from the git repository. You can download one either from the [main git website](https://git-scm.com/downloads), or from [GitHub](https://docs.github.com/en/github-cli). | ||
|
||
Once you have your git tool installed, open a console window, select a project folder (create it if needed), then run the following commands: | ||
|
||
``` | ||
git clone https://github.com/jsconan/rc-tracks.git | ||
cd rc-tracks | ||
git submodule init | ||
git submodule update | ||
``` | ||
|
||
The source code should have been downloaded, as well as the libraries. | ||
|
||
Note: you can also use a graphical interface tool. In this case, please make it can also install the submodules. | ||
|
||
Note 2: the easiest way is to call the `init.sh` script, that will take care of this for you. | ||
|
||
### <a name='Configuration'></a>Configuration | ||
|
||
The configuration for each system may be changed locally. To not collide with changes in the main implementation, the configuration files are not versioned. Instead, you will find `-dist` files that contain a copy of the typical configuration. | ||
|
||
From a fresh copy of the project, you will need first to create these configuration files. The easiest way is to call the `init.sh` script, that will take care of this for you. The configuration files will also be checked and created if needed each time the `render.sh` script is called. | ||
|
||
This initial creation of the configuration files could also be done manually. Here is how: | ||
|
||
1. Go to the `config` folder | ||
2. Copy any of the files having a `-dist` suffix in their name to a file without this suffix. | ||
|
||
_Example:_ copy `config-dist.scad` to `config.scad` | ||
|
||
Please refer to the readme file for each variant in order to get the proper documentation. | ||
|
||
## <a name='Rendertheparts'></a>Render the parts | ||
|
||
In each system, the parts are all located into the `parts` folder. They can all be opened separately in [OpenSCAD](https://openscad.org/) and rendered. | ||
|
||
However, it is possible to render all parts in batch. Each system proposes a script `render.sh` to take care of this. | ||
|
||
This is a command-line tool, which accept several parameters. By default, it will render the preset selected in the config. | ||
|
||
It is possible to select another preset, as well as set a different number of cells for the containers. | ||
|
||
The parameter `-h` make it show the help. | ||
|
||
If the slicer [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer) is installed, running the command `render.sh -s` will produce the [G-code](https://en.wikipedia.org/wiki/G-code) from the rendered STL files and using the setting from the file `config/config.ini`. | ||
|
||
Please refer to the readme file for each variant in order to get the proper documentation. | ||
|
||
## <a name='Post-scripts'></a>Post-scripts | ||
|
||
For each system, when using the built-in script to render/slice the models in batch, you can also add custom post-processing scripts. There is one for `render.sh` and one for `slice.sh`. They are respectively named `post-render.sh` and `post-slice.sh`. | ||
|
||
As these script can be defined locally, they are not part of the versioned content. Instead, you can find sample files at `post-render-dist.sh` and `post-slice-dist.sh`. To use them, you need to: | ||
|
||
- copy the dist file to a local file, for example: `cp post-render-dist.sh post-render.sh`. | ||
- you need to make sure the file is executable: `chmod +x post-render.sh`. | ||
- finally, add you own commands to the copy. | ||
|
||
Please refer to the readme file for each variant in order to get the proper documentation. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
/** | ||
* @license | ||
* GPLv3 License | ||
* | ||
* Copyright (c) 2020-2022 Jean-Sebastien CONAN | ||
* | ||
* This file is part of jsconan/rc-tracks. | ||
* | ||
* jsconan/rc-tracks is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* jsconan/rc-tracks is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with jsconan/rc-tracks. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
/** | ||
* A race track system for RC cars of various scales. | ||
* | ||
* Global configuration. | ||
* | ||
* @author jsconan | ||
*/ | ||
|
||
// We will render the object using the specifications of this mode | ||
renderMode = MODE_PROD; | ||
|
||
// Defines the characteristics of the printer | ||
layerHeight = 0.2; // The height of the printed layers | ||
nozzleWidth = 0.4; // The size of the printer's nozzle | ||
printTolerance = 0.1; // The print tolerance when pieces need to be assembled | ||
printInterval = 5; // The interval between 2 pieces when presented together | ||
printerLength = 250; // The length of the printer's build plate | ||
printerWidth = 210; // The width of the printer's build plate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/** | ||
* @license | ||
* GPLv3 License | ||
* | ||
* Copyright (c) 2020-2022 Jean-Sebastien CONAN | ||
* | ||
* This file is part of jsconan/rc-tracks. | ||
* | ||
* jsconan/rc-tracks is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* jsconan/rc-tracks is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with jsconan/rc-tracks. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
/** | ||
* A race track system for RC cars of various scales. | ||
* | ||
* Global constants. | ||
* | ||
* @author jsconan | ||
*/ | ||
|
||
// The angle of a typical curve | ||
CURVE_ANGLE = RIGHT; |
Oops, something went wrong.