crosstech-impl-ifc-to-threejs

Convert IFC data to Three.js scenes with web-ifc and @thatopen/components.

7|1|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/OpenAEC-Foundation/Cross-Tech-AEC-Claude-Skill-Package --skill crosstech-impl-ifc-to-threejs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: crosstech-impl-ifc-to-threejs
Source: https://github.com/OpenAEC-Foundation/Cross-Tech-AEC-Claude-Skill-Package/tree/main/skills/source/crosstech-impl/crosstech-impl-ifc-to-threejs
Command: npx skills add https://github.com/OpenAEC-Foundation/Cross-Tech-AEC-Claude-Skill-Package --skill crosstech-impl-ifc-to-threejs

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Bridges IFC data to Three.js visualizations by preserving metadata and preventing the common coordinate orientation mismatch between IFC/Z-up and Three.js Y-up during rendering.

Core Features & Use Cases

  • End-to-end IFC to Three.js conversion workflow using web-ifc and @thatopen/components for interactive BIM viewing
  • Accurate geometry placement with IFC placement transforms and per-vertex normal data
  • Raycasting-based element selection and integrated property panels
  • Support for Fragments-based caching to enable near-instant re-loads in subsequent visits
  • Pattern-driven guidance for choosing between component-based viewers and custom pipelines

Quick Start

Load an IFC file and render it in a Three.js scene using the recommended component-based workflow.

Frequently Asked Questions about crosstech-impl-ifc-to-threejs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert IFC files to Three.js for web BIM visualization?

Converting IFC to Three.js for web BIM visualization involves using web-ifc and @thatopen/components to parse geometry, preserve metadata, and apply per-element placement transforms for accurate rendering in a Y-up scene.

Why does my IFC model have the wrong coordinate orientation in Three.js?

IFC coordinate orientation mismatches in Three.js occur because IFC uses Z-up while Three.js uses Y-up, requiring per-element placement transforms during rendering to prevent axis loss and ensure accurate geometry display.

Does web-ifc support raycasting for element selection in BIM viewers?

web-ifc supports raycasting for element selection in BIM viewers by integrating Three.js raycasting with @thatopen/components, enabling interactive selection and property panel access for IFC elements.

Can I cache IFC geometry in Three.js for faster reloads?

You can cache IFC geometry in Three.js using Fragments-based caching, which enables near-instant re-loads in subsequent visits by storing processed geometry and metadata instead of re-parsing the original IFC file.

What's the best way to handle large IFC models in a Three.js viewer?

Handling large IFC models in a Three.js viewer requires memory management and Fragments-based caching to optimize performance, alongside choosing between a component-based viewer or a custom pipeline based on model scale.

Do I need @thatopen/components to display IFC properties in Three.js?

@thatopen/components is used to display IFC properties in Three.js by providing integrated property panels and raycasting-based element selection, offering a complete workflow for interactive BIM viewing.