Correct model tool

1. General

In FEM-Design there are great tools to fix the model from any modelling error. Also, there are tools that will help simplify the model and remove unnecessary small details. One of these tools is Correct model tool.


2. How does it work

Correct model tool works in Structure and Loads tab. The tool is available in the Tools menu or in the ‘Others’ toolbar. After selecting the tool, user must select the element(s) that they would like to correct. It is also possible to select all the objects in the model with key combination CTRL+A.

 After the tool is launched a new dialogue window appears. In this window the user can select which operations they wish to perform on the selected objects. Multiple operations can be selected. Most of the operations have tolerance that will set the limit how far the effect reaches. 


Figure 0 - Main diaglogue window



3. Selecting the right operations

Here are the different operations described with examples. Each operation in the software has a tooltip with a picture that reminds what that option does. 


3.1. Delete identical copies

A picture containing graphical user interface Description automatically generated
Figure 1 - Delete identical copies

Description:
Deletes identical copies that are at the same location. Tool will delete the element that was added later.

Real life problem:
Multiple supports in one location is very common mistake. It is usually only visible by the half support reaction, but this can go unnoticed.

Works with:
Regular bars (beams, columns), fictitious bars, regular shells (walls, plates), fictitious shells, covers, diaphragm regions, line support groups, surface support groups, surface loads, line loads and point loads.

Example 1:
Here are two beams and two point supports on top of each other. Tool will delete one of them. 


Diagram Description automatically generated
Figure 2 - Duplicate beams and supports



3.2. Fix overlaps

Chart Description automatically generated
Figure 3 - Fix overlaps

Description:
Cuts away the part of element that is overlaping another element. Tool will offer selection between which element is cut and which is kept.

Real life problem:
It is a common modelling mistake that beams or plates are partially overlaping, especially if they are imported or a DWG reference is used to model them.

Works with:
Regular bars (beams, columns), fictitious bars, regular shells (walls, plates), fictitious shells, covers and diaphragm regions.

Example 1:
Here are two plates and two beams overlaping. User has chosen to cut away plate P.3.1 corner and trim beam B.3.1. 


Diagram Description automatically generated
Figure 4 - overlaping beams and plates



3.3. Chamfer sharp angles

TextDescription automatically generated
Figure 5 - Chamfer sharp angles

Description:
Cuts away a portion of the sharp regions. Cuts only overhanging parts (does not fill sharp holes). Cuts when the angle between two adjacent edges is less than about 11.2 degrees. It creates a new edge between the two existing ones that has a length equal to the tolerance. Can only cut the two adjacent edges and not anything else. If possible, cuts both adjacent edges the same amount.

Real life problem:
Sharp corners usually produce very dense finite element mesh or mesh with elongated elements, which is not recommended. This tool will make the regions more suitable for good mesh.

Works with:
Regular shells (walls, plates), fictitious shells, diaphragm regions covers and surface loads.

Example 1:
Here is a plate with one sharp corner and another not so sharp corner. Depending on the tolerance, the result is different but the corner with 57 degree angle is never changed.
Option a) – the tolerance is set to 0.1m. This means that FEM-Design will find a place between the two adjacent edges that would produce an edge with length 0.1m. The place will be the same distance from the corner along both edges (distance 0.59m in the picture).
Option b) – the tolerance is set to 1.0m. This means that FEM-Design tries to find a place between the two adjacent edges that would produce an edge with length 1.0m. With the angle of 9.64degrees, this should happen roughly 6m away from the tip of the sharp corner. However, this cannot be achieved, since the edges are too short. Thus FEM-Design cuts away as much as possible from both edges, (which is the the full length in this example) and creates a new edge between the endpoints of the two edges. The new edge is 0.8m in length which is smaller than the tolerance (0.8m).
Option c) – the tolerance is set to 0.2m. This means that FEM-Design tries to find a place between the two adjacent edges that would produce an edge with length 0.2m. With the angle of 9.64degrees, this should happen roughly 1.19m away from the tip of the sharp corner. However, this cannot be achieved for both edges, since one of them is too short. Thus FEM-Design cuts away the necessary amount from the longer edge, and cuts away the whole shorter edge. It creates new edge between the two points which is longer than the tolerance (0.49m). 



Figure 6 - Multiple ways to chamfer sharp angles



3.4. Fix small areas and lines

ChartDescription automatically generated
Figure 7 - Fix small areas and lines

Description:
Fills in holes or cutouts on the regions that have smaller edges than the set tolerance. Also removes portion of the regions which have smaller edges than the tolerance. Can remove the whole region if it fits the tolerance. Caution must be taken, since the algorithm may produce unwanted geometry if the hole it tries to fix has a strange shape. Also, it fixes object in batches (multiple holes belonging to one plate will be fixed at once, for example) and thus there is less control over which areas are fixed.

Real life problem:
Like with the previous tool, the small areas produce very dense finite element mesh or mesh with elongated elements, which is not recommended. This tool will make the regions more suitable for good mesh. Also, very small objects are usually insignificant in the analysis, so they are deleted.

Works with:
Regular bars (beams, columns), fictitious bars, regular shells (walls, plates), fictitious shells, diaphragm regions, covers, line supports, line support groups, surface support groups, surface loads and line loads

