Skip to content

bhmj/classico_layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pavement tile layout generator

What is it?

This program generates tile layouts for Classico tiles. Classico tiles (also known as Old Town) is a set of tiles of 3 sizes: small, medium and large. The width ratio is 1:2:3 and the height is 2 for all tiles. The tiles look like this:
small tile medium tile large tile

The number of tiles on a pallet can be different among manufacturers. Here's an example of one layer of tiles on a pallet:
pallet layer

Also, the pavement can consist of tiles of different color so we need to mix them in a proper ratio.

The task is to layout tiles within a given pavement width so that the remainder of tiles is minimum.

Installation

git clone [email protected]:bhmj/classico_layout.git

Configuration & run

make build

./build/classico_layout --pallet.large=16 --pallet.medium=16 --pallet.small=4

Example of layout generated

Roadmap

  • configurable number of large, medium and small pieces in one pallet layer
  • configurable number of layers
  • configurable pavement width
  • configurable color ratio
  • configurable output path
  • user-defined colors
  • color mix: random pattern for 2 colors
  • color mix: random pattern for N colors
  • color mix: gradient pattern

Usage

Usage:
  classico_layout [OPTIONS]

Classico tile layout generator
version 0.3.0

Application Options:
      --config-file=                                         Classico config file path (json and yaml formats supported) [$CLASSICO_CONFIG_FILE]
      --log-level=[debug|info|warn|error|dpanic|panic|fatal] Log level (default: info) [$CLASSICO_LOG_LEVEL]

Pallet configuration:
      --pallet.large=                                        Number of large pieces in one layer (default: 16) [$CLASSICO_PALLET_LARGE]
      --pallet.medium=                                       Number of medium pieces in one layer (default: 16) [$CLASSICO_PALLET_MEDIUM]
      --pallet.small=                                        Number of small pieces in one layer (default: 4) [$CLASSICO_PALLET_SMALL]
      --pallet.layers=                                       Number of layers on a pallet (default: 12) [$CLASSICO_PALLET_LAYERS]

Pavement configuration:
      --pavement.width=                                      Width of the pavement in small piece numbers (default: 10) [$CLASSICO_ROAD_WIDTH]

Color configuration:
      --color.mode=[random|gradient]                         Color mode (default: random) [$CLASSICO_COLOR_MODE]

Help Options:
  -h, --help                                                 Show this help message

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :)

Licence

EUPL 1.2

Author

Michael Gurov aka BHMJ

About

Pavement tile layout generator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published