Solid Device Construction
Solid Device Construction


For some time, virtual reality has helped scientists to simulate all scenarios where geometry is involved. This leads to improvements in each aspect of the process planning in industries, government, schools and life standards. Personally I consider graphics are even natural as the same languages because we live in 3d space and sometimes we get confused when talking about physical objects with words. The language is extremely flexible and we can describe all aspects with the right combinations of words. However, right now we can commúnicate with 3d graphics rather it is a great opportunity to improve the pipelines of each one of these aspects.

This tutorial is a part of a project that carries some deductive methods and constraints on a effort to achieve solid models in blender 2.44. ‘Solid modeling’ is a term not even used in computers graphics. In fact, solid modeling has recently emerged to resolve some problems related to mechanical modeling with excellent results. As the abilities of blender have been enhanced through all blender versións and builds, always getting closer to solid modeling, new applications are alos appearing.

To test these new abilities, I started doing this tutorial that consists of modelling a solenoid valve. This valve can help you learn how this device operates to control the steam input-output from a pipe system.

Constructing Geometry
For solid modelling there are conditional rules that help to control several variables while this device is constructed. These rules are the creation of reference objects like planes and shapes. Planes serve to easily detect a reference position in 3d view and shapes give a reference geometry for creation of new future objects. Figure 2 shows the use of Cartesian planes that support the main origin. In top view an outline was created with a circle of 4 vértices, this object was called ‘PlanexyBase’, and then it was duplicated and rotated to get the other 2 Cartesian planes.

