Monday, April 06, 2026

Navisworks Search Sets: Create, Export & Share as .xml

Navisworks Search Sets: Create, Export & Share as XML — Complete Guide

BIM Workflow · Navisworks · XML Export

Navisworks Search Sets:
Create, Export & Share
as .xml

Build dynamic Search Sets, export them as portable .xml files, and import them into any project — the right way to standardize coordination filters across your team.

K
Kai Lee
Architect · BIM Specialist · A7 Studio
April 2026 · 12 min read

Creating a Search Set inside Navisworks is just the first step. The real power comes when you can export that set as an .xml file, share it with your team, and import it into any project — so everyone runs the same filters on the same model, every time.

🔍
Search Set
Property-based filter saved inside Navisworks — dynamic, always current
📄
.xml Export
Portable file containing all your Search Set conditions — shareable and version-controllable
🔁
Import / Reuse
Load the .xml into any project — instant team-wide standardization

PART 01 Why Export Search Sets as XML?

Navisworks saves Selection Sets and Search Sets inside the .nwd or .nwf file. That works fine for single-project use — but it creates a problem at the team level.

If each coordinator builds their own sets from scratch, you end up with inconsistent filter conditions across the team. One person's "Level 3 MEP" might catch different elements than another person's "Level 3 MEP" depending on how they set up the conditions. Clash test results become incomparable.

💡 The XML advantage: Exporting Search Sets as .xml gives you a plain-text, version-controllable, shareable file that contains the exact filter conditions. Drop it in a shared drive or Git repo. Everyone imports the same file. Everyone runs the same filters. Coordination results are consistent and comparable.

👥
Team Standardization

One coordinator builds and validates the sets. The rest of the team imports the XML — no re-building, no inconsistency.

🔄
Project Templates

Maintain a master XML per project type (residential, commercial, industrial). Start every new project from the right template.

📦
Version Control

XML is plain text — commit it to Git, track changes, roll back if conditions need to change. Treat it like code.

🔍
Auditable Filters

Anyone can open the XML and see exactly what conditions are being applied. No black boxes, no guesswork.

PART 02 Creating a Search Set — Step by Step

Before you can export, you need a Search Set. Here's the full workflow from scratch.

1
Open Find Items

Go to Home tab → Select & Search → Find Items. The Find Items dialog opens — this is where you define the filter logic for your Search Set.

Home → Select & Search → Find Items
2
Set Search Scope

At the top, set Search In to the appropriate scope — All for whole-model, or select a specific appended file to scope to one discipline. This scope setting is also saved in the XML.

3
Add Conditions

Click + to add condition rows. Each row has: Category (e.g. Item, Element) → Property (e.g. Category, Level) → Condition operatorValue. Chain multiple conditions with AND / OR logic.

4
Run and Verify

Click Find All. Inspect the highlighted elements in the viewport. Verify the result matches your intent before saving — this is the condition set that will be exported to XML.

Find Items → Find All
5
Save as Search Set

Click Save Search. The set appears in your Sets window with a magnifying glass icon. Rename it immediately using your team's naming convention — e.g. MEP - HVAC - All Levels.

Find Items → Save Search → rename in Sets window

Condition Operators Reference

Operator Matches when… Best used for
= Value is exactly equal Known exact category names, specific floor levels
!= Value does not equal Excluding a specific discipline or type
contains Value string contains the search term Material names, type names with suffixes/variants
does not contain Value string does not contain the term Filtering out a sub-group within a category
starts with Value begins with the search term Prefixed element IDs, structured type names
is defined Property exists on the element Finding elements that have a specific parameter
is not defined Property does not exist on the element QA checks — finding elements missing required data

💡 Always prefer contains over = for material and type conditions. Model authors frequently append version numbers, regional codes, or suffixes to type names. contains "Concrete" catches every variant. = "Concrete" catches only exact matches.

PART 03 Exporting Search Sets as .xml

Once your Search Sets are built and verified, exporting them takes about 10 seconds.

1
Open the Sets Window

If not already open: Home → Select & Search → Sets. Your saved Search Sets and folders are listed here.

Home → Select & Search → Sets
2
Select What to Export

Click a single Search Set to export just that set. Or click a folder to export all sets inside it. You can Ctrl+click to select multiple individual sets across folders.

3
Export via Right-Click

