Quality and Loyalty go hand in hand.

DILBERT © 2008 Scott Adams. Used By permission of ANDREWS MCMEEL
SYNDICATION. All rights reserved.

I’m sure many of you have felt it. I’m sure most of you have seen it. I’m sure a lot of you have experienced it. What you ask? The decline in loyalty, to and from an employer, and the quality of deliverables from employees and employers. Unless you are a one man shop, you are part of a team. A good team is made up of dedicated, loyal, quality driven people focused on the same goal. Great things can be accomplished with a good team. Companies use to promote the development of such teams.

The St. Louis Arch brought two towering structures of a calculus derived shape together within 1/64th of an inch accuracy at the top. Think about that for a moment. 1/64th of an inch margin of error for two massive structures to meet in the middle 600’+ in the air and almost the same distance apart at the ground. Today, though, we seem to have trouble getting a piece of pipe to set on top of a piece of steel in a computer CAD model. Why is that? Yes we can go round and round about “Whose fault it is” but why is it only ONE at fault? It truthfully is a team’s failure to come together, communicate, and resolve the issue, or better yet work pro-actively to make sure it is NOT an issue. As a company we are part of a team, we strive from good leadership. Good leadership promotes dedication and inspires greatness, from that greatness comes great things. That’s pretty close to the SpiderMan quote of “With Great Power, comes Great Responsibility” – Ben Parker (Peter Parker’s Uncle.) We seemed to have cast aside both power and responsibility. I believe that by accepting responsibility you gain power of self-control aka Internal Locus of Control.

Corporate Leadership has become divided into a non-balanced effort to promote better profits, efficiency and return. The corporate goal is, or should be, a well-oiled machine that churns out profits, produces results and builds on the company name and image (in a positive way that is.) Now, imagine the quality of the components of the machine and how well those components are loyally lubricated with the oil. The Machine will run great, right? Stephen Covey talked about the P/PC (Production and Production Capability) in his 7 habits of Highly Effective people. Paraphrasing here, about the “new manager that strolled in and took productivity through the roof, by running the machine at peak capacity, ignoring maintenance and care. Profits were through the roof, they promoted him, the next guy came in to take over and guess what? The machine was at the verge of break down and needed to be shut down for maintenance and repairs, guess what profits went down, and costs skyrocketed. The other guy still looked great and the new guy, not looking good at all.” This has happened to us in our industry.  Loyalty has not been maintained as a result quality is down and cost is up. Our industry has been consistently chipping away loyalty and degrading the quality of the people for years now. Quality, as a result, is all but gone; replaced by quantification of bulk efforts of cheap labor in other countries. Costs of Engineering, Construction and Procurement have sky-rocketed as a result. Are we really getting more for less? No we are not. We are getting far less for far more.

We can improve our situation through never ending dedication to improvement of our selves, pride in our work and commitment to our industries excellence. Yes, it would appear, I’m saying that we make the first move to take back our industry from those that cheapen it with minimal effort, inefficient design, principles that cost construction costs to sky rocket, poor quality drafting, lackluster software systems that promise the world and fail to deliver. I’m sure some of you can identify a software system in particular. I’m not going to rant on that as many of you know I could, grin.

Moving on… In the days of past you could distinguish a company employee from a contractor. The understanding was that a company employee was part of the company, and proud to be part of it. A Contractor was someone that would come in under ramped up project demands. They were typically paid more money, but lacked the benefits of job security, and actual employer provided benefits. There used to be a real difference. The Employee was dedicated to the company and the face of that company, the contractor was dedicated to the paycheck and most of the time the project at hand. There isn’t really much of a distinction any more, with the exception that most don’t seem to care about the company or the project. Projects have gotten so screwed up, people just hope they aren’t the primary scape goat. Corporations will quickly discard you once the project is up. Your contributions good or bad are irrelevant as the cold sled comes to your cubicle as you are called into HR. Lucky for you HR will escort you out of the building after providing you with a few minutes to gather your things. Not much loyalty in that picture is there? Hurry up finish this project so we can get you off the books. That’s not said, but it is the point. I’ve heard so many company campaigns or slogans that do their best to convince you otherwise, but in the end, it is the same result.

Cutting costs is what promotes this short sighted thought process, especially since we get our stock stats right on our phones in an instant. We want instant results, we expect them. Who drives that? We do. You want instant results, so do corporations. If they cut 10 professionals from the payroll, that’s pretty much a million dollars a year savings. Tell me that doesn’t look good on the books. It looks great on the books. Never mind the reality of the people you laid off were valued team members, and replacing them is not just as easy as hiring someone with similar qualifications. How much does it cost to hire a new employee? How long does it take to get them up to speed on your systems? How much time is vested in that new employee to discover they don’t have the abilities you hired them for, and you are forced to go back to the pool of candidates. How much does that cost on the front end of the project. How much time is vested getting a new project team to come together? Wouldn’t it be great to have a team already in place? Of course it would, perhaps we should consider that when building our teams, and maintaining them. A team works together well when they are loyal to the team and the goal of the team. Take the team out of it and just utilize a pool of “assets” and you have done nothing more than throw your toolbox full of tools at the task you hope to work on.

How do we get the corporations to be more loyal to the employees? Step one, make sure you are not only valuable, but extremely valuable. Step up your game, not only do you do good work, you help others strive for the same. Spread the knowledge, skills, tips, and tricks you have learned, pass on that knowledge through mentoring new recruits in the industry. Hold them accountable as well. There are a large number of “senior” designers out there in their 20’s that, are not Senior designers. They may have scored a position, during a high demand time, as a senior designer, but that only caused them a disservice. We need to fix that, help them learn. Those of you that find yourself offended to that, need to open your mind and learn from actual senior level designers. Your lack of knowledge and experience in proper design for your discipline impacts the quality we as a whole provide. We as a group need to become cohesive. Don’t be afraid to ask for education, and don’t get offended when someone offers you an education. Don’t get your feelings hurt when someone points out something you screwed up. Learn from it. It’s called an opportunity to improve. The more you learn the better you are, the better our industry gets. The better our effort becomes, the faster we can execute projects and the cheaper it costs to do work properly. Back to one of my favorites “Do it Right the First Time!” The more money left in our pockets, the more security we have. Companies typically want to repeat what makes money for them. If a company operates smoothly and actively gains market share through real results, executives will tend to stay at that company, rather than jumping ship. At that point hiring 10 people means making over a million dollars more in returns. That’s loyalty on both sides. That’s Quality at its best.

