Are you taking advantage of Fields?

What is a Field?

Fields are placeholders in a text string that are sourced from a data element or property value. Many of us have gotten accustomed to seeing a Drawing number automatically set in the Title Block, based on the file name. As shown below.

Sample Title Block using a Filename Field element to auto populate the Drawing number.

This is extremely useful for making sure you have the right drawing number in your title block. There are a number of advantages this offers. It prevents people from making a copy of the file and updating it instead of the actual drawing. Well it doesn’t actually prevent them from doing that, but then when they plot their file it stands out that it is a copy.

So if the file gets a new name, the drawing number automatically updates. Cuts down on confusion. It is pretty frustrating when you have two prints, that are different drawings but share the same drawing number. That will happen if someone copied the file and then failed to update the Title block Drawing number Attribute. What happens when you issue two different drawings with the same Drawing number? Ouch. That is a mess and I hope your Document control group catches that before sending it out to your client.

I think most of us can agree, that is a pretty cool feature. Fields have been around for a number of years now, 2005 I believe. That’s 15 years ago!

What else are they good for?

Fields can be expanded to use Sheet Set information and help keep more of your title block information more consistent. Project Name, Site Name, Project Site Location. All of those could be tied to an element in a sheet set or other property. I won’t dive to deeply into Sheet Sets or the other external properties you can take advantage in this Post, but recommend you look into what else you can do to take advantage of this feature. I will however talk about how you can take advantage of them in your drawing.

You can link data from one entity to another.

Sample Block Diagram using Field Data pulled from hidden text elements.

Above you can see the highlighted field area that are controlled by something else. These attributed blocks are automatically updated when a simple text string is updated. This will take your template to a whole new level, if done right.

So how do you set that up?

Fields are just another part of AutoCAD. The interface is not the most conducive for setting this up, but you can use AutoCAD straight out of the box and set this up. I have created some useful AutoLISP routines to make it more efficient, but I’ll show you how to do this with just AutoCAD.

First you will need the Source and the Destination AutoCAD entities present in your drawing.

S1 = The Instrument Type
S2 = The Tag Number Prefix
S3 = the Tag Number (minus prefix)

First lets get the S1 field Data to go into the ATTRIBUTE spot. Run the Field Command.

