Maintain FontMap – Multiple Revit Flavor Version

If you read my Maintain Revit Font Map post, you’ll like this one too. I modified the original code to provide for multiple versions of Revit. It is, after all, a much bigger BIM world when you include Revit Architecture, Revit Structure, and Revit MEP into the mix. So with that in mind, I rewrote the original code. Now you can update any of the Revit version FontMap files.

Hope you find that useful!

Quick tip on “No content” build replacement for Revit

If you happen to change paths on subsequent builds of Revit, don’t rely on the uninstaller to remove the Revit.ini file. It won’t.

Make sure that you script the replacement or simply delete or rename the existing revit.ini to ensure that your new configuration gets installed correctly.

Note: If you choose “skip content creation” the product will automatically set the default paths to the location of the client install or default to program files….

Hint: You can edit the Revit.ini found under the admin image to fix the paths. If you rename the existing revit.ini found on the users harddrive, then your changes will get copied to the client folder install path.

Creating New Build Deployments – Tips

When a new build is available for Revit, you’ll probably want to get it installed as quick as possible, but who wants to wait for all the content to be installed? During your client deployment creation select “skip content creation” and create your deployment. Aha…that seemed easy enough but unfortunately, this may result in your new build not finding the various libraries that you intend your users to utilize.

Here is a tip for you: You can predefine all the correct file locations by editing an ini file.

Navigate to your new deployment, find the “Revit Building” folder inside the “Revit Setup” folder within the “Admin Image” folder. There you will find a file named Revit.ini. This file gets copied to your hard drive’s program folder when the deployment is run, so make your standard changes to this file prior to pushing your installs.

You can predefine the file locations by adding them to this ini file. Find the strings between [Directories] and [Design Pane] and edit them to point at your company standard folders.

Ex:

[Directories]
AccuRenderRoot=BIMappsDataOffice LibraryRAC
2008ContentRenderingAccuRenderRedistDefaultTemplate=BIMappsDataOffice
LibraryRAC 2008ContentImperial
Templatesdefault.rteFamilyTemplatePath=BIMappsDataOffice LibraryRAC
2008ContentImperial TemplatesDataLibraryLocations=Imperial
Library=BIMappsDataOffice LibraryRAC 2008ContentImperial Library, Metric
Library=BIMappsDataOffice LibraryRAC 2008ContentMetric Library, Imperial
Detail Library=BimappsDataOffice LibraryRAC 2008ContentImperial
LibraryDetail Components, Metric Detail Library=BIMappsDataOffice
LibraryRAC 2008ContentMetric LibraryDetail Components, Training
Files=BimappsDataOffice LibraryRAC 2008ContentTraining, Haskell
Standards=BimappsDataOffice LibraryHaskell
StandardsMaterialLibraryLocations=..DataMaterialsProjectPath=C:Revit_LocalImportLineweightsNameDWG=BIMappsDataOffice
LibraryHaskell
StandardsDataFilesimportlineweights-HASKELL.txtExternalParameters=BIMappsDataOffice
LibraryHaskell StandardsShared ParametersIssue_Date.txt
[DesignPane]

This will keep all your users accessing a consistent set of standard files.

Note: The installer doesn’t appear to overwrite an existing Revit.ini file in that same location, so be sure to uninstall the previous build or rename this file prior to running the new deployment.

Maintain Revit Font Map Standards – VBScript Function

One of the problems with supporting multiple users of Revit is to ensure that they are all accessing the same consistent set of standard support files. Some of those files are hardcoded and stored on the users local hard drive. One such file is the shxfontmap.txt file that controls how Revit assigns windows fonts to AutoCAD fonts when importing dwg files.

Note: it is critical for all your users on the same project to have the same font map or every save to central (STC) has the potential to remap fonts throught out your linked Acad files.

Here is a VBScript function that will solve the problem for you. Put it inside your “local copy” routine or call it from your startup icon to ensure that all your users always have the latest version of your company standard fontmap file.:

Make sure that you change the path to the local file if you installed into a different diretory or are running MEP or Structures. Also, change the path pointing to the master file to reflect the folder that your master copy is in.

‘‘‘ FILENAME:Update_FontMap.vbs
‘‘‘====================================================================
‘‘‘ AUTHOR: Richard Binning
‘‘‘ DATE: 01/16/2008
‘‘‘ DEVNOTE: Initial Build for 2008 products
‘‘‘
‘‘‘ DISCLAIMER:
‘‘‘ Permission to use, copy, modify, and distribute this software
‘‘‘ for any purpose and without fee is hereby granted, provided
‘‘‘ that the above copyright notice appears in all copies and that
‘‘‘ both that copyright notice and this permission notice appear in
‘‘‘ all supporting documentation.
‘‘‘
‘‘‘ THIS SOFTWARE IS PROVIDED “AS IS” WITHOUT EXPRESS OR IMPLIED
‘‘‘ WARRANTY. ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
‘‘‘ PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.
‘‘‘
‘‘‘====================================================================
‘‘‘ DESCRIPTION: Update_FontMap.vbs – Routine compares local fontmap with
‘‘‘ Office master fontmap file of same name
‘‘‘
‘‘‘ CALLED FROM:
‘‘‘ USAGE: 1.) Ensure Place this function in scripted startup routine.
‘‘‘ PREREQ: None.
‘‘‘ VERSION: This version hard coded for Revit Architecture, modify product
‘‘‘ for MEP or Structures See “strClientFontMap” variable
‘‘‘====================================================================
Sub Update_Fontmap()
Dim fs, objMasterFolder, objMasterFiles, objMasterFile
Dim strClientFontMap, objClientFile

