Skip to main content

My First Intelligent Automation Code Journey: Data Design for CCTV Cameras

  Two years ago, I embarked on a mission to learn how to automate Revit design tasks using Dynamo, a visual coding language by AutoDesk. 

This time of my life, I really enjoyed coding for one single reason, it made my life easier by getting tasks done in much, and I mean MUCH, less time. 

My first idea was to automate the task of providing data outlets for CCTV cameras, especially in a huge project, where cameras can easily exceed 700 cameras. I had some issues along the way, but they were easily resolved (thank you AutoDesk forums). 

However, as I rolled the code out for other engineers to use across the company offices, feedback came back along with ideas to improve it. Many were telling me that the code would save even more time if it can follow future design changes. Now this required 4 main steps: extracting the existing design, finding which cameras changed their locations, which cameras were deleted, and which cameras were added. I worked my ass off but then I quit, I was honestly tired trying, until, one day, I met one of my coding friends, and he told me: "it's easy bro, just assign a new parameter which stores the camera ID in the data outlet, that way you can track IDs and locations, compare them against each other, hence finding new cameras, the ones that moved and the ones which were deleted". It worked and the rest was details!

And now, my first code can easily be labeled as "Intelligent". Check out the results for yourself:

Start of project: cameras with no data outlets.

Data outlets provided for all cameras.

Changes are made to the design: new cameras added and some existing ones were moved.

The code follows the changes.

The code detects a deleted camera and warns the designer.

Thanks to this code, a task that would usually get hours to be done, now takes only a couple of minutes. This is significant, because engineering consultancy gets paid by the hour, imagine the cost impact. 

Trust me, this is the future.