{"id":41861883,"url":"https://github.com/louistrue/ifc-flow","last_synced_at":"2026-01-25T11:18:20.700Z","repository":{"id":283027949,"uuid":"950445558","full_name":"louistrue/ifc-flow","owner":"louistrue","description":"A visual node-based tool for working with Industry Foundation Classes (IFC) files","archived":false,"fork":false,"pushed_at":"2025-12-15T13:36:57.000Z","size":39807,"stargazers_count":65,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-18T16:51:23.287Z","etag":null,"topics":["ifc","ifcopenshell","threejs","visual-scripting","web-ifc"],"latest_commit_sha":null,"homepage":"https://ifcflow.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/louistrue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-18T07:08:26.000Z","updated_at":"2025-12-15T13:36:59.000Z","dependencies_parsed_at":"2025-07-17T00:24:55.665Z","dependency_job_id":"a43575df-e50c-4354-aa30-eb5991842aa2","html_url":"https://github.com/louistrue/ifc-flow","commit_stats":null,"previous_names":["louistrue/ifc-flow-map","louistrue/ifc-flow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/louistrue/ifc-flow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louistrue%2Fifc-flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louistrue%2Fifc-flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louistrue%2Fifc-flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louistrue%2Fifc-flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/louistrue","download_url":"https://codeload.github.com/louistrue/ifc-flow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/louistrue%2Fifc-flow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28752667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ifc","ifcopenshell","threejs","visual-scripting","web-ifc"],"created_at":"2026-01-25T11:18:19.891Z","updated_at":"2026-01-25T11:18:20.694Z","avatar_url":"https://github.com/louistrue.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🏗️ IFCflow\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![Next.js](https://img.shields.io/badge/Next.js-14.2.0-black?logo=next.js)](https://nextjs.org/)\n[![React](https://img.shields.io/badge/React-18.2.0-61DAFB?logo=react)](https://reactjs.org/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.3.0-38B2AC?logo=tailwind-css)](https://tailwindcss.com/)\n[![React Flow](https://img.shields.io/badge/React_Flow-11.10.4-ff0072)](https://reactflow.dev/)\n[![IfcOpenShell](https://img.shields.io/badge/IfcOpenShell-0.8.1-blue)](https://ifcopenshell.org/)\n\n\u003cp\u003eA visual node-based tool for working with Industry Foundation Classes (IFC) files\u003c/p\u003e\n\n\u003c/div\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\u003cimg src=\"docs/assets/ui_light.png\" alt=\"IFC Flow Map Light Theme\" title=\"Light Theme\"/\u003e\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\u003cimg src=\"docs/assets/ui_dark.png\" alt=\"IFC Flow Map Dark Theme\" title=\"Dark Theme\"/\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## 📋 Overview\n\nIFC Flow Map provides a graphical interface for viewing, filtering, transforming, and analyzing Building Information Modeling (BIM) data through an intuitive workflow system. Create complex data manipulation pipelines with a simple drag-and-drop interface.\n\n## ✨ Features\n\n- 🔄 **Visual Node-Based Interface** - Create workflows by connecting nodes in a flow diagram\n- 🏢 **IFC File Support** - Load and analyze IFC files for BIM data\n- 🧩 **Multiple Node Types**:\n  - 📁 **IFC Node** - Import IFC files\n  - 📐 **Geometry Node** - Extract geometric information\n  - 🔍 **Filter Node** - Filter elements using IFC properties (`Pset.PropertyName`)\n  - 🔄 **Transform Node** - Apply transformations to elements\n  - 👁️ **Viewer Node** - Visualize 3D models\n  - 📏 **Quantity Node** - Extract quantity information\n  - 🏷️ **Property Node** - Work with element properties and property sets\n  - 🔖 **Classification Node** - Manage element classifications\n  - 📍 **Spatial Node** - Perform spatial queries\n  - 💾 **Export Node** - Export data in various formats (CSV, JSON, IFC)\n  - 🔗 **Relationship Node** - Query element relationships\n  - 📊 **Analysis Node** - Perform analyses like clash detection\n  - 👀 **Watch Node** - Monitor element values\n  - ⚙️ **Parameter Node** - Define workflow parameters\n- 💾 **Workflow Storage** - Save and load workflows\n- ⚡ **Real-time Execution** - Execute workflows and see results immediately\n- ⌨️ **Keyboard Shortcuts** - Efficient workflow creation with keyboard shortcuts\n- 🔄 **Advanced Property Handling** - Get, set, add, and remove properties in IFC elements\n- 📤 **IFC Export** - Export modified IFC files with your property changes\n- 🧰 **IfcOpenShell Integration** - Leverage IfcOpenShell 0.8.1 for reliable IFC processing\n\n## 🚀 Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n# or\nyarn dev\n# or\npnpm dev\n# or\nbun dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the application.\n\n## 📖 How to Use\n\n1. **Create a New Workflow** - Start with a blank canvas\n2. **Add Nodes** - Drag and drop nodes from the sidebar\n3. **Connect Nodes** - Create connections between node inputs and outputs\n4. **Load IFC Files** - Use an IFC node to import your BIM data\n5. **Configure Node Properties** - Set properties in the properties panel\n6. **Execute Workflow** - Run the workflow to see results\n7. **Save Your Workflow** - Save workflows for later use\n\n### 🛠️ Working with IFC Properties\n\n1. **Get Properties** - Use the Property Node with \"Get\" action to extract properties like \"IsExternal\" from walls\n2. **Set Properties** - Modify existing properties or add new ones with the \"Set\" action\n3. **Connect Property Nodes** - Chain property operations by connecting nodes\n4. **Export Modified IFC** - Use the Export Node with \"ifc\" format to save your changes\n\n## 📚 Technical Details\n\n- **Web-Based Processing** - All IFC processing happens client-side using WebAssembly\n- **IfcOpenShell Integration** - Uses IfcOpenShell 0.8.1 via Pyodide for robust IFC handling\n- **Property Management** - Comprehensive property handling across property sets (Psets) and quantities\n- **JSON-Based IFC Model** - Efficient conversion between IFC and JSON for manipulation\n\n## 📜 License\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n\nThis project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This means:\n\n- You are free to use, modify, and distribute this software\n- If you modify the software, you must distribute your modifications under the same license\n- If you run a modified version of this software on a server that others can interact with, you must make the source code available to them\n\nSee the [GNU AGPL-3.0 License](https://www.gnu.org/licenses/agpl-3.0.en.html) for more details.\n\n## 📚 Learn More\n\nTo learn more about the technologies used:\n\n- [Next.js Documentation](https://nextjs.org/docs)\n- [React Flow Documentation](https://reactflow.dev/docs/introduction/)\n- [Radix UI Documentation](https://www.radix-ui.com/docs/primitives/overview/introduction)\n- [IfcOpenShell Documentation](https://blenderbim.org/docs-python/)\n\n## 🚀 Deployment\n\n[![Deployed on Vercel](https://img.shields.io/badge/Deployed_on-Vercel-black?logo=vercel)](https://vercel.com/)\n\nCheck out the [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouistrue%2Fifc-flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flouistrue%2Fifc-flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flouistrue%2Fifc-flow/lists"}