Example 1:
Here is a plate with multiple small cutouts and some thin portions. The tool would take two passes. With the first pass, it would try to get rid of the small triangular holes in the top right. Since the holes are made with strange shapes on purpose, then the algorithm has a hard time detecting the correct shape. In this example, the user accepted the corrections, but in real project this plate would probably need a manual re-modelling. In the second pass, the tool suggests removing some thin areas on the plate. Please note that in these areas, some edges are much longer than the tolerance. 


DiagramDescription automatically generated with medium confidence
Figure 8 - First pass on fixing the holes

DiagramDescription automatically generated
Figure 9 - second pass on removing small areas

Engineering drawingDescription automatically generated with medium confidence
Figure 10 - Final result after the tool has run



3.5. Merge region lines

Graphical user interface, applicationDescription automatically generated
Figure 11 - Merge region lines

Description:
Merges region lines (edges) together to form one continues edge. If the region line break point is in a straight line, then it can be merged without a tolerance. If the break point is away from the straight line, then the tolerance will matter. Also, curved edges that fit into the tolerance will be straightened.

Real life problem:
Finite element mesh is generated based on the nodes (region’s corners and other points). If one edge has points along the edge then the mesh is forced to be more complicated than it should be. If the break points are not in line or if the edge is an arch, then the mesh is again more complicated than it should be.

Works with:
Regular shells (walls, plates), fictitious shells, diaphragm regions, covers, surface support groups, surface loads

Example 1:
On the plate below, there are three different situations where this tool can help. To see the break points (or more generally the end points of lines) visually, it is good idea to turn on the CAD objects’ end point visibility (marked with red rectangles in the picture a) below).
The first situation is the edge break point that is not in one straight line – this means that both edges that are connected to the point are not parallel to each other. In the picture below, this is marked with a). If the tolerance is set to at least 0.04m, then this breakpoint is removed, and the edge will take the place of the dashed magenta line.
The other situation is the curved edge marked with b). There the distance from the curve to the dashed magenta line is 0.07m. So, if the tool is used with tolerance at least 0.07, then the curve is removed, and a straight edge is put in its position.
The third situation is the break point that is on a straight line – this means that both edges that connect to this point are parallel to each other. In this case, the tolerance does not matter, and the tool would remove the middle point and merge the two edge pieces into one. 



Figure 12 - Merging lines that are not in parallel

DiagramDescription automatically generated
Figure 13 - Merging archs

DiagramDescription automatically generated
Figure 14 - Merging parallel lines



3.6. Align structure to grid

Chart, diagram, box and whisker chartDescription automatically generated
Figure 15 - Align structure to grid

Description:
Aligns elements to grid planes. Elements will be projected onto the grid plane. This means that element nodes are moved in x-y plane, and their z coordinate will stay the same. Since all points of an object are moved toward the grid, the element may turn and change size. If distance to only one grid is in the tolerance, then the points will be moved to that grid. If multiple grids are within tolerance, then the tool will offer user a selection between the grids. For bar and line elements, both endpoints must be within the tolerance. For regions, all the points must be within the tolerance. Tolerance is measured perpendicular to the grid plane (z-coordinate does not matter). Regions that are on x-y plane cannot be aligned to grid since their projection would be a line. Regions that have any other orientation can be aligned to the grid so that the corner points retrain their z-coordinate.

Real life problem:
It is a common modelling mistake that the walls or columns are modelled slightly away from the grid but very close to it. Additionally, the walls can be at an angle to the grid. Usually, these types of mistakes mean that the floor plate and walls are not connected well – the wall is not directly under the plate, but a little bit further in or there is a small gap between wall and a plate. This will make the mesh very dense.

Works with:
Regular bars (beams, columns), fictitious bars, regular shells (walls, plates), fictitious shells, covers, point supports, point support groups, line supports, line support groups, surface support groups, surface loads, line loads and point loads. Does not work with diaphragm regions since they are always on x-y plane.

Example 1:
In this example there is a cover that has an arbitrary shape. It is located below the storey plane. Also, it is inclined in space as shown in the figure. We can picture the grid plane as an infinite ‘wall’ that is going through the grid. This plane intersects the cover, and the intersection line is shown in the figure as dashed orange line. 


A picture containing engineering drawingDescription automatically generated
Figure 16 - Example with plate that is at an angle to the grid

The tool will find the distance from each point of the cover to the grid plane (projection length). Since this cover has many points, then only some of these projection distances are shown in the figure as an example. The longest distance is 1.45m. The tool requires all of the points to be within the tolerance, so the tolerance has to be greater than the longest distance. In this example, the tolerance should be greater than 1.45m. If this tolerance is set, then all the points of the cover will be projected onto the grid plane and a different cover is produced in the process (figure). All the points of the cover have the same z-coordinate values as they had before, but new x-y coordinates. 


Figure 17 - Projection lengths and final result

Example 2:
In this example, a line load is modelled parallel to the grid ‘A’. The load has an incline in space. Its left end is on the same plane as the grid. The right end is 3.0m lower. The load has distance 0.28m from the grid plane. If the tolerance is set to 0.28 or greater, then the load is moved to the grid plane, but it will still have the 3.0m difference in height (figure). 


A picture containing text, map, outdoorDescription automatically generated
Figure 18 - Aligning line loads



3.7. Stretch structure to grid

Chart, box and whisker chartDescription automatically generated
Figure 19 - Stretch structure to grid

