Coder Social home page Coder Social logo

bbid-lang's Introduction

bbid-lang / Building Block Identification Language

This project's goal is to create a more descriptive, programmable and extensible way of describing building block parts such as LEGO®.

The system consists of descriptor assignments in Radix64 blocks.

The following could be represented as 0-13-------------5.----------13-----------------------------------------K-----

This might seem like overkill, but how do you systematically describe elements that combine a variety of properties more than studs and the ability to socket with other studs? To for example clips, bars, technic-style axles, etc... Would you know what I mean when I say "Plade 1X2 M. Van. Hul Ø 4,8"? Most likely not.

The Spec Sheet

Attribute Description Type Sample Value
Brand Make of the part Radix64[1] -
Assembly Whether or not the part is a combination of other parts Radix64[1] -
Studs Represents a block of possible stud orientations, 5 blocks of stud configuration Radix64[15] 13-------------
- Studs/Max Maximum length row of studs Radix64[1] 1
- Studs/Min Minimum length row of studs Radix64[1] 3
- Studs/Adjustment The amount of studs to subtract from min x max. Radix64[1] -
Height Increments of 2mm Radix64{1,2} 5.
Hinges Representation of possible hinge orientations, Max 3 orientations Radix64[6] ------
- Hinges/Orientation Vertical/Horizontal Radix64[1] -
- Hinges/Type Hinge Type Radix64[1] -
Socket Represents possible stuck socket orientations, 5 blocks of stud configuration Radix64[15] 013------------
- Socket/Min Maximum length row of sockets Radix64[1] 1
- Socket/Max Minimum length row of sockets Radix64[1] 3
- Socket/Adjustment Adjustment to min x max Radix64[1] -
Clips Representation of possible clip orientations, Max 4 Radix64[4] ----
- Clips/Count The number of clips Radix64[1] -
Axle Sockets Number of axle sockets Radix64[1] -
Axles Possible axle orientations, 4 possible Radix64[4] ----
- Axles/Length The length of the axle in 8 mm increments Radix64[1] -
Pins Possible Pin Orientations, 3 possible Radix64[6] ------
- Pins/Length In increments of 8mm Radix64[1] -
- Pins/Count Count of pins in orientation Radix64[1] -
Pin Sockets Possible Pin Socket Orientations, 4 possible Radix64[4] ----
- Pin Sockets/Count Count of pin sockets Radix64[1] -
Clip Bar Possible Clip bar orientations, 4 possible Radix64[4] ----
- Clip Bar/Count Number of bars that can be clipped Radix64[1] -
Sleeve Possible Bar Sleeve orientations, 4 maximum Radix64[4] ----
- Sleeve/Count Count of sleeve for a given orientation Radix64[1] -
Mini-Bar Whether or not it contains a mini Bar Radix64[1] -
Colors Set of colors present, 4 possible Radix64[4] ----
- Colors/color A color id Radix64[1] -
Sticker Represents Radix64[4] --
- Sticker/Min Minimum measurement in 2mm increments Radix64[1] -
- Sticker/Max Maximum measurement in 2mm increments Radix64[1] -
Printed Whether or not the part is printed on Radix64[1] -
Modifier Unique Modifier to the part Radix64{1,3} -..

Demo Site

The following site illustrates the usage of BBID system to generate codes.

https://ryansh100.github.io/bbid-lang/

bbid-lang's People

Contributors

ryansh100 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.