Skip to content

Commit

Permalink
Merge pull request #5 from jsconan/release-0.2.0
Browse files Browse the repository at this point in the history
Release 0.2.0
  • Loading branch information
jsconan authored Jan 7, 2022
2 parents 122f5a0 + efc48a6 commit f69b6c8
Show file tree
Hide file tree
Showing 52 changed files with 3,276 additions and 777 deletions.
29 changes: 26 additions & 3 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,34 @@
# rc-tracks history

## [Version 0.1.0](https://github.com/jsconan/rc-tracks/releases/tag/v0.1.0)
## [Version 0.2.0](https://github.com/jsconan/rc-tracks/releases/tag/0.2.0)

Improved design of the race track system for 1/24 to 1/32 scale RC cars.

- The file structure has been updated.
- The link between parts has been reworked for a better track cohesion.
- The profiles have been redesigned.
- A distinction is made between the inner and outer curves and the parts can be resized to a multiple of the main length.
- Added shapes:
- Straight track chunks: simple and double length
- Curved track chunks: inner, outer, small, short, U-turn
- Special track chunks: arch to constraint the track width between two sides, U-turn compensation
- Track samples to draw a model of the track (default scaled to 1/10)
- Track accessories: led-clip, mast, flag

---

Notes:

- Import from the repository [jsconan/things](https://github.com/jsconan/things)
- Extract of the pull request https://github.com/jsconan/things/pull/40

## [Version 0.1.0](https://github.com/jsconan/rc-tracks/releases/tag/0.1.0)

Design a race track system for 1/24 to 1/32 scale RC cars.

---

Import from the repository [jsconan/things](https://github.com/jsconan/things)
Notes:

Extract of the pull request https://github.com/jsconan/things/pull/37
- Import from the repository [jsconan/things](https://github.com/jsconan/things)
- Extract of the pull request https://github.com/jsconan/things/pull/37
2 changes: 2 additions & 0 deletions rcmodels/tracks/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/output
/dist
43 changes: 25 additions & 18 deletions rcmodels/tracks/config/config.scad
Original file line number Diff line number Diff line change
Expand Up @@ -23,29 +23,36 @@
/**
* A race track system for 1/24 to 1/32 scale RC cars.
*
* Defines the config.
* Configures the project.
*
* @author jsconan
* @version 0.1.0
*/

projectVersion = "0.2.0";

// We will render the object using the specifications of this mode
renderMode = MODE_PROD;

// Defines the constraints of the print.
printResolution = 0.2; // The target layer height
nozzleWidth = 0.4; // The size of the print nozzle
printTolerance = 0.1; // The print tolerance when pieces need to be assembled

// Defines options
heightWithFasteners = true; // Should the height be with or without the fastener elements?

// The dimensions of a track chunk
chunkSize = 200; // The nominal size of a chunk: the length for straight chunk, or the width for a curved chunk
// Defines the constraints of the printer.
printResolution = 0.2; // The target layer height
nozzleWidth = 0.4; // The size of the print nozzle
printTolerance = 0.1; // The print tolerance when pieces need to be assembled

// The constraints of the track barrier
barrierThickness = 0.6; // The thickness of the barrier body
barrierHeight = 40; // The height of the barrier, depending on the option heightWithFasteners
barrierHolderDepth = 6; // The depth of the barrier holder to clamp the barrier body
barrierHolderBase = 2; // The base value used to design the barrier holder
barrierNotchBase = 2; // The base value used to design the barrier notches
// The dimensions and constraints of a track element
trackSectionSize = 100; // The nominal size of a track element: the length for straight element, or the radius for a curved element
trackLaneWidth = 400; // The width of track lane, i.e. the distance between the barriers
trackRadius = 200; // The radius of the track inner curve
barrierHeight = 30; // The height of the barrier, including the holders
barrierHolderBase = 2; // The base unit value used to design the barrier holder
barrierBodyThickness = 0.6; // The thickness of the barrier body
sampleSize = 10; // The size for the sample track elements
sampleBase = 1; // The base unit value used to design the samples
archTowerThickness = 1.6; // The thickness of the arch tower clip
accessoryClipThickness = 0.8; // The thickness of the cable clip
cableClipWidth = 2; // The width of the cable clip
mastWidth = 3; // The width of the accessory mast
mastHeight = 70; // The length of the accessory mast
flagWidth = 40; // The width of the accessory flag
flagHeight = 20; // The height of the accessory flag
flagThickness = 0.8; // The thickness of the accessory flag
rightOriented = false; // The orientation of the curved elements
41 changes: 41 additions & 0 deletions rcmodels/tracks/config/print.scad
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
/**
* @license
* GPLv3 License
*
* Copyright (c) 2020 Jean-Sebastien CONAN
*
* This file is part of jsconan/things.
*
* jsconan/things 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/things 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/things. If not, see <http://www.gnu.org/licenses/>.
*/

/**
* A race track system for 1/24 to 1/32 scale RC cars.
*
* Show the config values.
*
* @author jsconan
*/

// Import the project's setup.
include <setup.scad>

// Show the values
printConfig(
length = trackSectionSize,
width = trackLaneWidth,
height = barrierHeight,
radius = trackRadius,
base = barrierHolderBase
);
Original file line number Diff line number Diff line change
Expand Up @@ -26,37 +26,28 @@
* Setup the context.
*
* @author jsconan
* @version 0.1.0
*/

// As we need to use some shapes, use the right entry point of the library.
include <../../../lib/camelSCAD/shapes.scad>

// Then we need the config for the project, as well as the related functions
include <../config/config.scad>
include <functions.scad>
include <config.scad>
include <values.scad>

// Finally, include the shapes
include <../shapes/profiles.scad>
include <../shapes/fragments.scad>
include <../shapes/straight.scad>
include <../shapes/curve.scad>
include <../shapes/curved.scad>
include <../shapes/uturn.scad>
include <../shapes/accessories.scad>

// Validate the critical constraints
assert(
chunkSize >= getMinStraightLength(),
str(
"The size for a straight chunk is too small! The minimum length is ",
getMinStraightLength(),
". The current value is ",
chunkSize
)
);
assert(
getArcLength(radius = chunkSize, angle = 90) >= getMinCurveLength(),
str(
"The length for a curved chunk is too small! The minimum arc length is ",
getMinCurveLength(),
". The current value is ",
getArcLength(radius = chunkSize, angle = 90)
)
// Validate the config against the constraints
validateConfig(
length = trackSectionSize,
width = trackLaneWidth,
height = barrierHeight,
radius = trackRadius,
base = barrierHolderBase
);
Loading

0 comments on commit f69b6c8

Please sign in to comment.