Brug-10 01
Brug-10 01
Blogger – http://jasongrant.squarespace.com
Michael Coviello
Responsible for :
Support with BIM standards
Project Setup
Training
Day to day support of Revit/CAD
Network deployments
Quick Survey
What is the Revit API?
Avatech Solutions - www.avatech.com CADWERX - www.cadwerx.net
Avatech’s Utilities for Revit is probably one of the first API examples RevPac 1.0 is a set of productivity tools with the initial focus on user
many Revit users have seen. These utilities include room renumber, grid interface enhancements.
select, change case, door mark update, Revit City content browser,
space update, earth connection and room phase copy.
CDV Systems, Inc. - www.cdvsystems.com
CDV Systems put together CodeBook V9 that links a project program
Revit Tools - www.revittools.info and equipment requirements into Revit which is extremely beneficial for
Dr. Angela German created the following tools: to/from room tags, door healthcare projects.
swing, count elements, manage cad within Revit, update sheet
properties, dwg export, excel export, room/area import, renumber
elements and room parameters to doors. Emc2 Architects -
www.emc2architects.com/revit_tools.html
Tools 4 Revit - www.tools4revit.com Emc2 Architects created Keynote Manager which allows your keynotes
to be edited through an interface instead of through the text file.
Tools for Revit has many tools for the structural side of Revit
(Architecture and Structural) as well as a sort & mark tool for elements
and a tool that creates legends from different elements. If framing is Trelligence - www.trelligence.com
something that you use frequently, these tools would definitely help
Trelligence created Affinity for Revit which brings additional control and
increase productivity.
abilities to architectural programming in the early phases of a project and
the ability to analyze changes to the program in later phases of the
Ideate Explorer - www.ideatexplorer.com project.
Ideate Explorer provides an easy way to search, quantify and select the
elements within your model or view. BIM jet - www.bimjet.com
BIM jet is a plug-in tool which allows for the transfer of BIM information
into Microsoft Project.
Revit TV - www.revittv.com
Revit TV has two utilities: Drawing Manager which allows you to update
sheet information, various exports, drawing issues/revisions and Zach Kron - http://buildz.blogspot.com
parameter mapping. Shared Parameter Manager, currently in beta, Zach (Autodesk Employee) on his blog shared API created by Harry (API
allows you to update, manage and rename shared parameters. Guru at Autodesk) for use in conceptual massing where there is a direct
relationship between an object and the panels. Zach also built a batch
rendering utility which utilizes the Revit journaling and VB scripts.
StrucSoft Solutions - www.strucsoftsolutions.com
Wall panelize tool for wood and light gauge metal construction that
recognizes openings and generates stud arrangements within walls.
AVATECH UTILITIES
“LIVE DEMO”
Software Development Kit (SDK)
C# VB.net
PROGRAMMING REQUIREMENTS
www.microsoft.com/exPress
www.microsoft.com/exPress
www.microsoft.com/visualstudio/en-us/default.mspx
REVIT MANAGED DEBUG
( RvtMgdDbg )
“LIVE DEMO”
Start API work
and go from
STRUGGLE
to
SUCCESS
PLAN
your project
WHAT TYPE OF
COMMAND
PROGRAM?
APPLICATION
Predictability and Efficiency
BENEFICIAL
BENEFICIAL
EFFICIENT
BENEFICIAL
EFFICIENT
ELEGANT
BENEFICIAL
EFFICIENT
ELEGANT
REPETITIVE
Can be used on
many projects
BENEFICIAL
EFFICIENT
ELEGANT
REPETITIVE
ECCount=(#Total Commands)
This line should equal the total number of commands
EACount=(#Total Commands)
This line should equal the total number of commands
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Autodesk.Revit;
using Autodesk.Revit.Events;
namespace Payette.Revit.SDK
Example 2 – STC & OpenSavePage
{
public class OpenSaveCheck : IExternalApplication
public IExternalApplication.Result
OnShutdown(ControlledApplication application)
{
return IExternalApplication.Result.Succeeded;
}
Example 2 – STC & OpenSavePage
public IExternalApplication.Result OnStartup(ControlledApplication application)
{
try
{
// Registering Events
application.DocumentSynchronizingWithCentral += new EventHandler
<Autodesk.Revit.Events.DocumentSynchronizingWithCentralEventArgs>
(app_SWC);
}
catch (Exception)
{
return IExternalApplication.Result.Failed;
}
return IExternalApplication.Result.Succeeded;
}
Example 2 – STC & OpenSavePage
public void app_SWC(object sender,
DocumentSynchronizingWithCentralEventArgs swcArgs)
{
Document doc = swcArgs.Document;
Autodesk.Revit.Elements.View m_view = doc.ActiveView;
{
if (m_view.Name != "OpenSavePage")
{
//cancel the Synchronize With Central process
swcArgs.Cancel = true;
MessageBox.Show("Synchronize With Central Cancelled -
Activate the OpenSavePage to Synchronize With the Central
Database.");
}
Example – KR+H Cabinet Makers
www.cabinetmakers.com
VIDEO
Example 3 – Door/Wall Fire Rating
Purpose: Set a doors fire rating based on the hosting walls Fire Rating
Forum
Autodesk Users Group International – Revit API Forum
http://forums.augi.com/forumdisplay.php?f=218