Right-click the selected item(s) → Export. A Save dialog appears. Choose your destination folder and give the file a clear name — e.g. SearchSets_MEP_v1.xml.

Right-click → Export → Save as .xml
4
Verify the Output

Open the exported .xml in any text editor (Notepad, VS Code). You should see your set names, conditions, and operators written in plain XML. If it's readable and matches your conditions — you're done.

📁 File naming recommendation: Include the discipline, scope, and version in the filename.
SearchSets_STR_AllLevels_v2.xml
SearchSets_MEP_HVAC_v1.xml
SearchSets_ProjectTemplate_2026.xml

PART 04 Understanding the XML Structure

The exported XML is human-readable. Understanding its structure helps you edit conditions directly in a text editor — faster than clicking through the UI for bulk changes.

XML ELEMENT REFERENCE — Navisworks Search Set
<exchange>
Root element — wraps the entire export file
always present
<selectionsets>
Container for all sets and folders in the export
one per file
<searchset name="...">
A single Search Set — name attribute is the display name in Navisworks
name="MEP - HVAC"
<findspec>
Contains the search scope and all condition logic for one Search Set
one per searchset
<conditions>
Wrapper for all condition rows — maps to the rows you see in Find Items
AND / OR logic here
<condition>
A single filter row — contains category, property, operator, and value
one per condition row
test="..."
The comparison operator for this condition
"equals" / "contains"

Full XML Example — MEP Ductwork, All Levels

XML SearchSets_MEP_HVAC_v1.xml
<?xml version="1.0" encoding="utf-8"?> <exchange> <selectionsets> <!-- Search Set 1: All Ductwork --> <searchset name="MEP - HVAC - All Ductwork"> <findspec disjoint="0"> <conditions> <condition test="equals"> <category>Item</category> <property>Category</property> <value>Ducts</value> </condition> </conditions> </findspec> </searchset> <!-- Search Set 2: Piping over 150mm --> <searchset name="MEP - PIPE - Over 150mm Diameter"> <findspec disjoint="0"> <conditions> <!-- Condition 1: must be pipe category --> <condition test="equals"> <category>Item</category> <property>Category</property> <value>Pipes</value> </condition> <!-- Condition 2: diameter >= 150mm --> <condition test="greater_or_equal"> <category>Mechanical</category> <property>Diameter</property> <value>150</value> </condition> </conditions> </findspec> </searchset> <!-- Search Set 3: Level 3 Structure --> <searchset name="STR - Level 3 - All Structural"> <findspec disjoint="0"> <conditions> <condition test="contains"> <category>Item</category> <property>Category</property> <value>Structural</value> </condition> <condition test="equals"> <category>Element</category> <property>Level</property> <value>Level 3</value> </condition> </conditions> </findspec> </searchset> </selectionsets> </exchange>

📝 Key attribute — disjoint="0": This controls the AND/OR logic between conditions. disjoint="0" means AND (all conditions must match). disjoint="1" means OR (any condition can match). You can edit this directly in the XML without reopening Navisworks.

PART 05 Importing XML into Navisworks

Importing is even simpler than exporting. Any team member can load your XML file and instantly have the same Search Sets — with the exact same conditions — without building anything from scratch.

1
Open the Sets Window

Home → Select & Search → Sets. Make sure you can see the Sets panel.

2
Right-Click → Import

Right-click any empty area in the Sets window, or right-click an existing folder if you want the imported sets to land inside it. Select Import from the context menu.

Sets window → right-click → Import
3
Select the XML File

Navigate to the shared .xml file and open it. The Search Sets from the XML appear immediately in your Sets window — ready to use.

4
Verify the Import

Double-click one of the imported Search Sets. Elements should be selected in the viewport. If the results look correct, the import was successful. If nothing is selected, the model's property naming may differ — check the condition values against actual element properties.

⚠️ Property name sensitivity: Search Set conditions match against the exact property names and values in the model. If your XML says Category = "Ducts" but the model has Category = "Duct" (no "s"), the set returns zero results. Always verify against the actual Properties panel for one representative element before finalizing your XML conditions.

PART 06 Editing XML Directly — Faster Than the UI

Once you understand the XML structure, it's often faster to edit conditions directly in a text editor than to click through the Find Items dialog — especially when you need to duplicate a set across multiple levels or disciplines.

Example: Duplicate a Set Across All Levels

