If you’re looking for a one stop shop for some of the Revit / Autodesk Fabrication resources which I recently spoke about during a recent MCAA Education series Webinar, you can them all wrapped up in this tidy page here…
Fabrication Job Contains No Parts – Possible Fix?
Have you ever tried importing an MAJ into Revit and received the following error….Fabrication Job Contains No Parts.
There’s a lot of reasons this can occur and it’s NEVER because there are no parts. So much for Autodesk’s QA/QC and Error checking.
You may see this most commonly because parts used in the model contain data that’s no longer in your database. You’ve likely noticed from time to time database entries with curly braces around parts of the name like the following…
This happens when an entry in the database is used by an ITM but the database entry itself later gets deleted. Information is cached within the ITM so when it’s accessed, it creates a Proxy entry in your database if it was missing. Within the {Curley Braces} is the name of the object that created the entry.
While CADmep, ESTmep and CAMduct handle this fairly gracefully, Revit on the other hand does not. When it attempts to load an MAJ, it sees these entries and notices they’re missing from your database and prohibits you from importing the MAJ file. Revit thinks the database doesn’t match the MAJ and stops you cold!
A Possible Fix
If this is cause for the import error, you can use the following COD script to potentially work around the issue….
Take the following script and run in in CADmep, ESTmep or CAMduct. You should be logged in with Administrative Permissions while doing this. This script isn’t fixing Revit or the MAJ. What it’s doing is loading ALL the ITM’s from your Database Library into memory.
The process of loading all these ITM’s into memory creates all these proxy entries in your database. This way, when Revit attempts to import the MAJ, the data associated with those ITM’s are most likely present in your Database configuration. In many cases then results in a successful import of the MAJ.
If the Revit file you are importing the MAJ into already points to a Fabrication Configuration, you should reloaded the configuration FIRST before attempting to import the MAJ.
If for some reason this process still doesn’t work, verify that Revit is reading from the same database location as the version of CADmep, ESTmep or CAMduct where you ran the COD script.
In the event it still doesn’t work, there may be other reasons for the failure but this is often the most common, especially with MAJ’s created recently.
If it does work, you’ll want to use the other scripts I provide on this site to help analyze your database. You likely deleted those database entries in the first place for a reason. You either didn’t realize they were needed, or you didn’t know where they were used to repoint those ITM’s to a proper substitute. Those scripts can help you find which ITM’s use which database entries.
Hope this helps.
More Fabrication Scripting Updates
Autodesk Fabrication Scripting resources have had a few updates more updates. Believe it or not, the 22 ADD/REMOVE functions that apply to ITM Product Lists have been on my “Undocumented Functions To Research” list for over a decade. I’ve finally gotten around to figuring out how they work and documenting. Here’s a summary of the changes…
- Global Miscellaneous Functions
- Added ERROR function
- Item Function Reference
- Added function ADDALIAS()
- Added function ADDAREA()
- Added function ADDBOUGHTOUT()
- Added function ADDCADBLOCK()
- Added function ADDCUSTOMDATA()
- Added function ADDDATABASEID()
- Added function ADDDIM()
- Added function ADDFLOW()
- Added function ADDOPTION()
- Added function ADDORDER()
- Added function ADDWEIGHT()
- Added function REMOVEALIAS()
- Added function REMOVEAREA()
- Added function REMOVEBOUGHTOUT()
- Added function REMOVECADBLOCK()
- Added function REMOVECUSTOMDATA()
- Added function REMOVEDATABASEID()
- Added function REMOVEDIM()
- Added function REMOVEFLOW()
- Added function REMOVEOPTION()
- Added function REMOVEORDER()
- Added function REMOVEWEIGHT()
- Added function SETDONOTCUTFLAG()
- Added function ADDLINK()
- Added function DELETELINK()
- File Object Function Reference
- Added function SEEKENTRY()
- Added function SEEKLINE()
Autodesk Fabrication Scripting – Did You Know?
In the list of COD Scripting updates I just posted, there’s a couple undocumented functions that have been on my list to explore for more than a few years. I’ve finally gotten to them and figured out what they do.
I won’t comment on how long it took me to actually explore what I had listed in my “To Research” list for years other than to say, Procrastination is a Virtue for those with no Patience.
So without further delay…here you go….
Output Function
This first one is the OUTPUT function. You can call it a couple different ways, with and without parenthesis just like the DEBUG function. It doesn’t really seem to matter. It’s really kind of a worthless function in my opinion.
Not only does it only work in CAMduct and ESTmep (not CADmep) it really isn’t that helpful. It just outputs a message to the Console window. I was initially hopeful it would allow me to “script” some of the secret Console command but no such luck. It’s just a message.
You can see in the COD Code editor the below with both syntax examples…
When you run the script, it’ll call up the Console and display the text you specified. You can see from the following example, it doesn’t even space the text when you call it multiple times. Even tried embedding a Carriage Return in the string and still no luck automating via the Console.
Breakpoint Command
The other command is much more helpful and something most folks don’t know about. I have run into a couple now who knew but most it’s not known. I wish I knew years ago…it’s actually a small step closer to what you’d expect in a modern IDE (Integrated Development Environment).
The Breakpoint function calls up the panel on the right. It displays the values of all your variables. You can see how the value of the “z” variable is displayed. When you hit a Breakpoint, code execution stops until you hit the green arc’d arrow. Code execution then continues until you get to the next Breakpoint if any.
You can access the COD Script editor in CAMduct or ESTmep using the FILE pulldown menu. You can also use the editor in CADmep but unfortunately, there’s no way to display it without writing intentionally wrong code to cause your program to fail and display it. You can then use the editor like you do in ESTmep or CAMduct.
One thing to note, BREAKPOINT only appears to work when you execute code from the Script Editor. If you call it from AutoLISP using (executescript “myscript.cod”) or the EXECUTESCRIPT command in CADmep or by right clicking in your Takeoff items in ESTmep or CAMduct, it runs without stopping your code. This means you can leave the breakpoints in your code and edit/debug via the script editor but not have to remove them when executing them un a production setting.
Fabrication Scripting Updates
Autodesk Fabrication Scripting resources have had a few updates. Here’s a summary of the changes…
- Global Variable and Constant reference
- Fixed misspelling of MAPPATH_REMNANTS
- Changed case (cosmetic) to LOCK_OWNER
- Global Math Functions
- Added number of decimal places to ROUND function
- Added number of decimal places to ROUNDDOWN function
- Added number of decimal places to ROUNDUP function
- Global Miscellaneous Functions
- Added example for DEBUG
- Added BREAKPOINT function
- Added OUTPUT function
- Item Property Object Reference
- Added item.dblock.history.owner
- Added item.dblock.history.version
- Changed item.oldstatus[{name}/{index}].userid to ReadOnly
- Added item.product.enterdim[{index}]
- Added item.product.enteroption[{index}]
- Added item.skinconnector[{index}].material
- Fixed misspelling on item.subitems
- Item Function Reference
- Added parenthesis to REMOVEHOLES()
- Array Property Reference
- Removed functions from reference
- Array Function Reference
- Removed properties from, reference
- File Locator Property Reference
- Removed SCAN from property list
- File Locator Function Reference
- Added SCAN to function list
- Global Conditional and Loop Function Reference
- Added variants of DO – LOOP example…
- DO – LOOP UNTIL
- DO UNTIL – LOOP
- Added variants of DO – WHILE example…
- DO – LOOP WHILE
- DO WHILE – LOOP
- Added variants of DO – LOOP example…
- Script Library(incorporated above changes as appropriate)
- 2019.0 and earlier scripts
- Debug scripts
- Job Item scripts
- Library Item scripts
- 2019.1 and later scripts
- Debug scripts
- Job Item scripts
- Library Item scripts
- 2019.0 and earlier scripts
Fabrication “Edit Configuration” Utility Documentation
I’ve added documentation for thee Autodesk Fabrication Edit Configuration utility to the site. You can find it here or in the Fabrication menu.
This utility is fairly misleading. Because it prompts for a Database Configuration, most people think the settings apply to the selected configuration. While some of the settings are saved in the MAP.INI and therefor specific to a database configuration, not all are. Many are saved in the Windows Registry.
How Settings Work
Settings stored in the registry need to be made for each program, program version and user. That is, if you make changes to settings stored in the registry using CADmep, they only apply for CADmep. If you’re using ESTmep, you need to make the changes there too. Additionally, if you use the utility that ships with the 2020 version of CADmep, they won’t apply in the 2021 version of CADmep without making the changes there too. Lastly, the only apply for the user who is currently logged in. Log in as another user and all those settings needs to be changed again.
This is the reason I typically make the changes directly using registry edits or automation that imports the registry changes. This allows me to ensure I’ve not missed anything and that they get set no matter the user.
Edit Configuration Utility Tricks
The Edit Configuration utility itself is confusing. The utility ships with each Fabrication Program (CADmep, ESTmep, CAMduct, CAMduct Components, Remote Entry and Tracker). The same utility will present slightly different options depending which folder it is run from. And to add to the confusion, the shortcuts are all named identically.
To make it easier, I go to the folder with the shortcuts and rename them. From “Edit Configuration” to “Edit Config (CAD21)” and similar. This helps me know which program I’m calling the utility for.
Even if you don’t edit the MAP.INI file or Windows Registry directly and instead use the utility the documentation is helpful for letting you know where the settings are stored. This helps you know how to edit them to your needs.
Updated From Prior Documentation
If you’ve attended any of my prior Autodesk University or MEP Force conference presentation, you may already have a copy of this documentation. However, I’d encourage you to use the version I’ve posted no this site. Not only did I add information for the CAMduct Components, Remote Entry, Tracker and Fab Review applications, I’ve also fixed some errors and typos in the prior existing data.
Stratus Dashboard Header Trick
Quick little Stratus tip. This on for headers on your Dashboards. A normal dashboard doesn’t have the ability to customize the header. However, being Stratus is a web based application, you can inject some simple HTML tags to perform some limited modifications.
Take a look at the following headers….
These headers are a result of inserting some very simple HTML tags. Here’s a look at the Report configuration for these header modifications…
Here’s an explanation of these HTML Tags…
HTML Tag(s) | Description | Usage |
<br> | Break Line / Carriage Return | Place between text to create a new line |
<i> </i> | Italics | Text placed between these tags will be italic |
<u> </u> | Underline | Text placed between these tags will be underlined |
A few things to note…
- You can nest <i>Italics</i> and <u>underline</u> to transform text to <i><u>both</u></i>.
- More complex HTML tags don’t work, there’s just too many special characters.
- HTML tags may (will) show in other places like in the output of CSV files and/or other types of reports.
The usage of HTML tags in your Dashboard headers is likely not supported. If you find any errors within Stratus on pages that you’ve used these, you may want to remove them to verify the special characters aren’t the cause of your issues.
Autodesk Prior Version Access – A Bad Good Idea
Autodesk recently made a policy change to its prior version usage policy. Previously Autodesk’s policy was to allow customers current on subscription or maintenance to run the current release and the prior 3 versions. However this policy recently changed on November 2, 2020 to allow 5 prior versions.
You can read about that policy here.
One important thing to note however, is this change does NOT affect support. Autodesk Support will only help you with the 3 prior versions.
Because it was likely what customers wanted, it sounds like a good change . But it’s really bad news for the industry. The intent was to help customers who were not able to upgrade for some reason. But this change wasn’t needed to serve that purpose. Autodesk would (and did) grant exceptions from the “3 prior version” terms on an as-need basis. Whenever you needed an exception, just ask your reseller. They could then request an exception from your regional Autodesk rep.
Unintended Consequences
This change is bad because it’s one more reason customers can use to not upgrade. That’s not the purpose of the policy but it will be the result. Because most customers are now on subscription, the policy really doesn’t affect Autodesk’s revenue. As such, it was really not hard for them to do. You still have to be on a subscription plan.
When customer’s don’t upgrade, they don’t benefit from new features and functionality. In the case of MEP, Fabrication Parts are still relatively new to Revit. This means there are significant functionality improvements in newer versions. But because there’s not as many improvements for Architects, they may not upgrade. And because they lead on the project, MEP has no choice but to use the version the project team is on. This easily leads to a significant lost productivity and added cost for MEP contractors.
Policy Summary
Version | Old Policy | New Policy |
2021 (Current Version) | Allowed / Supported | Allowed / Supported |
2020 (1 Prior Version) | Allowed / Supported | Allowed / Supported |
2019 (2 Prior Version) | Allowed / Supported | Allowed / Supported |
2018 (3 Prior Versions) | Allowed / Supported | Allowed / Supported |
2017 (4 Prior Versions) | Prohibited / No Support | Allowed / No Support |
2016 (5 Prior Versions) | Prohibited / No Support | Allowed / No Support |
2015 (6 Prior Versions) | Prohibited / No Support | Prohibited / No Support |
Digital Transformation for the Average Contractor (Part 4)
This is my 4th and last article on Digital Transformation for the average contractor. The whole point of this series was to help companies understand that they don’t need to know what the future holds to prepare for it. If you missed them, the other 3 articles can be found here…
In this article, we’ll look at an action plan. By using this plan, you can help focus your efforts.
A 5 Step Action Plan
It can help to prioritize with any effort. Because there’s a lot to do, it’s easy to get lost in all the work. Your action plan may look different and it should be if your needs are different. However, these 5 steps are a good starting point.
Step 1 – Mitigate Current Risks
You might have existing risks because of prior actions. You can only mitigating these risks if you identify them. Review what you’re currently doing because that’s likely where they are. However some risks may be due to what you’re not doing. Here’s some ideas to get you thinking….
- Is your data backed up? Not just server data but cloud systems, machine tools, etc.
- Are you managing user accounts in all your technology systems?
- Do your advanced or complex configurations have documentation?
- Is your data accurate (BIM Content, Models, Standards, etc.)?
- Are users trained in proper processes and technology usage?
- Do all your technologies have an “owner” or responsible party?
- Is Staff cross trained or does your technology and processes rely on only one person?
- Who is maintaining your standards? Is there even governance around them?
- Are there things critical to your organization controlled by others outside your organization?
- What things have “Single points of failure”?
Step 2 – Reduce Waste and Inefficiencies (Create Value)
Your next step is really something you likely do already. Reducing waste and inefficiency. However it’s a good idea to revisit occasionally. After you’ve documented your workflow, developed a new workflow or changed your technology. It’s good to revisit how these things impact your efficiency and drive value. Some general thoughts that can apply to most company…
- Are users aware of how your technology should be used (training)?
- Do you have under utilized or misused technology or processes?
- Duplicate technology for the same purpose?
- Are there things you do that are easily outsourced?
- What can be automated but isn’t?
- Do new cloud workflows represent what should happen or did you simply move your existing processes into the cloud?
- Are your computers or hardware setup consistently, maintained proactively or built with automated processes?
Step 3 – Missed Opportunities
One area people don’t think about enough is missed opportunities. You’re always watching costs vs benefits. Results of doing things. But what’s the cost of not doing something? What’s the cost of missed opportunities? These could come in many forms. It’s best to build your own list but here’s a few examples…
- Leverage knowledge from existing staff
- Free or joint marketing from vendors or customers
- Missed value you could sell if you were leading edge with technology
- R&D opportunities with technology vendors
- Existing competencies not marketed properly
Step 4 – Prepare for the Future
This step is really what Part 2 and Part 3 of my series was about. These are things you can do now, despite an unknown future. There’s a lot you can do right now that sets you up for success down the road. However you don’t need to wait until the first three steps are done. You can start chipping away at these now. They just shouldn’t be your primary focus until Steps 1 through 3 are well underway. Here’s a few ideas, feel free to add your own…
- Document existing processes
- Develop ideal workflows
- Start building missing competencies in staff and departments
- Restructuring existing technology stacks
- Capture wisdom of staff nearing retirement
- Reverse mentor older staff by tech savvy younger generation
Step 5 – New Strategic Opportunities
This step is the hardest to provide guidance on. It really depends where your company sees itself going. The skills they have can help differentiate itself in the market place from others.
Here’s were an ear to the ground can be helpful. Trying to anticipate what trends in construction may be fads vs long lasting or even transformational. How can you leverage them? How can you change your business to remain relevant? Regardless of the future, if you’ve followed all the other guidance, you should be able to easily adapt when these trends emerge.
- Will you be a manufacturer in an “Industrialized Construction” economy?
- Do you have staff capable of developing prefabrication or modularization strategies?
- Are you able to be an efficient supply chain provider?
- Can you help your customers with smart building technology?
- Will Machine Learning or Artificial Intelligence render you obsolete or is it simply a tool you use?
- Who are the new players in the construction economy and is there value you can bring to them?
- How can you capitalize on the struggles of your competition?
Summary
Aside from here in Step 5, everything in this series of posts are things you can start doing right now. They’re things that don’t require a prognosticator’s view of the future. Yet they’re all things that will help you be more agile and able to adapt when trends or disruption comes knocking.
You don’t have to worry about the future to prepare for it. There’s enough to do right now that you can stop worrying. More than likely, at some point you’ll take notice and see you’re living the future. The actions and choices you’ve used to prepare you allowed you to tackle the future without even realizing it.
Make smart choices. Stay busy. Stay Relevant. You can eat the future one small bite at a time.
Digital Transformation for the Average Contractor (Part 3)
I discussed the problem and overall objective of digital transformation in construction in Part 1. In Part 2 I outlined four activities you could take right now. Activities that cost nothing more than time. These activities can really help inform you. Guiding where you should start working when aligning your technology stack.
There’s a lot of things you can do to better align your technology. While there’s no magic formula there are a few categories these activities fall under.
1 – Technology Removal
Photo credit: Kyle Slattery License: CC BY-NC-SA 2.0
In many cases, you might be removing technology from your portfolio. Maybe it’s obsolete or ineffective. Whether your processes have changed or the technology didn’t stay mature it’s best to remove things that are no longer needed or don’t provide the value you were looking for.
It could also be that there’s overlap in solutions. Does more than one product serve the same purpose? You typically don’t want more than one solution for the same problem. There can always be exceptions. But you should have a very good reason if you have duplicate technology.
2 – Technology Realignment
Photo credit: Wikimedia Commons License: Public Domain
In many cases, you already have good tech in place. However you may not be using it correctly or to it’s potential. This is often a result of someone solving a specific problem and buying a product to address it. This can result in technology you haven’t fully implemented or is implemented poorly.
This doesn’t mean the solution is bad or that the effort was bad. But it can be helpful to revisit. Is there more value you can leverage? More of your processes and workflows covered? Can you use the product differently to achieve a greater purpose?
When you realign existing tech, it often just takes time. Time to relook at the factors that led to it’s use. Relook at how things have changed. Changes in your process as well as how the product may have matured since first selected.
Can you change your process to better accommodate the product’s value proposition? Can you change how you use the product to better serve your needs? Here’s another case where it only takes time if you have a good tech savvy person in house.
It might also be wise to leverage a vendor or consultant to help. You might also consider leveraging vendors for training. They have experience with other firms using their tools. With their knowledge, they can often can point out use cases you might not have thought of.
The other cost during realignment of technology is licensing. If you’ve under or miss utilized technology, fixing this problem may result in additional use. This translates to additional licensing costs for you. This isn’t bad. It’s good. The whole point is to gain value and productivity. Both of those things should be worth paying for. If not, it’s a sign you’re using the wrong tool.
3 – New Technology
Photo credit: Pixabay License: Simplified Pixabay License
When it comes to new technology, the number of choices can be overwhelming. You may not know what the future holds. And every vendor claims they’ll lead you there.
The fact is, you don’t need to be a prognosticator to choose good technology. There’s a number of basic concepts and criteria you can use when evaluating technology. Concepts that help you make better choices regardless of what the future holds.
When I look at technology, there’s a number of questions I ask myself about a potential solution. Here’s a partial list of things take into consideration. There is no right or wrong answer. They won’t all be true. But you can get an idea if you have a good solution or not based on these and other factors. When using these criteria, your choice will likely be better suited to the future even if it is unknow. Make your own list or add to this one….
- Is it cloud based or enabled?
Most things are migrating to the cloud. If it’s an on premises only solution, it’s not aligned with the future as well as a Cloud based solution. - Does it reduce or eliminate paper?
Anything that reduces or eliminates paper will help reduce static obsolete data. - Will it reduce or eliminate data files?
Much like paper, data files are typically copies of the real data in a system. Think of a PDF, it’s really electronic paper. Give preference to anything that gives you real time access to data without needing “files”. - Is duplication of data reduced or eliminated?
Data duplication is never good. It requires extra effort to keep in sync or find out why it’s different. Find solutions that reduce data duplication in your environment. - Will it simplify or eliminate processes?
If it makes things simpler, there’s less waste. Less training. Less things to go wrong. - Does it simplify IT infrastructure?
Your IT infrastructure can often be impacted by technology. Solutions that simplify your infrastructure can often be an added benefit. - Is it Model based?
Can the solution leverage your BIM or CAD models? Not just export data from them or convert them but use them directly to provide value? A Model Based enterprise is what you should be striving for. - Can you integrate it with other solutions?
If you can’t integrate with anything else, you’re boxed in. Even if you don’t have anything currently to integrate with, you typically want that ability later should you need it. - Does it have an API (Application Programming Interface)
Without an API, you can’t automate anything like data mining or integrating with other solutions. Even if you don’t have a programmer, you may want to use one later. Don’t limit your future options without a good reason. - If it doesn’t meet some of your criteria, does it get you closer?
Sometimes we just can’t get everything we want. It might be too much of a change or maybe it’s just not available. But can you get closer? Don’t over look incremental improvements. - Digital twin?
Does the solution get you closer to having a digital replica of your product, facility and/or process? - Has manufacturing used a similar solution?
Manufacturing has led trends seen in construction by two or three decades. BIM in AEC is similar to PLM (Product Lifecycle Management) in Manufacturing. 3d Parametric Modeling? LEAN? Model Based Enterprise? Prefabrication and Modular construction use similar concepts as DfM, DfA or DfMA in manufacturing that helped re-shore a lot of work that was once offshored. - Have other industries used similar solutions or concepts?
Shipbuilding has transformed to use modular. Healthcare leveraged a lot of Toyota’s Lean concepts. GIS uses CAD data linked to external data sets. A lot can be learned from watching others. - Is time eliminated from your process?
Any solution should put time back in someone’s day or reduce lead times. - Does it build in quality?
If using the solution, will it help mistake proof your processes? - Will the solution require a dedicated administrator?
Many solutions sound good on the surface but require a lot of administrative overhead. Verify the cost of administration when looking at any technology. - Is data better organized?
Will using the solution help better organize your data and information? Data is of no value if others can’t find what they need. - Can it leverage or use existing data?
You have a lot of data already. Can it leverage or use what you already have and provide more value to an existing data asset? - Does it turn data into information?
Data is worthless. Information is priceless. Make sure any solution provides information, not just data. - What % of existing data/systems is being used?
How much of what the solution offers is actually going to be used or helpful? Features don’t provide value if they’re not going to be used or helpful. - Is the data in system(s) or file(s)?
Data that resides in a “system” or database is typically more flexible than in a “file”. File based data typically requires additional management and processes. This makes them prone to user errors. - Can data be captured as a natural byproduct of using the product or does it require a separate work activity?
If it takes you a lot of time to log, capture or report on data, that’s a separate work activity. Any system that makes you feel like you need a separate cost code to account for your time just to use it, is likely not a good solution. - Does using the system help standardize data?
Standardized data typically yields more value with higher reliability and often eliminates a lot of human error. - Will it help with “Aggregation of marginal gains”?
Sometimes a solution’s value isn’t the “one big thing” it does rather that it does or helps facilitate a lot of small incremental improvements. - Can you get a return in 1-2 years?
Don’t worry about predicting the future. Tech moves fast. Be cautious of any solution claiming they’re the “Future”. - Is it the lesser of 2 evils?
Never a decision anyone likes to make but sometimes a problem is big enough and the benefits in other areas are significant enough that what you do compromise on is the lesser of two evils. - Does it get you closer to your vision?
Sometimes you can’t implement the solution you want. It may not exist or it’s just too big a change for your organization to swallow. Don’t dismiss smaller changes over time. Nobody said it’s a permanent solution. - Are Licensing terms flexible?
Paying the same licensing cost for part time users as full time is wasteful. Likewise, solutions that want a percentage of revenue can be costly. You can’t always choose licensing terms but they’re often negotiable to a point. Verify the percentage of revenue is revenue from processes the solution addresses. Try to limit licensing costs early on in the implementation…you’re not using the full solution on day one. - Can you replace the solution easily in the future?
Nothing is forever. How easily will you be able to swap the solution for another should your needs change?
Your list of things to consider when choosing technology solutions can and should vary. The point is, we don’t have to be able to predict the future with laser accuracy to select good technology. Use common sense concepts and principals and you’ll be well positioned for an unknown future.
In Part 4 (my last in the series), I’ll cover some aspects and approaches to prioritization.