Description:
Stretches elements to the grid or intersection of grids. Like the previous tool, endpoints of lines and corner points of regions are projected to the to the nearby grid plane that is within the tolerance. This means that element nodes are moved in x-y plane, and their z-coordinate will stay the same. Unlike the previous tool, this tool does not require that all the points are within the tolerance. If only some points are within tolerance, then these points will be moved if possible.
If distance to only one grid plane is in the tolerance, then the points will be moved to that grid. If multiple grid planes are within tolerance, then the tool will offer user a selection between the grids. If an intersection line of multiple grid planes is within tolerance, then the point will be moved to the intersection line of these grid planes. For line elements either or both nodes may move. For regions any number of points can move, but region must remain planar after the projection and all edges must remain with length greater than 0. This means that if edge is perpendicular to the grid then if both of its endpoints are within tolerance, the region cannot be stretched.

Real life problem:
Like with the previous tool, it is very common to have modelling mistakes so that the elements do not fully reach the grids or they are slightly overhanging the grid. Usually, these types of mistakes mean that the floor plate and walls are not connected well – the wall is not directly under the plate, but a little bit further in or there is a small gap between wall and a plate. This will make the mesh very dense.

Works with:
Regular bars (beams, columns), fictitious bars, regular shells (walls, plates), fictitious shells, covers, diaphragm regions, line supports, line support groups, surface support groups, surface loads and line loads.

Example 1:
In this example, there is a plate that is on the x-y plane (perpendicular to the grid plane). There is a cutout on the plate with the dimensions shown in the figure. The two edges of the cutout are perpendicular to the grid plane.
Option a) – if the tolerance is greater than the smallest distance, then the edges are moved to the grid plane.
Option b) – if the tolerance is set greater than the cutout distance, then the tool does nothing. It cannot modify the plate since the edges that are marked with blue would become 0-length and this is not allowed. When this kind of contradiction occurs, then the tool will not modify any other point on this plate either – it will totally ignore this plate.
Option c) – the plate has been modified so that the edges of the cutout are not perpendicular to the grid plane anymore. Now the tool can work with greater tolerance since the edges would not become a 0-length element. 



Figure 20 - Multiple options to stretch a plate

Example 2:
Here is a corner with two beams and one column. All of them are modelled slightly away from the axes and the corner is not directly at the intersection of the axes. If the tool is used with enough tolerance, then both beams are moved to the nearby grid and both are stretched to the intersection of the grids, thus the beams become connected. Also, the column is moved to the intersection of the grids. 



Figure 21 - Stretching beams and column in a corner

Alternatively, if the previous tool was used instead (Align structure to grid), then the beams would be moved to the nearby grid as well, but they would not be stretched to the intersection. The column on the other hand is very close to the intersection and would be moved to the intersection with two steps – one step would move it to one grid, and the second step would move it to the other grid, but since the column was already moved to grid after the first step, then it would end up at the intersection after the second step. 

Chart, scatter chartDescription automatically generated
Figure 22 - Aligning the same beams and column to grids

Example 3:
In figure the wall W.18.1 has a cutout. Its corners has been marked with letters A to H. The distance from the closest corners (A, D, E and H) to the grid plane is 0.23m. The distance from the cutout corners (F and G) to the grid plane is 0.44m. The furthest corners (B and C) are 0.81m away from the grid plane.
Option a) – if the tolerance is set to below 0.23m then nothing happens, since no corner is close enough to the grid.
Option b) – if the tolerance is set to 0.3m then also nothing happens, since only the closest corners (A, D, E and H) could be moved, but then the wall would not be planar anymore.
Option c) – if the tolerance is set to 0.5m then also nothing happens, although almost all the corners (A, D, E, F, G and H) could be moved, but then the wall would not be planar anymore.
Option d) – if the tolerance is set to 0.9m then all the wall corner points are moved to the grid. Wall will be planar and there is no violation of the rules. 


Chart, scatter chartDescription automatically generated
Figure 23 - Many impossible ways to stretch a plate and one possible way



3.8. Align regions

A picture containing diagramDescription automatically generated
Figure 24 - Align regions

Description:
Aligns one region to another. Works similarly to the tool ‘Align structure to grid’, but the tolerance is very different. Works only on regions not line or point elements. Elements will be projected onto the plane of another region. This means that element nodes are moved in a line that is perpendicular to the reference region’s plane. All the points of one region must be within the tolerance. Since all points of a region are moved toward the other region, the moved region may turn and change size. If distance to only one region is in the tolerance, then the points will be moved to that region. If multiple regions are within tolerance, then the software offers solutions and the user can choose the suitable.
Tolerance in this tool is used in two steps. Examples below show how this works, but here is also the description. Firstly, the shortest line between two regions are projected to region 1. Then the projection is divided into x and y components. Both of these components must be within the tolerance for the tool to work. Secondly, perpendicular distances between region 1 plane and all the points of region 2 are measured. All of these measured values must be within the tolerance for the tool to work. It may happen that region 2 cannot be aligned to region 1 but region 1 can be aligned to region 2. Also, it can happen that both regions can be aligned to the other.

Real life problem:
Very common mistake is where façade walls are not aligned to each other or two plates on one storey are not at the same exact level.

Works with:
Regular shells (walls, plates), fictitious shells, covers, diaphragm regions, surface support groups and surface loads.

