Skip to main content

Buerli,
custom
cloud CAD

@buerli.io/headless is a programmatic CAD workflow for the web.

buerli.io is now in the public beta phase and still under heavy development. Feedback and suggestions for improvements are very welcome!

Access CAD from anywhere

Integrate it into any platform, share it with anyone.

Buerli offers seamless integration between interactive CAD modeling and programming. With our APIs, web developers can program CAD models interactively, just like designers do. This allows designers and programmers to work collaboratively and efficiently, with the ability to reconfigure models within the browser using the API.

Buerli CAD instances can be run on cloud-based Linux or Windows machines, providing access to CAD server functionality through a web browser. Our software can be embedded into existing apps, or customized to suit specific needs.

Buerli CAD is ideal for online configuration of 3D models, empowering customers to customize products within a B2C sales process. It also offers benefits for AssembleToOrder (ATO), EngineerToOrder (ETO), and other applications that were previously only available on workstations.

Batch processing is simplified with Buerli, allowing for direct execution of code on the server to automate manual tasks. For instance, the system can automatically create or update 2D drawings from a model whenever the 3D model changes.

> yarn add @buerli.io/headless

[4/4] 🔨 Building fresh packages...
└─ @buerli.io/headless@1.0.0
✨ Done in 5.43s.
1const shape = new THREE.Shape()
2shape.lineTo(10, 0)
3shape.lineTo(10, 2)
4shape.lineTo(2, 2)
5shape.lineTo(2, 5)
6shape.lineTo(1, 5)
7shape.lineTo(1, 10)
8shape.lineTo(0, 10)
9const solid = api.extrude([0, 0, 10], shape)
10
11api.blend(solid, 2, [10,1,0], [10,1,10], [.5,10,10], [.5,10,0])
12api.blend(solid, .5, [1,5,5], [0,0,50], [2,2,5])
13
14const cyl1 = api.cylinder(200, 40)
15api.move(cyl1, [-5, 5, 0])
16api.rotate(cyl1, [0, Math.PI / 2, 0])
17const cyl2 = api.cylinder(200, 40)
18api.move(cyl2, [5.5, 5, 0])
19api.rotate(cyl2, [Math.PI / 2, 0, 0])
20api.subtract(solid, cyl1, cyl2)
21
22const offset = api.offset(solid, 1)
23const geom = await api.createBufferGeometry(offset)
24const mesh = new THREE.Mesh(geom, new THREE.MeshStandardMaterial())
25scene.add(mesh)
Ln 25, Col 10   Spaces: 2   UTF-8   LF   Javascript   Prettier

Headless
modeling.

Solid based modeling

Our JavaScript API is both intuitive and straightforward, offering solid operations such as shapes, booleans (unions, subtracts, intersections), extrusions, revolves, blends, chamfers, slices, arrays, patterns, offsets, and more. The API is fully compatible with THREEJS, and recognizes some of its primitives, including shapes, curves, and paths.

History based modeling

Our API for history-based modeling enables programmatic creation of parametric models. Code features and expressions can be easily modified, prompting re-calculation of the model. Add instances and position them using 3D constraints to build assemblies. This is particularly useful for variant configurators.

Introducing Buerligons, our user-friendly interactive CAD system.

Parts

Easily create 3D solids using parametric sketching, basic shapes, or extruding and revolving operations. Use boolean operations, slicing, and patterns to manipulate and position your parts. All objects can be parameterized with expressions.

Our software will continue to evolve with new CAD features, such as upcoming sweep and loft capabilities, to enhance usability.

Assemblies.

Our software provides the ability to create and position instances in a 3D scene using either 3D constraints or the movement gizmo. We offer support for standard 3D constraints, such as slider, revolute, planar, or parallel, which are defined on coordinate systems within the parts. Additionally, users can seamlessly switch between assembly mode and part modeling by double-clicking on the relevant parts within the assembly tree.

Coding and modeling in CAD is interchangeable

Coding and modeling can achieve similar results and complement each other in CAD design. For example, if you have an algorithm for assembling objects, coding it can be more efficient than relying on user interaction. There are many situations where coding can enhance an interactive system. Additionally, users can be prompted to interact with the model during code execution.

Interactive
building blocks
for React.

Components.