If you are a corporate executive, a project manager, a designer, a drafter, an admin, a student, or … reading this, ask yourself; “What can I do better to improve the quality in myself and those around me?” Raise the bar, raise your expectations.


Drafting Poll – Drawing Index Sheet

One thing I have discovered that is typically troubling for projects is data consistency. One place in particular is Drawing Title Block Data. Drawing Title Block data is used in the Titleblock, Drawing index, Drawing status reports, EDMS systems, transmittals and more. Problem is often times the data is incongruent because the data sources are often multi input sources instead of single source. Multi source invites data inconsistency. Take the following survey and compare how your processes to your peers. Start some discussions in the comments about your specific method works and what you would like to see improved in it.

CAD Intermediate – What is UCS for Anyway?

What is a UCS for? UCS Stands for User Coordinate System. Basically it means you can define your coordinate system for the requirements of your drawing. I can’t tell you how many times people have come to me and asked “how do I get my drawing to rotate correctly?” Yes that is a pretty loaded question. Truth is there are a variety of answers. A UCS can be used to provide better means of editing certain components in your model. It can be used for getting your border to rotate like you want it, a UCS can be used to show different views. A UCS can be used to translate from one coordinate system to another coordinate system. There are a number of applications to utilize a UCS. Do you have to completely understand what’s going on, No, but you will work better if you do.

What is a coordinate system? I believe most of us learned in School the Cartesian coordinate system in math. X and Y axis system and some even expanded into Z for 3D points. AutoCAD uses the same thing. I’m pretty sure you knew that, but trying to establish some history and base reference. The coordinate system is relative to where you associate 0,0,0. The World Coordinate System does not mean coordinates based on the world (planet earth). You could map all the points on earth into an AutoCAD drawing. What would you make 0,0,0? Where would you start? Personally Since earth is pretty much a sphere, I would set 0,0,0 to the center of the earth. Since most of us are not modeling the earth, lets stuck with relative coordinates to a site project. Your WCS will typically have 0,0,0 at a location on the site that is deemed the primary landmark. Thank you mappers and surveyors. You can also create any number of UCS’s you may need in a drawing that are relative to the WCS. Hopefully that all makes sense.

Figure 1 – Typical North Arrow arrangement

Most of the industry as I’ve been exposed to uses Up (Y-Axis positive direction) for North. (See figure 1.) This establishes the X-Axis as West(-) and East(+). Drawings come in a variety of shapes and sizes. Typically our drawing border is rectangular, and sometimes our content being presented is longer on the North/South Axis than the East/West Axis. For efficiency sake we rotate North to point to the left, but in reality all we do is rotate the border or the viewport in the case of Paperspace. The border/viewport is what adjusts to the content we do not actually physically rotate or change the North/South Axis. (See figure 2.) It is important to keep your model in your projects WCS (World Coordinate System) consistent. You can create as many UCS’s as needed for however many uses you may need.

Figure 2 – North to the Left

Most people have problems working on their drawings in this rotated mode. Note: I am using model space to show the concepts. In order to plot this drawing and annotate in the traditional method we can create a UCS to Rotate how we see our drawing. (See figure 3) Notice the UCSICON in the lower left corner. This is the origin of the UCS and it shows Y-Axis up and down, yet North is clearly left and right. We can annotate and work with our drawing in this state for personal preferences, and even plot form here. If we switch to World Coordinate System though, we can see the UCSICON is now showing Y-Axis going left to right as the north arrow shows.

Figure 3 – UCS for working
Figure 4 – WCS for real coordinates

If you wish to improve your knowledge, then I recommend getting to know some of the commands below.

UCS – use this command to set or create a UCS.

                Tip: Quickly reset to WCS by entering UCS[Enter][Enter]

DDUCS  – This is a Dialog based UCS command. It allows you to see any UCS’s defined in the current drawing as well as some other functionality.

PLAN     – This command sets the view of the current UCS (could be WCS) to X axis left to right and Y axist Up and down.

UCSFOLLOWS    – This is an AutoCAD Variable that controls if the PLAN view automatically adjust based on UCS settings. If you change the UCS, it will then automatically create the same effect as the PLAN command.

NAVVCUBE         – This controls the display of the Navigation Cube. Really useful for navigating in a 3D environment.

Navvcube – easily navigate the view of your model.

-VIEW   – (notice the dash in front) This can quickly get you to views if you don’t have the NAVVCUBE up or prefer the keyboard

TIP: -VIEW[Enter]_sw[Enter] This will switch you to SW isometric view

Other views include: _top ; _front ; _right ; _left ; _back ; _bottom

DVIEW – You can use this command for some different approaches to finding a desired UCS.

3DORBIT – Allows some free from manipulation of the view of your model.

Keep in mind that once you get the view the way you want, you can create a UCS based on that view by using UCS[Enter]V[Enter]

When working in 3D you will find you utilized a number of UCS’s to help facilitate your modeling. Just keep in mind that any actual coordinate references should be made in WCS. If you insert a block it will come in based on the current UCS. If you want it to come in based on WCS, make sure you reset to WCS before inserting it. When referencing other files, you will want to use the WCS in most circumstances. Same applies when using COPY w/BasePoint from one drawing to another. Make sure that both drawings are in WCS, unless of course you want to place relative to a UCS.

Good luck and let me know if this helps you understand the AutoCAD UCS.

CAD Advanced – Benefits of utilizing block Data

Blocks have been a useful part of AutoCAD for decades. They offer many basics abilities to help you manage drafting consistency and information. There are a number of methods to extract information from blocks inserted into our drawings. My personal favorite is utilizing AutoLISP to extract the information exactly as I want it to a database. If your blocks have a reasonable purpose, then extracting data associated or directly from that block can prove to be very useful. Often times though, CAD designers fail to take complete advantage of blocks and the data they can provide. Block data can also serve as a useful tool for checking information and improving quality.

