I returned from the Autodesk Cloud Accelerator in Prague, where I finished off cleaning up the FireRating in the Cloud sample and made some good inroads into the new CompHound project.
Today, I want to highlight some learning resources and sharing philosophy:
- Håvard Vasshaug on Learning Dynamo and Sharing Content
- Open Source BIM, IFC and FreeCAD
- Chinese Revit API Book
Before getting to that, here is my Cloud Accelerator Prague photo album with some pictures from last week:
You can also check out Kean Walmsley's report halfway through the Cloud Accelerator Extension.
Håvard Vasshaug on Learning Dynamo and Sharing Content
Håvard Vasshaug published a really nice, professional and convincing in-depth discussion on Learning Dynamo.
That led me to explore his site a teeny weeny bit more, for instance to discover the Vasshaug content libraries, including:
- Vasshaug Rebar Revit Library
- Dark Revit Content Library
- Flat Content by Andy Milburn and others. Downloaded, modified and standardized.
- Waffle Slab Void System for cutting Concrete Floors and obtaining a waffle slab.
- Steel Pile family with multiple voids for cutting concrete.
- Adaptive Component families for modelling Post Tension reinforcing bars.
There is some really valuable stuff in there.
I fully concur with Håvard's statement:
I am inspired by sharing communities, and believe the international architecture, engineering and construction industry would do well to revise its visions about sharing knowledge and content. The idea that a company’s assets are files and folders, and that its employees will grow by keeping their knowledge to themselves is outdated at best.
Thank you very much for sharing all this, Håvard!
Open Source BIM, IFC and FreeCAD
On the topic of sharing, I also just noticed a whole host of open source BIM tools that I was unaware of:
- BIMcollective, a collective of open source developers that develop BIM software tools.
- IfcOpenShell, the open source IFC toolkit and geometry engine
- FreeCAD, a parametric 3D modeler, open-source, highly customizable, scriptable and extensible, multiplatfom (Windows, Mac and Linux), reads and writes open file formats such as STEP, IGES, STL, SVG, DXF, OBJ, IFC, DAE and many others.
I wish I had time to dive into it all.
Chinese Revit API Book
Finally, a very nice piece of news: a group of Chinese Autodesk engineers have published the first Chinese book on the Revit API. They received numerous customer questions about how to use the Revit API and how to use it effectively, igniting their passion to share their knowledge.
The book starts with a basic API introduction, then includes general platform API, RST/RME specific APIs, covers macros, etc.
It is now available. Here is a presentation of its publication and a purchase link.
The authors include:
- Lily, Tau, Elaine (Pangu team now)
- Janet (Nexus team now)
- Stephen (Michelangelo team now)
- Aaron (Dev Tech/ADN now)
The book is suitable for Revit API beginners, covering basics, allowing a novice to quickly learn the Revit API framework and proceed into Revit secondary development ranks. It covers all areas of architectural, structural, mechanical, electrical, family creation and Revit secondary development guidance.
It includes a lot of example code, pictures and tables to allow readers a better understanding. In a total of 15 chapters, it covers: function (event, interface, macros), class hierarchy (application class, a document class, elements, family, etc.), different Professional (architectural, structural, MEP related professional API), the development of Revit plug-ins for data read, create, modify, import, export and so on, API and .NET technologies to create a rich user interface, providing a better user experience, extending Revit itself, make Revit and other software platforms interact, data verification, inspection and automatic operation, improved data availability and efficiency of the design.
Table of Contents
- Revit API Overview
- Understanding Revit and Revit API
- Revit API what you can do
- Using the Revit API preparations
- Online Resources
- Development Tools
- Revit API basics
- External commands IExternalCommand and external applications IExternalApplication
- Revit application class and document class (Application & Document)
- Transaction processing (Transaction)
- Practical example
- Element (Element)
- Element base
- Element Edit
- Filter element
- Architectural Modeling
- Elevation and Grids
- Host element (HostObject)
- Family instance (FamilyInstance)
- Family instance (FamilyInstance) creation
- Room and Area (Room and Area)
- Line element (CurveElement)
- Hole (Opening)
- Notes (Documentation)
- Dimensioning (Dimension)
- Text annotation (Text)
- Detailing (Detail)
- Mark (Tag)
- Geometry (Geometry)
- Exercise: Get a wall of geometric data
- Geometric primitive class
- Geometry auxiliary class
- Geometry collections
- Exercise: Get a beam geometry data
- Family (Family)
- Introduction to Family
- Related to the main API class
- Management family type and family arguments
- Management of the geometry
- Visibility management of the geometry
- Edit Family and Load Family
- View (Views)
- Three-dimensional view (View3D)
- Plan view (Plan View)
- Drawing View (View Drafting)
- Section View (View Section)
- Reference callout view and detail view
- Drawing View (Sheet)
- Schedule (View Schedule)
- Event (Events)
- Introduction Event
- Registration and cancellation of events
- Cancellable event
- Database Event
- Interface events
- Idle event (Idling Event)
- External events (External Event)
- Ribbon Extensibility (Ribbon UI)
- Based on the introduction
- Tab page (RibbonTab)
- Panel (RibbonPanel)
- Command button (PushButton)
- Dropdown button (PulldownButton)
- Dropdown memory buttons (SplitButton)
- Drop-down combo box (ComboBox)
- Drop-down combo box options (ComboBoxMember)
- Select the button set and toggle buttons (RadioButtonGroup & ToggleButton)
- Text box (TextBox)
- Revit style task dialogs (Task Dialog)
- Revit Structure Modeling
- Structural model elements
- Analysis Model (AnalyticalModel)
- Material (Material)
- Material Introduction
- Identification materials
- Patterning material information
- Appearance information materials
- Physical and heat information materials
- Setting Materials
- Plumbing Modeling
- Duct / pipe (Duct / Pipe)
- Electrical connections (Connector)
- Plumbing model (MEPModel)
- Plumbing system (MEPSystem)
- Plumbing set up
- Space and partitioning (Space & Zone)
- Macro (Macro)
- What is a macro
- Revit Macros Introduction
- Revit macros developed basic workflow
- Modify and delete modules and macros
- Run the macro in the Macro Manager
- Debugging macros
- Macro Security
- Standard Revit API and the Revit macro uses the API differences
- Other languages (VB.NET, C++, CLI, F#)
- C++ / CLI
So much exciting stuff to look at!
Let's get going.