Example 1:
Two walls are parallel to each other, but not on the same line. One of the walls is located higher than the other and they have a gap also in the local x and y directions. The shortest distance between the walls is marked with green dimension 2.08m. This line is then projected onto wall W.15.1 plane. In the figure, this projected line is represented as a dashed blue line. This line is now divided into components of 1.35m and 0.75m. Both of these measurements must be within the tolerance. The second check is made for all points of wall W.16.1. The distance of each point to the plane of wall W.15.1 must be within the tolerance. Since the walls are parallel, then all the distances are equal and 1.40m. For the tool to work, the tolerance should be set to 1.4m, because then both the components 1.35, 0.75 and distances 1.4 are within the tolerance. Please note that due to the angle in space the measured value 1.40m that we see might actually be rounded and the real value might be 1.404m for example. Take this into account when setting the tolerance. 



Figure 25 - Aligning parallel walls

Example 2:
Two walls are not parallel to each other. The shortest distance between the walls is marked with green dimension 2.94m. This line is then projected onto wall W.15.1 plane. In the figure, this projected line is represented as a dashed blue line. This line is now divided into components of 1.98m and 1.98m. Both of these measurements must be within the tolerance. The second check is made for all points of wall W.16.1. The distance of each point to the plane of wall W.15.1 must be within the tolerance. Since the walls are not parallel, then all the distances might be different. Here the maximum distance is 1.00m. For the tool to work, the tolerance should be set to 1.98m, because then both the components 1.98, 1.98 and distances 1.00 are within the tolerance. Please note that due to the angle in space the measured value 1.98m that we see might actually be rounded and the real value might be 1.984m for example. Take this into account when setting the tolerance. 


Diagram, engineering drawingDescription automatically generated
Figure 26 - Aligning non-parallel walls

Example 3:
The same situation as in example 2. In the previous example, it was shown why the wall W.16.1 can be aligned to wall W.15.1. This time let’s see why the opposite cannot be made, so the wall W.16.1 cannot be aligned to wall W.15.1. In the figure, the shortest distance (green) is still the same 2.94m. The line is projected onto the plane of wall W.16.1 which is shown with blue dashed line. This projection is divided into components of 2.16m and 1.98m. Even if we set the tolerance to the maximum that FEM-Design allows (maximum is 2.00m) the 2.16 is still bigger value and thus the tool stops. It does not matter that the wall W.15.1 is very close to the W.16.1 plane and that the biggest perpendicular distance is only 0.17m. 


Chart, radar chartDescription automatically generated
Figure 27 - Impossible align situation



3.9. Stretch to crossing regions

Chart, box and whisker chartDescription automatically generated
Figure 28 - Stretch to crossing regions

Description:
Stretches region contours to other regions. Works only on regions not line or point elements. Does not align the regions, so regions never turn, but their corner and other points that are within tolerance range will be moved to the other region (stretched). All points are always moved in the region plane, so regions will always stay planar. The tolerance mechanism is described in the examples below. If one region would touch the other region after the stretch (see examples), then if the tolerance allows, the corner points of the stretched region are moved to the corner points (or closes edge) of the other region (see examples). If they would not touch after the stretch, then the corner points of the stretched region are moved to the reference region’s plane.
It is possible that tool will move only one of the corner points of the region if the other one(s) are not in range of the tolerance (see example).

Real life problem:
It is a common modelling mistake that walls are not connected to each other in the corner (small gap between) or they have small overhang. Also, it is common to see floors slabs that do not reach the walls (are small distance away from the top edges of the walls – ‘flying’ in the air).

Works with:
Regular shells (walls, plates), fictitious shells, covers, diaphragm regions, surface support groups and surface loads.

Example 1:
Here are two walls that were supposed to be connected at the corner, but they are not. One of the walls is also located higher than the other. The walls are perpendicular to each other. In this example, the wall W.5 must be stretched to the plane of the wall W.6. In the figure, there are all the different measurements of the top and bottom corner shown. The tolerance works in two steps.
The first step is the projection distance of the top corner point of wall W.5 along the wall’s plane to the plane of the wall W.6. This distance is marked in the figure with red color and is 0.202m. The tolerance must be greater than or equal to this otherwise the tool cannot move the top point.
The second step is the closest distance of the potential stretched corner to the closest point on the wall W.6, but measured on wall W.6 plane. We can also picture this as the distance between the corner point after it has stretched and the closes point on the other wall. This is marked in the figure with green color and it is 0.284m. The tolerance must also be greater than or equal to this distance, otherwise the tool cannot move the corner point. So, in this example, the tolerance would be at least 0.284m. Since wall W.6 is not ‘on the path’ of the W.5 even after the stretch (there will still be gap between the two walls even after the stretch, since we are not stretching the wall W.6 in this example) then the tool will move the corner only to the plane of the wall W.6 but not down to ‘meet’ the corner of the wall W.6. So, the top edge would only move the distance 0.202m.

The bottom corner of the wall W.5 can also be moved. To see how big the tolerance should be for the bottom corner, we must follow the same two-step logic like in the top corner. The first step is to see the projection distance of the bottom corner of wall W.5 along the wall’s plane to the plane of the wall W.6. This distance is marked in the figure with blue and is 0.202m. The tolerance must be greater than or equal to this otherwise the tool cannot move the bottom point. The second step is the closest distance of the potential stretched corner to the closest point on the wall W.6. This is marked in the figure with pink color and it is 0.130m. The tolerance must also be greater than or equal to this distance, otherwise the tool cannot move the corner point. So, to move the bottom corner, the tolerance should be at least 0.202m. Since the needed tolerance for the top corner is already 0.284m then the tool can move both corners with this tolerance. 



Figure 29 - Stretching non-intersecting walls

