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 →
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 →
Let's look at accessing point cloud points and colouring individual triangles and faces – Assigning material to each face – DirectContext3D colorized triangles – Pick and access point cloud points... Read more →
Posted on September 02, 2022 at 11:00 in Cloud, Data Access, Geometry, Material, Python, User Interface, VB | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Let's look at two serious choices that we are facing – one more serious than the other – To Dynamo or not to Dynamo – Home planet at great risk... Read more →
Posted on August 26, 2022 at 11:00 in .NET, Dynamo, Getting Started, News, Philosophy, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Back to the beginning with a quick look at the Revit MEP API, and a great step forward for RevitPythonShell – Revit MEP API intro – RevitPythonShell RevitLookup nuptials... Read more →
Posted on July 07, 2022 at 11:00 in Debugging, Getting Started, Python, RevitLookup, RME, Update, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Freshening up a few of our favourite recurring topics – RevitLookup update – Filtering for multiple built-in categories – Retrieving all outer walls – Zen and the art of React programming... Read more →
Posted on June 29, 2022 at 11:00 in Element Relationships, Filters, Geometry, JavaScript, Node, Python, RevitLookup, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Welcoming my new colleague Carol leads to a renewed look at getting started – Access permission to load my first add-in – My first Revit plug-in todo – Books on Python for Revit Dynamo – pyRevit saves insane amounts of time – Newtonsoft Json.dll version conflict – Lost in the World by Steve Cutts... Read more →
Posted on February 02, 2022 at 11:00 in Dynamo, Fun, Getting Started, Plugin, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Three quick notes on critical and inspiring sci-fi, programming languages and MEP filtering – Pipe insulation retrieval performance – Programming languages to learn – Agency by William Gibson... Read more →
Posted on October 14, 2021 at 11:00 in .NET, AI, Algorithm, F#, Getting Started, Performance, Philosophy, Python, RME | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A neat RevitLookup enhancement, powerful new Revit add-in template, and a couple of Python related topics
– RevitLookup handles PartUtils
– Nice3point Revit add-in C# template
– IronPython hosting in C# add-in
– Python 3, CPython, pyRevit and Dynamo...
Read more →
Posted on September 24, 2021 at 11:00 in .NET, Deployment, Dynamo, Installation, Python, RevitLookup, Wizard | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Increasing numbers of of Python and Dynamo oriented topics in the Revit API discussion forum, and a final deprecated API clean-up – The Building Coder samples clean – Retrieving all elements on level – Get ViewSheet from View – Fabrication transaction in Dynamo... Read more →
Posted on September 06, 2021 at 11:00 in 2022, Data Access, Dynamo, Element Relationships, Filters, Migration, Python, RME, RST, SDK Samples, Update, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
AU registration is open, fuzzy comparison is important for real numbers, Python learning material and time for a break – Autodesk University 2021 open and free – Real number comparison requires fuzz – Getting started with Python – Vacation time... Read more →
Posted on July 23, 2021 at 11:00 in AU, Geometry, Getting Started, News, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, we look at the add-in manifest, learning Python and Dynamo, the status of the Revit Python shell and a useful stand-alone IFC viewer – Personalised add-in manifest – Learning Python and Dynamo – Quo vadis, RevitPythonShell? – IFC.js... Read more →
Posted on February 17, 2021 at 11:00 in Deployment, Dynamo, IFC, Installation, JavaScript, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I need to come to terms with a split personality. Meanwhile, lots more going on in the Revit API discussion forum – Two Jeremys – Multiple collectors versus multiple filters – RevitLookup handles split region offsets – Python and Dynamo autotag without overlap – Custom errors and preventing changes – Ecological cost of crypto currency and art... Read more →
Posted on February 02, 2021 at 11:00 in Algorithm, DMU, Dynamo, Filters, News, Python, RevitLookup | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The week is coming to an end all too quickly... here are some compelling topics before we enter the weekend
– Explaining texture UV
mapping using AVF
– Más Allá de Dynamo Spanish-language book
– A detailed 3D model of a human cell...
Read more →
Valerii Nozdrenkov shares a powerful solution to save and restore the complete 3D view camera settings and Ehsan Iran-Nejad publishes his set of Revit cheat sheets – Serialising 3D view camera settings – Revit cheat sheets... Read more →
Posted on October 14, 2020 at 11:00 in Data Access, Python, Settings, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am too busy! Ouch! Here are just a few of today's topics – BIM360 Question? Join Accelerator! – What language to choose for a Revit Add-In? – The Building Coder samples 2021 migration... Read more →
Today, we discuss duplicating legend components in Python, my own non-API Python work and some undocumented utility methods – Duplicate legend component in Python – Convert latitude and longitude to metres in Python – UIFrameworkService utility methods – Exceptions should be exceptional... Read more →
Posted on February 19, 2020 at 11:00 in Algorithm, Element Creation, GIS, Python, Units, User Interface, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Topics to start this week – Why SVG? – Internet privacy – Pointless meetings research – Cyrillic characters in lookup tables – Moving a grid – Combining edges... Read more →
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 →
Please note that the European Forge DevCon in Darmstadt is looming imminent. Furthermore, here are some notes on two recent Revit programming discussions and a pointer to some of the top-rated online classes – DevCon Darmstadt – Personal DevCon invitation from Jim Quanci – Sun direction adjusted for project true north – Reading an RVT file without Revit – The top 100 free online courses... Read more →
Two exciting Revit API related news announcements from Ehsan Iran-Nejad and Gui Talarico – New comprehensive pyRevit home page – ApiDocs.co code search sample collection... Read more →
Posted on September 11, 2019 at 11:00 in Docs, Python, SDK Samples | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
This post is somewhat overdue and hence rather full of various topics, mainly due to my struggles with my MacBook slowing to an unbearable crawl in the heat last week – Accessing BIM360 cloud links – Retrieve RVT preview thumbnail image with Python – Paolo's Dynamo primer and slide deck compendium – Slow MacBook with kernel_task using several 100% CPU – Failings of the political establishment... Read more →
The pyRevit rapid application development environment can be used for the entire add-in lifecycle, supporting rapid debugging, testing and deployment as well. I successfully implemented invoking an external command defined in a stand-alone Revit plugin assembly from pyRevit! It's proving extremely useful... Read more →
Posted on May 09, 2019 at 11:00 in .NET, Debugging, Installation, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today I discuss (once again) an important performance aspect of Revit element filtering, a Python script for tagging JPEG images with EXIF data, prompted by a recent ski tour, and three other interesting topics that caught my eye – Slow, slower still and faster filtering – Python JPEG EXIT filename tagging – TED talks and population growth – Objective reality does not exist – Artificial intelligence judge... Read more →
Posted on April 08, 2019 at 11:00 in .NET, AI, Filters, News, Parameters, Performance, Photo, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, I present a little exploration of how to access zones defined in an IFC file in Revit. If you are following this blog closely, you might guess that this is related to the room boundary CSV exporter project that I recently discussed. For this exploration, I installed and used RevitPythonShell. Here are the detailed steps – Importing IFC zones into Revit – Installing and using RevitPythonShell – Programmatically accessing IFC zones in Revit... Read more →
Posted on January 15, 2019 at 11:00 in Data Access, Element Relationships, IFC, Links, Python, RevitLookup | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, I discuss a simple Revit API getting started question from StackOverflow, a new Forge blog and a request for feedback on the keynote manager beta – Retrieving a wall type for creating a wall – CAD Becker Forge blog – pyRevit keynote manager beta... Read more →
Posted on January 08, 2019 at 11:00 in Filters, Forge, Getting Started, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Let's highlight a nice interactive didactical Python-based Revit API learning challenge on how to get the bounding box from a Revit element and determine its centre – Cyril's Python HVAC blog – Rotating elements around their centre in Python – Retrieve element and bounding box from picked reference – Use location point instead of bounding box centre – Final working solution... Read more →
Posted on December 18, 2018 at 11:00 in Data Access, Geometry, Getting Started, Python, RME, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I installed the latest Revit update, and want to highlight two of the numerous interesting ongoing Revit API forum discussions
– Revit 2018.3 update
– Avoid SetValueString
– Passing Data via ExternalEvent.Raise
...
Read more →
Posted on April 10, 2018 at 11:00 in .NET, 2018, Algorithm, Events, External, Parameters, Python, Update | 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'm trying to retrieve connected framing elements through the API.
My end goal is to select a beam and retrieve the element id of the elements its ends are framing into.
I have been able to do this by checking location intersection of all other beams, but this scales by n^2
based on the number of beams for the check.
I read the article on finding connected structural elements, but I'm confused on the actual implementation of it.
Has anybody come across a working example showing how to
call GetAnalyticalModelSupports
? ...
Read more →
Posted on December 12, 2017 at 11:00 in 2015, Element Relationships, Python, RST | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I have list of all global parameters from the active Revit document. I want to delete a specific global parameter from the list programmatically. Kindly suggest a way to delete a global parameter from the active document... Read more →
Posted on November 13, 2017 at 11:00 in Data Access, Debugging, Deletion, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
We discussed several approaches to read the BasicFileInfo
and RVT OLE storage, aka COM Structured Storage, to retrieve stuff like the file version and preview image, and, more lately, alternative access to BIM data via Forge...
Read more →
Posted on June 22, 2017 at 11:00 in .NET, Data Access, External, Python, Storage | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The Revit 2018 includes numerous exciting enhancements for add-in developers. The What's New section always provides very important information, both for discovering and exploring the newly added API functionality and for later reference. If you encounter any issues migrating your existing add-ins between different versions, this is one of the first places to look... Read more →
Posted on April 25, 2017 at 11:00 in 2018, Migration, News, Python, RME, RST, SDK Samples, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I started working on the question answering system Q4R4 Question Answering for Revit API.
The first step is to import The Building Coder blog posts into Elasticsearch and experiment with full-text queries on them.
Furthermore, we are proud to present yet more enhancements to the revamped version of RevitLookup
– Q4R4 sources and result presentation
– Importing tbc
blog posts into Elasticsearch
– Listing and clearing the Elasticsearch tbc
index
– Strip and clean up HTML for JSON document
– Q4R4 GitHub repo and tbcimport.py
script
– RevitLookup bug fixes
– RevitLookup icons...
Read more →
Posted on March 16, 2017 at 11:00 in cURL, Elasticsearch, NoSQL, Python, Q4R4, RevitLookup, Update | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Happy New Year of the Rooster!
The Spring Festival is underway celebrating the Chinese New Year.
Meanwhile, we continue our usual ongoing celebration of exciting Revit API news items
– PyRevit dynamic cs
script loader
– Selecting all physical elements in model
– Vertical TextNote
alignment...
Read more →
Posted on January 24, 2017 at 11:00 in .NET, Filters, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The Forge DevCon developer conference has been happily united with Autodesk University, text note rotation is easy, and I continued my deep learning exploration for implementing a Revit API question answering system
– Forge DevCon at AU
– Setting TextNote
rotation
– TensorFlow and Keras
– Updating restricted Python packages
– Rules of machine learning...
Read more →
Posted on January 19, 2017 at 11:00 in AI, AU, Deep Learning, Element Creation, Forge, Installation, Mac, News, Python, Security | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I continued my activity in the Revit API discussion forum and had lots of interesting discussions there. One recent thread caused me to bring up a favourite topic of mine, on keeping things simple. I'll also mention two other less recent recurring questions – Distance between two points in a specific direction – Revit command-line switches – Keeping things simple with the Revit API – Dino pondering lengthening days... Read more →
Posted on January 09, 2017 at 11:00 in Algorithm, Dynamo, Geometry, Getting Started, Journal, Philosophy, Photo, Python, User Interface | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I went back to answering way too many questions in the Revit API discussion forum yesterday. However, two other interesting topics also cropped up when I finally let go of that pastime, and I just finished a good book – The Sellout by Paul Beatty – IFC Ids and Open Shell – Forge Python scripts – py_forge_formats.py – forge_authenticate_app – forge_formats – jprettyprint – Mainline... Read more →
Posted on December 14, 2016 at 11:00 in cURL, Forge, IFC, Philosophy, Python, REST | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
A Python Revit API question on renumbering viewports helps highlight two separate important programming aspects; I also add some other notes from the Munich Forge accelerator – Question – The need to regenerate – Use built-in parameters to access parameters – Forge accelerator and outage report – Added materials to 210 King model... Read more →
Posted on December 09, 2016 at 11:00 in Accelerator, Data Access, Forge, Material, News, Parameters, Python, Regen | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I am back from a very relaxing vacation. I did next to nothing, and that felt fine. Meanwhile, obviously, lots of important and exciting Forge community and Revit API related happenings
– PyRevit Blog
– Forge DevCon 2016 material and 2017 dates
– Forge forums closing in favour of StackOverflow
– Forge Accelerator in Munich
– Bounding Box ExpandToContain
Extension Methods
– Bounding Box and Lower Left Corner of Rooms
– Bounding Box of Selected Elements or Entire Model
– Setting 3D section box to selected elements' extents...
Read more →
Posted on August 15, 2016 at 11:00 in Accelerator, Events, Filters, Forge, Geometry, Python, View | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I had an interesting chat last week with a group of students from the University of Augsburg on how to perform energy analysis on a bunch of autonomously assembled small building blocks, such as a colony of ants might put together. How can the resulting small building blocks be converted to a valid Revit BIM that can be used for building performance analysis? – BPA is now Insight360 – Self-organising construction and architecture – Back to the ants – project summary – Q & A – Two different energy model types... Read more →
Here is a short note on two interesting little items that just cropped up
– Retrieving a C# out
argument value in Python
– ETH Zurich Sandstone Vault at the Venice Architecture Biennale...
Read more →
Posted on July 07, 2016 at 11:00 in .NET, Dynamo, Python | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
The Forge DevCon is over and was a great success. I am really excited to see where our paths will lead us in the near future as we continue to improve the connections between the desktop, Revit and BIM to the cloud and move forward towards freeing our BIM data. I published pointers to all the 'Free your BIM data' resources yesterday. Our main topics today are completely different and purely Revit API related – Updated Visual Studio Revit Add-in Wizards – RevitPythonShell Dynamic Model Updater Tutorial... Read more →
Two weeks ago, Maltezc raised a question on the availability of a version of RevitLookup for Python. I am not aware of any Python version of RevitLookup, but you can certainly call into RevitLookup from RevitPythonShell. Maltezc pointed out the pyRevit IronPython script library. Ehsan Iran-Nejad, pyRevit creator and maintainer, now wrote a blog post describing this powerful and popular collection... Read more →
Posted on April 18, 2016 at 11:00 in .NET, Debugging, Dynamo, Library, Open Source, Python, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Today, let's look at a Windows API question that can be of interest handling Revit documents as well, and mention my night out to watch the – Lunar Eclipse – Custom File Properties... Read more →
Posted on September 29, 2015 at 11:00 in .NET, Data Access, External, Photo, Python, Utilities, Win32 | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I recently mentioned the unrestricted VendorId in Revit 2016, and pointed out that I would like to update the Visual Studio Revit add-in wizards accordingly. I now went ahead and did so, adding a couple of other enhancements as well along the way – oh, and I did some work on putting my personal calendar online, as well: Sharing a calendar via GCal, Google API, and GitHub Pages. Visual Studio Revit add-in wizards on GitHub. Updated VendorId tag value. Wizard... Read more →
Posted on August 21, 2015 at 11:00 in .NET, Cloud, Getting Started, Git, Installation, Python, Update, Utilities, VB, Wizard | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
I encountered the need and implemented solutions to save user configuration data several times over in the past. Today, prompted by a recent query, I'll point out two of them, and some other exciting and interesting stuff as well: Anthony Hauck on Futures for Revit. The Most Popular Programming Languages 2015. Saving User Configuration Settings. Text Format Configuration File Storage and Parsing. .NET XML Configuration File Storage and Parsing. Anthony Hauck on Futures for Revit BIMThoughts is a podcast platform... Read more →
Posted on August 17, 2015 at 11:00 in .NET, BIM, C++, Data Access, External, Performance, Python, Settings, Utilities | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
In the past few days, The 3D Web Coder documented the first steps of research for a re-implementation of the Revit SDK FireRating sample in the cloud, and Daren Thomas pointed out his new project driving Revit and the Revit Python Shell through a REST API: The FireRating Revit SDK sample FireRating data structure FireRating in the cloud Revit and the Revit Python Shell as a REST API driven web server Summer has arrived in Switzerland! This entire week is... Read more →
Posted on July 02, 2015 at 11:00 in 3dwc, Cloud, Data Access, Export, External, Python, REST, SDK Samples, VB | Permalink | 0 Comments
Tags: akn_include, Jeremy Tammik, Revit API
Here is some exciting news from Daren Thomas on RevitLookup and the Revit Python Shell. The Python and Ruby shells came up a couple of times recently, and I also mentioned Daren's initial thoughts on making the RevitLookup snoop functionality easily accessible from within the interactive Python IDE: Curved wall elevation profile implementation in Python Live development Revit 2016 Python shell and RevitLookup incorporation Revit 2016 Ruby shell This idea has now come to fruition, and more easily than one... Read more →
Posted on May 27, 2015 at 11:00 in 2016, Data Access, Debugging, Getting Started, Migration, Python, RevitLookup, Ruby, Update, User Interface, Utilities | Permalink | 0 Comments | TrackBack (0)
Tags: akn_include, Jeremy Tammik, Revit API
Here are a bunch of infos on and updates for Revit 2016, as well as some important hints on the use of the ElementTransformUtils.CopyElements method: CopyElements view argument is for 2D only Revit 2016 scalability enhancements Revit 2016 Python shell Revit 2016 Ruby shell RevitLookup for Revit 2016 CopyElements View Argument is for 2D only You should only use the ElementTransformUtils.CopyElements views argument when working with view dependent elements, i.e., 2D elements. This was pointed out by Arnošt Löbel in... Read more →
Posted on May 15, 2015 at 11:00 in 2016, Element Creation, Family, Git, Installation, Performance, Python, RevitLookup, Ruby, Update | Permalink | 0 Comments | TrackBack (0)
Tags: akn_include, Jeremy Tammik, Revit API
Let's reiterate a question that comes up quite regularly, on live development, i.e. debugging and editing your code without having to restart Revit and reload a model every time you make a change. First, however, let me say a few words about the new share bar. The Building Coder Share Bar I spent a couple of hours last night adding the share bar that you now see on the right hand side. Kean Walmsley added a ShareThis button to Through... Read more →
Posted on May 14, 2015 at 10:00 in .NET, Debugging, External, JavaScript, Macro, Python, Ruby | Permalink | 0 Comments | TrackBack (0)
Tags: akn_include, Jeremy Tammik, Revit API