Some basic data available from a non-attributed block (to list a few):

  • Drawing filename
  • Insertion Point
  • Scale
  • Layer Name
  • Rotation

Add attributes and you can add even more (to list a few):

  • Attribute Tag
  • Attribute Layer
  • Attribute Font
  • Attribute Value

Add Dynamic elements and you can add even more like Display State.

How does this help design? Design is more than just lines, arcs and text. Design is understanding how everything comes together. Design is knowing how much is impacted by change, design is so much more. What happens if we change our wall mounted light fixtures in areas 100-500 to LED’s. How many drawings will we have to update, how many light fixtures does that impact? How many high pressure sodium bulbs can we delete? All this can be figured out or verified through the use of block data. It can also be done manually, by opening every drawing look at each graphical element in the drawing file or print. If there are 25 drawings in the above mentioned areas, and a designer takes 30 minutes per drawing to open, print, count, and document that data manually, how many hours did this task take? 12.5 hours, right? We are not even talking about marking up and updating the drawing, just the gathering of information. For me to perform that task using block data already pulled from drawings contained in an engineering Drawing database, I can have all that information in about 1-2 minutes. The amount of time it takes to write a simple SQL query to get the data desired. If we manage data effectively, we can manage change effectively and improve our design methods and efficiency.

Quality can be greatly improved using block data. Let’s talk about drawing title blocks. How many times have we used something like an excel spreadsheet that lists all the drawings and their status, an index drawing sheet that lists all the drawings, their titles and their current revision and the drawings title blocks as well, only to find none of them match. They should, right? That is because there are three data sources and three different input sources being used. Imagine if you utilized a single point data entry point to control all three. Using a single source to populate all this data results in three consistent documents. Imagine 300 drawings across a project and trying to make sure the status spreadsheet, the Drawing Index, and all the title blocks matched 100%. How many times have you found yourself frustrated because these don’t all match? The simple process of using the title block data from each drawing to generate the drawing status report and the drawing index sheet can prevent that inconsistency. There are a number of ways to implement this type of system. Personally I implement it through AutoLISP and SQL Server, but there are a number of methods and API’s to help facilitate this process. Consider the benefits of having all that data available to you. Drawing transmittals, would be easily generated. Status reports could be emailed as often as needed. I’m sure someone will think…,” but that is Document Controls job and the Document management system.” Yes, it is, but doesn’t it strike you as unprofessional when your document management system is not congruent with the data presented in the document it is managing? Systems integration is something I personally enjoy, getting systems to talk to each other, to share information between them. Your Document  or Data Management System and the Data contained in your documents should be congruent. Get your systems talking. Efficient data and data sharing provides for efficient systems integration and congruency.

All of this can start with something as simple block data. Design your blocks with that in mind and you will discover synergy in your data that you did not realize before. Once you wrap your head around the benefits of the data contained within your drawings, next imagine a bi-directional means to update that same data from the database. “With great power, comes great responsibility!” Anyone that knows me knows I’m a huge Spiderman fan. The statement is very true, so before you get started with bi-directional data, make sure you understand that you can automatically fix thousands of drawings in the blink of an eye, but it also means you can automatically mess up thousands of drawings in the blink of an eye.

If you are interested in learning more about how to implement any of the concepts I am discussing here and in my blogs, create a login, and comment that you would like to learn more, and I will start a blog set specifically for that purpose.





CAD Intermediate – Linetypes and LTSCALE

Linetypes offer the drafter a means of differentiating drawing content and is an effective means for scope presentation as well. Linetypes along with line weights (we will cover line weights in another post), and line type scale can help improve the quality of your drawing significantly. A well done drawing can present the content clearly by using linetypes properly. Linetypes have been around as long as drafting has been around, (assumption on my part, they probably came along after a generation or two of drafting). There are accepted standards for linetypes that we can take advantage of. There are also special linetypes we can use. We can further expand on these linetypes using LTSCALE and / or pre-scaled versions of linetypes. All of this together provides a great way to define your drawings purpose. Use your linetypes properly in conjunction with LTSCALE and your drawings will not only be of better quality, but also easier to work on and use by others.

As an industry “standard” we see linetypes like “CENTER”, “PHANTOM”, “DASHED”, “HIDDEN” and more. I am not going to break down each type, but we know what these are pretty much used for. CENTER is for representing a CENTER Line, easy enough. PHANTOM is typically used to represent a limit of some sort, like Drawing limits or Skid Limits. DASHED and HIDDEN are pretty much the same but vary in size or scale for that matter. Typically DASHED OR HIDDEN mean beneath something, or implied connection, or even identify scope of work by others. So each linetype we use in our drawings means something and is not just arbitrarily used to differentiate. When working with other disciplines, you should understand what their linetypes are representing. It is beneficial for you to understand why they used a particular linetype. Make sure your linetype is appropriate for your purpose. Review the end result. Does your underground conduit look like underground Piping? Is that the look you are going for? Does your Pipe look just like the ditch running next to it? (See Figure 1) You should be able to manipulate the drawings appearance to identify clearly what is going on. Control is much easier when everyone draws bylayer. See my post bylayer for more on that. Text associated with certain lines helps identify and differentiate as well. Keep relevant information in your drawing to add clarity. Not all line work from other disciplines is needed in your drawing to present your design.

Figure 1

Note: Linetype definitions are stored in your drawing file and are not reloaded each time you open the drawing. If you find that your linetypes don’t match across drawings, you may in fact have a different definition in one of your drawings.

