Real Mesh Materializer

For most people, it's no secret that alongside the real world we can physically touch, there also exists a virtual world. Sometimes, it's necessary to have objects from our real world also in the "computer" so that we can perform some of the tricky tasks that aren’t possible to do outside of it. Virtually, we can manipulate objects in almost any way. We can transform objects into the virtual form using various techniques, depending on object’s regularity.


Programmers usually introduce regularities into the computer. Irregularities need to be interpreted from real world and registered into the computer by scanners or modelers. In any case, we can have a virtual representation of anything from the real world, as long as we can model, scan or generate it. We can do that with any type of the object - texts, dimensions, relationships, 2D or 3D objects.

This project is focused solely on 3D objects, primarily regular constructions that can be made using specialized library programming methods created specifically for this purpose. The project conceptualizes regular constructions from two main perspectives. One is the general creation of any construction that can be algorithmized in some way, the other is the creation of standardized models, building blocks, from which larger constructions can be built.

The fundamental standard of 3D modeling are 3D networks - points placed in 3D space connected by lines. In 3D space, lines are usually referred to as "edges" and points as "vertices" ("nodes" in network terminology). Three vertices connected by three edges are called a facet. The entire 3D virtual object in the computer is usually assembled from triangular facets. It's a very simple principle on which practically the entire virtual 3D world is built. 3D networks can represent tangible objects by defining the surface - a boundary between the material and it’s surroundings. They can also represent non-closed (volumeless) surfaces, or just the essence of 3D networks, which is the network of nodes and edges.


When we talk about 3D printing, we usually imagine materializing a virtual object, most likely a closed 3D network, where the 3D network dictates where to print (fill with material) and where not to. However, usually we are only interested in the surface, which represents the materialized object, and the volumetric component is not as significant to us. We are mainly interested in what the object looks like. Commonly, various infill structures are used, only to support the surface shell, allowing it to maintain its shape. As for the sturdiness characteristics of the object, they are usually not heavily calculated, as it is too complex. If needed, a different infill is chosen and the object is tested. For a more precise calculation, the infill would also need to be conceived as a network that meets the structural requirements of the object.

Small-sized objects can be fully produced using some current 3D printing technologies. As the size of the object increases, production becomes more challenging and it is necessary to divide the object into parts. With an increasing number of parts, the overhead for division, production, and subsequent assembly grows. If there are many parts, it is necessary to establish a rule for how to divide the object and then reassemble it in its physical form (building kit principle).

It is advisable to build principles from the most simple/basic to more complex ones. Therefore, using 3D mesh objects as the foundation for building is suggested as an ideal approach. It is essentially a view of real objects from the other side, not as a portioned and glued whole, but as a construction of a whole from elementary parts derived from a 3D mesh. We can also view it "building kit style" through the strength requirements of objects, which can be directly reflected in the mesh because mesh construction hasrelatively simple (vector) "mathematics". And sometimes, we can completely ignore the surface shell (facet fill) if it does not have a significant impact on strength. 3D mesh, like a building kit, requires a certain standardization, but it brings a huge benefit of modularity, scalability and universality, just like any building kit system (1). The universal principles used for assembly also simplify potential disassembly and the reusability of parts, which can lead to a reduced need for basic materials and ultimately to a smaller carbon footprint of industrial production.

Every technology has its limitations. In 3D printing, this is primarily limited by gravity and the dimensions of the product, which must fit within a certain space. When producing elementary components of the building set, we can address these limitations more systematically and optimally than with complex objects. Building systems allow us to bring into reality objects for which there is currently no available alternative or they are too expensive. The advantage of edge and node building sets is that edges can be produced simply by perpendicular cutting of rod/tubular material to the desired length. Nodes (so-called connectors) will "take care of" everything else. 3D printing is ideal for nodes, primarily due to standardization already at the level of their basic construction and a wide variety of typed parts. For more regular constructions and serial production, older casting technologies (with the production of a mold based on the generated template) may also be considered.

Nodes (connectors) can be generated automatically based on several basic parameters. Primarily, these are the parameters of edges and the requirements for the strength of connections. Edges converge at vertices at various angles, and based on their parameters, they predetermine how the connectors will need to look. Hollow edges (tubes) will probably be best connected with an internal pin. This pin can also be parameterized (number of lamellae, size of the overflow, thread, etc.). Solid edges must enter the node. The outer shape of the node will be determined by the edge with the largest radius. The radius of the node can be explicitly set larger, resulting in a spherical overflow (similar to modeling an atom). 3D meshes with edge parameters are input into the building set generator. The generator then creates unique objects by connecting all the meshes together and calculating how the nodes should look with a definable tolerance. In other words, since the mesh construction can be composed of many connections, they need to be standardized (normalized) in some way. This can be achieved through an adjustable tolerance. Too small a tolerance will result in many types of connectors. Too large a tolerance, on the other hand, will cause deformation in the resulting construction. In "straw" models, a deviation of a few degrees in edge angles will not play a significant role. For regular models (e.g., generated ones), it is possible to use an almost zero tolerance because the morphology of the parts is the same. All these aspects are already taken into account in the project.

Today's technologies, which prepare virtual templates, naturally standardize in the form of data formats (e.g., STL), universally accepted approaches, and software tools. The standardization of other generalizable principles of using mesh constructions, in the form of software methodologies (objects/modules), can retroactively support the development and integration of manufacturing technologies. This is one of the additional benefits of the building block system, which can elevate the principles of the 3D mesh to a higher utility level and integrate established and relatively inexpensive technologies with the potential for further development.

Primary Motivation:


Selection of Available Technologies

Software Requirements:

Software Choice:

Development of Partial Supporting Technologies (Python):

Hardware Requirements:

Currently, the project is in the testing phase. Regular polyhedra are used as mesh models, while plastic straws are used as real edges and nodes are printed from resin using a 3D printer. For more robust constructions with potential real use, aluminum tubes and printing from higher-quality materials allowing for the application of locks are chosen. Nylon strings are used for "tensile" edges. The project is also a way to explore limits - in size, material, and technology. For constructions with moving parts, a system of joints, rotational axes, and edges with dynamic length is under development.

  1. An illustrative example of a similar principle is the well-known toy, a building set for children, with which one can assemble fairly robust and complex creations. It is based on the simple principle of connecting plastic blocks. This is a great example of standardizing universal parts. Given that the building set is primarily based on "rectangular" joining and layering of building blocks, assembling more complex shapes requires using a relatively large number of parts. Building block systems that depart from this conservative approach may find much wider applications.