Select Object on the left side of the dialog.
Select the Select Object Button and then select the PT (Instrument Type) Attribute.
Next Select Value in the Middle (Property Column – Wow notice all those properties!) Then select Uppercase in the Right Column (Format – See the Preview). Highlight all the Text in the Field Expression Box, Right Click and Copy. Then Pick Cancel. (If you select OK AutoCAD will start placing an Mtext entity with the Field Expression as the text value. (you can hit cancel if you accidently hit OK)

Double Click on the ATTRIBUTE (Attribute Tag inside the Cable Tag Block) to edit the Value. and paste the value inside of it.

Notice the Value shows a Shaded PT in the Value Spot. That’s part 1 complete.

Next we need to repeat the process to get the other two parts of the CABLE Tag.

This one is slightly different as this entity is TEXT, so the Dataa we want is in the CONTENTS Property. Select Uppercase and Then highlight the Field Expression and right Click Copy.

Double click the Cable Tag Attribute (Currently showing PT).

Click in the Value Area and then make sure you are at the end of the text string type in a separator “-” and then paste the Field Value. Should now look like it appears above.

Let’s now get the third part of the Tag. Run the Fields Command and do the same steps but now pick the S3 (Source 3) Text Entity.

Now we have the Last part of the Cable Tag. Right Click and Copy. Make sure that Preview shows what you expect it to be “S3”

Double Click the Cable Tag Attribute and add the suffix (aka part 3).

Be sure to click to the end of the Value or you may erase the other two parts you worked so hard to get to. Add a separator “-” and then paste the next Field Expression (Ctl+C)

While we have the Last part Tag Number, we can go ahead and update the Instrument bubble to link to that value as well. Double Click on the ATT of the Instrument Bubble. and paste the value into the attribute.

Paste the same thing in this Attribute of the Instrument Bubble.

Ok That’s neat and all but that was a lot of work for two text values.

Yes it actually is. It would be way easier just to edit the values and be done. Would it? As we all know, change is inevitable. Copying is what we do a lot of, and consistency is king! Let’s copy 4 more instruments down. Update the Instrument Types to as shown below.

Make sure you copy the Instrument Tag, Cable and Tag as a group. Copying as a group creates new links associated with the new copies. Notice the Cable Tags have not changed. If you copied them right they will however actually be linked to the right Instrument Tag. If you copy something that has a link to another entity and that entity is being copied as well. AutoCAD will set the field data to be associated to the new entities. Pretty awesome feature. If you copy something that has a link to an entity that is not in the selection, then it leaves the field data association as is.

Why aren’t my cable tags updated?

There are a few things to understand about Fields. One the update based on the settings in the FIELDEVAL AutoCAD Variable.

Screen capture of the AutoCAD 2019 Help System for the FIELDEVAL System Variable. This is a Bitcode value so it means you can add the values together and make it work with multiple things considered. I Typically set mine to 31.

Once you have the FIELDEVAL set to Evaluate to at least include “Updated on regeneration,” Then you can simply do a REGEN or REGENALL to get the fields to evaluate the expressions.

Notice the Cable Tags are all updated properly.

Still more benefits. Change! The Project Just came back and updated the Site’s Prefix and the tag number for the instruments is now known. Site prefix is “PA-01” and the Tag Number the instruments share is 2003. Update the S2 Text string to “PA-01” ad the S3 Text String to “2003”. Regen and look at the results.

That was easy!

Now imagine if you used this in a wiring diagram and all your wire tags were linked to the instrument’s tag.

I hope this opens your eyes to some of the benefits FIELDS provide. If you do find you would like to start using fields, let me know and I can send you over a few useful routines for managing the field links much better than they FIELDS command.

Title Blocks – The start of a good drawing

Title Block Sample

Title Blocks are a critical portion of any drawing. They represent the area of presentation, the purpose of the drawing, and data about the drawings properties. The Title Block is a critical part of your drawing and it will set the pace for how your quality and presentation are perceived by the person reviewing your Drawing. That person reviewing your Drawing could be the person constructing your design, reviewing your design, approving your design. It could easily be the person paying for the design, your client. The Title Block is a very important part of your drawing. GET IT RIGHT!

Make it a BLOCK

Title Block should in the least be a BLOCK. It is right there in the name Title BLOCK. Creating a Title Block should be something well thought out and standardized. All the components of your Title Block should be within the Block definition of that Title Block.

Use good Block creation practices

Insertion Point: The recommended insertion point should be the lower left corner of the sheet size that the Title Block will print to. So if your drawing size is an ARCH D (24×36) Drawing. The insertion point should be 0,0 and the upper limit should be 36,24. You could draw a sheet outline an place it on a no plot layer if desired, but using Paperspace properly will actually show the paper size of the intended sheet.

Margins: Keep in mind you will want a margin on your drawing as well. So the Sheet edges is not the place for Line work or information you want to show up on a Drawing Print. The Left margin is often used for binding a set together and is usually larger thna the other margins. A typical margin set is 1.25″ from the Left, 0.5″ from the right, 0.5″ from the Bottom and 0.5″ from the top. Margins are something that vary quite a bit across title blocks. Find a good margin that works for what your content is. Maximizing your margins as close to the sheet size as possible is not recommended as you will find content loss when a printer or plotter can not print as close to the paper edge as desired.

Rotation: The Title Block Rotation should be appropriate to your industry. My industry the title block is in Landscape, hence the 36,24 for the upper right corner, referenced above. When inserted at 0 rotation the Title Block should come in as desired.

Layers: Your Title Block will be in every Drawing of the project. Keep your layers to a minimum, keep colors, line weights, and linetypes to BYLAYER Settings. This allows for flexibility down the road. Think about plotting, different Color Tables, different Disciplines, Display of certain Title Block Elements…

Use Attributes: Text that is not meant to change in the Title Block can be plain Text, it will remain Static within a block, but attributes are the best things to use for the Dynamic Text content in your Title Block. You can set these up as fields to link these to drawing properties (a common one is to link the filename to the Drawing Number. (This all depends on your document numbering and file naming standards, you have those, right?) Attributes can easily be extracted, linked to properties in Sheet Set Manager or tied to a database system. With consistent data, you could easily generate a Drawing index or Drawing Status Report from that data, directly from your Title Block data! Attribute tags (names) should all be unique.

Text Styles: Non-Standard Fonts are not always available to every user, Try and make use of standard fonts and text styles. Highly recommend setting up and Text Styles specific for your border, so plotting and display are not affected by user updates to body text styles used. If you make use of standard text style for your title block with a different font, you could lose the formatting you had intended. See images below.

Disclaimer Text as intended to look.
Disclaimer Text after a simple style update from Romans to TXT

Revision Information: Revision History is an important part of a Title Block. Revision History can be part of the Main Title Block or it can be a separate block inserted into a designate are of the Title Block. My personal preference is to keep the Revision History Attribute data associated within the Main Title Block. Just make sure you set your Prompt Order is right.

Attribute Prompt Order: Attributes are great to use, but if your attribute prompt order is all out of whack it may cause frustration and lead to someone just placing text in your border. Not a good idea. When creating your block be sure to select the attributes in the order you want to be prompted for them. If you mess up the order, you can use BATTMAN to adjust the order, just make sure you set this up properly before using the Title Block on several hundred drawings. Keep in mind if you do, you at least can automate updating all those drawings, because you have a standard Title Block.

Drawing Information: Each industry will have its own required data elements. I recommend the following as a minimum.

Drawing Number
Revision (current issue of the drawing)
Project Name
Project Location
Project Number
Drawing Title Line 1
Drawing Title Line 2
Drawing Title Line 3
Drawing Title Line 4
Scale (Scale Factor of the Drawing)
Drawn Date (Date Drawing was started)
Drawn By (Initials or name of person that created drawing)

There are many more you could add (approvals, stamped by, engineer…)

Plot Stamp: A plot or file stamp will show some basic information that is useful that may or may not be evident in the title block data. A plot stamp will typically show the date the file was plotted, who it was plotted by, who the file was saved by and when, and sometimes the filename including the path. The plot stamp can easily be static text with fields within the Title Block. It does not have to be an attribute.

Plot or File Stamp

Title Block Name: The Name you give your Title Block is important. Use a defining name that uniquely identifies your Title Block. A generic name like “BORDER” could easily be the same as another block, and create a conflict in the drawing. If someone inserts another BORDER block into their drawing and accepts the Re-Define, then your Title Block suddenly looks like whatever the user is inserting. I recommend combining a few things to name your Title Block Name like CompanyName, sheet size, year created.
Example: ABCDrafting-ArchD-2020

Logos: Company Logos often make a Title Block look all that more professional. Problem is most Logos are Raster based images. I highly recommend NEVER EVER placing Images in your drawing files. Take the Time to create the Logo in AutoCAD and Create a separate block for the Logo. You can insert the Logo block directly into your Title Block or you can place it in the drawing in an area of the Title Block. Either way works. I personally place it within the Title Block Definition, so it is part of the Title Block. The benefit of having the log as it’s own block means if you ever get a new logo, you simply redefine the block and you are done. Easily automated as well.

Plotting: Your border is intended to plot to a specific size, and it should be plotted to that size. Not “FIT” Your scale should be 1=1, if you are plotting from Paperspace. This insures a scale factor reference is accurate. If you want to plot a drawing to a B-Size printer that is fine “FIT” works for that, but the sheet size for that page layout should properly be set to the drawings actual sheet size. If your drawing Sheet size is ARCH D (24×36) That is the size you should print to, even if you are plotting to a PDF file. Use the correct size, otherwise scaling is inaccurate and could lead to bid or construction errors. A scale bar on the drawing is often helpful in those cases.

Block Size: Your Title Block will be used in all your projects drawings, This could be 10 drawings it could be thousands. When you write the block to a file, you can see how big the file is in Bytes. A typical Drawing size (excluding complicated models) should be around 100-300K including your Title Block. The goal is to make your Title Block as least impactful on the drawing size as possible. A Basic Title Block (without a logo) can be around 30-50K. Adding a logo, depends on the complexity can easily bump that up above 100K. try and avoid that. Work on your logo to adequately show the logo, but also not be over detailed that it affects the drawing size significantly. Purge the Title Block File of anything unused. You can store some standard layers in the Title Block if Desired, just don’t go crazy.

A properly setup Title block can make your life as a Drafter much less complicated and present you and your company in a much more professional way. Quality and consistency start with that Title Block.

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.
Linetypes
Text Styles
Annotation Scales
Wipeouts
Layers
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 COMMAND

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.

SCALELISTEDIT

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.

 TFRAMES

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 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.

CAD Basics 101 – Scales Part 4 (Paperspace)

This is the Last part of Scale factors. Today we will discuss Paperspace and how scale factors work with Paperspace. Paperspace is a feature that was added to AutoCAD R11, That’s R11 in 1990 and not 2011. R11 also introduced ADS (AutoCAD Development System) a C programming interface that extended the AutoCAD API significantly and eventually migrated to what is now ARX (AutoCAD Runtime Extensions) a C++ programming interface. Sorry, I started down another tangent there. Back on track. So Paperspace introduced a whole lot of different ways to present your data, but for the most part, people left it alone and continued utilizing only Modelspace.

Paperspace was slow to start and if I remember right a Regen occurred at every zoom. This was painful on slower 286 and 386 systems. Fast forward to today and Paperspace has evolved significantly over the years. It has been abused and exploited in ways probably not intended by AutoDesk. For the purpose of this post I will stick to talking about a single Paperspace tab. Paperspace allows you to use your titleblock in a space that actually represents the printed media you intend for your drawing to be printed on. This means 1/4″ text is actually 1/4″ in Paperspace. This also means that symbols placed in Paperspace are inserted at a scale of 1. Some symbols are appropriate for Paperspace and some are better left in Modelspace. So for the most part there is no scale factor applied to your objects in Paperspace, this does not include scaling to compensate for unit conversions handled by AutoCAD in the background.

So, where does the inverse scale factor, presented in Part 3, come in? The Inverse scale factor is used when setting up your viewports inside Paperspace. A Viewport is essentially a window that allows for zoom levels. You could also think of it as a camera lens if you like. Your viewport is typically a small polygonal area, typically a rectangle that can be used to show Modelspace content on your paperspace drawing area. This is accomplished by creating a viewport using the MVIEW command. Once created your viewport will typically zoom the extents of the Modelspace and show that in your viewport. Your viewport can be set to a desired scale. Click on the viewport and look at the properties of that viewport. Near the bottom of the properties you will see standard scale and below that custom scale. If you do not see your scale factor in the standard scale drop down you can simply type in the inverse value of your scale in the custom scale input box. The list of scales presented in the standard scale is based on what scales are loaded into your current drawing. Drawings often have the extra scales purged to reduce file size. If you don’t see your scale in the list and want it you can use the SCALELISTEDIT command to add or delete scales. Once the scale factor is set. AutoCAD will zoom to the level based on the center of the viewport.

With your viewport set to the correct scale factor, you should now see your drawing as it will look when plotted. So how do you control what’s in the viewport. What if you have matchlines that you need to match, what if you have a particular area you want to show inside your viewport. There are a number of ways to configure your viewport to show where and what you want. If your matchline area is already in Modelspace and your viewport is proportional in size and proper scale to the matchlines, then you simply double click inside the viewport to make it active and use the ZOOM command with the Window option and pick the lower left and upper right corners to define your view, use your OSNAPS. Then switch back to Paperspace and set the viewport properties to locked to avoid shifting your view. “what if my viewport doesn’t match my macthlines?” You either make the matchlines match the viewport or the viewport match the matchlines. How? Let’s assume you want the viewport to match the matchlines.

Let’s talk about how to get the matchlines and the viewport to match proportionally and by scale, then talk about an easy way to make them match. Measure your matchlines rectangle, let’s stick with some easy ones say X direction is 100’ and Y direction is 50’. Our scale for this drawing is 1/4″ = 1’-0” meaning we have a 48 scale factor and a 1/48th inverse sale factor. This tells us that to find out how big our viewport dimensions need to be X distance is (100’ times 1/48th ) and our Y distance is (50’ times 1/48th). In this case that is X=25” and Y = 12.5”. Remember that we have to convert feet to inches before multiplying. Otherwise your measurement will result in a feet and decimal foot measurement. 12.5” would be 1.042’ hardly something we want to use as our measurement because there is a rounding issue involved. Inches are much better to work with than decimal feet. Yes Mappers will disagree, grin. Now just use the grips of the viewport to match the size we need. You can draw a box around your viewport and match it, or use lines to offset it, or use coordinates to get it there, but you will need to get the viewport to match the measurements.

Yes there are easier ways. You don’t even have to know the measurements of your matchlines. One simple way is to use Ctl-Shift+C to copy your matchlines with a base point, preferably lower left corner, and hopefully it is a closed polyline. Switch over to Paperspace, Ctl+v to paste it at the lower left corner of your viewport. Use the Scale command to scale the “Last” object and select the lower left corner. Then either use scale by reference (48 : 1) or provide the inverse scale factor of 0.02083333. Personally I would use the Scale by reference as it will be more accurate. 0.02083333 is a run on decimal and we obviously can’t run it out forever. Yes there are a number of alternate methods. I suggest you get familiar with different ways and discover which one works best for you. The outcome is the same regardless, or should I say the desired outcome. Hints at another method is CHSPACE command, but your viewport should be large enough to contain the object you are changing space from. Keep in mind it will move the object selected to Paperspace, so if you want to keep the Modelspace object, use a copy of it to move to Paperspace.

Hopefully this has been educational for you or has the potential to be useful to someone you know. This concludes the scale factor 4 part post. Take a look back if you missed any of them. Please comment and share.