Moving Revit surfaces to a laser cutterLaser cutters are a widely available tool that can make possible models and structures of very complex surfaces. This post runs through steps to cut a triangulated surface that was modeled in Revit. It uses Revit and AutoCAD.
The laser cutter essentially moves a cutting laser along the x and y axes like a knife blade. The intensity and speed of the laser must be adjusted to cut through different materials. Since the laser produces high heat, a material can catch on fire, so the settings must be correct given a material and thickness. At low intensity, the laser can burn grooves, or etch the surface.
Our laser cutter expects a cutting path defined as a coplanar PLINE in AutoCAD. We use AutoCAD layers to designate the intensity of the laser, either “cut” or “score”. The challenge is to move a set of panels modeled in 3D space onto the cutting plane and change them from solids to PLINEs.
Exporting from RevitEarlier posts describe most of the process, so this one is largely review. A parametric triangulated, panelized surface is the starting point (illustrated in the post on 2012/07/23). The first step is simply to move to a 3D view of the surface in Revit and use the Export command to make a DWG file (Figure 1). The view must be a 3D view to get a 3D model in AutoCAD. I used AutoCAD 2010 format because I have not yet updated AutoCAD to 2013. The process is straightforward.
That’s it for Revit.
Flattening the model in AutoCADI opened the file in AutoCAD. It appears in a 3D view that I can spin and inspect. I notice that the panels are in 3D space and are tilted and arranged to create the surface. Also, the panels are themselves 3D extrusions. The following steps convert the panels to 2D objects and drops them onto the cutting plane at z=0.
The key command is 3DALIGN (Figure 2). It is available from the Modeling tool palette. Or just type in the command. The command will ask for 3 points defining XYZ axes on the element to be moved and then 3 points on the plane to move to, effectively rotating the element in 3D space to align with a new plane.
When using 3D align, it is very important to be precise. The panels are 3D objects with a top face, bottom face, and edge faces. It is important to select the points in the right order to avoid flipping some objects upside down. It is also important to snap exactly to points on the top face. The other faces are unnecessary, so first they need to be deleted.
Converting the model to 2D objectsI will convert them to 2D objects by using the EXPLODE command (Figure 3). Now, each triangle is a POLYFACE MESH (Figure 4). However, it is actually several mesh objects to represent the top surface, the bottom surface, the outside edge surfaces, and inside edge surfaces.
For laser cutting, I want only the top surface. The top surfaces can be selected easily by clicking on the surface in a place that is unambiguously the top surface. I changed the LAYER of these top surfaces to LAYER 0 and then turned LAYER 0 to hidden (Figure 5). It is then easy to do a window selection and delete the unneeded surfaces, with ERASE W command.
The top faces can easily be moved back to the A-GLAZ layer.
Arranging the panels on the cutting surfaceBefore aligning the panels on the cutting plane, it is helpful to create a grid on the cutting plane to locate the panels evenly and provide some snap points. The Z=0 plane will serve as my cutting plane. I used the LINE command to make lines from 0,20’ to 0,0 and 0,0 to 25’,0. The COPY command can be used to make a grid of horizontal lines and then the vertical lines (Figure 6). Doubling the vertical lines also gives more points to snap to.
Use the 3DALIGN command to rotate the panels onto the cutting plane. I enforced a consistent convention of clicking the top corner first, the bottom corner second, and then finally the third point. In placing the face, pick the points in the same order. This is important to keep the faces oriented the same way as the originals. (Figure 7, 8).
The panels must be scaled, labeled, and fit onto the cutting sheets. For our lab’s laser cutters, I will scale them to 1:12. I selected all of the panels and used the SCALE command (Figure 9).
Our shop staff have created a template for the laser cutter showing the bed size of the machine and assigning layers to the choices of CUT or SCORE (etch). It is simple to open the template and then copy the triangular faces and paste them into the template. The red lines designate the border and margins of the cutting table (Figure 10).
Labeling the panelsThe next step is to label all the panels. Simply use the TEXT tool (single line text) to add a letter to each panel. I put the text on a separate layer (Figure 11).
I arranged the triangles on the cutting bed template, being careful to keep them away from the margins. Care must be taken to retain the labels. MOVE and ROTATE both can accept the Previous selection set, making it easy to manipulate the correct panels. I deleted the grid lines because they are no longer needed.
The last step is to move the elements to the correct layers for the laser cutter. The panels were moved to the CUT layer and the text was moved to the SCORE layer.
That is all that is needed in our shop.
A better model with tolearancesThis model has some flaws. The panels are at the mathematically exact size, not allowing for the material thickness that will cause a clash with an adjacent panel. This does not matter if the panels are cut from a very thin material, but if the material is more thick, they should be undersized to allow for a tolerance. The best way to account for the tolerance is to model it in Revit. However, it can be corrected in AutoCAD, although the process is a bit clumsy.
First, the POLYFACE MESH objects must be converted into PLINES. I can find no direct way to convert them; the EXPLODE command converts a POLYFACE MESH to a 3D FACE, and that object cannot be exploded further. A search on the Web reveals a clever work around of converting the POLYFACE MESH to a BHATCH, deleting the MESH while retaining the BHATCH, and then regenerating the BHATCH boundary as a PLINE.
Using the BHATCH command, I picked each POLYFACE MESH to add a hatch (Figure 12). Then using the ERASE command, I picked each POLYFACE MESH and erased it, leaving the hatch (Figure 13). Then pick the hatch and use the RECREATE command to produce a new POLYLINE around each panel (Figure 14). Next, delete the hatch elements.
This creates too many polylines, as it recreates the boundaries of all of the MESH objects (Figure 15, 16). However, it is not too difficult to erase the extra line segments using a crossing selection. Beware of the rectangles around the text elements generated by the hatch command. These are on the CUT layer and, if not erase, will leave holes in each panel (Figure 17).
The last step is to create an assembly tolerance by making the panels slightly smaller than as designed. This creates a tolerance that aids in assembly. The idea behind this model is to tape the panels together. The tape will cover up the gap between panels and enable them to rotate in space to the correct position. I used the JOIN command to collect the three sides of each triangle into a single PLINE, and then the OFFSET command to nudge the triangles inward. I used a 1/32” offset. ERASE the original triangles (Figure 18).
It is a good idea to JOIN the boundaries of the holes too, as the laser cutter is likely to prefer a single PLINE rather than multiple PLINES. Oddly, the JOIN command will not join all of the segments of a hole in one operation, but if issued twice will join some of the segments and then the rest of them. Careful use of a WINDOW selection (upper left to bottom right window) can generally select all of the segments defining a hole at once. (Figure 19)
This is now a very good model that should present no difficulties in cutting or assembly.