Example 2:
Here are two walls that we want to connect. One of the walls is higher than the other on the top, but the bottom edges are on the same level. The walls have an angle to each other (11.796 degrees). In this example, the wall W.7 must be stretched to the plane of the wall W.8. In the figure, there are all the different measurements of the top and bottom corner shown. The tolerance again works in two steps. The first step is the projection distance of the top corner point of wall W.7 along the wall’s plane to the plane of the wall W.8. This distance is marked in the figure with red color and is 0.202m. The tolerance must be greater than or equal to this otherwise the tool cannot move the top point.
The second step is the closest distance of the potential stretched corner to the closest point on the wall W.8. This is marked in the figure with green color and it is 0.185m. The tolerance must also be greater than or equal to this distance, otherwise the tool cannot move the corner point. So, in this example, the tolerance would be at least 0.202m. Since wall W.8 is ‘on the path’ of the W.7 after the stretch (the wall W.7. will be touching or intersecting with the wall W.8) then the tool will move the corner to the plane of the wall W.8 and also down to ‘meet’ the top edge of the wall W.8. So, the top edge would actually move the distance 0.274m that is marked with pink in the figure (it would move 0.202m and then 0.185m and thus the required tolerance is still 0.202m).

The bottom corner of the wall W.7 can also be moved. To see how big the tolerance should be for the bottom corner, we must follow the same two-step logic like in the top corner. The first step is to see the projection distance of the bottom corner of wall W.7 along the wall’s plane to the plane of the wall W.8. This distance is marked in the figure with blue and is 0.202m. The tolerance must be greater than or equal to this otherwise the tool cannot move the bottom point. The second step is the closest distance of the potential stretched corner to the closest point on the wall W.8. Since the bottom edges of both walls were on the same level, then the potential projected bottom corner point of W.7 would actually be on the bottom edge of the W.8, and thus the second step of the tolerance would be distance 0.00m (there is no distance if it already is on the edge). Since the needed tolerance for the top corner is already 0.202m then the tool can move both corners with this tolerance. 



Figure 30 - Stretching intersecting walls

Example 3:
Here is one wall and one plate. We watch both options: stretching plate to the wall’s plane and stretch wall to the plate’s plane. In the example, the wall’s bottom edge is level to the storey, but the top edge and side edges are inclined. Also, the plate is inclined in space and does not have 90-degree corners. 



Figure 31 - Wall and a plate in 3D space

Let’s look at the stretching of the wall to the plate first. We must follow the same logic for tolerance like in the other examples, so we need to find the distance from the wall’s corners to the plate’s plane and then the distance from the potential projected corners locations to the closest point on the plate. In figure, the distance to the plane is marked with red. For the top left corner it is 0.720m and for the right corner it is 0.447m. The closest distance of the potential corner point after stretching is marked with green. For the top left corner it is 0.322m and for the right corner it is 0.160m. It is worth noting that for the left corner the shortest distance from the potential projected corner’s location is not to the corner of the plate, but is to the side of the plate!
According to the logic of the tolerance in this tool, the tolerance should be bigger than these distances. So, for the left corner the tolerance should be at least 0.720m and for the right corner it should be at least 0.447m. If we want to move both corners at the same time (running the tool only one time), then we must choose the bigger tolerance, as this is good for both corners.
It is good to observe that on the left side, the corner was moved to the plate’s plane (red dimension 0.720) and then to the edge of the plate (green dimension 0.322), because the wall and the plate are intersecting near that corner and the corner is touching the edge of the plate after the stretch. On the right side the corner was only moved to the plate’s plane (red dimension 0.447), because the wall and plate are not intersecting near that corner (and the tool cannot move the wall’s corner out of wall’s plane – only on the wall’s plane). 



Figure 32 - Stretching wall to plate

Let’s look at the stretching of the plate to the wall’s plane. We must follow the same logic for tolerance like in the other examples, so we need to find the distance from the plate’s corners to the wall’s plane and then the distance from the potential projected corners locations to the closest point on the wall. In figure, the distance to the plane is marked with red. For the left corner it is 0.094m and for the right corner it is 0.184m. The closest distance of the potential corner point after stretching is marked with green. For the left corner it 0.02m and for the right corner it is 0.110m. It is also good to remember that the wall’s corners are already on the plate’s plane, so the green dimensions are measured along the plate’s plane.
According to the logic of the tolerance in this tool, the tolerance should be bigger than these distances. So, for the left corner the tolerance should be at least 0.094m and for the right corner it should be at least 0.184m. If we want to move both corners at the same time (running the tool only one time), then we must choose the bigger tolerance, as this is good for both corners.
It is good to observe that on the left side, the corner was moved to the wall’s plane (red dimension 0.094) and then to the wall’s corner (green dimension 0.020). On the right side the corner was moved to the wall’s plane (red dimension 0.184) and then to the wall’s corner (green dimension 0.110). Both plate’s corners were moved to the wall’s corners, because the wall and plate are now intersecting along the whole edge. 



Figure 33 - Distances for the plate corners


Figure 34 - Stretching plate to wall

Example 4:
In this model two walls intersect in the corner. The left wall has some cutouts, but all the other points on the edge are connected at the corner. We will show that the tool can move all or only some of the points on the edge. We will see how to remove cutouts and stretch the left wall’s edge to the right wall. Since the walls intersect, then the only distance to measure for the cutouts are the distances of the corner points to the intersection edge. In the figure they are marked with red color.
Option a) – if we set the tolerance to at least 0.486m, then all the cutouts would be removed by stretching the points to the edge.
Option b) – if we would set the tolerance to only 0.4m, then one of the cutouts would remain.
It is good to note that the points still remain on the edge after the stretch (look at the little crosses on the edge after the tool has finished). It is wise to use the ‘Merge region lines’ tool after this tool to get rid of the extra points on the left wall’s edge. 



