Autodesk Fabrication: Best Practice #7

Don’t work in a Live Sync’d Database

This warrants a little explanation.  Many companies have multiple locations and need to sync Fabrication configurations between those sites. Other companies have their Fabrication configuration copied locally to the users system from a central network location.

To keep from having to manually keep different sites or local computers up to date, it’s natural to look so some of the many technology solutions like Microsoft’s One Drive, Box.net, Dropbox, Google Drive, DFS Replication etc. 

Here’s the problem….most of these solutions sync files in their own order and time frame. You often can’t control when they sync. When using CADmep, ESTmep or CAMduct, just using the software can cause the program to read back from the database files. Many of the database files reference each other using indexes. Take for example, the Specifications and Materials….both of those database areas refer to each other.

When changes are made, what happens is the files get updated where you make the changes, but the two files that get changed, may sync somewhere else at different times. As you’re using the software, if it happens to reread some of the database files when some are sync’d and others aren’t, this can cause unspecified problems.

One of the more common issues is when a system you’ve drawn changes to a completely different system. Have you ever had a Cast Iron No-Hub waste line all of the sudden day it’s Supply Air 2″ Positing Water Gauge?  This is our of sync syncing issues is often the result.

How do you work around this? Try to find sync solutions that allow more control, like after hours sync. I personally like an old batch file running RoboCopy as it allows a lot of control and I can have it fire up when the user logs on. They can also manually run it during the day if I push our a critical update otherwise the get the update tomorrow when they log in. When syncing servers from different sites, I schedule it to run after hours. 

This issue is most common w/CADmep, ESTmep and CAMduct. Because Revit loads and stores your services, it doesn’t read back to the database unless you explicitly tell it to reload the services so it’s risk is greatly reduced to the point where I wouldn’t worry about it.

Now, there are people that are doing local Sync’s in real time. My prior firm, we had some…let say…”creative folks” who would take liberties with the database if they knew it was local. As such, I used Windows OffLine Files to sync a local copy but make it look like it’s still on line. This is a Sync’d local copy and goes against what I recommend above. However, we forced it to rescan frequently so when there were changes, they were small, just a few files and they’d sync quickly about the same time. Larger changes involving a lot of files can open up your risk window to having issues.

If you’re going to use life syncing utilities, proceed carefully and watch for unexplained issues. Making large changes after hours and smaller changing during working hours can help.

And if you’re considering using Window’s Offline Files, prepare for a long learning curve and experiment with yourself first. Offline Files have little control from the User Interface and is best managed with Group Policy.

CADmep & IFC

For CADmep users, IFC has been a good way to get your content to other team members using Revit. While Revit now supports Fabrication Parts, exporting from CADmep to an MAJ for import into Revit hasn’t been a reliable way to share your model with Revit users. There are a couple of key reasons for this…

  • Not all Fabrication Parts in CADmep are supported
  • Import of MAJ files into Revit is very finicky and prone to failing.

For this reason, IFC Files have been a good way of ensuring all your Fabrication data gets displayed into Revit. And to be clear, this is by using the IFCE (IFC Export) command in CADmep.  Note: AutoCAD MEP has it’s own IFCEXPORT command but this doesn’t handle Fabrication CADmep data well).

While IFC is a good way to get CADmep data to Revit and Navis, over the last couple of releases it’s been getting worse. Since 2018 release of CADmep, *.IFC files no longer import into Revit or Navis, For Revit, you can use *.ifcXML or *.ifcZIP formats but these worn’t help you with Navis which only reads *.IFC. And starting with Revit 2019.0.1 Hotfix, Revit will no longer read *.ifcXML or *.ifcZip either.

  • *.IFC Export from 2017 and earlier CADmep works in any Revit/Navis version.
  • *ifcXML export from any version of CADmep work in any Revit version before 2019.0.1
  • *ifcZIP export from any version of CADmep work in any Revit version before 2019.0.1

To help give you a better picture of IFC support from CADmep, please refer to the following two compatibility charts…

CADmep IFC & Revit Compatibility
CADmep IFC & Navis Compatibility

Autodesk 2019 Network License Update

FlexLM version 11.14.1.3

It’s that time of year where Autodesk releases new versions of their desktop products. For companies with network licenses, it’s also strongly recommended to upgrade to the latest version of FlexLM for you license server.

Current Version: 11.14.1.3

You can download the latest version from Autodesk’s web site here.


A few things to note…

  • A few releases ago, Autodesk changed the default installation location for network licensing to <C:\Autodesk\Network License Manager>. If you’re license server is still running from a different location, you may want to consider re-configuring to the default location. This allows for more easily managing data (logs, license files, etc.) as it doesn’t fall under the additional security restrictions you’ll find in the Program Files folders.

  • You can uninstall the old license server and reinstall the new version but this isn’t needed. The license server itself is fairly simple and doesn’t install a lot of files. Simply shut down the FlexLM service using the LMTOOLS utility, copy over the new files and restart the service. I’ll typically install locally on my desktop to get the files and then copy them to the server. There’s also a number of free utilities on-line that will allow you to extract files directly from an MSI installer. One of the more popular utilities for I’ve used before is Less MSI.

  • To determine which version of FlexLM you’re running, browse to the folder where your license server is running and Right-Click on LMGRD.EXE. Using the properties dialog, the Details tab will tell you the version you’re currently using.