XML SearchSets_STR_ByLevel.xml — edit in text editor
<!-- Copy-paste this block and change only the name + value --> <searchset name="STR - Level 1 - All Structural"> <findspec disjoint="0"> <conditions> <condition test="contains"> <category>Item</category> <property>Category</property> <value>Structural</value> </condition> <condition test="equals"> <category>Element</category> <property>Level</property> <value>Level 1</value> <!-- change to Level 2, Level 3... --> </condition> </conditions> </findspec> </searchset> <!-- Paste again for Level 2, Level 3, Level 4... --> <!-- Only 2 things change per copy: name attribute + Level value -->

Building 10 level-based Search Sets in the UI takes 10 minutes of clicking. Copying and editing that XML block 10 times in VS Code takes about 2 minutes. For large projects with many floors, XML editing is dramatically more efficient.

Build once in the UI to get the XML structure right.
Scale in the text editor.

PART 07 Team Workflow — Recommended Setup

Here's the workflow I use on multi-discipline projects to keep Search Sets consistent across the team:

1
BIM Lead builds the master XML

One person (BIM lead or coordination manager) builds and validates all Search Sets in Navisworks, then exports the full set library as a single XML file.

2
Store in shared location

Place the XML in a shared drive or project folder. Name it with version: SearchSets_ProjectName_v1.xml. This is the team's source of truth for filter conditions.

3
All coordinators import the XML

Each team member imports the XML into their Navisworks session at the start of the project. Everyone runs the same filters from the same conditions.

4
Version and update as needed

When conditions need to change (new floor added, scope change), the BIM lead updates the XML and increments the version. Team members re-import. Changes are visible as a text diff — exactly what changed, and when.

💡 Git tip: If your team uses Git for any project files, add the Search Set XML to the repo. git diff on an XML file shows exactly which conditions changed between versions — far more useful than "I updated the sets" in a meeting chat.

— ● —

🎯 Key Takeaways

Search Sets are dynamic filters — they run against the current model state every time. Exporting them as .xml makes them portable, shareable, and version-controllable — treating your coordination filters like the project asset they actually are.

Build your master XML once. Scale it in a text editor for multi-level or multi-discipline variants. Store it centrally. Import it everywhere. When the model changes, update the XML and re-import — consistency maintained with minimal overhead.

In the next post, I'll cover Clash Detective test configuration — how to wire your Search Sets directly into clash tests and export results that are actually actionable for the design team.

#Navisworks #SearchSets #XMLExport #BIMCoordination #BIMWorkflow #ClashDetection #AEC #BIMTips #Autodesk #ConstructionTech

Monday, March 30, 2026

20 Years in Construction: What's Really Broken About This Industry

Field Report · 20-Year Construction PM · March 2026

20 Years in Construction.
What's Really Broken
About This Industry.

I've managed projects across residential, theme parks, and high-rise office buildings. I've seen it all — and right now, the future of this industry has never felt more stuck. Here's my unfiltered take.

K
March 2026 · 8 min read

I've spent over two decades as a Project Manager on construction sites. Houses, theme parks, large office towers — I've done it all. But I can't remember a time when the future of this industry felt as frustratingly stuck as it does right now. This is my honest, field-level breakdown of what's really wrong.

20+
Years on Site
4
Core Problems
1
Answer: Data Transparency

ISSUE 01 "Transparency Terrifies the Old Guard" — The Disappearance of Data

Everyone in the industry talks about BIM (Building Information Modeling) these days. And honestly, having studied it myself — it's a genuinely powerful technology. But what's the reality on site?

🏗️
Even major construction firms are resisting real BIM adoption

When BIM is implemented properly — generating accurate quantity take-offs and cost estimates — everything becomes visible in numbers. The opaque bidding practices and "insider knowledge" that certain players have used to quietly pad margins suddenly get exposed. Data has a way of calling out what was always hidden.

So what happens? They perform innovation. They outsource BIM to an IT vendor, check the box, and move on. Smart Construction slogans on the outside; the same old information asymmetry on the inside.

⚠️ This opacity is the single biggest wall blocking real innovation. It's not that the technology doesn't exist — it's that the technology is inconvenient for the people who benefit from keeping things opaque.

ISSUE 02 "Working While Everyone Else Rests" — The Collapse of the Workforce

Why does construction get called a "3D industry" — dirty, dangerous, difficult? The physical demands are real, but the deeper issue is simpler: there's no life in it. Young people aren't coming into the field, and honestly, watching from the inside, I can't blame them.