Another aspect of a linetype is the LTSCALE applied to it. Typically each company or even each company’s discipline has a standard LTSCALE. What is LTSCALE? LTSCALE is the scale factor applied to the generation of a linetype. If a line normally has a line for 0.5” and then a gap of 0.25” then repeats, it means that patter repeats at those distances. If you drew a line 5” long it would have 7 – 0.5” segments in it. If you had a scale of 0.5 it would then mean that same line would have 14 segments 12 at 0.25” and 2 at 0.1875” The difference is to make sure the line does not end on a gap. AutoCAD handles all that for you though. You can test this with the DASHED linetype, since the definition of it is as described above. Make sure you start with LTSCALE set at 1.0 and CELTSCALE at 1.0. I highly recommend NEVER changing CELTSCALE to anything other than 1.0. I will discuss that shortly. LTSCALE controls the linetype generation in your drawing and is stored in your drawing. That means it applies to the drawing you set it in only. If you use a scale factor of 48.0 in your drawing and your standard LTSCALE is 0.5 then your LTSCALE would then be 24.0. Take advantage of the scaled linetype definitions like CENTER2 (half sized center) See Figure 2

Figure 2 – What’s important in this sample?

Wait what about Paper space shouldn’t LTSCALE be 0.5? Yes and No. It depends on your environment and how your company standards work or even how your drawing works. If you have a drawing using paperspace and multiple scale factors in your drawing then you want to use paperspace to control LTSCALE set it to the value desired, 0.5 in this instance, and be done, just make sure PSLTSCALE is set to 1. I won’t get into too much discussion on these to avoid confusing this post, or just making it really long. Short explanation is. There are a few variables that affect LTSCALE. (LTSCALE, CELTSCALE, PSLTSCALE and MSLTSCALE). Do a little research and understand the difference. We will stick with Model space for our plot environment on this post.

TIP: Did you know there are different linetype files. ACAD.LIN is typically Empirical, and ACADISO.LIN for Metric. Try and avoid mixing and matching these two. If your drawing is metric you want to use the ACADISO.LIN file, otherwise use the ACAD.LIN file.

CELTESCALE means Current Element LineType Scale. When you click on an entity and look at the properties (see Figure 3.) you will see a Linetype scale for the entity. This is where you can set a custom linetype scale for this entity and this entity alone. The value you input here will be multiplied times the LTSCALE factor of the drawing. I recommend leaving this at 1.0 always. Changing this at the entity level means it is controlled at the entity level. If you set it here and someone else references your drawing into their drawing they will not be able to control how it is displayed in their drawing. See my post on Bylayer, bylayer, bylayer to better understand why that is important.

Figure 3 – Entity Properties

Custom Linetypes are useful as well, but with proper application. You can create your own linetypes and add all kinds of cool linetypes to your drawings. The nice part is once they are loaded they are part of the drawing, so they distribute well. When creating linetypes you can also specify the use of some text or characters to display in your linetype. Be sure to use a standard font file that is distributed with AutoCAD when you do this. using a Custom SHX file will leave your drawings looking incomplete when the end user does not have the SHX file to load. SHX files are stored external of the drawing. Some of the Linetypes make use of the font selected for the Standard text style, so use with caution and understand the impact of a font change can make on your linetypes.

We have covered a lot about linetypes and LTSCALE. I can’t go over each and every linetype available as there are a large number of them that have been created and used over the years. Each line type in your drawing has a meaning or should. If you don’t know the meaning, consult with your design lead. There should be a legend sheet for your discipline that shows linetypes and what they are for. Legend sheets are not just a bunch of pretty symbols, text and lines. They mean something. Your drawings should match what is found in your legend sheets. Consistency is a quality that we as drafters should strive to meet.

On a closing note, your drawing may be used for years to come, and even longer than that. Get it right. Yes we are often rushed to meet schedules, but that does not mean quality should suffer. Poor quality now, means longer delays later in the project. From my experience, project schedules don’t seem to add time at the end of the project; however, they do get extended and run over budget, but that is not part of the plan and neither is poor quality.

CAD Basics 101 – Drawing Cleanup

Drawing Cleanup is another important aspect of being a good CAD Drafter. Your drawing can start from scratch or from existing drawings. Most of the time it is the latter and we inherit someone else’s mess. This post we will talk about some of the things that can be done to clean your drawing up, before it gets copied across and entire project. How do you clean a drawing? What exactly are we cleaning in our drawing? Our drawing file is essentially a self-contained database. As with any database, it will perform better if it is optimized or free of clutter. Here are just some things that can clutter your drawing.

Empty Text – Text with nothing but spaces.
Empty block references – a hidden block (empty attributes of points)
Nested Block References
Proxy entities or records – Third party custom objects.
Text Styles
Annotation Scales
Dimension Styles
Table Styles
Points (Nodes) – use PDMODE and PDSIZE to find these
The List goes on and on…

Here are a few things to consider to help clean up or keep your drawing cleaner.


PURGE can be used to remove things like Empty text strings from the drawing, Unused layers, block, linetypes, text styles and more. PURGE is pretty much the easiest step to take towards a clean drawing. Keep in mind that you may need to purge a few times because of nesting of objects. If block A has 5 layers defined in it, and you purge block A from the drawing , then it leaves behind the 5 layers. There is an option for purging nested objects, but just know PURGE is a multi-depth process. When PURGE no longer offers anything to purge, then you are done with PURGE.

Tip: If you ever get an older drawing that you think might have empty text strings and want to see just how bad it is, use the QTEXT command and turn QTEXT on. Then REGEN the drawing, zoom extents and see what kind of trash is in the drawing. QTEXT places a box around the contents of text without displaying any fonts. It was used on early releases of AutoCAD to provide faster Regen and redraw times.


ANNOTATIVE Scale Factors can be removed from a drawing using SCALELISTEDIT. Why remove scales from the list? SCALELISTS can grow to a massive number of entries, causing more processing on AutoCAD’s part. Every time you reference a drawing or insert a block you have the potential to add more and more entries. There are automated routines out there to help facilitate cleaning these from your drawings. There are a number of tools on the internet to help assist in automatically purging extra scales from your drawings.


WIPEOUTS are invisible and often end up driving someone crazy. A less experienced user may open a drawing and plot it. Then notice there is a hole or a portion of something not plotting. They look in the drawing to see and all looks good. They plot again and again. A Wipeout is covering something and can’t be found. The TFRAMES command will allow you to make your WIPEOUTS visible. Review the WIPEOUTS and remove the ones that are not desired. TFRAMES is a Toggle to Toggle a frame to show the wipeout. Sometimes it takes a REGEN to see them, sometimes TFRAMES just doesn’t work. If you find there is no difference, exit AutoCAD and get back in and try again.