Autodesk Fabrication: Best Practice #6

Don’t PURGE or COMPACT Your Database When In Use

A Fabrication Database that’s well managed should have changes being made. This can mean things like materials, specifications, services, connectors and such may be occasionally deleted and removed. If there are proxy items in your database that have {brackets} around them, they should be made permanent or removed as well.

The way to do this is to PURGE and/or COMPACT your database, You can do this by typing PURGEDB on AutoCAD’s command line or by selecting File -> Setup -> Manage Database from ESTmep or CAMduct as sown in the following image.

When you initiate this process, you’ll be presented with a standard “Backup Your Database…” warning which you can click OK to.

From there, you are then presented with the following dialog.

Items that show up here are the ones that show up with {Brackets} in your database, They should either be made permanent or removed in a well managed system.

The Make Permanent option is fairly safe. The items are in your database already there and already have indexes assigned.

On the other hand, the Purge Database option will remove them from your database. When you do this, the’s a chance that some of the database indexes will change as those indexes are how the various database tables relate to each other.

If you do this while others are using the database in CADmep, ESTmep or CAMduct, they already have the database tables loaded into memory. Depending what they are doing, some activities may cause parts of the database to be reloaded while others are not. When this happens, strange things can happen to your drawing…your systems might loose their service or change services or connectors change without notice. More times than not, unless you catch it right away,by the time you find the issue you’ll need to remodel your data or retrieve it from a backup.

In a Database, records are not actually deleted so while the Purge command appears to remove items from the database, it  actually just flags them as being unused so those areas in the database can be overwritten with new data later. This is where Compacting the database comes into play. The Compact the Database Now option will rewrite and re-sequence all the database files and their indexes to recapture that unused space. Again, this causes issues for others who are currently referencing the database and doing work.

While there is danger in using these commands, they should be used to properly manage your database. The key here is to use them after hours when other users are not using the database. Another option would be to do your development work in a copy of the database so nobody is ever “using” the database you’re performing administration work in. When you’re done, you can “copy” this database to the production database but again, after hours when nobody is doing work or you could have all users log out temporarily (perhaps at lunch) and copy the database then.

To the best of my knowledge, this issue is NOT present for those of you using Revit with Fabrication parts. Revit loads in your services and content and caches it in the Revit model. It doesn’t reference the database configuration again while you work unless you manually “reload” the configuration, So unlike CADmep, ESTmep or CAMduct which may reload parts of your database just by using the software, Revit won’t do this unless you manually reload in which care it will reload everything and keep all those database sequences sin check.

If you’ve ever opened an AutoCAD drawing and your parts appeared orphaned from their services, connectors changed to things that don’t make sense or your Cast Iron NoHub Waste system suddenly reports as Rectangular Supply Air, this likely was the cause and this Best Practice is for you.

Autodesk Fabrication: Best Practice #5

Don’t Store Estimating Tables in Your CADmep Drawing

If your company uses ESTmep, pay close attention. CADmep stores in the DWG files most of your database with the exception of content that’s not used and reports. What this also means is that by DEFAULT, CADmep stores your Estimating Tables in every Drawing file (DWG) you produce. Most companies using ESTmep use 1.0 Factors for SMACNA, MCAA or other trade labor so exposing that data isn’t as big of a risk…everybody knows what it is. However, if you have pricing multipliers for your vendors, negotiated prices (as opposed to List Pricing) in your tables or have your own custom labor factors and rates, anyone with access to CADmep and your drawing files can EASILY extract that information from your DWG files,

This is easily changed by toggling the “Do NOT Store Est Tables with DWG Database” setting in the Edit Configuration utility as shown on the following image.

,

Setting this toggles will prevent CADmep from caching a copy of the Price Tables, Install Tables and Fabrication Tables in your drawing file, These are a few other things to note…

  • While this settings prompts you for which configuration to load (if you have more than one), the setting is not configuration specific. Meaning, it is not stored in your Fabrication Database. The setting applies to ALL configurations so you can pick any one you like to make this change.
  • This change is software VERSION specific. For example, if you run 20017 and 2018 versions of CADmep, you need to make the change in both versions.
  • This issue is NOT present when using Revit with Fabrication Parts. Only CADmep has this issue,
  • Because this setting isn’t stored in the database, that means it’s computer specific. You need to change it on each computer running CADmep.
  • This setting is also USER specific (stored in your Windows profile) so even if you change if for one user, if a different user logs in on the same computer, you’ll need to make the change again.

Because this setting is user specific and computer specific…and because the default setting if you do nothing is the RISKY option, it’s easy for this setting to revert back to it’s original value and save the Estimating Tables to the drawing. For this reason, you many want to consider creating an AutoLISP routine that sets this setting every time you start AutoCAD. You could also have it run from a Batch File or VBScript in the Windows Startup folder each time you log onto Windows or even have your IT Department force the setting via Group Policy or other methods. For any of these solutions, it’s as simple as automating the setting in the following Registry Key.

