Need help working from home with your Bentley software? We're here to help - click here
Original Article Date: Nov 4, 2003
So ya wanna learn 3D? Well here's your chance. Follow along with this monster article as Sean "Bear" Forward teaches us about the MicroStation 3D Primitives. The following article and it's exercises assume that you have a good working knowledge of AccuDraw in a 2D environment. If you need a refresher...please refer to AccuDraw Rocks!
IntroductionUntil now your designs have been put together by using two-dimensional elements forming individual edges and surfaces of your model or object. Depending upon what you are designing, they may also be representative of edges and surfaces of a three dimensional object.It's time to take the next step and introduce Primitives (otherwise referred to as solids), elements that are three dimensional in themselves.The use of solids in the 3D modeling/design process is where the true power of 3D comes into it’s own. The available primitives are the:
Each solid has its own set of parameters, or settings, that define its layout. Other options are to utilize these tools in conjunction with key-ins or points snapped to existing geometry and, of course, AccuDraw. During this lesson, we will be making good use of all of these techniques and you will be able to accomplish the following:
SmartSolids and PrimitivesWhat is the difference between a SmartSolid and a Primitive? The easy way to explain things is that all solids created in MicroStation are SmartSolids to which Primitives are part of the group. Another way to look at it is that SmartSolids are the collective group of commands that can be used to create solid objects in the 3D MicroStation Environment.It is the theory behind SmartSolids that give us the ability to create more complex shapes and edit these shapes more than was previously possible. Repairing holes cut into the solid, filleting and chamfering. All of this is now possible using the Parasolid Kernel built into MicroStation. This means we have a more flexible system in which we can create complex and detailed 3D models.In this and other lessons, we will be looking at how the SmartSolid is changing the way we model in 3D. First, we will look at the 3D primitives. The easiest way to get to the drawing tools is to first open the 3D Main tool frame by selecting Tools > 3D Main > 3D Main. Once on your screen, you can then tear off the 3D Primitives tool box which resides in the top left corner of the frame.
Each of the tools in this tool box allows the user to create a complex 3D solid/shape in one operation. The beauty of these tools is that MicroStation has combined a number of complex operations into one simple command to create the primitive. Place SlabDuring this lesson you'll use all of the tools illustrated and then use your new skills to create a model from scratch. We'll start by visiting the Place Slab tool in detail. Note that there are some settings that are common among the other tools, so we won't be revisiting them later.
Both the Type and Axis options are available on all of the 3D Primitive tools except Place Sphere where only the Axis option is available.In the first exercise in this lesson, you will place a slab 1000H x 750W x 150H (which for some of us is a standard stair slab). It will be orthogonal and will be placed using AccuDraw in the Top rotation with the parameters constrained. Once the axis of placement for the slab has been decided, four placement points are required to complete it. The first point will be the point of origin and the remaining points will define it's length, width and height.
Place Slab - Placing a slab using constrained distances1. Create a new file called PrimitvesAll.dgn.Use the delivered seed3d.dgn seed file.You may also want to adjust the working units so that the master units are millimeters and the sub-units are micrometers.2. Adjust your active attributes as desired.We will be using these symbology settings for all the primitives placed in this exercise.3. Select the Place Slab tool.Adjust the settings as follows:
4. Turn on AccuDraw.Read the prompts.Place a datapoint in the Isometric View to define the start point.5. With input focus on AccuDraw, press T to rotate the compass to the Top view.6. Read the prompts.You are required to define the length of the slab.Move your pointer along the dashed line.Enter a datapoint.7. Read the prompts. You now need to establish the width.Move the cursor in the direction of the slab width.Enter a datapoint.8. Read the prompts.You have to define the height.Move your cursor either upwards or downwards.Enter a datapoint. 9. Reset to complete.When put together, the sequence should look something like this:
A cool thing to note is that AccuDraw's compass automatically rotates to the correct plane (top, front or side) in anticipation for your datapoints.
Place Slab - Placing a rotated orthogonal slab with AccuDrawIn the last exercise you constrained the length, width, height of the slab via the tool settings box. You will now create a rotated slab using AccuDraw's keyin window to define the dimensions.Rotating your view is one way to place rotated slabs, but not the only way. This is where the axis selection of Points becomes very useful. With with setting, the axis is set by the relative placement of the Start Point, the Length and the Width. By placing these three points, you actually define the plane of an end parallelogram, and in so doing automatically define the slab’s axis. The axis will always be a perpendicular to this plane.In the next exercise, you will place an orthogonal 1200 X 900 X 200 slab. The length, width and height constraints are all offset 20° from the drawings x-axis while it's end surfaces will be horizontal with respect to the design cube.
1. Start AccuDraw if necessary and then select the Place Slab tool. Adjust the settings as follows:Type = Solid, Axis = Points, Orthogonal = On and all other settings will be off.2. Read the prompts.Place a data point in the Isometric View to define the start point.Change to AccuDraw to polar coordinates by hitting the space bar.If necessary press T to set the compass to the Top view.3. Read the prompts.In the AccuDraw window, tab/arrow up to the Distance field, keyin 1200.Tab/arrow down to the Angle field, enter 20°.Enter a datapoint to accept this location.4. Read the prompts.Move the cursor along AccuDraw's axis - towards the bottom of the view.Enter 900.This value should end up in the Y-Field.Accept this location as the width.5. Read the prompts.Move the cursor upwards and enter 200.This should end up in the X-Field.Accept this location with a datapoint.6. Reset to complete.The entire sequence will look something like this:
Notice that AccuDraw automatically switches to the rectangular mode as well as rotates it's compass to accomodate correct placement of the slab. Gotta love it!For extra practice go back and try again using 15°, 30° and 45°. The above exercise rotated the slab in the Top plane, and you can use the same technique just as effectively in the other planes (Front and Side) in which case you would use the AccuDraw shortcuts F and S.Using the Points setting allows you to place the slab at any orientation, with the AccuDraw drawing plane rotated about it's X and/or Y axis. On a side note, it may be easier to rotate the slab after placement if a combination of rotations are required.
Place Slab - Placing non-orthogonal slabsUp until this point, you have used the Place Slab tool to place slabs with orthogonal sides. What this means is that you have restrained the tool in such a way as to have the sides of the slab always straight. The next step is to turn off the Orthogonal option and use Accudraw to place the sides of the slab in an angular fashion.
1. Select the Place Slab tool and adjust the settings to be:Type = Solid, Axis = Points, Orthogonal = Off, Length = 1000, Width = 750, Height = 250.2. Read the prompts.And respond by entering the first three datapoints to define the start, length and width.All of these points should be placed in the isometric view.3. Read the prompts.Press the spacebar to switch Accudraw to Polar Coordinates.Tab/Arrow down to the angle field, and enter the value 15.4. Before accepting with a datapoint, notice that the sides of the slab are now at 15 degrees.Change the angle to a few different settings and see the effect.Finally, accept with a datapoint.
Place Slab - An exercise in designNow that you have the basics of the Place Slab command, it’s time to use it in a modeling situation. The image below shows a design of a simple substation which will be the focus of a few exercises. At this time you will only be placing the floor and the four walls.
Creating the floor1. Create a new file called SubStation.dgnUse the delivered seed3d seed file.Change the working units to 1mm:10su:100puStart AccuDraw.2. Adjust the active attributes as desired.3. Select Place SlabAdjust the settings to read:Set Type = Solid,Axis = Points,Orthogonal = On,Length = 8000, Width = 6000 and Height = 150.4. Read the prompts.With the focus in AccuDraw, press PKeyin 0,0,0Accept this location as the start point.5. Rotate AccuDraw to the Top.Read the prompts.Enter the length along the +Y axis.Enter the width along the +X Axis.Enter the height along the -Z axis.Reset to complete.
Placing the wallsYou have just created the slab for the floor and will now place both the north and south walls.1. Adjust the settings of the Place Slab tool to read:Length = 6000, Width = 150, Height = 2500All other settings remain as is.2. Read the prompts.With AccuDraw active, press PKeyin 0,0,0Accept this location as the start point.3. If necessary, rotate AccuDraw to the top4. Enter datapoints in the following directions:Length = +X, Width = +Y, Height = +Z.
To complete the other side, use Copy Element to copy the wall you just placed over to the other side. Ensure that it is positioned correctly by confirming your work in the orthogonal views.
Place SphereA sphere is defined as a volume of revolution with a circular cross-section and is the easiest of the primitives to place since you only need to define the axis and radius. As with the slab, the sphere has the same axis settings to choose from. Each of these settings defines the way in which the directional lines (rule lines) are displayed and plotted. The axis rotation also defines the position of the sheres keypoint snaps.The image below shows the top view of a few different spheres that were drawn with different axis settings.
The rule lines in the sphere are a series of arcs at 45 degrees to each other running longitudinally with an equatorial circle. The equatorial circle is broken down into sections between the arcs and provides a greater number of snap points. As with any circular object, the center of a sphere is also a snap point.
Place Sphere - Making door knobsIn the next exercise, you will make a couple of door knobs for the substation. These will be represented as little 30mm spheres and will placed 1050mm from the bottom of the doors, 100mm from the middle of both doors, and 40mm away from the front face.1. Continue in SubStation.dgnSelect Place SphereAdjust the settings to read:Axis = Points, Radius = 302. In the isometeric view, snap to the bottom edge where the two doors meet.Position AccuDraw's compass at that location with OEnsure the compass is set to the side rotation with S3. Move your pointer up towards the top of the door.Keyin 10504. Move your pointer towards the center of the door.Keyin 100Move the compass to this location with O5. Rotate AccuDraw to the front with FMove along the -X axis (away from the door)Keyin 40Enter a datapoint to secure this location as the center of the sphere.Enter a second datapoint to define the axis.The entire sequence will be something like this:
6. Use Mirror Element to create the knob for the other side.
Place CylinderA cylinder has a constant circular cross-section and the axis settings are the same as the Place Slab too. This means that you'll only have to define the height and radius.Cylinders may be placed as either a solid or surface which has two open ends such as a piece of pipe. Like the Place Slab tool, a cylinder can be placed either orthogonal or non-orthogonal.
Another feature that is common with all of the primitive tools is that the dimension settings can be defined by either AccuDraw or via the tool settings box. Place Cylinder - Placing an orthogonal cylinder with AccuDraw1. Create a practise file with the working units set to millimeters.Select Place CylinderAdjust the settings to be:Type = Solid, Axis = Points, Orthogonal = OnHeight = 750, Radius = 1002. Read the promptsEnter a datapoint in the isometric view.This is the start point.3. Read the prompts.Rotate AccuDraw to the front or side.Move your pointer around the compass and notice how AccuDraw is controlling the orientation of the cylinder.4. Enter a datapoint to define the final direction.
Place Cylinder - Placing a non-orthogonal cylinder with AccuDraw1. With Place Cylinder still active, turn off Orthoganal and Height2. Read the promptsEnter a datapoint in the isometric view.This is the start point.3. Read the prompts.Rotate AccuDraw to the top.Move your pointer along an axis.Enter a datapoint to define the radius.4. Read the prompts.Notice how AccuDraw has automatically switched to the front.This occurs with all of the primitives and simply assists with the correct placement of the element.Switch AccuDraw to the polar coordinates.Set the distance to 1200Set the angle to 15Enter a datapoint to accept this position.
Place Cylinder - Connecting the door knobs to the doorIn the following exercise you will connect the door knobs to the door with a little cylinder.1. If needed, open SubStation.dgnSelect Place Cylinder and adjust the settings:Radius = 10, Height = 40, Orthogonal = On2. Read the prompts.In the front view, snap to the center of a knob.Enter a datapoint to fix this location.3. Read the prompts.Move your pointer towards the door, and along the axis.Enter a datapoint to define the direction.4. Use Mirror Element to create the join for the other knob.
The next exercise is a simple piping and tank model which will allow us to work with the Place Cylinder tool.
Place Cylinder - Setting the tank1. Create a new file called TankPipe.dgnSet the working units to millimeters.2. Select Place Cylinder and adjust the settings to read:Type = Solid, Axis = Points, Radius = 5,000 and Height = 10,0003. Read the prompts.With AccuDraw active, press PKeyin 0,0,0Enter a datapoint to accept this start point.4. Read the prompts.Rotate AccuDraw to the front.Move your pointer along the +Y axisEnter a datapoint to define the direction.Now that you have the tank in place, you can start the piping run.
Place Cylinder - Pipe #11. Select Place Cylinder and adjust the settings:Radius = 150, Height = 1500.2. In the right view, snap to the bottom of the tank on the right side.Do not enter a datapointPress O to move the compass to this location3. Move your pointer upwards along the +Y axis.Enter 500 followed by a datapoint.4. Move your pointer to the right of the viewEnter a datapoint.
Place Cylinder - Pipe #21. Make sure that Place Cylinder is active.Constrain the Radius to 150, and the Height to 3800.2. In the right isometric view, snap to the centre of the end of the pipe.Do not accept,but rather move the compass to this location with O3. Rotate AccuDraw to the topMove your pointer along the axis and away from pipe #1Keyin 600 and accept.4. Finish the pipe by placing it in the same direction as the first.
Note: The gap between the two sections of pipe will be resolved shortly.Place Cylinder - Pipe #31. Select the Place Cylinder tool.Constrain the Height to 900 and leave all other settings as is.2. Position AccuDraw's compass at the center of the cap of the last pipe placed.3. With AccuDraw in the side rotation, move the cursor in the +X direction, keyin 500Move your cursor in the +Y, and keyin 500.This will be the location of the start point.Enter a datapoint to accept.4. Enter one final datapoint in the +Y direction.
Note: The gap between these two sections of pipe will be resolved later in the article.
Place Cylinder - Pipe #41. Select Place Cylinder and set the height to 2000.Leave all other settings as is.2. Position AccuDraw's compass to the center top face of the last pipe.3. Offset the start point 500 units along the +X and,500 units along the +Y axis.4. Enter the last datapoint so that the pipe is horizontal.
Note: The gap between the pipes will be resolved a bit later.Place ConeThe Place Cone tool differs from Place Cylinder in that you can define a radius at each end.
When the parameters for both radii and the height and a particular view or drawing axis have been predefined, only two data points are needed to place the cone. The first data point defines the position of the base radius and the second places the position of the top radius. The steps for placing cones that are non-orthogonal are the same as for cylinders.Place Cone - Placing an orthogonal cone using AccuDraw1. In any file, select Place Cone with the following settings:Type = Solid, Axis = Points, Orthogonal = OnTop Radius = 200, Base Radius = 500, Height = 1200.2. Define the start point in the isometric view.3. Rotate AccuDraw to the front.4. Move the cursor along the Y axis to define the directionEnter a datapoint to secure this location.
Place Cone - Place the valveA common use of the cone is to create tapered sections for such thingsas piping and ductwork between two different diameters. In the next example, you will use the cone to place the first part of a valve between pipes #1 and #2 in TankPipe.dgn1. Reopen TankPipe.dgnNavigate to the gap between pipe #1 and #22. Select Place Cone and set the following:Top Radius = 0, Bottom Radius = 150, Orthogonal = On.Leave the Height unchecked.3. Define the start point at the center of pipe #1's end.4. Rotate AccuDraw to the topMove your pointer along the horizontal axisSnap to the center of pipe #2's end.Keyin /2 to divide the distance the cursor has moved in half.5. Accept to complete the placement.6. Complete the cone on the other side.
Using cones and cylinders togetherYou may not always have perfectly aligned cylinders as you had in the previous exercise. Some modeling, like air-conditioning ductwork, may require the use of nonorthogonal cones. The image below shows simplfied ductwork that will be placed into the substation. This exercise is similar to the TankPipe exercise except this time the centre lines of the two cones will be offset. You will also be using a drawing axis to assist with the placement of the cone.
The first pipe, which is the short one at the front of the substation, has a diameter of 500mm and is 1000mm long. The second, longer pipe is a diameter of 300mm and is 4900mm long. The distance between the two pipes is 500mm and will be filled with a cone.1. Ensure that SubStation.dgn is open.Select the Place Cylinder tool.Adjust the settings to read:Type = Solid, Axis = Points, Radius = 250 and Height = 1000.2. Position AccuDraw's compass at the inside top corner of the building.3. Rotate the compass to the topOffset 900 in the +Y and 550 in the -X direction.4. Place the compass at this new location.Rotate to the side.Offset 300 along the -YThis is the start point, so enter a datapoint.5. Enter the second and final datapoint along the horizontal.
The second (long) pipe will now be placed 500mm away from the short pipe.1. Adjust the settings on Place Cylinder to read:Radius = 150, Height = 4900All other settings will remain as is.2. Snap to the end of the short pipe, on the inside of the buildingPosition the compass at this location.2. Set the compass to the front rotationOffset 500mm along the +X axisOffset 100mm along the -Y axisEnter a datapoint to define this as the start point3. Move your pointer along the +X axisEnter the last datapoint to define the orientation.
Now you have the hard part out of the way, the easy bit’s next....all you need to do is position a cone between the two pieces of pipe. Rather than giving you detailed instructions, take a peek at the clip below to see how this is done. Hint: Read the prompts.
Congratulations, you have just modeled your first duct in 3D. Easier than you thought?
Place TorusMore often that not, we nick name this one the donut. Rather than being used to place donut shaped objects, it is more likely to be used to place such things as 90-degree pipe joiners. A torus can be placed as either a solid or surface and, unlike the other primitives, there is no orthogonal setting. The main parameters with the Place Torus tool are it's Primary Radius, Secondary Radius and Sweep Angle or Angle.When modeling a torus you first place the center point of the secondary Radius or outer tube. The second point will define the primary radius or set the center of the 'hole in the donut'. The third point defines the sweep angle and sets the final part of the torus.
You will be using the torus to place the elbows in the piping drawing created earlier in this article.Place Torus - Add elbows #1 and #21. Ensure that TakePipe.dgn is the open file.Select Place Torus and set it to Type = Surface, Axis = AccuDraw.All others setting should be turned off.2. Using the isometric view, enter the start point.3. Using the side view, lock your pointer along the Y-Axis and snap to the edge of the adjacent pipe.Finally snap to the radius of the second pipe to fix the diameter.Repeat these steps for the other bendy pipe.
Place WedgeThe last tool to chat about is also the last tool in the tool box. Place Wedge is used to create a wedge shaped object that has a volume of revolution with a rectangular crosssection. Other than the common settings, this tool requires you to define a Radius, Angle and Height. The radius define is that for the outer surface, the angle defines the sweep and the height defines the thickness.
By now you should be fairly comfortable with all of the primitves and can therefore place a few wedges off to the side in your open file. As you can see, they are very easy to place and don't require any specialized instructions.
SummaryThe purpose of this article and it's lessons was to introduce you to the "ready-made" side of 3D modeling in MicroStation. You have gone through each of the primitives in their palette order and examined each of their settings. The idea of these exercises was to give you the confidence to try these tools out and perhaps give you a bit of an idea how they would be used in 3D modeling.By working with the slab first, you went through a baptism of fire. As the primitive with the largest number of parameters, it made you think about what you were going toplace before you carried it out. In contrast to the slab, the sphere was a good breather. The easiest of the primitives to place, the sphere makes you think as to how you want to use it in relation to its snap points. The cylinder is probably the most used of the primitives and can be used place things such as pipe runs. While we went through placing the cone as a sole element, it's often used as a primitive that's added to others. The torus can be placed as a single entity to represent such things as O-Rings and pipes. The wedge is probably the least used of all of the primitives although it can be a great way to show a weld in steel work.One final note, if you'd like to practise you new skills, try your hand at drawing this spiffy soap box!
AskInga Article #165