Figure 35 - Stretching only some points on wall



3.10. Stretch regions in plane

Graphical user interfaceDescription automatically generated with low confidence
Figure 36 - Stretch regions in plane

Description:
Stretches one region to the edge (and to the corners if possible) of another region. Both regions must be aligned to the same plane. The ‘Align regions’ tool can be used to make sure that the regions are in one plane. The tool uses the shortest distance between corner of one region and corner or edge of another region. Depending on the geometry, different distances are compared against the tolerance. The examples below describe some common modeling situations.
If multiple possible points are within the tolerance, then the tool will select the point that is higher in the modelling hierarchy (the point that was clicked first when the region was drawn) – this might produce some confusion, since the order of the corner points of the structure is not obvious. User can turn on the ‘Analytical element ID’ of the shell object, and this is written next to the first corner point of the region (also, it is possible to drag the text away from the region and then the leader line appears that shows the exact point). Usually, the distances are very small and this does not matter since there is usually only one node in the tolerance range. 


Figure 37 - Find the starting point of a shell

Real life problem:
Often the plates are modelled with inaccuracies so that there is a gap between two adjacent plates or so that two plates are connected at the edge, but the corners are not connected (one plate’s edge is slightly shorter than the other’s).

Works with:
Regular shells (walls, plates), fictitious shells, covers, diaphragm regions, surface support groups and surface loads.

Example 1:
In this example there are two plates with a gap between them. The task is to stretch plate P.1 corners to the corners of the plate P.2. To stretch the corner points of the plate P.1, the tolerance must be equal to or greater than the shortest distance to the plate P.2. In the figure the shortest distances are shown with red dimensions. For the left corner is it 0.54m and for the right corner it is 0.30m. In the figure there are also green distances between the corners of plate P.2 and P.1. For left corner it is 1.40m and for the right it is 0.72m
Option a) - to stretch both corners of P.1 to the edge of P.2, the tolerance must be at least 0.54m.
Option b) – to stretch both corners of P.1 to the corner of P.2, the tolerance must be equal or greater than the green distances in the figure, so at least 1.40m.
Option c) – if the tolerance is set to 1.39m then the right corner of P.1 will be moved to the right corner of P.2, but the left corner of P.1 will just be moved to the edge of P.2, since the distance between the corners were greater than the tolerance in this option. 



Figure 38 - Stretching plate P.1 to P.2

Example 2:
In this example there are the same two plates from the previous example. This time, the task is to stretch plate P.2 corners to the corners of the plate P.1. To stretch the corner points of plate P.2, the tolerance must be equal to or greater than the shortest distance to the plate P.1. In the figure the shortest distances are shown with red dimensions. For the left corner it is 1.40m and for the right corner it is 0.63m. Please note that the distance is to the rightmost edge. In the figure there is also a green distance between the right corner of plate P.2 and P.1 – 0.72m. For the left corner the shortest distance is already between the corners so if the left corner is moved it will already be moved to the corner point.
Option a) – if the tolerance is set to 0.7m, then the right corner is moved to the right edge of plate P.1.
Option b) – if the tolerance is set to 0.8m, then the right corner of P.2 will be moved to right corner of P.1
Option c) – if the tolerance is set to 1.40m then both corners of P.2 are moved to the corners of P.1. 



Figure 39 - Stretching plate P.2 to P.1

Example 3:
 In this example similar plates to the previous examples are used. Plate P.1 has been modified with some cutouts. Here it is shown how different tolerance values force the tool to move the top corner of P.2 to different positions on P.1. This example demonstrates how the tool always tries to find the ‘earliest’ (earliest in the order of how the region was drawn, so the point that was drawn first) point location that it can connect the corner point to. In the figure, different possible connectable spots have been marked with red letters in the order (from closest to furthest) together with the distance from the corner to each node. In this plate the order of corner points originates from the point ‘g’. Since the order of the plate always goes counterclockwise, then it can be thought that the order of modelling time of the points is against the alphabet, in this example. So, the point ‘g’ was drawn first, then point ‘f’, then point ‘e’ and so on. It is worth noting that point ‘f’ is an actual break point in the straight edge between ‘e’ and ‘g’, but points ‘a’ and ‘c’ are not actual points on the edge, but just the closest (perpendicular) distance to the edges. All of them are still considered to be valid connection points. In the figure, each example is shown with the suitable tolerance. It is possible to see that the tool will try to find the ‘earliest’ point that suits the tolerance. For example, if the tolerance is 0.98m, then the ‘earliest’ point within tolerance is ’c’ because the other points that come before it (the ‘g’, ’f’, ’e’ and ‘d’) all are not within the tolerance, but the points ‘a’ and ‘b’ are within tolerance, but they come ‘later’ in the hierarchy of the plate’s corner points. 



Figure 40 - Multiple stretching destinations based on tolerance



3.11. Stretch lines

Chart, line chartDescription automatically generated
Figure 41 - Stretch lines

Description:
Stretches line-based objects to other point, line- or region-based objects. The tool finds the distances between endpoints of the line-based object and other nearby elements’ points or the shortest distances (perpendicular) to the edge or surface of nearby elements. Tolerance must be higher than one of these distances for the tool to work. Tool will prefer corner points of other elements over the closest perpendicular points (see examples). If multiple possible points are within tolerance, the tool will choose the element that is higher in the modelling hierarchy (the one that was modelled earlier). If multiple points of the same element are within the tolerance, then the tool will choose the point that is higher in the modelling hierarchy (see examples).

