Topics discussed in the past week – Simultaneous add-in and Revit interaction – Limited PDF printing speed – Family instance code samples – Apple intelligence foundation language models – LLM arena... Read more →
Topics discussed in the past week – Simultaneous add-in and Revit interaction – Limited PDF printing speed – Family instance code samples – Apple intelligence foundation language models – LLM arena... Read more →
Today, we shed some light on family and section view creation – System family predicate – Level-based family template – Create section view in Python... Read more →
Posted on September 12, 2023 at 11:00 in Data Access, Family, Parameters, Properties, Python, Template, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Happy New Year 2023!
Topics to begin
– Copy as HTML 2022
– Size MEP connector with CultureInfoChanger
– Journal files AU class
– Bulk reload families with IFamilyLoadOptions
– IronPython3, APS and RPS...
Read more →
New date for the Dublin onsite APS accelerator and hints on reloading a purged family – APS accelerator Dublin Dec 5-9 – Reloading a purged family – The CSS OKLCH colour space Read more →
AU 2022 classes are available online now, as well as a new Dynamo book and resources project.
I also present some ongoing nitty-gritty discussions on external events and Idling
– Modern add-in deployment and testing
– Parametric curvature in families
– Awesome Dynamo online book project
– Launching command after closing form
– Chaining Idling events and other solutions...
Read more →
Posted on October 21, 2022 at 11:00 in .NET, Deployment, Dynamo, Events, External, Family, Idling | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Tips on handling IFC and recent discussions on controlling the level of BIM elements – TwentyTwo add-ins and tutorials – IFC tips for APS and Forge – IFC custom properties in Revit – Set level id of existing element – Set level in NewFamilyInstance... Read more →
Posted on October 12, 2022 at 11:00 in Element Creation, Family, Getting Started, IFC, NavisWorks, Parameters, Properties | Permalink | 0 Comments
Tags: Tammik, akn_include, Revit API
Today, we talk about Forge, IFC, family instance creation in bulk, parameters that vary by group instance and a handy spell checker – Forge hackathon – Forge IFC exporter – NewFamilyInstances2 creates 27000 instances – Set parameter to vary by group instance – AI-enhanced web-based spell checker... Read more →
Posted on August 17, 2022 at 11:00 in AI, Element Creation, Family, Forge, Hackathon, Parameters, Performance | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am working on a few side projects and proofs of concept for my own and other teams
– RvtParamDrop
exports visible element properties
– RvtLock3r
validates BIM element properties
– Drilling holes in beams...
Read more →
Posted on March 10, 2022 at 11:00 in Data Access, Export, Family, Parameters, Properties, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We close this year with an eclectic mix of topics – Symbol vs instance geometry clarification – Create new material with texture – RVT dashboard data access – Marking and retrieving a custom element – Advanced remote batch command processing – Midwinter break... Read more →
Posted on December 17, 2021 at 11:00 in Algorithm, Batch, Data Access, Element Relationships, Family, Geometry, Journal, Material, News, Storage | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Sooner or later, every serious Revit add-in developer will be scratching her head a bit over symbol versus instance geometry.
Here is a nice juicy challenge...
Wrap you head around this one in depth and future challenges in this area will seem trivial.
Retrieving references from symbol versus instance geometry when placing an instance on a line throws an ArgumentsInconsistentException
...
Read more →
Posted on April 30, 2020 at 11:00 in Element Relationships, Family, Geometry, VB | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Unfortunately, the new unit type name functionality can cause a problem loading a family with a type catalogue – Unit type update affects family type catalogue loading – New FreeCodeCamp courses – Padlocking The Building Coder... Read more →
I hope you are doing well and remaining healthy! Topics for today – Transforming symbol geometry to instance placement – Importing and displaying satellite images – Free time? Learn! Free code camp... Read more →
We recently shared a brief note on using the BreakCurve
API for splitting a pipe.
Matt Taylor now pointed out a much more comprehensive discussion asking, is there any API available to split a duct programmatically?
That is not just an example, but an entire tutorial, so I think it is very useful to share here as well for all to enjoy..
Read more →
Posted on March 17, 2020 at 11:00 in Element Creation, Family, RME, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here is a last-minute announcement that I will be attending the Swissbau Basel on Wednesday, a quick hint to answer a support case that just came in today, a forum thread issue, and a pointer to a drum solo – Attending Swissbau Basel on Wednesday – Comparing families using part atoms – Maximum area rectangle in polygon – Neil Peart drum solo... Read more →
Family symbols, aka family types, should normally be relied on to be constant. However, since families and types can actually be edited at will, they are sometimes not. Hence, the need to check and compare may arise... Read more →
Posted on December 09, 2019 at 11:00 in .NET, Content, Family | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Pieter Schipper worked hard at solving the task of swapping nested families using Python and Dynamo and very kindly shares his solution here with us today, including
his four Python scripts
– Task at hand
– Problems faced
– Solution and detailed implementation
– Collect all family instances in document
– Export families via SaveAs
– Update Nested Family Definitions
– Reload updated families...
Read more →
So many interesting discussions and inspiring solutions in the Revit API discussion forum!
Here are a few, plus one non-forum beginner case
– GetSimilarTypes
filters for curtain wall door symbols
– SnappingService
– what does it actually do?
– Get title block label parameters...
Read more →
Posted on September 04, 2019 at 11:00 in Content, Data Access, Element Relationships, Family, Filters, Parameters | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I completed the move to my new computer, and happily all systems go now.
Here are some other topics that came up in the past few days
– Revit-IFC Release 20.1.0
– Community discussion on Revit
– Solid or instance, depending
– Exporting parameters to Access
– Store globals on custom DataStorage
, not ProjectInfo
– Iranian civil engineering project video...
Read more →
Posted on August 13, 2019 at 11:00 in Family, IFC, Labs, News, Parameters, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I played around creating a new SectionCutGeo add-in to retrieve the geometry resulting from cutting a family instance in a section view. This was prompted the Revit API discussion forum thread on getting intersection lines from cut in section view – Intersection of section and family instance task – Solution options, geometry elements and view settings – Retrieving curves in the cut plane – Helper methods and external command mainline – Sample model and results – Caveat... Read more →
Posted on May 23, 2019 at 11:00 in Algorithm, Data Access, Family, Geometry, Performance, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The open source space around the Revit API is continuously growing richer, solutions are shared and exciting discoveries are made, both in the Revit API discussion forum and elsewhere – Debugging, code signing and HOK Mission Control – Creating connectors on a reference line... Read more →
I am probably doomed to spend the rest of my life telling people not to unnecessarily apply ToList
to a filtered element collector.
It happened several times again today answering questions in the Revit API discussion forum
– Don't trust the family instance location point
– Searching by name for element type and text note type
– Searching using a negated category filter...
Read more →
Posted on May 02, 2019 at 11:00 in Element Creation, Family, Filters, Performance | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A demonstration of using the NewSweep
method was very kindly provided in yet another helpful answer by Frank @Fair59 Aarssen to the Revit API discussion forum thread on how to create a sweep with multiple closed loops in profile.
Let me also highlight an interesting TED talk on the topic of poverty versus universal basic income
– Creating a sweep with multiple closed loops
– Poverty versus universal basic income...
Read more →
Posted on February 14, 2019 at 11:00 in Element Creation, Family, Geometry, Philosophy, TED | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Inundated with interesting topics, let's skim a few topmost ones off
– Passing an add-in custom command line parameters
– Useful methods help verify a Face
is rectangular
– Automate complex family creation
– C++ code extracts 3D line segments from point cloud
– Big data visualisation and storytelling...
Read more →
Posted on January 22, 2019 at 11:00 in Algorithm, C++, Cloud, External, Family, Geometry, Getting Started, SDK Samples | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
HÃ¥vard Leding of Symetri added three new commands to RevitLookup – Three new RevitLookup commands – About "Snoop Pick Face" – About "Pick Linked Element" – Running in a family document... Read more →
Posted on January 18, 2019 at 11:00 in Data Access, Element Relationships, Family, Geometry, RevitLookup, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today we discuss a couple of Dynamo considerations, Revit family and element fundamental concepts, and an exception handler required for a custom exporter
– Revit API versus Dynamo for Revit
– Dynamo 2.0.X versus 1.3.3
– Difference between FamilySymbol
and ElementType
– Custom exporter Execute
may throw
– Turned on Git LFS...
Read more →
Posted on December 13, 2018 at 11:00 in Dynamo, Export, Family, Getting Started, Git, Threejs | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
One of the most exciting Revit related topics at Autodesk University is the expansion of the Forge Design Automation API to include support for Revit families and models in RFA and RVT files, aka Design Automation for Revit or DA4R – Design Automation for Revit Public Beta – FDC226894 – DA4R at DevCon at AU Las Vegas – AS226079 – Manage Revit Digital Content using DA4R – What is Forge Design Automation for Revit (Revit.io)? – Revit.io Model – Terminology – Why Revit.io? – Cloud based content management with automated client requirements and standardization – Generating native project templates through Revit I/O on the cloud – Creating Templates – Learn how to link to Forge for Real-Time query and visualization – Learn how to manipulate and manage content in the cloud... Read more →
The Forge accelerator in Rome is winding down with the demonstrations of what was achieved being recorded as I write. An interesting conversation I had at the celebratory dinner last night gave me an idea for a solution to a longstanding question on family tampering protection – Roma accelerator group photo – Protecting a family from tampering – Implementing a canonical key for geometrical objects... Read more →
Posted on September 28, 2018 at 11:00 in Accelerator, Algorithm, Content, Family, Forge, Geometry, Security | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today I highlight two of Fair59's numerous solutions in the Revit API forum, and also mention a joke I picked up in a Swedish cartoon – Fadaesen on racism versus realism – Retrieving a reference plane location in a family instance – Accessing the Revit ribbon icons... Read more →
Posted on September 05, 2018 at 11:00 in Data Access, Family, Fun, Geometry, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We already looked at deleting unnamed non-hosting reference planes back in 2012 and 2014.
Some things have changed since then, and the old code requires fixing and updating.
Other interesting topics also want to be mentioned
– Embodyment workshop
– Bös Fulen mountain hike
– Using ReferenceIntersector
to place lighting fixture on ceiling face
– Reformat stable representation string for dimensioning
– Deleting unnamed non-hosting reference planes updated...
Read more →
Posted on September 04, 2018 at 11:00 in 2019, Algorithm, Climbing, Deletion, Dimensioning, Element Relationships, Family, Filters, Geometry, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
José Alberto Torres Jaraute implemented an add-in tool to protect the intellectual property built into a complex hierarchy of nested family instances by replacing them with a flatter and simpler hierarchy, yet retaining all the relevant non-confidential custom data. Basically, his tool also enables location of overlapping elements and duplicates elimination. In the course of this work, Alberto raised a number of questions in the Revit API discussion forum – Explode nested families – Insert a curve-based family instance associated to a face – Explode family instance to get all the components of a family in project – Change the host and work plane of a family... Read more →
Posted on June 13, 2018 at 11:00 in Deletion, Element Creation, Element Relationships, Family, Geometry, Group | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
An interesting question was raised on renaming a family after it has been loaded into a project, which throws some light on the underlying relationship between the family name and the RFA
filename.
Before that, we revisit the eternal topic of getting started with the Revit API, and what to do to prepare for it before actually touching Revit at all.
Afterwards, and similarly, we pick up a good suggestion or two on planning and preparing your extensible storage schema for future version handling
– Before getting started
– Renaming a family in a project
– Extensible storage – versioning best practices...
Read more →
Posted on June 07, 2018 at 11:00 in Family, Getting Started, Storage, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A discussion with HÃ¥vard Dagsvik on the use of TransmissionData
, standalone access to the BasicFileInfo
without the need for a valid Revit API context, and a Revit-independent method replacing
Family
ExtractPartAtom
– No document required for TransmissionData
access
– TransmissionData
requires a valid Revit API context
– Standalone GetFamilyXmlData
method replacing ExtractPartAtom
– Windows explorer BasicFileInfo
right click utility...
Read more →
Posted on April 05, 2018 at 11:00 in .NET, Algorithm, Data Access, External, Family, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Several questions on filtering for intersecting elements came up recently. It is pretty easy as long as a bounding box can be used. However, the bounding box is generally aligned with the cardinal X, Y and Z axes. If the containing volume of interest is not, too many elements may be selected – Family instances in a diagonal room – Conduits intersecting a junction box – Generate 2D arc from radius, start and end points... Read more →
Posted on March 06, 2018 at 11:00 in Algorithm, Data Access, Element Creation, Family, Filters, Geometry, Performance | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Questions on how to use NewFamilySymbolProfile
have come up a couple of times in the Revit API discussion forum.
The short answer is: retrieve the family symbol from the profile family, then call the creation application NewFamilySymbolProfile
method.
I implemented a new sample add-in for you to demonstrate the steps using the Profiles_L-Angles.rfa profile family...
Read more →
Posted on February 11, 2018 at 11:00 in Content, Element Creation, Family, RST | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Quick notes on the best speakers at the last event in Las Vegas, and your chance to become one of them at the next in London – Best AU Speakers in Las Vegas 2017 – CFP for Autodesk University London 2018... Read more →
Posted on January 17, 2018 at 11:00 in AU, Dynamo, Family, Getting Started, News, Parameters, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I'll begin the new year by discussing a bunch of topics addressing various aspects of DirectShape
elements
– Updated DirectShapeFromFace
– Improve loft form creation speed using DirectShape
– Create DirectShape
instead of conceptual mass
– Create surface from face
– Create DirectShape
from solid
– Control DirectShape
colour and material
– Improve family performance suppressing DirectShape
generation
– Create DirectShape
from room...
Read more →
Posted on January 09, 2018 at 11:00 in Element Creation, Family, Geometry, Material | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Alexander Ignatovich shares an exceedingly elegant solution for automatic wall creation, illustrating a number of important concepts and implementing the following functionality very succinctly indeed
– Retrieve all the cube
family instances
– Retrieve their height
parameter value
– Retrieve their solids making use of the .NET yield
operator
– Extract their horizontal outline contours using an ExtrusionAnalyzer
– Create walls along each contour curve segment
– Place a door family instance at the midpoint of each wall...
Read more →
Posted on November 30, 2017 at 11:00 in .NET, Algorithm, Element Creation, Family, Filters, Geometry, Parameters | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Alexander Ignatovich answered several interesting questions in the Revit API discussion forum
– The ExtentElem
and duplicating legend components
– Obtaining generic model square face references for dimensioning
– Preparing family with reference planes for dimensioning
– Creating a line perpendicular to another...
Read more →
Posted on September 12, 2017 at 11:00 in 2018, Dimensioning, Family, Filters, Geometry | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A whole bunch of exciting Revit API topics to start the week
– RevitLookup updated to use NuGet Revit API package
– Determining the outer-most EdgeLoop
– How to determine the location curve for a steel column
– Determining a reference plane from a reference point...
Read more →
Posted on August 28, 2017 at 11:00 in .NET, Data Access, Family, Geometry, RevitLookup, RST | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A biggish post rather late in the week... still answering too many cases – Forge for AEC demos and sample code – Determining the starting view – Detecting installed Revit version – Detecting installed C3D version – Moving items inside a detail group – Filtering for family instances and types by family name... Read more →
Posted on August 17, 2017 at 11:00 in .NET, AU, Data Access, Element Relationships, Family, Forge, Geometry, Group, Installation, Parameters, Performance, RevitLookup, Utilities, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Topics for today
– BIM 360 and Forge Hackathon and Webinar Series
– IsCreatedLocal
versus IsLocal
– Getting the building height
– FamilyBoundingBox enhanced taking instances into account...
Read more →
Depending on circumstances, interactively picked family instance geometry may be returned in the global Revit world coordinate system WCS, or in the family instance definition local coordinate system LCS. A family instance may have its own non-empty solid, or use the symbol geometry. The symbol geometry requires keeping track of the instance transform to map it to the actual instance project location – Question on Incorrect Face Normal – Working Plane has no Effect – Non-Picked Face Normals are Correct – Solution – Detecting When to Use LCS versus WCS – Retrieval of Picked Geometry Face from Instance is Untransformed... Read more →
Posted on June 30, 2017 at 11:00 in Algorithm, Data Access, Family, Geometry | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here is another brilliant and super succinct solution provided by Fair59, answering the Revit API discussion forum thread on how to get cutting void instances in the floor using the HostObject
FindInserts
method – Question: I have a floor on which a family instance is inserted on the face of the floor (the instance host is also the floor). I checked in the family the "Cut with Void When Loaded" parameter, so that the void is created in the floor. Now, I want to retrieve all the instances that create voids in the floor...
Read more →
Posted on June 23, 2017 at 11:00 in Data Access, Element Relationships, Family, Filters, Geometry | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here is another Revit 2018 API enhancement that is obviously worth highlighting, since it immediately answers the question on getting a specific reference from a family instance raised in the Revit API discussion forum: Is it possible to get a named reference plane from a family without going into the family editor API? For example, I would like to have users be able to name a reference plane 'my arbitrary location' when they are creating a family... Read more →
Posted on May 16, 2017 at 11:00 in 2018, Data Access, Family, Geometry | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
In Revit 2018, cancelling family instance placement during a call to PromptForFamilyInstancePlacement
throws an OperationCanceledException
exception
– Easily fixed, once discovered
– Question
– Change in Behaviour
– Exceptions Should be Exceptional
– Answer
– The Building Coder samples CmdPlaceFamilyInstance
...
Read more →
Posted on May 11, 2017 at 11:00 in .NET, 2018, Element Creation, Family, Migration, SDK Samples, Update, User Interface, VB | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Blogging despite having already exceeded my work quota for the week, but there is so much to share – ForgeFader user interface – RevitLookup builds – Purging types, families and materials – Retrieving all family instances in a room... Read more →
Posted on April 06, 2017 at 11:00 in Algorithm, Deletion, Element Relationships, Events, Family, Filters, Forge, Material, RevitLookup, Threejs, User Interface, Viewer | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I completed a first revision of the ForgeFader project, bringing it up to par with RvtFader. It is pretty cool seeing the same functionality implemented in two such different ways, on completely different platforms, using different tools. Alan Seidel shared another exciting Revit add-in. First and not least, another exciting topic for me personally is switching to half-time work – Work half – AKS Opener – Video – GitHub repository – Why? – Specific interest – RvtFader – ForgeFader... Read more →
Posted on April 05, 2017 at 11:00 in .NET, AVF, Element Creation, Family, Forge, Geometry, JavaScript, JSON, Parameters, Ribbon, Threejs, Viewer | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today is the last day of the Forge accelerator, and I am still working on the ForgeFader project. The topics today are mainly related to Revit, though – Google prettifier on GitHub – WTA mechanical family placement add-in – Provision for void – What is a provision for void? – Creating a provision for void... Read more →
Posted on March 31, 2017 at 11:00 in Algorithm, Element Creation, Events, Family, Geometry, JavaScript, Modeless, Parameters, Regen, Ribbon, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am traveling to Gothenburg for the Forge accelerator. Meanwhile, Allan Seidel shared his WTA FireP 3D Aimer add-in that creates a custom ribbon tab with discipline related tools for placing specific Revit family types with some families requiring parameter settings made on the fly and the 3D Aimer example that "aims" a special Revit family to a target – WTA FireP 3D Aimer Tools – GitHub Repository and YouTube Video – Source Code Documentation – WTA Elec – Another Family Plunk and Concept Share... Read more →
Posted on March 26, 2017 at 11:00 in Accelerator, Element Creation, Family, Modeless, Parameters, Ribbon, RME, Settings, WPF | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I briefly mentioned the AEC Hackathon in Munich yesterday. Here is some more information on that, highlighting the exciting speaker line-up and target topics, plus a solution for determining the bounding box of an entire family – AEC Hackathon Munich Topics and Speakers – Family bounding box – Continuous integration for RevitLookup? Read more →