Components enable you to customize your CAD system or select relevant parts for your use case. The main component is a reactive canvas that reflects the model's visual state and allows for interactivity and selection. Additional components include a tree-view displaying model features, expressions, assembly parts, and constraints.

View-space plugins.

Integrated plugins enable model interaction within the canvas. Interactive model creation is supported by plugins for every modeling feature such as extrusions, while the sketcher plugin is the most complex and allows for drawings and constraints. Additional plugins provide peripheral information such as the viewcube, measurements, and expressions.

ClassCAD packed
with features
and 20 years experience.

Non-manifold solid kernel

A NURBS solid modeling kernel includes a powerful set of construction, modification, and evaluation tools for curves, surfaces, trimmed surfaces and polygonal solids. It supports topologically based operations such as booleans, fillets, offsets, tessellations, deformable modeling, and much more. Note today we use only a fraction of the kernel functionality within our Buerli.

Constraint solving

High level support for 2D constraints within the sketcher and 3D assembly construction. Assembly constraints can be driven by expressions on coordinatesystems, called mates.

STEP support

Import of Step models (AP203, AP214, AP242). Assembly structures are supported for standard and enterprise plans, while solid modeling imports Step flattened. Other formats like SAT or IGES are available on request

Creation of drawings

Create drawings and export them as DXF! This functionality is based on hidden-line removal and curve-projection into 2D planes. Importing DXF with filters on specific layers is also possible. These curves can be used for further operations.

Node based instance management

Our node based backend has horizontal scaling inbuilt and manages connecting clients automatically. Even a single instance may serve multiple users while states are swapped quickly and efficiently.

Native format

A native format allows binary storage of the created geometry and its parametric history. You can use it to save a state, for instance into a database, and resume work later on, or as a starting point for configurators.

WASM

A full self-contained WASM embed is coming soon!.

Customer stories

Discover the journeys of our customers through their inspiring stories. Explore how businesses overcame challenges, realized their aspirations, and achieved remarkable outcomes with our solutions. From innovative strategies to tangible results, these customer stories provide a firsthand account of the impact and value our offerings bring.



wemonte

Wemonte desired a system that seamlessly integrates, can be automated and controlled 'headless,' and at the same time, offers the full capacity of a mature CAD tool. In collaboration with buerli, the startup has successfully developed a functional configurator.

fms

FMS Force Measuring Systems AG is the market leader in the field of web tension measurement, control and specialist for web guiding solutions. The main work was to create simplified models and automatize the process with the Buerli history API.

glowbuzzer

The glowbuzzer toolkit provides the capability to rapidly develop custom machine controls using web-tech. We provide a real-time core that controls the machine (including robots) over industrial fieldbusses. On top of this, customers can develop rich applications in React and Typescript using our comprehensive React components. Our integration with Buerli allows interaction with model files to easily build robot programs plus several other advanced scenarios. Deeper integration with Buerli is coming soon.

Begin for free.
Scale as you grow.

We will establish Buerli pricing as we transition from Beta to general availability.


Free

Enterprise

$0/mo
$?/mo

Welcome to our platform! We offer free versions of our APIs, components, and Buerligons with unlimited functionality, except for export formats. These free versions typically have an expiration date, usually after several months. Please check the expiration date when downloading your CCAPP file. Feel free to use the free versions for private, educational, or research purposes, especially within universities and similar educational settings. For extended or commercial usage, explore our premium plans for added benefits and support. We aim to foster a thriving community of developers, researchers, and enthusiasts. We hope our free offerings contribute significantly to your projects and studies. Reach out to our support team for any questions or feedback. Happy exploring!

We offer a customer-centric pricing model, where the value we provide determines the cost of our services. Our pricing includes access to all features, such as exports and custom backends, tailored to support your specific needs efficiently. Our goal is to contribute to your success in developing customizable CAD embeds in the cloud. Our software stack empowers your projects with cutting-edge capabilities, and we'll support you every step of the way. Contact us to discuss your unique requirements. Our team is eager to understand your goals and create a tailored solution that aligns perfectly with your vision. Let's collaborate to elevate your CAD projects to new heights! Your success is our success. Reach out to start the conversation. We're excited to work together!

Happy to
make your
acquaintance!

buerli.io is now in the public beta phase and still under heavy development. Feedback and suggestions for improvements are very welcome!