How to Find Invisible Blocks

What happens when you have that one block that just won’t go away? This is where you have to do a little detective work. Sometimes it is easy and it is just a hidden block that is nothing more than a block that contains hidden attributes, but nothing you can actually see on the screen. You can use the ATTDISP setting and set Attribute display to ON. ATTDISP set to ON will force hidden attributes to show on the screen, but if the attributes themselves have nothing in them, you still won’t see them. If you set QTEXT to ON and REGEN, then the blank attributes inside the block will show up. Often Third Party software systems will create these for tracking or initializing the drawing. If it is just one and you know it is part of your Software system then leave it, but if you find multiples, you may want to get rid of the extras and let the Third Party software reset itself.

Tip: Another quick way to find out how many times a block is in a drawing, is to use AutoLISP to find them. Start the SELECT command (or any command that you select objects with) and type the following:

(SSGET “X” ‘((0 . “INSERT”)(2 . “BLKNAME”)))[Enter]

Replace BLKNAME with your block name you are looking for. This will add all occurrences of that block to you selection set, note that different space selections will show they were excluded from the selection set. Visit my AutoLISP Teaser Post if you want to play with some more AutoLISP.

Extra blocks

Some other issues that can cause problems is when a user uses the Clipboard copy methods and paste as block. This creates an auto generated blockname that typically looks like A$7EDF1341A. You can easily end up with lots of these blocks that may just be nested blocks. Often times the user may just wish to copy a block from one drawing to another, so they think, copy as block. Unfortunately that is not exactly what happens when selecting copy as block. What happens with that approach is AutoCAD creates a nested block that contains the block you selected and creates a new auto generated block name for your new block. To do this operation properly, simply select a block in Drawing A (it is already a block) simply Ctl-Shift+C (Copy with basepoint); select the insertion point of the block. If INS osnap does not show, then it is probably not a block. Then select the block and press enter. Open up the destination drawing (Drawing B) and simply use Ctl+V (Paste) pick your insertion point and you are done. The only block definition is the one you wanted. If you find lots of Auto generated Block Names in your drawing you will want to check their block definition and if they are just nested blocks, explode them to un-nest them. Then you can purge the Auto generated block. If the block is comprised of entities and such that are desired to be a block, then use the RENAME command to rename the block to an appropriate name.

PROXY Entities – Hate em’

Proxy objects are essentially custom objects (graphical and non-graphical) that were defined and created by a Third party application that is not currently loaded into AutoCAD. Keep in mind that could be an AutoDesk AutoCAD-addon application too. Custom Objects come from Applications like CADWorx or AutoCAD Civil or… To get rid of the proxy you will want to load the correct object enabler for the object. When you see the dialog box stating proxies, you will also see what application it is looking for in the list, so don’t just dismiss it. Review it and find the correct enabler. If you do not want the proxies in your drawing but you want the graphics they represent, you will need to use the enabler’s exporttocad ability. Each enabler does not necessarily provide this functionality. You will need to research it and find out the correct command name to do so. I’ll probably write a post on this later. Once you rid your drawing of them, then you should be in pretty good shape for that drawing. Proxy objects prevent things like Wblock, or Binding Xrefs and can easily propagate into other drawings if you don’t take care of them.

What else?

There are a number of other things, Microstation linetype issues, Annonomous groups, and more that can get in to your drawing and make it a nightmare to just pass on and inherit to multitudes of other drawings, so always start with a fresh drawing and copy just what you want from existing drawings. Save it and check the drawing size. If it gets large quick, you may have copied in something corrupt. Work through what you copied and try and isolate what or where the corruption is. Since things like Drawing Templates or Title Blocks are used throughout projects it is VERY IMPORTANT to make sure these drawings are CLEAN.

AutoCAD Drawing files have become very complex with all the new features that AutoDesk keeps adding into AutoCAD. I did not cover everything here, but I tried to cover some of the most common things. Do your best to avoid passing on corruption or trash in your drawings. This will improve quality and keep your system operating more efficiently.

CAD Basics 101 – Plotting to PDF

I just read that one of the features of AutoCAD 2018 will be better PDF plotting features. As our industry has migrated more and more toward electronic distribution. The PDF file format has become the standard format for transmitting in electronic format. Benefits of Electronic distribution include just about instant access for those you are issuing the drawings to, cost savings on large distributions lists, electronic features, and more. Let’s talk about some basics that need to be addressed on PDF files: size, quality, and use. Size of the PDF should be the intended actual size the drawing was originally created for. The quality of the drawing should be as good or better than the printed formatted would have been. The practical use of your PDF file will be for review on a computer screen, printed at full size, printed as a reduced print, and used for archiving purposes. It is significantly important to make sure your delivered PDF file meets all of these with best possible results.

Plotting to a PDF is relatively easy, but there are some things to consider that are often overlooked. PDF Size, Not File Size, is important to understand and get right. If your drawing is an ANSI D size sheet, then you need to plot to an ANSI D size sheet PDF file. Plot to fit is not a deliverable when dealing with scaled drawings. Your deliverable is a Drawing, if that Drawing is a scaled drawing of 1/4″=1’-0”on a sheet size of 22”x34”, then your PDF file should be 22”x34” and be plotted to 1/4″ = 1’-0”. If using paper space settings, your plot scale is 1=1. Some would argue that plotting to 11×17 results in the same thing it’s just half scale. True, but since your sheet size is 22×34 you would need to pick FIT to 11×22 and depend on AutoCAD to fit the sheet size into 11×17 or actually print at a scale of 2=1. Are your setting correct? Did you catch everything was anything sticking outside of the limits, extents, was your windows set correctly. All of these factors affect the drawing when you plot to fit. Truth is your drawing is actual size, and since your deliverable is now a PDF, it should also accurately represent that drawing size. It is easy enough to print that pdf to 11×17 by your client, so no need to worry about delivering a separate set of 11×17 PDF’s. Proper Size drawing file helps insure quality. You are professionals, take pride in your work.

