{"id":2686,"date":"2026-07-16T10:30:00","date_gmt":"2026-07-16T00:30:00","guid":{"rendered":"https:\/\/digitalbbq.au\/?p=2686"},"modified":"2026-07-11T07:08:00","modified_gmt":"2026-07-10T21:08:00","slug":"data-on-the-host-data-in-the-ifc-not-so-fast","status":"publish","type":"post","link":"https:\/\/digitalbbq.au\/index.php\/2026\/07\/16\/data-on-the-host-data-in-the-ifc-not-so-fast\/","title":{"rendered":"Data on the Host, Data in the IFC? Not So Fast."},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A few days after the last post, I got handed a model that seemed like it should have worked perfectly. The nested families were already set up as Shared. The IFC export was running. The geometry was coming through.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But the asset data? Completely missing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When this happens, it\u2019s easy to jump to conclusions, and there were certainly a few floated to me, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201cThe nested family is pushing data up to the host.\u201d<\/li>\n\n\n\n<li>\u201cThe host is being ignored in the export.\u201d<\/li>\n\n\n\n<li>\u201cYou can\u2019t even apply data to nested families properly anyway.\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">None of that is actually happening. It\u2019s a fundamental misunderstanding of where Revit stores data and how the IFC exporter reads it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Here\u2019s what was actually going on in the model<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The data had been applied to the host family. The nested families themselves were blank. To make it slightly more confusing, the host families didn\u2019t contain any geometry to export. They were essentially empty containers. Because there was no parameter linking set up inside the family, and no geometry on the host to carry the data out, the exporter did exactly what it was supposed to do. It exported the shared nested families as their own IFC objects, and it exported the host as\u2026 well, nothing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The nested families existed in the IFC and were exported exactly as they were in Revit, with no asset data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Revit doesn\u2019t magically synchronise parameters between host and child unless you explicitly link them. Shared vs. non-shared only dictates whether the nested family gets its own IFC identity. Where the data lives dictates what gets written to that identity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you want the data on the nested element in IFC, it needs to be on the nested element in Revit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">So what do you do?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">So what do you do when you\u2019ve inherited a model where all the data is sitting on the host, but the nested families are the ones that need to carry it out?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can fix it manually, but that\u2019s tedious. A quicker way is to write a simple script to copy the values across. I threw together a C# macro and a Dynamo Python node that does exactly that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;ve shared a copy of the code in both <a href=\"https:\/\/github.com\/ryanlenihan\/revit_ifc_nested_families_demo\/tree\/main\/code\" data-type=\"link\" data-id=\"https:\/\/github.com\/ryanlenihan\/revit_ifc_nested_families_demo\/tree\/main\/code\">C# and Python on the original GitHub repo<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The code in both these instances is a blind push. It walks through the family instances, grabs a predefined list of parameters from the host, and slaps them onto the nested families. No clever logic, no validation, no attempt to handle unique asset code sequencing. It just moves the data from one place to another so the IFC export actually has something to read.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s not a perfect production workflow. If you\u2019ve got multiple nested components under the same host and each one needs its own unique asset code or sequence number, this script will just copy the same value across all of them. For that, you\u2019d be better off using a Revit schedule, or a tool like <a href=\"https:\/\/ideatesoftware.com\/ideate-bimlink\" data-type=\"link\" data-id=\"https:\/\/ideatesoftware.com\/ideate-bimlink\">BIMLink<\/a>, <a href=\"https:\/\/www.planworks.de\/tables-for-revit\/\" data-type=\"link\" data-id=\"https:\/\/www.planworks.de\/tables-for-revit\/\">Planworks Tables<\/a>, or <a href=\"https:\/\/rushforthprojects.com\/\" data-type=\"link\" data-id=\"https:\/\/rushforthprojects.com\/\">Rushforth Tools<\/a> to batch-edit the values in Excel. Or you could extend the script to generate unique sequences.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But for remediation? The scripts as they are give you a quick way to unblock a deliverable without rebuilding the content from scratch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few days after the last post, I got handed a model that seemed like it should have worked perfectly. The nested families were already set up as Shared. The IFC export was running. The geometry was coming through. But the asset data? Completely missing. When this happens, it\u2019s easy to jump to conclusions, and there were certainly a few&#8230;<\/p>\n","protected":false},"author":2,"featured_media":2687,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"Shared nested families export to IFC, but data might be missing. Learn why Revit doesn't sync parameters and how to fix it with a script","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"How many hours have you spent tweaking IFC export settings, only to find the data is still missing?\n\nI got handed a model recently where everything was technically \"correct.\"\n\n\u2023 Nested families? Shared.\n\u2023 IFC exporter? Configured.\n\u2023 Geometry? Exporting.\n\nBut the asset data? Gone.\n\nThe trap here is assuming Revit automatically synchronises data between a host and its children.\n\nRead the full breakdown and grab the scripts here.\n\n#Revit #BIM #IFC #BIMManagement","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[78],"tags":[],"class_list":["post-2686","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to-guides"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/digitalbbq.au\/wp-content\/uploads\/2026\/07\/colorful-wooden-toy-blocks-on-wood-floor-2026-01-07-06-18-37-utc.jpg","jetpack-related-posts":[{"id":2672,"url":"https:\/\/digitalbbq.au\/index.php\/2026\/07\/09\/a-short-story-about-how-nested-families-work-when-exported-to-ifc\/","url_meta":{"origin":2686,"position":0},"title":"A Short Story About How Nested Families Work When Exported to Ifc.","author":"Ryan Lenihan","date":"9 July 2026","format":false,"excerpt":"I had a question come through that\u2019ll sound familiar if you\u2019ve ever pushed Revit \u2192 IFC on a live job: Nested families are carrying asset data in Revit, but that data disappears in the IFC. LOI attributes, classification, IDs.. gone. What's going on? This comes up more than it should,\u2026","rel":"","context":"In &quot;How to guides&quot;","block_context":{"text":"How to guides","link":"https:\/\/digitalbbq.au\/index.php\/category\/how-to-guides\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2026\/07\/house-model-on-floor-real-estate-and-housing-aspi-2026-03-25-09-14-22-utc.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2026\/07\/house-model-on-floor-real-estate-and-housing-aspi-2026-03-25-09-14-22-utc.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2026\/07\/house-model-on-floor-real-estate-and-housing-aspi-2026-03-25-09-14-22-utc.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2026\/07\/house-model-on-floor-real-estate-and-housing-aspi-2026-03-25-09-14-22-utc.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2026\/07\/house-model-on-floor-real-estate-and-housing-aspi-2026-03-25-09-14-22-utc.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2026\/07\/house-model-on-floor-real-estate-and-housing-aspi-2026-03-25-09-14-22-utc.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2400,"url":"https:\/\/digitalbbq.au\/index.php\/2025\/09\/04\/optimising-ifc-files-in-python\/","url_meta":{"origin":2686,"position":1},"title":"Optimising IFC Files in Python","author":"Ryan Lenihan","date":"4 September 2025","format":false,"excerpt":"I came across a Python-based IFC optimiser built on top of IfcOpenShell. It was solid, removing unused spaces, orphaned entities, and redundant metadata, but I saw room to push it further. The original script handled: Removing empty attributes Cleaning up orphaned or unused relationships Removing tiny geometry Flattening the spatial\u2026","rel":"","context":"In &quot;Digital&quot;","block_context":{"text":"Digital","link":"https:\/\/digitalbbq.au\/index.php\/category\/digital\/"},"img":{"alt_text":"Big and small yellow rubber ducks on pink background","src":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/big-and-small-yellow-rubber-ducks-on-pink-background.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/big-and-small-yellow-rubber-ducks-on-pink-background.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/big-and-small-yellow-rubber-ducks-on-pink-background.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/big-and-small-yellow-rubber-ducks-on-pink-background.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/big-and-small-yellow-rubber-ducks-on-pink-background.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/big-and-small-yellow-rubber-ducks-on-pink-background.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2018,"url":"https:\/\/digitalbbq.au\/index.php\/2024\/05\/16\/expanding-on-ifc-metadata-extraction-in-powerbi\/","url_meta":{"origin":2686,"position":2},"title":"Expanding on IFC Metadata Extraction in PowerBI","author":"Ryan Lenihan","date":"16 May 2024","format":false,"excerpt":"In a previous post, \"Extracting IFC Metadata Directly in Power BI Using Power Query,\" we explored how to use Power Query in PowerBI to directly extract metadata from IFC files using a Power Query shared by Shift Construction. If you haven't read that post, I recommend checking it out first\u2026","rel":"","context":"In &quot;Digital&quot;","block_context":{"text":"Digital","link":"https:\/\/digitalbbq.au\/index.php\/category\/digital\/"},"img":{"alt_text":"Currency exchange data graph and charts data","src":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/05\/currency-exchange-data-graph-and-charts-data.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/05\/currency-exchange-data-graph-and-charts-data.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/05\/currency-exchange-data-graph-and-charts-data.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/05\/currency-exchange-data-graph-and-charts-data.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/05\/currency-exchange-data-graph-and-charts-data.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/05\/currency-exchange-data-graph-and-charts-data.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2403,"url":"https:\/\/digitalbbq.au\/index.php\/2025\/07\/17\/why-your-pipe-fittings-are-missing-materials-in-ifc-exports-and-how-to-fix-it\/","url_meta":{"origin":2686,"position":3},"title":"Your Pipe Fittings Are Grey in IFC? Here&#8217;s Why (And How to Fix It)","author":"Ryan Lenihan","date":"17 July 2025","format":false,"excerpt":"You\u2019ve exported your model to IFC. Pipes look great. Fittings? Grey. Again. What\u2019s going on? This one trips up a lot of teams, because pipe fittings in Revit don\u2019t actually carry system data, even though they look like they do. So when you rely on system-assigned materials for your IFC\u2026","rel":"","context":"In &quot;How to guides&quot;","block_context":{"text":"How to guides","link":"https:\/\/digitalbbq.au\/index.php\/category\/how-to-guides\/"},"img":{"alt_text":"Set of blue PVC pipe fittings isolated on dark background. Blue plastic water pipe. PVC accessories","src":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/set-of-blue-pvc-pipe-fittings-isolated-on-dark-background-blue-plastic-water-pipe-pvc-accessories.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/set-of-blue-pvc-pipe-fittings-isolated-on-dark-background-blue-plastic-water-pipe-pvc-accessories.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/set-of-blue-pvc-pipe-fittings-isolated-on-dark-background-blue-plastic-water-pipe-pvc-accessories.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/set-of-blue-pvc-pipe-fittings-isolated-on-dark-background-blue-plastic-water-pipe-pvc-accessories.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/set-of-blue-pvc-pipe-fittings-isolated-on-dark-background-blue-plastic-water-pipe-pvc-accessories.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/set-of-blue-pvc-pipe-fittings-isolated-on-dark-background-blue-plastic-water-pipe-pvc-accessories.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2413,"url":"https:\/\/digitalbbq.au\/index.php\/2025\/08\/07\/setting-ifc-material-overrides-for-cable-tray-and-conduit\/","url_meta":{"origin":2686,"position":4},"title":"Setting IFC Material Overrides for Cable Tray and Conduit","author":"Ryan Lenihan","date":"7 August 2025","format":false,"excerpt":"In a previous post, we looked at how to set IFC material overrides for pipe fittings. But when it comes to cable tray and conduit, things get a bit trickier. Unlike pipe and duct, cable tray and conduit don\u2019t belong to a system in Revit, so there's no MEP System\u2026","rel":"","context":"In &quot;Digital&quot;","block_context":{"text":"Digital","link":"https:\/\/digitalbbq.au\/index.php\/category\/digital\/"},"img":{"alt_text":"Low angle view of steel network cable trunking box.","src":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/low-angle-view-of-steel-network-cable-trunking-box-.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/low-angle-view-of-steel-network-cable-trunking-box-.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/low-angle-view-of-steel-network-cable-trunking-box-.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/low-angle-view-of-steel-network-cable-trunking-box-.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/low-angle-view-of-steel-network-cable-trunking-box-.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2025\/07\/low-angle-view-of-steel-network-cable-trunking-box-.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":2005,"url":"https:\/\/digitalbbq.au\/index.php\/2024\/05\/02\/extracting-ifc-metadata-directly-in-power-bi-using-power-query\/","url_meta":{"origin":2686,"position":5},"title":"Extracting IFC Metadata Directly in Power BI Using Power Query","author":"Ryan Lenihan","date":"2 May 2024","format":false,"excerpt":"If you work with Industry Foundation Classes (IFC) files and want an easy way to access and analyze the metadata, there's a great article you should check out. \"How to extract data from IFC files\" by Matthew Osment on Medium demonstrates how to use Power Query in Power BI to\u2026","rel":"","context":"In &quot;Digital&quot;","block_context":{"text":"Digital","link":"https:\/\/digitalbbq.au\/index.php\/category\/digital\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/04\/Shift_PowerBi_IFC.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/04\/Shift_PowerBi_IFC.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/04\/Shift_PowerBi_IFC.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/04\/Shift_PowerBi_IFC.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/04\/Shift_PowerBi_IFC.jpg?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/digitalbbq.au\/wp-content\/uploads\/2024\/04\/Shift_PowerBi_IFC.jpg?resize=1400%2C800&ssl=1 4x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/posts\/2686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/comments?post=2686"}],"version-history":[{"count":1,"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/posts\/2686\/revisions"}],"predecessor-version":[{"id":2688,"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/posts\/2686\/revisions\/2688"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/media\/2687"}],"wp:attachment":[{"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/media?parent=2686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/categories?post=2686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digitalbbq.au\/index.php\/wp-json\/wp\/v2\/tags?post=2686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}