Set fs = CreateObject(“Scripting.FileSystemObject“)
Set objMasterFolder = fs.GetFolder(“x:RevitStds“)
Set colFiles = objMasterFolder.Files

For Each objMasterFile in colFiles
strClientFontMap = _
“C:Program FilesRevit Architecture 2008Datashxfontmap.txt
Set objClientFile = fs.GetFile(strClientFontMap)
If objMasterFile.Name = objClientFile.Name then
‘ Got Match
If objClientFile.DateLastModified< objMasterFile.DateLastModified Then
‘copy standard fontmap to local client because Master File os newer
objMasterFile.Copy(strClientFontMap)
Else
‘ do nothing because Local File Newer
End If
End If
Set objClientFile = Nothing
Next

Set colFiles = Nothing
Set objMasterFolder = Nothing
Set fs = Nothing
end sub

Under the Radar indeed…isn’t this SP4?

Don’t get me wrong, I’m happy that the “January incident” is fixed, but giving this latest build the identity of SP3 leaves the original SP3 build of 20071109_2345 lost to history. I celebrated that build because of the things it fixed and because it was the first time that I didn’t have to wait for the MEP release to be posted. If you saw my blog on November 19th, you’ll remember the party that was thrown!

Nevertheless, the “Failed to open document” error is no more with the latest release, so create your deployments and announce them to your users. Now get back to work!

The January Fix for REVIT Products is In…under the radar!

Looks like the fix for problems associated with the Jan 2008 bug are now available. Had problems recently opening older files? Trouble editing schedules or groups?…Install the latest build 20080101_2345 to fix these problems and more! It is definitely time to upgrade and install the latest Revit Builds! Learn about and download the latest builds using the links below.

Click on the Web Update Enhancement List links below to read about the changes and fixes provided in the latest builds.

Want to download the latest English builds directly? Get it/them at Autodesk by clicking on these links:

Don’t forget to read up on the content changes. I’ll include this important reminder until the next full release.

Thank You Autodesk for understanding the need to release all the disciplines tools at the same time!…

Stagger your STCs, use High Speed LAN, Face Based Families and more

Fifo – (First in First Out) -Here is an example of what the user sees when attempting to work with others connected to the central file who beat them to the punch.

It is the primary reason for the following recommendations:

  1. High Speed LAN Required – 100mbs is just not enough…standardize on 1GB LAN…Anyone working with black fiber?
  2. Stagger STC for Teams – Ensure that Save to Centrals are done on set intervals at different times for each team member.
  3. Provide Dedicated Server for BIM/Revit Projects
  4. When using multiple disciplines in a single model, ensure that hosted families are used only where necessary…otherwise Face based is the choice du jour.

Layer Set by Pick Lisp

Looking for a quick way to set a layer active? Why not pick an object that already exists on that layer! The following lisp code does just that!

(defun c:ls ()

(while (not e) (setq e (entsel))) ;get layer of item picked

(setq lyr (cdr (assoc 8 (entget (car e)))))

(command “-LAYER” “set” lyr “”) (setq e nil)

)

Revit and January aren’t getting along – The Fix

Follow up Instructions for resetting PC date.

You might run into problems editing groups and schedules from the project browser or opening old files. This occurs in Revit 2008, 9.1, Structures 4, etc. If you encounter a “failed to open” or “unspecified error encountered” message than set your pc clock to a month other than January and perform the same task.

Watch the following video or scroll down for the step by step how to:

  1. Double click on the system time shown in the system tray located at the lower right corner of your windows desktop.
  2. When the system date and Time Properties dialog box is displayed change the Month to anything other than January
  3. Click the Apply button then click “OK”
  4. Open your legacy file or perform your edit within Revit as necessary
  5. The system clock may set it self back automatically if you are controlled by group policy otherwise follow these steps in reverse to reset the date manually.

Revit and January aren’t getting along

Heads up!

You may run into problems doing certain actions inside Revit during the month of January. You may be unable to open files saved from older releases. You may have trouble editing groups, schedules, interacting with the project browser….

Temporary Workaround: Set system time to any other month than January.

Permanent Workaround: Autodesk is working on it. I hope it gets completed prior to February when the need is moot.

Links:

Discussion at AUGI
Autodesk Support Services