For those AutoLISP programmers out there using CADmep, the folks at House of BIM just released their Alpha version of a wrapper for the Fabrication .Net API. Â This will expose the functionality of the Autodesk Fabrication .Net API to AutoLISP. You can download both the compiled program as well as the source code if you want to take a stab at modifying it. Check it out here.
Autodesk Fabrication CADmep does a great job of spooling. One of the issues with spooling affects companies that have their configuration located on a network resource. More specifically, if your fabrication configurationâ€™s MAP.INI file is located in a location shared by multiple users, as each user performs spooling, you they can over write the Spooling names/numbers because they are all reading/writing to the same SPOOL.INI folder which controls spooling settings.
One of the undocumented changes you can make is to have each user point to their own SPOOL.INI file in their own folder. This avoids and conflict when multiple people are spooling at the same time. To make this change, a simple registry edit is needed. Now, editing the registry makes a lot of users nervious if theyâ€™re not familiar with such hacks, but donâ€™t worry. This registry edit is fairly safe if youâ€™re careful and hereâ€™s whyâ€¦.
- Youâ€™re not editing an existing setting or deleting a setting. Youâ€™re adding a new setting. If you type something wrong, your system and software simply donâ€™t find what theyâ€™re looking for and continue on their way.
- There’s a few main areas in the registry, the location you make this one is user specific and tied to your Windows profile. If it gets corrupt (unlikely if you’re careful) your company IT person can create a new Windows profile for you.
So let’s get started….
Do you need this solution?
The best way to determine if you need this solution is to look where CADmep is loading your configuration from. You can do this by looking at the path for the configuration you’re using. If your configuration path lists a shared location on your network, this solution may help you. If your configuration location is on you local drive like below, this solution is most likely of little benefit to you. This path is where your configuration’s MAP.INI file is located. The MAP.INI file is what tells CADmep where all the parts of your database are located. The same folder that holds this MAP.INI file is where the SPOOL.INI file is located by default.
Your Configuration selection dialog shows where the MAP.INI is located.
Here, you can see by default, the SPOOL.INI file is located in the same folder the configuration (MAP.INI file). If you don’t see a SPOOL.INI, you’ve likely never performed spooling or your systems had already been configured. When this location is in a shared network location used by many users, they all read and write from the same SPOOL.INI folder and this can cause conflicts if multiple people are spooling at the same time.
By Default, the SPOOL.INI is created in the same folder as MAP.INI.
Changing the SPOOL.INI location
To change the SPOOL.INI location, you need to edit the registry and create a new entry. Start the Registry Editor by pressing the Windows key on your keyboard and typing “Regedit“. This will call up the Registry editor. You’ll want to navigate to the following location…
A few things to note….
- The HKEY_CURRENT_USER section in the registry is very similar to HKEY_LOCAL_MACHINE. Make sure you edit the HKEY_CURRENT_USER section of the registry as the other location will not work.
- The HKEY_CURRENT_USER section in the registry is User specific. Edits here will work for the currently logged in user. If another user logs into Windows on the same computer, this section will need to be edited again for the setting to apply to that user.
- This setting is also version specific. Change the “2018” in these examples to the version your you are using. If you are using multiple versions of CADmep, you’ll want to make this change for each version.
- This setting is global in scope for the user who’s currently logged into Windows when you make this change. It is NOT specific to the database configuration they are using. When you redirect CADmep to a new location for it’s SPOOL.INI file, it applies for any and all configurations that this user loads in that version of CADmep.
- The folder you specify must already exist. It won’t be created for you. You’ll get an error when spooling if this is the case.
- The SPOOL.INI does not need to exist, CADmep will make a new one using it’s defaults if there isn’t one already there. If you have one already setup, you can copy it to this location and CADmep will use it.
To change the location of SPOOL.INI location, create a String Value named SpooliniFolder (this is not CaSe SeNsItIvE). A string value will show REG_SZ in the type column. In the data column, you’ll enter the path where you want this particulars user’s SPOOL.INI file. You’ll want to make sure folders are separated by double backslashes or singe forward slashes. The path should also have the ending slashes. Here’s a quick chart of valid and invalid path formats for your reference.
|Local Path format||UNC Path Format||Valid Path|
When you are done, your registry should look like the following image.
Registry configured to redirect CADmep to a new folder for it’s SPOOL.INI.
Because CADmep read and writes to the SPOOL.INI file each time it spools, this is one of the few settings you can make that take effect immediately without having to restart CADmep. You can see the new folder and SPOOL.INI below after the chages have been made.
SPOOL.INI is now located in a new folder for the user currently logged into Windows.
Rethink what’s possible
Many of the companies I run into that do not have their MAP.INI file located on a network resource, keep it locally specifically because of issues like the spooling conflict with multiple users sharing the same SPOOL.INI. They often would like to have their MAP.INI are other setting located on a network to maintain consistently in settings and easy of support but don’t, viewing the tradeoff worth it to eliminate the spooling conflicts. If your Fabrication configuration points to a local MAP.INI, you may want to consider the above solution if Spooling conflicts was the reason for your current fabrication configuration setup.
I’ve posted a number of Autodesk Fabrication resources for anyone using Autodesk Fabrication CADmep, EDTmep, CAMduct or Fabrication parts in Revit. You can find them using the Resources menu or by following the link here. You can also find this same information on the site XtraCAD.com. In the future, I’ll be compiling and posting additional resources that I’ve collected over the last several years in the course of administering Autodesk Fabrication databases for some large MEP firms.
- History of Autodesk Fabrication build numbers for all the versions, service packs and product updates.
- Pattern/CID Number history lists which Pattern Numbers (CID’s) are supported in which versions of the Fabrication products.
- Revit Support history lists which Pattern Numbers (CID’s) are supported by which Revit versions.
- CADmep command history lists which commands where added/removed from the different CADmep versions.
- AutoLISP function history lists which versions of CADmep support which CADmep specific AutoLISP functions.
- FabViewer command history lists the commands supported for the FabViewer in each version of Fabrication products.
- Post Processor history lists which post processors are supported in each version and/or servicepack/update of the Fabrication Products
- Decoiler/Coil Line Posts (DPL’s)
- Plasma/Laser/Router/Waterjet Posts (VPL’s)
One of the powerful features of AutoCAD is the ability for applications to built on top of it. Unfortunately, these applications can often leave remnants of themselves inside your drawings and cause performance issues. One such side effect is the buildup of Registered Applications or RegApps for short. These RegApps are left in the drawing’s Symbol table after entities that contained the XDATA (Extended Entity Data) they used are deleted.
While this can affect any user, this can be very common in the AEC industry as collaboration with external parties and trade partners means you’re typically referencing a lot of files from many sources. I’ve seen cases where a drawing with 50,000 RegApps can take 10 minutes to load and after clearing RegApps, takes merely seconds.
What most people don’t realize is that even though “RegApp” is an option with the PURGE command, using PURGE ALL will NOT remove them. You need to call PURGE separately, with only the REGAPP option. Click the following ScreenCast recording link to see a demonstration of this…
The video shows PURGE ALL and doesn’t list that any RegApps were removed. Purge is then called again, and only the REGAPP option is used which then removes several RegApps. Try it yourself, the drawing used was in the Sample Civil Sheet Set drawings that shipped with AutoCAD 2018.
Problem Keeps Returning?
External References (XREFS) and/or blocks can make the problem difficult to eliminate. You may need to process all Xrefs and block libraries to verify these RegApps aren’t being introduced from those sources. If you’ve used WBLOCK to save a block to disk from a RegApp corrupt drawing, that DWG file also has the issue.
Luckily, Autodesk has a batch utility (free) that will process multiple file/folders, automatically look in sub-folders as well as automatically load any referenced drawings as well.
Click the following ScreenCast link to see the process in action…
Depending on your version of AutoCAD, you can get this utility from the following links..
Schedule Cleanup After Hours
One last benefit if this utility is that it can be called from a DOS window with command like syntax. In a collaborative environment where Xrefs are being updated frequently by others, RegApps can keep getting reintroduced requiring this process to be run frequently. Because you can call this process completely automated from the a DOS prompt, this means you can create a batch file that’s scheduled to be run on a regular basis, even nightly on your drawing library. The following Screen Cast link shows how to call the utility from a DOS command prompt…
Install and Uninstall issues are common. They can be difficult and time consuming to resolve. Often, the fix is worse then the problem. Autodesk has a number of Knowledge Base articles on the topic with a variety of tips and suggestions…
One of the best options that I’ve been typically going to right from the start due to it’s high rate of success is Microsoft’s “Fit-It” utility. You can access it from the following link and clicking the Download button.
This downloads and saves a file named MicrosoftProgram_Install_and_Uninstall.meta.diagcab to your computer. When you double click this file, the program starts and as you work your way through the wizard, you’ll be prompted for which type of problem you want assistance with.
My experience had been that most Install issues are related to programs already installed incorrectly. As such, I find myself using the Uninstall option not only to resolve uninstall problems but also install problems by removing the problem programs and reinstalling those to.
Regardless of the option you choose, you’ll then be presented with a list of programs the utility finds. Select the one you think best and let the Fix-It utility do the rest. It’ll scan the registry for invalid or corrupt keys, fix if possible and even uninstall the offending program.
Just what we needed….another CAD / BIM site.
I enjoy helping others and sharing what I learn. In that regard, this site is a bit self serving. We all learn every day. It may be a small simple little gem we just happen upon or the result of a hard fought battle. My goal isn’t to spend hours documenting a robust training curriculum or cover any topic from A to Z. Rather, this site will be a journal of my professional activities and the things I learn in the course of a day in the life of a technology practitioner in the CAD / BIM world. It may be as simple as a link to a news article I find of interest or a quick post about a problem I’ve solved or solution I’ve run across. My only goal is that the information may help accelerate someone else’s learning or make their day more productive. Feel free to use or ignore as you see fit. Welcome and thanks for visiting. I hope you stick around for a while..