Telling a generation that values work-life balance
"that's just how it was back then" doesn't fly anymore

We push sites through weekends to hit deadlines. Saturdays. Sundays. Breathing dust while the rest of the world is off. Is this structure even rational? Unrealistic scheduling and seat-of-the-pants project management — the cost of those failures lands entirely on the bodies and lives of the people on site.

💬 I'm 52. I've lived inside this culture my whole career. There are moments when that reality hits me and it just feels bleak. If I feel that way, imagine what a 25-year-old sees when they look at this industry.

ISSUE 03 "Engineers Drowning in Paperwork" — The Bureaucratic Swamp

Construction commencement reports. Occupancy approval documents. Safety management plans. Start one project and you're immediately buried under thousands of pages of documentation.

📋
Engineers spend more time generating reports than doing engineering

The real work — checking quality on site, monitoring safety, solving technical problems — gets crowded out by administrative output meant for company HQ or government offices. And because none of this paperwork has been digitized properly, it still gets done by hand, or copy-pasted through Excel, row by tedious row.

📌 When engineers stop doing engineering, the talented ones leave. What stays behind is process without substance — the shell of a functioning project without the craft that should be inside it.

ISSUE 04 "The #1 Contractor Illusion" — Metrics That Hide What Matters

Korea's annual construction capability rankings get published every year, and everyone watches where the firms land. But being ranked #1 doesn't mean it's a good place to work. It means the company took on the most revenue and won the most contracts. That's it. That's the metric.

📊
What a genuine #1 ranking should actually measure

A truly excellent firm would have engineers who feel proud of what they're building, systems efficient enough to eliminate unnecessary overtime, and margins earned through skill — not through underbidding competitors into oblivion. Instead, the market is crowded with small contractors racing each other to the bottom on price, with quality and safety as the casualty.

— ● —

🔑 So What's the Fix?

The answer, as I see it, comes back to data transparency. Uncomfortable as it is, the industry needs to internalize BIM — to make quantities and cost estimates objective and visible. That's the only environment in which technical skill gets rewarded rather than gamed.

I'm in my fifties and I've spent decades in old-school ways of working. But I'm not ready to accept that this is how it stays. That's why I'm studying AI. That's why I'm building automation tools. In the projects I run, I want to communicate through data, reduce unnecessary paperwork, and create conditions where a junior engineer can look at their work and think — "this is worth doing."

One person can't tear down the entrenched interests of an entire industry. But if I can use data as a crowbar and make even a small crack — that feels like the right mission for a 20-year veteran who still cares about what gets built.

#ConstructionIndustry #BIM #ProjectManagement #SmartConstruction #AEC #ConstructionTech #DataTransparency #WorkforceCrisis #FieldReport #AIinConstruction

Thursday, March 26, 2026

I Built a Node-Based Visual Memo Board with Claude Code — Here's How

Digital Lab · Claude Code Build

I Built a Node-Based Visual Memo Board
with Claude Code — Here's How

March 2026  ·  8 min read  ·  Kai Lee · A7 Studio

#ClaudeCode #VisualMemo #NodeBased #AIBuilt #VanillaJS #Productivity
K
Kai Lee
Architect · BIM Specialist · A7 Studio
2026.03

What if your sticky notes could talk to each other? I asked Claude Code to build a node-based visual memo board from scratch — no frameworks, no libraries, just pure HTML, CSS, and vanilla JavaScript. Here's what came out of it.

01 — The Idea

As an architect who's been working with BIM tools for years, I'm obsessed with visual thinking. Revit, Dynamo, concept maps — I process information spatially. Standard to-do apps feel flat to me. I wanted something closer to a node graph: memos as floating cards, connected by arrows, rearranged freely on an infinite canvas.

So I opened Claude Code and typed a prompt. About 20 minutes later, I had a working app.

🧠 The prompt was simple: "Build a node-based visual memo board — floating sticky cards on an infinite canvas, with drag-to-connect arrows between nodes, zoom/pan, dark/light theme toggle, and localStorage persistence. Vanilla JS only."

02 — What It Looks Like

Here's a live mockup of the interface. The real app runs as a single self-contained .html file — no server, no install:

