Skip to main content

Getting Started

This section introduces the different ways you can use our platform. We'll explore our 3D Model Configurators and our three distinct creative editors: Rete, Blockly, and Monaco (TypeScript). We'll also cover their strengths, weaknesses, and typical use cases. Information common across editors or relevant to the platform itself is integrated within these descriptions.

3D Model Configurators

Our 3D Model Configurators provide access to a variety of pre-defined 3D models, allowing you to create unique parametric representations with just a few button clicks.

Key Features:

  • Intuitive: Each configurator is specifically tuned for its model.
  • Interactive: Often include model-specific 3D interactions to help you shape your designs intuitively.

Export Capabilities: You can export your configured models into industry-standard file types for use in third-party software. Supported formats include:

  • STEP
  • IGES
  • STL
  • GLTF
Important Limitations
  • You cannot import other models directly into a configurator.
  • You cannot combine multiple parametric models within the same configurator space.

If you need to combine multiple parametric models in a single 3D environment, consider using our parametric editors: Rete, Blockly, or Monaco (TypeScript).

Rete Editor

The Rete editor offers a visual, node-based approach to parametric design. It's simple enough for beginners yet powerful and versatile enough for professional computational designers.

Key Features:

  • Familiar Interface: If you've used tools like Grasshopper, Dynamo, or Blender Nodes, Rete's visual scripting will feel familiar.
  • Linear Flow: Define parametric relationships by connecting components (nodes) through inputs and outputs, creating a clear data flow.
  • Reactive Engine: This is a reactive editor. Changes you make to the script (e.g., adding a node, modifying a parameter) automatically trigger an update in the 3D scene. You see results immediately without needing to click a "Run" button. This makes it easy to iterate and understand the modeling process.

Blockly Editor

Blockly is designed for users who want to create complex 3D models, time-based simulations, or even games, using a visual block-based programming approach without writing traditional code.

Key Features:

  • Visual Programming: Compose scripts by connecting blocks that represent variables, inputs, outputs, and functions.
  • Educational Tool: Great for teaching programming concepts to children and beginners due to its intuitive nature and resemblance to actual code structures (more so than Rete scripts).
Non-Reactive Editor

Blockly is not a reactive editor. Scripts do not re-compute automatically when you add new components or change configuration inputs. You must click the "Run" button to see a preview of your creation in the 3D space.

Monaco (TypeScript) Editor

The Monaco editor provides a full code-based environment using TypeScript, aimed at professional programmers.

Key Features:

  • Maximum Freedom: Fully exposes the capabilities of:
    • BabylonJS game engine
    • Havok physics engine
    • BabylonJS GUI
  • Platform API: All platform capabilities are accessible via the global bitbybit variable.
  • Versatile: Create your own 3D experiences from scratch or even build custom editors.
Non-Reactive Editor

Similar to Blockly, Monaco is not a reactive editor. You need to click the "Run" button for your 3D scene to update after making changes to your code.

Open-Source NPM Packages (MIT Licensed)

For developers who want to integrate our core geometric algorithms and functionalities directly into their own web applications, we offer a suite of open-source NPM packages. Our two main game engine-based libraries are:

  • @bitbybit-dev/threejs
  • @bitbybit-dev/babylonjs

These allow you to leverage our CAD capabilities within your preferred 3D rendering environment.

Key Features & Benefits:

  • Flexibility: Build custom 3D tools, viewers, or applications tailored to your specific needs.
  • Integration: Seamlessly incorporate our computational geometry capabilities into your existing JavaScript or TypeScript projects using either ThreeJS or BabylonJS.
  • Community & Control: Leverage the power of open-source, contribute, or fork as needed.
  • MIT Licensed: All our core NPM packages are licensed under the permissive MIT license, granting you broad freedom to use, modify, and distribute your projects.
What's Included (and Not Included)

Our NPM packages provide the foundational geometric algorithms and data structures that power our platform, along with rendering integrations for ThreeJS and BabylonJS.

They generally do not include:

  • The pre-built 3D Model Configurators (those are part of our online platform services).
  • The proprietary advanced algorithms or specific models found in the "3D Models" section of our platform that require a subscription.
  • The UI of our online editors (Rete, Blockly, Monaco).

The packages offer the core engine, empowering you to build your own UIs and applications on top.

For a comprehensive list of available NPM packages and more detailed guides, please visit our NPM Packages documentation page.

API Documentation

All our editors (Rete, Blockly, Monaco) are built upon the same core set of algorithms. This means that much of the underlying functionality overlaps between them. While each editor excels in its specific use cases, it's often possible to implement similar features across any of the editors.

For a comprehensive explanation of our entire API surface, which powers all these tools, please visit our dedicated API documentation site:

➡️ docs.bitbybit.dev