Cancel Family Creation and UK NBS and BIM News

Let me begin directly with some Revit API sample code today.

Here is a little external application showing how you can optionally prohibit family creation by subscribing to the cancellable DocumentCreating event:

class App : IExternalApplication
  void OnDocumentCreating(
    object sender,
    DocumentCreatingEventArgs e )
    DocumentType typ = e.DocumentType;
    if( DocumentType.Family == typ )
      TaskDialog d = new TaskDialog( 
        "Open Family Editor?" );
      d.MainInstruction = "Creating a new family "
        + "document... would you like to proceed?";
      d.MainContent = string.Format( 
        "Document type: {0}\r\nCancellable: {1}",
        typ, (e.Cancellable ? "Yes" : "No") );
      d.CommonButtons = TaskDialogCommonButtons.Yes 
        | TaskDialogCommonButtons.No;
      d.DefaultButton = TaskDialogResult.No;
      if( TaskDialogResult.No == d.Show() )
  public Result OnStartup( 
    UIControlledApplication a )
      += new EventHandler<DocumentCreatingEventArgs>( 
        OnDocumentCreating );
    return Result.Succeeded;
  public Result OnShutdown( UIControlledApplication a )
    return Result.Succeeded;

Surprisingly short and simple, isn't it, and the code speaks for itself, does it not?

Here is containing the full source code, Visual Studio solution and add-in manifest of this little add-in.

The UK National BIM Library and NBS

For some little less hard-core UK-related BIM news, Stephen Hamil of RIBA Enterprises pointed out a couple of interesting titbits related to NBS and the National BIM Library, a free resource for the UK construction industry:

Thank you, Stephen, for the note.

dbStuff Add-ins

Finally, I took a quick look at the free dbStuff Revit add-ins ChangeTextCase and NumberStuffByDirection, which look both useful and interesting. Thank you, Dima Chiriacov, for sharing these!