+ New Memo Reset View Clear All
🌙 Double-click → add memo  |  Port drag → connect  |  Scroll → zoom
n1 ×
Review BIM coordination
report before Friday
✓ Done
n2 ×
Update Revit family
library — done ✓
↩ Undo
n3 ×
Write blog post about
Claude Code workflow
✓ Done

03 — Core Features

🖱️
Infinite Canvas

Pan by dragging, zoom with scroll wheel. The canvas is 6000×6000px — room for hundreds of nodes.

📌
Floating Memo Nodes

Each memo is a draggable card. Double-click anywhere on the canvas to spawn a new one instantly.

🔗
Bezier Connections

Drag from any port (top/right/bottom/left) to draw smooth bezier arrows between nodes.

Done State

Mark memos complete with a glowing red strikethrough line. One click to undo.

🌙
Dark / Light Theme

Toggle between a deep space dark theme and a clean light mode. Preference saved locally.

💾
Auto-Save

Everything — nodes, edges, zoom level, pan position — saves to localStorage automatically.

04 — Under the Hood

The whole app is 614 lines of vanilla HTML/CSS/JS. No React, no Vue, no build step. Here's the architecture Claude designed:

  • 🎨
    CSS Custom Properties for Theming
    All colors live as :root variables. The light mode is a single html.light override block — toggling the class switches the entire theme instantly with transition: .3s.
  • 📐
    Transform-Based Pan & Zoom
    The canvas uses transform: translate() scale(). Mouse wheel events adjust the zoom factor (0.18× to 3×) while keeping the cursor as the zoom origin — exactly like Figma.
  • 〰️
    SVG Bezier Edges
    Connections are rendered as SVG <path> elements with cubic bezier curves. The control point distance is calculated dynamically based on node separation — tighter nodes get tighter curves.
  • 🧠
    Auto Side Detection
    When dropping a connection on a node (not a specific port), the app automatically picks the best source/target sides based on relative position — left-right if horizontal, top-bottom if vertical.
  • 💾
    localStorage Persistence
    The entire state (nodes array, edges array, counters, pan X/Y, zoom) is serialized to JSON and saved after every interaction. Reload the page — everything is exactly where you left it.
// State shape — what gets saved to localStorage // vmemo-v2 key stores the complete app state { nodes: [{ id, x, y, text, done }], edges: [{ id, from, fromSide, to, toSide }], nCount: number, // node ID counter eCount: number, // edge ID counter panX: number, panY: number, zoom: number // 0.18 – 3.0 }

05 — What Claude Code Got Right

I've been using Claude Code for a few months now as part of my BIM workflow — mostly for Dynamo scripts and data automation. This was my first pure front-end UI build with it, and a few things stood out:

The bezier curve math was spot-on on the first pass. Getting cubic bezier control points to feel natural — especially the auto-side detection — is genuinely tricky. Claude nailed it without any back-and-forth.

The CSS theming architecture was also cleaner than what I'd typically write myself. Using html.light as the single override selector means the component styles stay clean — you never have to duplicate rules for each theme.

⚠️ One thing I had to fix manually: the initial version had some duplicate CSS rule blocks (the dark defaults were written twice). Easy to clean up, but worth knowing — always review the output, especially for longer files.

614
Lines of Code
~20
Minutes to Build
0
Dependencies

06 — How I Use It in My Workflow

As a BIM coordinator, I often need to map out dependencies between tasks — which model element needs to be finalized before another discipline can proceed. A linear to-do list doesn't capture that. This memo board does.

I keep it open as a local HTML file during project coordination meetings. Nodes represent tasks or deliverables. Arrows represent dependencies. When something is done, the red strikethrough makes it visually obvious without removing the card.

The infinite canvas also means I can use spatial grouping — cluster related items together, spread unrelated items apart. Your eye naturally groups things by proximity. No tags or folders needed.

· · ·

If you work in architecture, engineering, or any field where thinking spatially matters — this kind of tool is worth trying. The fact that it's a single HTML file means you can drop it anywhere, share it with anyone, and it just works.

I'll be sharing more Claude Code builds here on the blog. Next up: a Dynamo script generator that takes natural language task descriptions and outputs ready-to-run Dynamo graphs. Stay tuned.

Want the source file?

Drop a comment below and I'll share the .html file directly.
No sign-up, no strings — just a single file that runs in any browser.

→ Leave a comment

Wednesday, March 25, 2026

Meet Kai — My AI Owl Persona is Here 🦉