Taking pride in your work is another part of being a good drafter. When you plot that drawing out, it should look as intended. Your elements on the drawing should stand out as priority for your discipline. The background should not be overwhelming your content, but present enough information that the content is clear. Printing to PDF means your client or end user will be printing from that PDF. Printing from AutoCAD your files may look great. Then you send it to PDF and never look back and suddenly your end user can’t distinguish pipe from concrete in the drawing. Wipeouts, text masks, lineweights, dimensions, Title Blocks, Logos, solids, hatch patterns can all be affected in a PDF print. When setting up your Pen settings, Layers, processes or things like wipeouts, lineweights and such; it is important to make sure that they print cleanly from AutoCAD directly to your printer, and PDF. Send that PDF to the same printer, how do they compare? If your AutoCAD plot looks great and your PDF looks like trash, what will your end user see? Exactly, the trash! Follow through and make sure your drawing looks as intended. Too many times I have seen people print to a PDF and send it to a client only to find out their client’s printer prints black masks over all the wipeouts in the drawing. Imagine how that looks.

Tip: If you select True Colors for your Layers or an entity, there will not be an associated Pen setting to go with it. If all pens are set to black the true colors will plot in color, or grey scale on a B&W printer. Sometimes this is a cool way to highlight Project, company or client Logo. This could cause issues though if you are trying to figure out why one entity is plotting in color. Unless your drawing is a color drawing the content should be black and white.

Consider all the uses of your PDF file. Who will use them? How will they be used? What will they do with them? It is simple to understand that you will send the file electronically to the distribution list and everyone that needs to print it will print it. Right? Basically, that is true, but there is more. Is your PDF file searchable? Is the text in the PDF able to be recognized? Document control systems offer the ability to scan through thousands of documents and find that one file you were looking for by some simple text string. Make sure your drawing is friendly for searchable text. We already discussed the importance of accurate scaling. Another reason it is important is the scale is often still measured off printed drawings. If you scale your drawing to fit you lose the accuracy of your scale. Material take offs, or estimates can be very misleading if your drawings are incorrectly sized. Accuracy is important here. MTO’s allow the people building what you drew to procure the proper materials needed to do so. Make that information easy for them to get. PDF Files now have layer control as well, are you taking advantage of that? Keep in mind if you do start sending your layers over via PDF, you may find you want to have a clean set of layers in your drawing as well. Your files will be plotted and used to build buy, the will also be archived and kept around for years to come. Keep in mind you may very well come across a drawing you did 20 years ago, and smile at your work.

Deliver the best product you can to your end user. The PDF becomes your deliverable, ultimately you may or may not deliver the DWG file, but both are a reflection of your work. Before you send out your PDF’s, a good practice is to print them and review each of them. Batch Plotting and PDF files can often uncover some drawing issues and blindly sending those files out could prove embarrassing not only for you, but for the company your drawing is representing.

CAD Debate – Text vs Mtext

I have been using AutoCAD for almost 30 years. I wished and wanted something like MText for many of those years, now that we have had it for quite some time. I pretty much hate it, but I also like it for some things. Plain ole Text offers flexibility and consistency that MText can’t offer. MText offers some features that Text can’t offer. These are the reasons we still have both of them and not just one. Text and MText both have their places in our drawings. Problem is drafters tend to lean one way or the other and fail to balance their use. Older drafters tend to do everything in Text, Younger Drafters like the MText. Some Drafters, just go with whatever is in the drawing, and have no preference. In order to help your drawings improve in quality, consistency and improve your productivity it is important to know when and where to use Text or MText.

MText offers Paragraphs, formatting, an inline editor, word wrap, boundary limits and lots of other cool features. MText lends itself well to anything that would fit well in a word processor. General Notes drawings, Notes on Drawings, Multi-line occurrences of text, bulleted lists and such. MText offers an integrated spell, that is easier to notice and use than the one with the standard text command. Wordwrap is such a great feature for Notes. How many times can we add or delete from a note? Wordwrap allows the user to just type until done. The boundary of the MText entities keeps the lines from overrunning the area designated, and will add as many lines as needed. Bullets are a cool feature that can easily be done with MText. If you have MText on a drawing for Notes and such it works great at keeping the numbered bullet list indented and properly formatted. Keep in mind though you must use the indent feature. Often times people will just uses spaces to indent or hard returns with tabs. That kind of effort defeats the purpose. If you are going to use it, use it correctly. SPACES are NOT for creating indents or perceived justifications. See the Figure 1. Below. If using MText, make sure you and your drafting / design group KNOW how to use it. Believe it or not people still do the same thing in Word processors like MS Word.

Figure 1: MText reacts differently when used improperly. The above demonstrates what happens when the font is changed for the style of the text.
Figure 1a: MText Line Spacing can vary depending on the characters used in the line of text. Notice the last line of text, why don’t they line up with each other?

What’s not to love about MText? Plenty actually, sorry my bias is showing, grin. MText is not good for body text. I don’t believe it should be associated to Leaders, except when that leader is in fact associated with a paragraph of text and not an identifier. MText uses a boundary for placement and not a justification point. The boundary is hidden unless you have selected the MText entity or have text masking on and a color that is visible. MText is in fact more complicated than using standard Text. There are multiple parameters to work with, making copy and paste less appetizing because you copy parameters that are no longer applicable to the new destination. See Figures 2, 3, and 4 below. Ignore that some of the text below should in fact be Attributes in a block. Another topic I will discuss.

Figure 2: Normal view

Figure 2 shows what the drawing area looks like. Looks ok (regarding text)

Figure 3: Selected to show grips and adjustment controls of the MText bounding boxes.

Figure 3 shows the highlighted text with grips and bounding areas. (notice anything odd?)

Figure 4: Text Masking

Figure 4 shows what the area that each text boundary box actually is. Can you say copy and paste. Can you see the problems this could create?

The above text would have been much better as just Text entities. Justifications could be applied, line spacing, snap, and more could be cleaner and more consistent.

Figure 5: Problem with using incorrect MText with Leaders.

