Creating Well Connected Assemblies with 1D Visio Shapes

Post to Twitter

A 1D line with and without height

A 1D line with and without height

Visio shapes can be either 1D (one dimensional) or 2D (two dimensional).  Unfortunately, there is no 3D shape although you can produce a “3D-like” 2D drawing by using the same methods as you would on paper… isometric, axonometric, perspective, etc.  Most Visio drawings that simulate 3D are drawn as isometrics… but I digress and will cover that in a future post.

When you draw a straight line, Visio treats it as a 1D shape by default.  When you draw a polygon or multi-segment line (polyline) Visio treats it as a 2D shape by default.  So what’s the difference? Well, today we’ll focus on 1D shapes because they have some very powerful connection and assembly behaviors in Visio.

A 1D shape has a begin point and an end point.  To understand this better, select a line and open Visio’s Size & Position window from Visio’s View menu.  You’ll see XY locations for the beginning and end of the line based on X=0 and Y=0 being at the bottom left corner of your drawing page.  The window also shows the length and angle of the line as well as a height.  Wait… height?  Yes… in Visio a 1D shape can have height although a simple line defaults to zero height.  Type a value of 1 into the height field in the Size & Position window, then press Enter.  You should see the results shown below.  The height of a 1D shape gives us a place to insert an image while maintaining the advantages of 1D behavior as you’ll see in a moment.  The result is that you can have a shape that behaves like a line but looks like a rectangle.

This is important for assemblies because 1D shape have the ability to strongly “glue” to connection points in Visio.  This kind of connectivity is what gives you those nice flow charts where the lines follow the boxes as you move them. We leverage this feature of 1D shapes to create Visio parts that assemble together accurately.  If we understand in advance how the real parts fit together then we can design the shape behavior to make it very easy to create an assembly of parts.

In the example below, a Juniper Networks MX router is placed into a rack.  If you look closely at the image on the left you can see the height of the 1D shape.  We used that height to insert an image that actually looks like a 2D picture of the device but it behaves like a 1D line where the endpoints will easily glue to connection points on the rack.  When you drag the shape from the stencil and place the endpoints near to the connection points, they “light up” in red to signal that they are gluing into place at those points.

Rack with network device and cards glued in place

Rack with network device and cards glued in place

For standard equipment racks we know that the mounting holes are 18.31” apart horizontally and the overall width of the devices will be very close to 19” between outer edges of their mounting flanges.   Therefore, we’ve designed this shape to glue to connection points spaced 19” apart.  Note the little red squares at the lower left and right corners of the shape (they are a bit hard to see so look closely).  The connection points are placed in the rack so that the mounting holes of the device align with mounting holes on the rack.

When you move the rack, the device goes with it.  In the close-up on the right you can see how a horizontal card is glued into the device (note the red square at the left end of the card).  This is an example of a hierarchical assembly… rack, chassis, card.  Move the rack and they all go together.

Let’s look at a different assembly condition with Leviton’s Structured Cabling products.  These are products that mount into small enclosures residential wiring of media and telecom systems.  The enclosures mount on a wall and various wiring modules mount into the enclosures.  There are also expansion boards that go into the modules to provide a range of wiring options.  So we have here another hierarchical assembly… enclosure, module, expansion board… but with very different dimensional parameters from the previous example.  Here, the mounting holes are at 3” intervals horizontally and 1” vertically.  The modules snap and glue into place accordingly and the (green) expansion boards are made to fit into the modules.  Just as in the real objects, you can mount the modules at any hole positions in the enclosures. Also note the connection points (little blue Xs) at every location where a cable can be connected.  This greatly eases the drawing process for wiring diagrams.

Wall mounted enclosure with modules and cards installed

Wall-mounted enclosure with modules and cards installed

To show the range of assembly possibilities, we’ll look at one more example.  For the Emcor Enclosures FP2 series of cabinets we created 1D shapes that assemble in flexible modular arrangements.  The drawing below shows a plan view of, from left to right, an end panel, a base cabinet, a wedge, etc. until the configuration is complete at the right.  Note the far right base cabinet that shows 1D endpoints in red glued to the adjacent wedge.

Modular enclosure system in plan view

Modular enclosure system in plan view

I’ll conclude this topic for now but I can certainly expand on how the 1D shape concept can be used to assemble other kinds of objects.  Certain assembly conditions are difficult to handle well with 1D shape assembly methods so Visio provides 2D shape techniques for those.  You can also experiment with changing a shapes behavior from 1D to 2D or the reverse using the Format > Behavior menu.  If you are interested in more details, leave a comment on the blog or contact us at to vote for another article with additional information about 1D vs. 2D assembly techniques.

You can download the free stencils used in this article for Juniper Networks, Leviton, and Emcor at  At the left sidebar on the Home page, select Visio Shapes and scroll down to the product you want.

© 2009 – 2010, Visimation. All rights reserved.

Post to Twitter

2 comments to Creating Well Connected Assemblies with 1D Visio Shapes

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>