Presented by:
The BIM Coder
Eli Zhang
PLUG-IN DEVELOPMENT
BIM PROGRAMMING
FOR REVIT AND DYNAMO...
// *******************************************************************
// Service :
// -Plug-in development
// Data manipulation
// Workflow simplification
// Workflow automation
// -Visual programming
//
// *******************************************************************
Data
Manipulation
INTRODUCTION
Condition
Detection
Automation
Workflow
Analysis
What
programmin
g
does for
YOU
CONCEPT
Revit Plug-in and C#
• Solid understanding on Revit
API architecture
• OOP :
Clear and neat
• DRY :
No repeating code
• Consistent Naming System :
Meaningful and consistent for
future maintenance
PLUG-IN DEVELOPMENT
Auto-Numbering
Element
Detect Condition
Data Manipulation
Workflow Analysis
Automation
PLUG-IN DEVELOPMENT
Auto-Numbering
Element
PLUG-IN DEVELOPMENT
Auto Level
Assigning
Levels
PLUG-IN DEVELOPMENT
Auto Level
Assigning
Auto condition detection
Auto filling in
+
PLUG-IN DEVELOPMENT
Auto Level
Assigning
PLUG-IN DEVELOPMENT
Batch Family Renaming
RM/M_...... RM_BC_TWAN_M_......
Replacement
PLUG-IN DEVELOPMENT
Batch Family Renaming
RM_BC_TWAN_M_......
Autoconditiondetection
Autofillingin
+
PLUG-IN DEVELOPMENT
Parameter Duplication
Before After
Type Parameter
Family Parameter
Duplication
PLUG-IN DEVELOPMENT
Parameter Duplication
After
Auto condition detection
Autofillingin
+
PLUG-IN DEVELOPMENT
Auto Rebar
Installation
Auto condition detection
Auto element creation
+
PLUG-IN DEVELOPMENT
Auto Rebar
Installation
Setting
Standard
New rebar shape
• Process
1. Initialize reference objects
• By selecting Revit models
• By importing Geometries(ex:SAT)
• By importing CSV data
2. Prepare reference
• By retrieving surfaces, curves,
etc.
3. Set logic
• Split or create references to
create new references to lay
Revit objects
• Collect desired parameters
4. Make change
• To generate family accordingly
• To export information
CONCEPT
Dynamo
• Approaches
• Visual Programming
• Easy to use for everyone
• Lengthy and inefficient in
complicated logic
• Code Block
• With Intellisense, for coders
• Able to replace several blocks
• Python Scripting
• Mostly use for loop, recursion
and condition
• To address issues that built-on
blocks do not solve
• For coders, use python for
convenience sake
CONCEPT
Dynamo

WorkCollection_v3