Figure 5 highlights the problem with using MTEXT with Leaders. This MText box happens to be Center Justified, another bad thing. When the cable size changes from #4/0 to 350MCM what happens? Had this been text. The line would have just expanded to the left (assuming Right justified to the Leader) and would have remained as a single line of text. MText is constrained and wordwraps the 350MCM to the line below and since it is center justified, creates the gap from the Leader. If this was a Find and Replace operation across the whole drawing, the drafter would not notice the second line and gap until they printed it out reviewed their check print. Text itself lends itself much better to body text, than MTEXT. More control over the placement and effects of change. Using lisp routines and such you can easily change the justification. Yes you can select an MTEXT Object and do the same pretty easily, but you have an easier effort using just text.

Figure 6: Some things just don’t line up.

If you look at Figure 6. You can see these don’t all line up too well. Why? Because these are placed by the bounding box of the MText entity and not the insertion point of the text. Will SNAP or OSNAPS help you here? NO they will not. The text inside the MText entity uses a dynamic text spacing method that positions the lines of text and is not controlled by snap or specific spacing controlled by the user. There are some settings to control spacing, but keep in mind the text on the line can be taller than the line before it.

In Figure 6 above, how would you get the Text on the Left to all line up? We are drafters, we make sure our drawings look professional and that text is not haphazardly placed all over the drawing. Alignment does matter. Each of these text entities has a different bounding box, and they are not as they should be. So what happens when you align them to the right. Take a look at Figure 7.

Figure 7: Adjusting MText alignment did not have the desired affect.

What happened. Crappy drafting happened. Crappy drafting happens when CAD users are not properly educated in what they are doing, or just don’t care. So fix it. If these were Text as I recommended. I would simply type in TJ (Text Justify Lisp command I wrote back in the late 80’s) pick the 3 pieces of text with a crossing, and then R for right justify, and pick a point. Done! It would not matter if the text was placed by center, left of right. It would all be corrected after I applied the TJ routine to it. To leave it as MText you would have to fix each bounding box, then move each box to the proper alignment, because none of them match. Yes you could actually write a routine to fix that too much like the one I used for text, but that would not fix the bounding box issues. Another step. Yes write another routine. Do you see a pattern here? Text has less to deal with in terms of placement. Control is at the Text entity and not the box containing the text.

I can go on and on about why Text is better in the use of Body Text. MText is hands down the best option for Paragraph use and on Notes. We have both for a reason, use them both for where they benefit the drawing the best. So take away from this post at the minimum.

  • Use MText where it works best as a paragraph or in notes and make sure you know how to actually use the indent features.
  • Do NOT use spaces to place text in either Text or MText.
  • Text is better for Body Text.
  • Use Proper Justification.
  • When using MText make sure your Bounding box is properly set.
  • Don’t just use MTEXT
  • IF you Copy MText Entities, adjust the Bounding box to meet the need of the new purpose.

Comments? Let’s hear them.

CAD Basics 101 – Snap, OSnaps and Ortho

AutoCAD is as precise as you are when you are drawing. AutoCAD, last time I checked (which was long time ago) can actually handle up to 16 point decimal accuracy (It only displays 8). That’s pretty damn accurate if you ask me. Most of the time for the drawings I deal with 32nd of an inch is accurate enough. With tools like SNAP, OSnaps and Ortho, why would we find something that has a decimal value of something like 0.03570045687123. WHY? WHY? I ASK YOU, WHY? No reason. Excluding Metric conversions, and some occasional vendor data that have odd dimensional data. Let’s talk about these three very useful tools to help you draw more accurately and improve the quality of your drawings.

Snap allows you to set an incremental distance that the crosshairs move. Typically mine is set to 1/32nd of an inch. If I find myself needing to land in between that I use half of that 1/64th. Using Snap will prevent you from drawing on really oddball points. It always stuns the person when they tell me everything they draw is on 1/16th or 1/32nd and they don’t use snap. How does that work. Well it is actually simple. It’s called rounding. If your units are set to inches and architectural and your accuracy is set to 1/16th or 1/32nd, guess what will show up when you check the coordinate, or distance. Measurements are always shown based on your accuracy level in UNITS or Dimension styles. When you set your Units to Decimal with a decimal place of 8 decimals, then check that coordinate or distance, suddenly it makes sense. What read 1/8” before now read 0.125677301 or something like that. 1/8” is equal to 0.125” no more no less. Snap is simple enough to use F9 toggles it off and on.  Get in the habit of checking your drawing at setup. Establish a Snap length that works well for your drawing type. Check with your company standards or your drafting manager. Verify it.

TIP: Pair Snap with your Grid Settings and you will have a really good environment to producing better quality drawings.

Often times we work with existing drawings. Existing drawings brings work from others that might not be as disciplined as yourself. They may not know what snap or OSnap is. They may have just pulled up AutoCAD and started picking points, or the drawing may be the compilation of 20 years of copy, paste, modify from 10 to 20+ people working on it. The beauty of OSnaps is you can pick which one you want or use a preset setting of them to draw with. If you set Endpoint, MidPoint, and Intersection on, then AutoCAD will find the closet one that matches when you hover over an object or objects. Takes the guess work out. If you know you want the Endpoint, you can type it in at the command prompt, which is how I do all my OSnaps (yes, I type a lot), then AutoCAD will select the endpoint nearest to where you pick. F3 toggles OSnaps on and off. OSNAPS Command will pop up the Dialog box to let you set your default OSnaps.

TIP: An OSnap you might not know of is M2P (midpoint of 2 points). If you have a box or rectangle. How do you get the center point of that box. You can use M2P, then when it prompts for first point pick the ENDPoint of one corner and the second point will be the opposite (not one of the adjacent) corner of the box. The point returned is the center point of the box. You could also use POINT filters to do the same if you desired. Look that up. They come in very handy.