Blender has the ability to manipulate parameters directly from the Transform Properties dialog in object mode and edit mode (each mode has it's own parameters that you can adjust). Solid modelling requires the continuous use of this Transform dialog to control construction process. In solid modelling there’s no way to start with low resolution models so it is good idea to clone each object you finish, in case these objects become useless with the consequential operations while the model is getting more complex.

The Solenoid body was made of a medium resolution uv sphere in top view with 48 segments, 48 rings and a radius of 30. Without leaving edit mode, and with all vértices still selected, in Front view the sphere was rotated 90 degrees. However, in object mode the parameters can change thanks to transform properties dialog box [N key]. The parameters of the new sphere need to be changed with y and z = 48.00 and x = 60.00 to get an ellipsoid shape. Inside of this there will be 2 chambers. Several bosses will be created to model valve connections.

After, a second body was created in top view, watching out that the cursor wasn’t moved off, as a way to maintain the xy base plane domain. The parameters for this cylinder are 48 vértices, dimensions for x and y = 42.00 diameter, z = 24.00 (object mode). By default, Blender gives the cylinder its median point (pivot) centered. To change this, you are going to take the centred vertex at the bottom of the cylinder and snap the cursor on the selected vertex. Within object mode use SPACE BAR>>transform>>center cursor to change median point position. Using snap gives excellent results when an exact object position is required. But changing the cursor position isn’t enough, the cylinder had to move to planexyBase position. The main goal of Cartesian plane is provide history of each object's relative position.

As figure 3 shows, the cylinder is subdivided through its height to give a more controlled tessellation when operators are added to object..

Next with Cartesian planes on a different layer, the plane yz was duplicated and located at x position = 26.00, y and z = 0. You can see this by selecting this plane and viewing transform dialog box where it says ‘LocX:26.000’. Then, with this plane still selected, SHIFT>>S key to move the cursor to the median point of the plane. This will be the position for the next object: shape geometry and object geometry.

Shape Geometry
The shape geometry was made on another layer, especially made for storing all reference geometry for the solenoid valve. At this point the shape geometry was achieved in Right view adding 4 single Circles of 48 vértices each and all circle diameter parameters are: Smaller circle = 18.500, the next = 21.900, the next = 28.600 and last = 38.500. Last circle will be the reference bounds for a hexagon form.

The second large circle will be the reference for the third object for the solenoid. This third object will be duplicated on the plane yz position, a cylinder with 48 vértices and parameters in object mode of X and Y = 28.60, Z = 20.00 inward. Then a symmetrical cylinder will take place for mirroring. Mirroring in solid modelling must be done with care to ensure that normals are all pointing outside of the mesh or there will be unexpected results.

Finally another cylinder was added to the solenoid valve, first by duplicating planexy and locating it on Z = -28.50, X and Y = 0. Within the duplicated planexy position a cylinder was added of 48 vértices, X and Y = 30.00, Z = 12.633 towards the inside of solenoid. All positions were checked by reviewing all plane positions.

Once the positions were checked, the last cylinder was subdivided through its height to start Booleans operators. All objects were duplicated and stored in another layer (In case they were needed again later).

Start by applying union Boolean with the third and fourth objects to the main body. The result is a smoothed object thanks to 48 vértices constant on each object. The duplicated objects should once again be stored on another layer. Finally the last object was added to achieve the desired object.

Figure 10 shows that there were mesh face losses because the last object didn’t have all normals outside or perhaps there were redundant vértices, and the result was unexpected as I said before.

So when you want to use Booleans operations you must chek the normal direction with the option ‘Draw Normals’ in Mesh Tools 1 panel (edit mode). Also, the option ‘remove doubles’ is useful by making tests of vertex merge levels incrementing the value of ‘specifies the max distance ‘Rem doubles’ will consider vértices as ‘doubled’’ with care to avoid resolution loss-less. There are cases where the unexpected result can affect next objects. As in this case, there were some.

The result should be a single mesh with a few redundant vertice errors. This mesh was opened by deleting the top most centred vertex in order to prepare to add a thin wall inside this mesh with the new scripts added to Blender 2.44. These scripts are available inside 3d header in edit mode. Select all vértices, then select mesh>>scripts>>solidify selection.

New objects
To the solenoid mesh a -3.00 of thickness was applied to create a shell, this will be the space for solenoid chambers.

This script works wonderfully to create even offset meshes, with no normal directional problems. The bevel center script creates bevels to selected areas, this is good for some solid areas.

Next it is required to create holes in the sides of the solenoid. The opening shown in figure 12 is for an automatically controlled device that opens and closes the path of the steam. Above this valve there is an electromagnet that controls that opening.

For creating the holes, use the second to smallest circle. This circle will be the reference for a cylinder that passes through the solenoid body. Once you have created this cylinder, the procedure for subtract or apply difference Boolean is first to select the cylinder (first making sure all meshes don’t have any normals facing inside), repeat the magic words ‘subtract this (cylinder) from this (solenoid)’ and voilá, the hole has been created. (Okay, not really, just apply the Boolean operation like normal).

The result gives you an idea of what I am doing. Truly, the possibility of making solids, is in many cases hard in blender because the calculations (if they are at a high resolution) take a while. But instead, blender has tools that can create excellent walk-throughs and animations. There are numerous options for importing different formats to blender, this means a potential library that Blender shares with other programs, adding value to Blender and its users.

Figure 15 shows a shaded model (I recurred to Blender material library). Next with the cursor on the hexagon shape and in Right view a cylinder of 6 vértices and diameter of = 38.50, Z = 12 was created . To this cylinder (although it doesn’t seem to be a cylinder) it is necessary to subtract another cylinder (reference is the smallest circle).

At this point it wasn’t necessary to unite this last object with solenoid body. You can join them with CONTROL+J key due to the fact the the last object is the outer most external solenoid object.

Next a mirrored object and a cross section for creating a wall that divides the cavity into two chambers. But first, the cross section must be created. With the aid of planes and circles (with parameters) the cross section was created. The reference geometry was used with snap operations, and then the cross section was ‘skinned’ arbitrarily.

In some cases when planes and circles fit well and form a single mesh, the option remove doubles can help to merge unnecessary vértices. Solid modelling can strongly use the option remove doubles to weld separated meshes in edit mode.

With this cross section made, the next step is to create the wall by extruding this region (fig 1. This wall will have an opening in which another object will fit into this space to control the opening lowering and lifting itself, controlling the steam flow.

The next step is to fit the wall within the solenoid cavity. For this, the intersect operator will work. To crop this wall it was necessary to offset the first object (main body) that was in an another layer. The offset was created with a distance of 1.5 and exterior vértices were deleted, inner vértices were left and their normals were recalculated outside. Then the ellipsoid was selected and then the chamber walls were selected and was pronounced “create the resultant intersection of this (ellipsoid) and this (wall)”…next step!!!. Figure 20 shows the function of chamber wall.

A cross section was created above the opening with the objective of adding more material to thicken the mouth of the valve with a donut form that is shown with x ray property. [Draw panel>>Draw extra>>X-ray]. Figure 21 shows this section above left.

This donut was created with the Spin command inside of Mesh Tools panel (edit mode) with step set to 48.

Transform Properties In Edit Mode
Figure 23 shows it is possible to change parameters by moving some vértices in edit mode, but first you must do CONTROL+A Key to apply rotation and scale. Then, you can access the transform properties dialog in edit mode.

To add more dimensions to the solenoid it was necessary to create a donut above the solenoid mouth and another plane was added at xy at Z = 31.498, X and Y = 0,

This position reference now helps to add another box with parameters of X and Y = 64.2, Z = 11.00 upwards. As well as a cylinder with parameters of X, Y, Z = 30.00 to subtract material from last cube object.

Next steps were needed to add more objects to the chamber wall, another plane was created at xy at height of ‘Loc Z: 4.00’

Hole parameters were a tube with inner diameter of 18.00 and outer diameter of 28.00 and Z = 5.00

At first there were problems while trying to subtract material because the wall was extruded using too few vértices, but at last, with a little revisión of recalculating normals outside, the subtraction was achieved.

Another subtraction of a cylinder with diameter of 12.2 was achieved.

The resulting is a space for a device that will fit in to close the opening made by a later cylinder

For more adjustments, you need to move some vértices in edit mode with the transform properties dialog. In some cases, units for transform properties were incorrect when it didn’t have ‘apply rotation and scale’ applied . Vertices were moved down changing the values where it says ‘median Z:value’. In this edit mode transform properties dialog it is possible to add operations like sum, subtract, multiply, división. E. g. If you want move down a group of vértices 5 units, you must leave the actual value in the field and write in the -5 value.

Later, another tube subtracted material from the last object to create sittings where other objects will fit

Again the vértices were pulled up to correct these sittings.

A pattern of reference geometry for bolt holes was created used the function of ‘Rotation/Scaling Pivot’ set PIVOT to ‘3D cursor’. Figure 34 shows original circle (above left) cloned and positioning clones by rotating each 90 degrees with cursor inside of other reference circles.

Figure 35 shows the mechanism used in conjunction with the solenoid valve and chambers divided by a wall. In reality, several sensors detect the steam flow and temperature at any given time, giving instructions to an electronic device to give certain voltage to an electromagnet that opens gradually or semi closes the valve to let different quantities of steam pass. The blend file related to this tutorial has a little animation with a camera and a second scene where a solenoid valve was made in another application.

Solid modeling is becoming possible in blender but the development needs perhaps to consider the option to create solid objects (not meshes) to achieve mechanical models. This represents new opportunities because management for solid objects is little different than meshes.