Real life problem:
It is common modelling mistake that the beams, columns or line supports are not reaching the elements next to them (there is a slight gap between them), for example the beam is not reaching to the wall (is hanging in the air) or the support of the wall is slightly shorter than the wall.

Works with:
The stretched item can be regular bars (beams, columns), fictitious bars, line supports, line support groups and line loads.
The reference can be point supports, point support groups, point loads, regular bars (beams, columns), fictitious bars, line supports, line support groups, line loads, regular shells (walls, plates), fictitious shells, covers, diaphragm regions, surface support groups and surface loads.

Example 1:
Here are two beams that both are inclined in space and do not intersect. The task is to move beam B.2 to the beam B.1 (they will be located in the exact same position once the tool has finished). To move the beam, we need to see how far are the end-points of the other element. These are marked in the figure with red color. Distance between left points is 0.29m and distance between right points is 1.98m. For the left point, there is also a shortest distance perpendicular to the beam B.1 that is marked with green and is 0.27m. There is no shorter distance in the right end, than the end-to-end distance that is marked with red. So, in order to move the whole beam B.2 to the location of B.1, the tolerance should be bigger than any of these numbers.
Option a) – if the tolerance is set to 0.27m, then the left end would move up to the closest point on beam B.1.
Option b) – if the tolerance is set to at least 0.29m, then the left end would move to the left end of beam B.1.
Option c) – if the tolerance is set to at least 1.98m, then both ends of the beam B.2 would move to the ends of B.1. 



Figure 42 - Stretching beams

Example 2:
In this example a line load is located between multiple region elements. The load, plate and cover all are in the same plane. Wall’s upper edge is 200mm higher than the plane. The modelling order of the regions is: plate, cover, wall. There are corner-to-corner distances to the closest corners marked with red and there are two shortest distances perpendicular to the relevant edges marked with green. There is also a blue distance, that represents the shortest distance between the right end of the load and the plane of the wall. As an extra, two black dimensions are added to show the distance to the starting point of plate (the highest order in the hierarchy) and to the second point of the plate (next in order of hierarchy). Depending on the selected tolerance, these options can happen:
Option a) – tolerance is set to 0.35m. Only the right end point of the load can move to the wall’s plane (blue dimension 0.35m).
Option b) – tolerance is set to 0.4m. Only the right end point of the load can move, but now it will move to the top edge (green dimension 0.40m). The edges are preferred over the arbitrary point on the region’s plane.
Option c) – tolerance is set to 0.5m. Both ends of the load can now move. The left end is moved to the corner of plate P.12 (red dimension 0.47m) and the right end can still only be moved to the top edge of the wall (green dimension 0.40m).
Option d) – tolerance is set to 0.7m. Left end of the load is still moved to the plate’s corner, but right end is now moved to the closest point on cover (green dimension 0.69m). The cover takes precedence over the wall since the cover was modelled first. It does not matter that there are closer points on the wall.
Option e) – tolerance is set to 1.1m. The left end of the load is still moved to the plate’s corner, but right end is now moved to the corner of the plate as well (red dimension 0.85m). Again, it does not matter that there are closer dimensions on wall or cover, since the plate was modelled first.
Option f) – tolerance is set to 1.9m. The left end of the load is now moved to other corner of the plate (which is higher in order of hierarchy – black dimension 1.78m) and the right end is moved also to another corner (which is also higher in the order of hierarchy – black dimension 1.87m). 



Figure 43 - Stretching line load to objects



3.12. Align points

ChartDescription automatically generated
Figure 44 - Align points

Description:
Aligns point-based objects to other point, line- or region-based objects. The tool finds the distances between object and other nearby elements’ points or the shortest distances (perpendicular) to the edge or surface of nearby elements. Tolerance must be higher than one of these distances for the tool to work. If multiple points are within the tolerance, then this tool uses the same logic for selecting where to connect, as the tool above (‘Stretch lines’).

Real life problem:
It is common that point loads are not directly above columns or point supports not directly under the corner of a plate.

Works with:
The aligned item can be point supports, point support groups or point loads. The reference can be point supports, point support groups, point loads, regular bars (beams, columns), fictitious bars, line supports, line support groups, line loads, regular shells (walls, plates), fictitious shells, covers, diaphragm regions, surface support groups and surface loads.

Examples:
In this model there are a column, a load and a point support. The shortest distance between the load and the column (top end) is 0.07m and is marked with red in the figure. The shortest distance between point support and the column is 0.23m and is marked with red (perpendicular distance to the column). There is also a distance 0.25m from the point support to the bottom end of the column, marked green.
Option a) – tolerance is set to 0.1m. Only the load is moved to the top of the column.
Option b) – tolerance is set to 0.23m. The load is moved to the top and the point support is moved to the column, but it will move to the closest location (distance that is perpendicular to the column, the red distance 0.23m).
Option c) – tolerance is set to 0.25m. The load is moved to the top of the column and point support is moved to the bottom of the column. 



Figure 45 - Aligning point load and point support



4. Starting the check

