Skip to content

Commit 774125b

Browse files
migration of blog posts, removed generated index categories
1 parent c92fe98 commit 774125b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1188
-109
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
slug: mixed-reality-cad
3+
title: MIXED REALITY CAD
4+
authors: [ubarevicius]
5+
description: "Our latest experiment demonstrates that it is possible to use our CAD algorithms in a mixed reality environment, showcasing interactions with parametric 3D models using Meta Quest Pro."
6+
tags: [bitbybit, cad, xr, vr]
7+
---
8+
9+
![User interacting with a parametric 3D model in mixed reality.](https://ik.imagekit.io/bitbybit/app/assets/blog/mixed-reality-cad/mixed-reality-cad.jpg "User interacting with the parametric 3D model in mixed reality.")
10+
11+
Mixed reality is an exciting new frontier for computer-aided design (CAD) applications, and we are thrilled to share our latest parametric experiment with you. With the help of Meta Quest Pro and WebXR, we have created an experimental CAD application that allows users to build designs directly in their surroundings.
12+
13+
<!-- truncate -->
14+
15+
We have developed several user interaction concepts to make the experience feel as natural as possible, and while there is still room for improvement, we believe this demo effectively showcases the potential of our platform.
16+
17+
Our approach to CAD modelling uses a constraint-driven system, with pre-programmed control nodes that can only be moved in specific directions. This lightweight "sketch" design provides a solid foundation for creating the final shape of the design. Once the nodes are in place and the design is fully adapted to our needs, we simply click a button in the floating panel to compute the final result, which can be inspected on-the-go.
18+
19+
### In-Depth Experience Video
20+
21+
To showcase our application's capabilities, we have produced a video that depicts a user interacting with a parametric 3D model in a mixed reality environment. The video can also be found on our YouTube channel. Hit subscribe if you enjoy it.
22+
23+
<div class="responsive-video-container">
24+
<iframe
25+
width="560"
26+
height="315"
27+
src="https://www.youtube.com/embed/4rqxlJcS4eU"
28+
title="YouTube video player - Mixed Reality CAD Demo"
29+
frameborder="0"
30+
allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
31+
allowfullscreen>
32+
</iframe>
33+
</div>
34+
35+
Further in this blog post, we will discuss our view on the future of the CAD industry within the metaverse and our goals to provide a lot of new applications that could be tuned for specific use cases.
36+
37+
### Exploring the Role of CAD in the Metaverse
38+
39+
The metaverse, a concept popularized in Neal Stephenson's 1992 novel "Snow Crash," refers to a virtual world where people can interact with each other and with digital objects in a seamless and immersive way. In recent years, the discourse around the metaverse has largely centered around two main use cases: gaming and social networking. However, there has been relatively little discussion about the potential role of computer-aided design (CAD) in the metaverse. In this blog post, we will explore some possible reasons why this is the case and offer our take on it.
40+
41+
One possible reason for the lack of attention given to CAD in the metaverse is that the technology for creating immersive and interactive virtual worlds is still relatively new and rapidly evolving. Companies such as Roblox, Epic Games, and Facebook (now Meta) are investing billions of dollars in developing the infrastructure and tools necessary to create metaverse environments that can support large numbers of concurrent users and allow them to interact with each other in real-time. These companies have primarily focused on gaming and social networking because these use cases have proven to be the most popular and profitable in the early days of the metaverse. However, as the technology matures and more use cases emerge, it can be that CAD will become a more prominent part of the metaverse.
42+
43+
Another possible reason why CAD has not been a major focus of the metaverse is that the software and hardware required to create and interact with 3D models in real-time are still relatively expensive and could not fit the size of the regular headset. Additionally, many CAD software companies have been slow to embrace the metaverse, perhaps because they see it as a potential threat to their existing business models or other reasons. As the metaverse continues to evolve and mature, it is possible that software companies will begin to see the CAD metaverse as an opportunity to expand their user base and increase their revenues.
44+
45+
### Bridging the Gap: Our Approach to CAD on the Metaverse
46+
47+
One potential solution to the lack of CAD adoption in the metaverse is the creation of simplified design applications that can run in metaverse environments. By leveraging our CAD algorithms, we plan to develop a variety of these applications to help address the issues that have limited the adoption of CAD in the metaverse.
48+
49+
Our plan is to create easy-to-use apps that are more accessible and affordable than traditional CAD software, making it easier for a wider range of people to create and manipulate 3D models in real-time. By offering these applications through app stores, we will be able to provide a more immersive and interactive experience, unlocking the potential of CAD in the metaverse for a wider range of use cases beyond just architecture and engineering.
50+
51+
We hope that this will help to bridge the gap between traditional CAD workflows and the more intuitive and interactive workflows required in the metaverse. With a range of user-friendly tools for creating and manipulating 3D models in real-time, our applications will help to unlock the full potential of CAD in the metaverse and pave the way for new and innovative use cases and applications.
52+
53+
In conclusion, we believe that the development of parametric and model-oriented CAD applications has the potential to overcome the barriers that have limited the adoption of CAD in the metaverse. By leveraging our expertise, we will develop these applications to help unlock the full potential of CAD in the metaverse and pave the way for a wider range of use cases and applications.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
slug: moos-modular-housing-configurator
3+
title: "MOOS MODULAR HOUSING CONFIGURATOR: Simplifying Custom Housing Design"
4+
authors: [ubarevicius]
5+
tags: [bitbybit, cad]
6+
description: "We collaborated with Leon Spikker to develop an easy-to-use modular housing configurator for 'In The Middle Of Our Street' BV (MOOS), simplifying the exploration of countless housing module options."
7+
---
8+
9+
![A screenshot from a video showing the MOOS modular housing configurator in action, displaying 3D building modules on a map interface.](https://ik.imagekit.io/bitbybit/app/assets/blog/moos-modular-housing-configurator/moos-configurator.jpg "Housing configurator in action.")
10+
11+
We had the pleasure of collaborating with Leon Spikker to develop an easy-to-use modular housing configurator for our valued Dutch client, 'In The Middle Of Our Street' BV (MOOS). This new innovative tool simplifies the exploration of countless configuration options provided by MOOS housing modules. Our team programmed a user-friendly web application that enables users to effortlessly select different parameters and view real-time 3D model and data changes. We're thrilled to have played a part in bringing this project to life!
12+
13+
<!-- truncate -->
14+
15+
Our team's primary objective from the outset was to enable users to generate customized housing projects at any location in the Netherlands while providing access to important urban contextual information. Through our collaboration, we developed a comprehensive solution that allowed users to easily add and configure different building types to their project, with the ability to explore countless configuration possibilities with ease.
16+
17+
<div>
18+
<video class="video" controls poster="https://ik.imagekit.io/bitbybit/app/assets/blog/moos-modular-housing-configurator/video-cover-moos-configurator.jpg" style={{width: "100%"}} >
19+
<source src="https://ik.imagekit.io/bitbybit/app/assets/blog/moos-modular-housing-configurator/configurator.mp4" type="video/mp4"/>
20+
Your browser does not support the video tag.
21+
</video>
22+
</div>
23+
*Video made by Leon Spikker demonstrates the basic capabilities of the housing configurator.*
24+
25+
While the user interface for the application may appear simple, it conceals the complexity of the sophisticated technologies that we employed to create this solution. We integrated innovative web technologies, such as 3D game engines, GIS kadaster cloud services, and other cutting-edge technologies, to develop a powerful tool that makes designing and constructing custom housing projects more efficient and straightforward.
26+
27+
### Basic Features
28+
29+
The housing configurator makes it easy for users to experiment with different configuration options and visualize their impact on the environment in real-time. This feature is invaluable for exploratory purposes as it allows users to generate new ideas and concepts by visualizing their designs and information in a realistic and interactive way.
30+
31+
We also implemented features that enable users to create new projects and multiple sites within them, providing flexibility and control over the design process. Each site can contain one or multiple buildings, and our solution offers a range of visualization options on aggregated project, site and building levels. This approach enables users to gain deeper insights into the design and its impact on the environment, making it easier to refine and optimize parameters for maximum efficiency and effectiveness.
32+
33+
The configurator also offers approximate pricing information, a critical feature when it comes to designing affordable housing. This information enables users to make rough estimates of the cost of their project, allowing them to make informed decisions and adjustments to their designs based on their budget.
34+
35+
To make it easier for users to share their designs with stakeholders, our solution includes a PDF report feature that compiles all the information about the project, including screenshots of the site, buildings, and charts. This feature streamlines communication and decision-making and ensures that everyone involved has access to the same information, leading to a smoother and more efficient design and construction process.
36+
37+
Building modules can be presented in two visualisation levels: conceptual and accurate. The first level is optimized to represent XS, S, M, L, and XL modules, while the second level offers a more detailed and realistic representation of both the modules and the constructed buildings.
38+
39+
### GIS Data Driven Design
40+
41+
The configurator is designed to provide users with a comprehensive and interactive view of their project's urban context. This includes the ability to view parcel zoning information, hide existing buildings, and add new ones, as well as the visualization of trees and other natural features that help users make informed decisions on where to build their structures and minimize their impact on the environment.
42+
43+
The housing configurator's powerful capabilities are made possible in part by the underlying Geographic Information Systems (GIS). Over the years, various organizations in The Netherlands have assembled geolocated data, which we have integrated into our application in creative and innovative ways.
44+
45+
This data, which is typically not available in regular CAD systems, provides valuable insights into the urban context, including zoning information, land use patterns, and natural features. By tapping into this rich source of data, we are able to offer users a more comprehensive and interactive view of their projects and enable them to make informed decisions based on a wide range of factors.
46+
47+
We believe that the integration of GIS data is critical to the success of any modern housing configurator, as it enables users to explore and understand the context of their projects. Our solution offers a new and innovative way to harness this valuable data and provides users with the insights they need to design and build efficient, affordable, and sustainable housing projects.
48+
49+
### Summary
50+
51+
We strongly believe that developing innovative cloud-based CAD solutions powered by data is an area of immense potential. There are numerous features to be built, and countless possibilities to explore. This housing configurator is an example of how innovative thinking can help the housing industry move forward. Although there are always more features to be developed, we are proud of the success of this project and confident that it will enable MOOS to further their mission of providing affordable housing in the Netherlands.
52+
53+
For more information, visit the [wijzijnmoos.nl website](https://wijzijnmoos.nl/).
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
slug: v0-15-5-release-notes
3+
title: "RELEASE NOTES 0.15.5: Enhanced Circle, Arc, and Vertex Functionality"
4+
authors: [ubarevicius]
5+
tags: [bitbybit, cad]
6+
description: "Version 0.15.5 brings a host of new open-source features for working with circular edges, arcs, constraint-based edges, and the newly exposed OCCT Vertex shape type."
7+
---
8+
9+
![A visual representation of new features in Bitbybit.dev v0.15.5, showcasing complex geometric constructions.](https://ik.imagekit.io/bitbybit/app/assets/blog/releases/bitbybit-dev-release-v0-15-5.jpeg "New features in action.")
10+
11+
This release, version 0.15.5, introduces a significant number of new features designed to make working with circles, arcs, and OCCT vertex shapes easier and more powerful. All algorithms included in this update are open-sourced under the MIT license and are available in our NPM packages.
12+
13+
<!-- truncate -->
14+
15+
### Circular Edges
16+
17+
While creating circular geometry has always been possible in Bitbybit.dev, this release adds many new methods to enhance how you work with circular edges and arcs:
18+
19+
* **`bitbybit.occt.shape.edge.arcThroughTwoPointsAndTangent`**:
20+
Creates an arc edge between two points, given the tangent direction for the first point.
21+
* **`bitbybit.occt.shape.edge.arcFromCircleAndTwoPoints`**:
22+
Creates an arc edge between two points that lie on a given circle. Users need to provide the circle and the two points.
23+
* **`bitbybit.occt.shape.edge.arcFromCircleAndTwoAngles`**:
24+
Creates an arc edge on a given circle between two specified alpha angles (in radians or degrees, depending on API).
25+
* **`bitbybit.occt.shape.edge.arcFromCirclePointAndAngle`**:
26+
Creates an arc edge on a given circle between a specified point and an alpha angle.
27+
* **`bitbybit.occt.shape.edge.getCircularEdgesAlongWire`**:
28+
Retrieves all circular edges that form part of a given wire.
29+
* **`bitbybit.occt.shape.edge.getLinearEdgesAlongWire`**:
30+
Retrieves all linear (straight) edges that form part of a given wire.
31+
* **`bitbybit.occt.shape.edge.getCircularEdgeCenterPoint`**:
32+
Gets the center point of a circular edge (which can also be an arc).
33+
* **`bitbybit.occt.shape.edge.getCircularEdgeRadius`**:
34+
Gets the radius of a circular edge (which can also be an arc).
35+
* **`bitbybit.occt.shape.edge.getCircularEdgePlaneDirection`**:
36+
Gets the normal direction of the plane in which a circular edge (or arc) lies.
37+
38+
### Edges From Constraints
39+
40+
Constructing geometry often benefits from constraint-based methods. This release introduces new ways to create tangential edges based on geometric constraints:
41+
42+
* **`bitbybit.occt.shape.edge.constraintTanLinesFromTwoPtsToCircle`**:
43+
Creates lines tangential to a given circle that pass through two specified points. Options allow for selecting inner or outer tangent solutions.
44+
* **`bitbybit.occt.shape.edge.constraintTanLinesFromPtToCircle`**:
45+
Creates lines tangential to a given circle that pass through a single specified point. Options allow for selecting different tangent solutions.
46+
* **`bitbybit.occt.shape.edge.constraintTanLinesOnTwoCircles`**:
47+
Creates lines that are tangential to two given circles. Options allow for selecting inner or outer tangent lines.
48+
49+
### Vertex Shape Type
50+
51+
The **Vertex** is a native shape type in OpenCascade Technology (OCCT), representing a single point in 3D space. Until now, it wasn't directly exposed as a distinct shape type in Bitbybit.dev. This release introduces the `bitbybit.occt.shapes.vertex` category.
52+
53+
While a vertex is essentially a point, treating it as an OCCT shape allows it to be part of compound shapes, undergo transformations, and participate in other OCCT operations.
54+
55+
* **`bitbybit.occt.shapes.vertex.vertexFromPoint`**:
56+
Creates an OCCT Vertex shape from a standard Bitbybit.dev point (typically an array of 3 numbers `[x, y, z]`).
57+
* **`bitbybit.occt.shapes.vertex.verticesFromPoints`**:
58+
Creates multiple OCCT Vertex shapes from an array of Bitbybit.dev points.
59+
* **`bitbybit.occt.shapes.vertex.getVerticesAsPoints`** (Note: Path might be slightly different, e.g., under `edge` or a general `shape` utility if it extracts from any shape type):
60+
Extracts the vertices from any OCCT shape that is composed of edges (like wires, faces, solids) and returns them as an array of Bitbybit.dev points.
61+
* **`bitbybit.occt.shapes.vertex.verticesToPoints`**:
62+
Converts an array of OCCT Vertex shapes into an array of Bitbybit.dev points.
63+
* **`bitbybit.occt.shapes.vertex.vertexToPoint`**:
64+
Converts a single OCCT Vertex shape into a Bitbybit.dev point.
65+
* **`bitbybit.occt.shapes.vertex.getVertices`** (Note: Path might be slightly different):
66+
Extracts vertices from any OCCT shape and returns them as OCCT Vertex shapes.
67+
* **`bitbybit.occt.shapes.vertex.verticesCompoundFromPoints`**:
68+
Creates a single OCCT Compound shape consisting of multiple OCCT Vertex shapes created from an array of Bitbybit.dev points.
69+
70+
### Wire Enhancements
71+
72+
A fun new method for wire creation has been implemented:
73+
74+
* **`bitbybit.occt.shapes.wire.createZigZagBetweenTwoWires`**:
75+
Creates a zig-zag polyline wire between two input wires. Each edge on the input wires is divided into a specified number of segments, and these division points are then connected sequentially to form the zig-zag pattern.
76+
77+
### Shape to Mesh and Drawing Updates
78+
79+
With the direct exposure of the OCCT Vertex shape type, it became necessary to update how shapes are converted to meshes for rendering and how drawing functions handle these new entities:
80+
81+
* **`bitbybit.occt.shapeToMesh`**:
82+
This core function for converting OCCT shapes to renderable meshes has been extended to also return vertex points. This is useful for visualization purposes, allowing vertices themselves to be drawn.
83+
* **`bitbybit.babylon.material.pbrMetallicRoughness.create`**:
84+
The emissive color property has been exposed for PBR (Physically Based Rendering) materials, allowing surfaces to emit light.
85+
* **`bitbybit.draw.drawAnyAsync`**:
86+
This versatile drawing function has been extended to support the direct drawing of OCCT Vertex shapes. Users can now specify vertex color and size when drawing shapes, and can also choose to enable or disable the rendering of vertices on any OCCT shape.
87+
88+
These updates provide more control and flexibility in both creating and visualizing complex geometries within the Bitbybit.dev ecosystem.

0 commit comments

Comments
 (0)