Ortho Mode basically means a straight line along the current axis. Most of the time this will be along the X plane or the Y plane, but keep in mind you can rotate your crosshairs using snap angle or even about a UCS. Keep in mind that if you use snapang, that your snap setting applies to the angle, so the snaps most likely won’t be where you thought they would be. That gives you some pretty good flexibility to draw a perfectly straight lines at any angle. For the most part though they will be along one of the AXIS, that can be X, Y or Z. The Toggle for Ortho is F8. Practice using this setting. You can pick a point and then try and line up the crosshairs so it looks straight and pick your next point, and it very well may look straight, but unless Ortho is on or Snap is on, it is highly probable the line is not actually straight. To verify, set your units to decimal and accuracy to 8 decimal places, then list the line. Check the points that should match, do they?

Snap, OSnaps, and Ortho are all great tools to help you draw better and more accurately. AutoCAD is not MS Paint after all. You can draw with precision and should. Remember if you are getting paid to use CAD. You are a professional, so be professional and produce quality consistent drawings. Like, share and / or comment. Let me know how I’m doing. Let me know if you have some topics you would like me to discuss.

CAD Advanced AutoLISP Teaser

So far I have discussed a few things about improving our industry through sharing of knowledge. AutoLISP has been around since I started with AutoCAD in 89’. AutoLISP continues to be a strong API for AutoCAD. This Post will just be a little bit of a teaser to see how interested you actually are in AutoLISP. I will show you a few quick things you can do at the command line inside AutoCAD that will hopefully pique your interest enough to come back for more.

First a couple of things to note. AutoLISP uses Parenthesis to enclose code segments. Some special things to pay attention to are for every opening parenthesis there needs to be a closing one. Similarly for every opening double quote, signifying a string, there needs to be a closing one.

Try this out (in typical programming tradition)

(defun C:HELLOLISP() (princ “\nHello World!”))

The above AutoLISP code will create a command called HELLOLISP that is now available within the AutoCAD Dwg Session you loaded it in. So give it a try. Type HELLOLISP at the command prompt.

Congratulations you just typed in and executed your first AutoLISP defined command!

That’s great and all, but what good does that do me? Well, it basically shows you how easy AutiLISP is to use inside AutoCAD directly from the command prompt. Let’s do some more, but directly with AutoCAD commands.

Open a drawing, any drawing that has something in it, hopefully a good collection of entity types, circles, lines, blocks, polylines, wipeouts, text… Make sure it is a copy of the drawing and not one you care to keep.

Once inside your drawing lets erase all the text in your drawing. There are a few ways to do it, but this is after all an AutoLISP lesson. So let’s use AutoLISP.

Start the Erase command, then when you are at the Select objects prompt, type in the following. (pay attention there is a single quote char and is special to the AutoLISP interpreter.

Select objects: (ssget “X” ‘((0 . “TEXT“)))
18 found
Select objects: [Enter]

All text (excluding MTEXT, Attributes, and any text inside blocks) should now be deleted.

Try it with other entity types. (“LINE” ; “CIRCLE”; “INSERT” (Block inserts); “LWPOLYLINE”)

In this intro we will not dig into what each things means, but we will show you some easy stuff to try.

Let’s move on.

AutoLISP can be used as an In line calculator. Take for instance those Scale Factors we talked about in the Scale Factors Post. With AutoLISP you can enter them directly at the command line instead of using a calculator. Say you want to scale something down to 1/48th of its original size. Start the SCALE command and select your object to scale, pick your base point and then when prompted for the scale factor input the following:

(/ 1.0 48.0)

Make sure you use the decimals. We will discuss why in later lessons.

You can use this even without a command. Try it:

(+ 37 2.5)

(- 20 19)

(/ 1.0 2)

(* 12 12)

You can use AutoLISP to access system variables. Imagine you are inserting symbol into a drawing and you don’t actually know the scale factor. Is it 64 or is 96. Assuming it is a scaled drawing and we are in Modelspace. Start the insert command, pick one of your symbols to insert and then when prompted for a scale factor try the following input.

(getvar “DIMSCALE“)

This will retrieve the current dimstyle’s scale factor setting. If you only use dimensions in Paper space this will basically be one. Again this is just to show some quick things to try.

What if you are working and you have two versions of the same file opened from different file paths. You can look it up using AutoLISP at the command line.

(getvar “DWGPREFIX“)

The result is your drawing file’s path.

AutoLISP is AutoCAD’s version of LISP. LISP Stands for List Processing, so it means we can’t have a in intro to AutoLISP without processing a list or two.

Find a circle in your drawing and let’s work with it. Type the following at the command line, then pick the circle.

(setq myCircle (entget (car (entsel “\nSelect Circle: “))))

The result is a list of all the DXF data for that Circle. Now let’s look at the parts. Type the following at the command prompt:

(foreach dxfitem myCircle (princ “\n”) (princ dxfitem))

You should see something like this:

(-1 . <Entity name: 7ffffb05f70>)
(0 . CIRCLE)
(330 . <Entity name: 7ffffb039f0>) 
(5 . 1EF) 
(100 . AcDbEntity) 
(67 . 0)
 (410 . Model) 
(8 . MyLayer) 
(100 . AcDbCircle) 
(10 20.5482 9.05521 0.0) 
(40 . 0.854867) 
(210 0.0 0.0 1.0) 
(210 0.0 0.0 1.0)

What is all that? (You may need to hit F2 to see)  It is the data that makes up the circle. The AutoCAD drawing is a VECTOR format and not a RASTER format. In other words it’s data and not dots. Let’s wrap up with a quick discussion of what some of these things are.

(0 . CIRCLE)

0 is the DXF code for entity type. This entity happens to be a CIRCLE, Hopefully you picked a circle.

(67 . 0)

67 is the DXF code for space, ZERO means Model Space, ONE means Paperspace.

(8 . MyLayer)

8 is the DXF code for Layer. This entity is on the MyLayer Layer.

(10 20.5482 9.05521 0.0)

10 is the code for coordinate, a circle on has one coordinate at the center.

(40 . 0.854867)

40 is the code for Radius. This one has a radius of 0.854867

Now you see how easy it is to use AutoLISP. Now looking at the above, note that using AutoLISP you can change all those values. You could change it’s Radius, it’s Layer, it’s center point…. And so much more.

I hope you have enjoyed this AutoLISP Teaser. If you would like to see more, let me know in the comments section.