When the right operations and tolerances are selected, then the tool has two methods of starting the actual check. One is the ‘Auto’ button on the right-hand side. This will run the operations that were selected and try to fix all the problematic areas without asking any user input.
The other method is to press the ‘Start’ button on the left-hand side. Then the tool will run each operation and stop at each problem to let the user decide whether to fix or ignore the problem. 



Figure 46 - Two ways to start the checking

In the example below, the operations ‘Delete identical copies’, ‘Fix overlaps’ and ‘Align points’ with suitable tolerances were selected. The ‘Start’ button is pressed and then the tool starts by finding identical copies and presenting some other options. 


Figure 47 - Deleting the identical copies

It found two copies of point support groups, so it selects one of them, zoom the area of the model to fit the screen (can zoom in and out and pan the view), displays a red rectangle that is homing in on the supports and flashes the support with red. User is presented with multiple options:
• Ignore – it will ignore this item and depending on the operation and move to the next problematic item in this operation. In this example, it would select the other point support group and would offer to delete the other one instead. If there is no other problematic element in current operation, then it moves to the next operation.
• Fix – it will fix the problematic element based on the operation and the suggested flashing red image. ‘Fixing’ means that the tool operates according to its algorithm and selected tolerances. Fix does not automatically mean that the model is fixed how we think in our heads. The fixing will virtually fix the model but not actually change the model yet. It would show in green the modifications to the existing elements. In this example, it would delete one of the point support groups. If there is no other problematic element in the current operation, then it moves to the next operation. In this example, if the tool would fix (delete) one of the supports. After that there are no problematic elements in the ‘Delete identical copies’ operation, so it would move to the next operation.
• Show again – will play the animation of ‘finding the element’ in the model again (zooms, pans and homes-in a rectangle that is pointing where the problematic area is in the model).
• Break – will stop all the operations. The fixes that were already made previously are kept and user can choose to accept or decline them.
• Ignore all – will ignore all the problematic elements in the current operation. In this example, if it is pressed during in the ‘Delete identical copies’ operation, then the ‘Delete identical copies’ operation is cancelled and tool would move to the next selected operation – ‘Fix overlaps’ operation. The fixes that were already made previously are kept and user can choose to accept or decline them later.
• Fix all – like the ‘Ignore all’ option. Will fix all the problematic elements in the current operation. For example, if it is pressed during in the ‘Delete identical copies’ operation, then it would delete one of the supports and since there are no more problematic elements in this operation, the tool would move to the next selected operation – ‘Fix overlaps’ operation.
• Mark – a special tool that does not fix the element, but instead places a marker on it and then technically ignores the item. Marker visuals can also be customized. Marking is good if the user does not agree with the proposed ‘fix’ and decides to later fix the element oneself. Marking helps to locate the problematic element in the model after the tool has been closed. Read more about markers below.
• Mark all – similarly to the ‘Ignore all’ and ‘Mark’ options, it will mark all the problematic elements in the current operation, but the ones that were already fixed or ignored, will not be marked (only from the current element onward). Then it will move to the next selected operation.

In this example the ‘Fix’ option is selected to delete one of the supports. There is a number 1 written in the ‘Fixed’ column of the operations table. This shows that right now only one element was fixed by that operation. 



Figure 48 - Fixing overlaping plates

Then the tool goes to the next operation ‘Fix overlaps’. It will show again the problematic element with red. It will start with the object that was created earlier (higher in the modelling hierarchy). In this example, it would show plate P.13 with red and suggest a cut to remove the overlaping part. Here also the ‘Fix’ option is selected. The plate P.13 is cut smaller and marked with green. Also, number 1 is written in the ‘Fixed’ column of the operations table indicating that one element was fixed. 


Figure 49 - Aligning point support group

Then the tool goes to the next operation ‘Align points’. It will show again the problematic element with red. This time it is the only remaining point support group that should be moved to the bottom of the column. Again the ‘Fix’ option is selected, the support is moved (an additional green support appears underneath the column) and number 1 is written in the ‘Fixed’ column of the operations table. 


Figure 50 - Tool has finished. Virtual fixes shown with green

Until here, no actual modifications are made to the model (except the markers if they were placed). The ‘fixes’ are all virtual and not in the actual model yet. User must make a decision what to do next.
User can now choose whether to accept the virtual fixes with either OK or Apply buttons in the bottom. OK will accept the fixes and exit the tool, while Apply will accept the fixes but still remain in the tool so that user can re-run checks or select different operations. Both of these options actually modify the model so caution must be taken that all the proposed fixes are suitable.
User can also re-run the checks without specifically accepting the fixes – for this user just does not press the Apply button, but instead selects new operations or changes the tolerances as needed and presses the Start button again. In this case the fixes are not modifying the actual model yet, but the tool considers the virtual fixes as if they were actually applied and runs new checks with the virtually fixed model.
User can also decline the fixes by pressing Cancel. Then the virtual fixes are dropped and they do not modify the model – the model will stay exactly like it was before pressing the Start or Auto button. This option will also close the tool.
User can also reset the proposed virtual fixes by pressing Reset button. Then virtual fixes are also declined, but the tool remains open, so user can start the checking again.

The Marker button in the right-hand side provides options to customize how the marker looks and what text is displayed on view next to the marker. Below is an example of how the marker would look in the view. Markers are not on separate layer and it is sometimes difficult to delete the markers. It is hereby suggested to make the marker text longer (default is just an exclamation mark) and make the text very big. Then it is easier to locate them in the model and also easier to delete them later. 



Figure 51 - Marker settings


Figure 52 - Markers in the model view

S
Stojan is the author of this solution article.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.