Meet Kai — My AI Owl Persona | BIM Specialist's First AI Avatar
AI Persona · BIM Practice · Behind the Scenes

Meet Kai — My AI Owl Persona is Here 🦉

The first thing I built after attending @hamlog_ai's AI workshop — an AI avatar born from a spark of excitement and a lot of curiosity.

📅 March 25, 2026 ✍ Kai — BIM Lab 🤝 Sponsored by Aicron
Kai — AI owl persona in a tuxedo, waving hello
Hello, I'm Kai 👋
The AI alter ego of a BIM specialist — designing rest through technology
BIM Specialist AI Persona Made with Aicron

🌱 How Kai Was Born

A few weeks ago I joined a live Zoom session hosted by @hamlog_ai — one of those workshops where you walk out buzzing with ideas and refusing to let the feeling fade. Instead of just taking notes and moving on, I decided to act on that energy immediately.

The result? Kai — my very first AI persona character, introduced through a self-introduction video made entirely with Aicron's visual coding platform. It might be small, but it felt enormous.

🎓
@hamlog_ai — AI Zoom Workshop
An approachable, hands-on AI workshop that makes it easy even for first-timers to walk away with a real output. Huge thanks for the spark that brought Kai to life. 🙏

🦉 Who — or What — Is Kai?

Kai is my AI avatar and the official mascot of this blog. This little owl in a tuxedo and round glasses represents my professional identity as a BIM specialist who uses technology to carve out space for rest and reflection. From now on, Kai will be the face that shows up in videos, introductions, and across platforms.

01
Name: Kai
Drawn from my own name. Designed to represent BIM, architecture, and technology in a personable way.
02
Species: Owl
Symbol of wisdom and keen vision — fitting for someone who spends long hours inside Revit models.
03
Outfit: Tuxedo + Bow Tie
Professional yet playful. A signal that even dense BIM content can be delivered with warmth and charm.
04
Role: AI Persona
Appears in intro videos, blog thumbnails, and content across channels — my digital stand-in.

Going forward, Kai will help me share BIM workflow tips, Revit & Dynamo tutorials, and AI-assisted architectural practice in a more accessible, visual format. A companion for the journey. 🦉✨

🛠 How It Was Made — Aicron Visual Coding

Kai's self-introduction video was produced using Aicron's visual coding platform — a node-based interface that lets you build AI video workflows without writing a single line of code. As someone who already works with Dynamo's node-based visual programming inside Revit, the interface felt immediately familiar.

It felt like connecting nodes in Dynamo — drag, link, run. No code. Just logic and flow. For a first attempt at AI video production, the barrier to entry was refreshingly low.

— Kai, reflecting on the first session with Aicron

What impressed me most was how quickly something polished came together. The workflow is visual and iterative — you can see results fast, adjust, and refine without getting lost in technical dependencies.

💡 Why an AI Persona for a BIM Blog?

Architecture and construction are industries where knowledge-sharing is often dry, technical, and hard to access for outsiders. BIM documentation, regulatory analysis, Dynamo scripting — all important, all a little intimidating at first glance.

An AI persona like Kai creates a consistent, friendly entry point. Rather than a wall of technical text, there's a character — a face — that signals: this is a space where complex ideas are explained with care.

  • 1
    Consistency across channels. Kai can appear in videos, thumbnails, and social posts — making the brand instantly recognisable.
  • 2
    Lower barrier for new readers. A friendly character invites people in before the technical content takes over.
  • 3
    Separating person from persona. Kai carries the content; I focus on the thinking behind it.
  • 4
    AI as a creative tool, not a shortcut. Building Kai was itself a learning experience in AI-assisted production.

🔭 What's Coming Next

Kai and I will be posting regularly here — BIM practice notes, Revit workflow tips, reflections on AI in architectural practice, and the occasional experiment that didn't quite go to plan. That's the honest version of this journey.

This first post is rough around the edges. The excitement behind it is not. That's the most honest place to start. 🦉

✦ Post Summary
Kai was born after attending @hamlog_ai's live AI Zoom workshop
An AI owl persona in a tuxedo — BIM specialist's digital avatar
Debut video produced with Aicron's visual coding platform (sponsored)
Future content: BIM tips, Revit/Dynamo, AI in architectural practice
#AIPersona #BIM #Aicron #VisualCoding #OwlKai #Revit #AIVideo #ArchitectureBlog #KaiBIMlab #hamlog_ai