Key: HKEY_CURRENT_USER\Software\Autodesk\Fabrication 2018\CADmep
Value: StoreEstDatabase
Type: REG_SZ
Data: FALSE

If you’re interested in a sample LSP, Batch File and/or VBScript to set this, drop me an Email at Dyoung@Mcwi.Com.

Autodesk Fabrication: Best Practice #4

Make sure ALL of your ITM content has a Database ID assigned to it.

A database ID is a unique identifier for content. There should be a single Database ID for any ITM that is NOT Product Listed. For Product Listed ITM’s, there should be Database ID for each entry in the product list.

For ITM’s that are not product listed (typically fabricated sheet metal fittings or other content where the ITM only represents one size, you can put the Database ID in the “Code” field of the ITM Properties as shown in the following image…

For ITM’s that are Product Listed, the Database ID should be in the ID column of the Product List. When you place an instance of a product listed ITM in your model, you select a size from the product list, When you select that size, the Database ID associated with that size it automatically entered into the Code field of the ITM Properties like shown earlier, The following image shows the Database ID column in a Product List…


Why Use A Database ID?

The Database ID is a useful component to managing an Autodesk Fabrication configuration. This Database ID can be referenced by other aspects of Autodesk Fabrication should you choose to use them. The Database ID is what can link your content to….

  • Price lists
  • Fabrication Labor
  • Installation Labor
  • Product Information (ProdInfo)

Even if you don’t use ESTmep for estimating  and don’t want to use the Price and/or Labor features of the database, Product Information is tied to the Database ID and is used to store additional meta data about your content like Manufacturer, Size, Description, etc. Even if you’re not using ProdInfo now, it’s still a good idea to use Database ID’s because adding them to the content is the most time consuming part. It’s easy to add them when building content, more cumbersome later after the fact. If all your content had Database ID’s assigned, it’s much easier to implement ProdInfo, Price and/or Labor later down the road.

The following Video shows how to access the Database ID of Product Listed and Non-Product Listed ITM’s. It also shows you 2 different sizes of a product listed ITM in a drawing and how Autodesk Fabrication automatically assigned the Database ID from the Product List for the corresponding size into the Code field of the ITM Properties.


Key Database ID Takeaways

Here’s a few pointers when working with Database ID’s:

  • Each Database ID should be unique and not assigned to other content or sizes.
  • Managing Database ID’s using a spreadsheet or other database makes managing them much easier.
  • Your database ID can be anything you want but should have some sort of naming standard associated with it.
  • Your Database ID Naming standard can be as simple as a prefix followed by incremental numbers to something complex with special codes and formatting to indicate other aspects of your content. (e.g. Valves, Pipe, Sheetmetal, etc)
  • You can use Autodesk or other Vendors ID’s if they already have them assigned and use your for anything you create or replace them all with your own company Database ID’s if you are particular about naming standards,
  • Don’t reuse ID’s if the content that once used them is now obsolete. Legacy/Archive drawings still reference these numbers. Simply flag them as being obsolete in the Spreadsheet you are managing them with.

Autodesk Fabrication: Best Practice #3

Don’t leave proxy items in your fabrication database.

You’ll notice these as they appear with curly brackets { } around a piece of text like an ITM name or DWG name.

These proxy objects can show up many places. Services, Service Templates, Materials, Connectors, Seams, etc. They occur when an ITM or drawing containing ITM’s references a database entry that no longer exists in your Fabrication configuration. As an example, if you delete a connector from your database, let’s say “Copper Cup” then later add an ITM to your drawing that contains a reference to that connector, it gets added back to your configuration and displays the ITM name in the curly brackets.

If there’s bracketed items in your database they should either be made permanent or deleted. If deleted, they may keep coming back.  If you truly want them gone, you need to find the objects bringing them back and update them to the new item in your database configuration that they should point to.

A properly managed Fabrication database configuration should have everything configured properly. Items with curly brackets are an indication that things are not configured properly.

Future posts will explain various techniques to help identify where these bracketed items come from as well as how to correct them efficiently.

 

Autodesk Fabrication: Best Practice #2

Don’t use BMP files for ITM Images

If you’ve been using an Autodesk Fabrication configuration for a long time, like back before Autodesk acquired MAP Software Ltd, you may have a lot of content that’s using Bitmap (*.BMP) files. These image files are used on a couple key locations….

1: Service Palettes….

2: Folders Dialog….

If you’re Fabrication configuration uses BMP files for images, you should consider converting them to PNG files. There’s a number of utilities that will do this in bulk for you if you have a lot. My favorite is using TechSmith’s SnagIt Editor but there are others.

Use Windows Explorer and browse to your content. You can use the search functionality in the upper right corner and search on *.BMP to see how many Bitmap images there are. Or you can browse folder by folder looking for them. Hint: Sorting by type can speed with this too.

Once you convert the BMP’s place the PNG files in the same folder using the same name as the BMP and then delete the BMP files. Doing this will reduce the size of the files which in turn speeds the display of your service palettes and folder’s list.