mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 02:23:34 +00:00
7cd40bf8cb
ifcquery is a new command-line tool for querying and inspecting IFC models. All output is JSON.
Subcommands:
summary — schema version, entity counts, project metadata
tree — full spatial hierarchy (Project → Site → Building → Storeys → Spaces → Elements)
info <id> — deep inspection of any entity by step ID (attributes, psets, placement matrix, type, material)
select <query> — filter elements using ifcopenshell selector syntax
relations <id> — relationships for an element; --traverse up walks to IfcProject
clash <id> — geometric intersection and clearance detection
validate — schema/constraint validation; --rules adds EXPRESS checks
schedule — work schedules with nested task trees
cost — cost schedules with nested cost item trees
schema <class> — IFC class documentation from the model's schema version
plot — SVG plan drawing
render — 3D geometry rendering
contexts — geometric representation contexts
materials — material assignments
Usage:
python3 -m ifcquery <file.ifc> <subcommand> [args]
Generated with the assistance of an AI coding tool.
34 lines
854 B
TOML
34 lines
854 B
TOML
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "ifcquery"
|
|
version = "0.0.0"
|
|
authors = [
|
|
{ name="Bruno Postle", email="bruno@postle.net" },
|
|
]
|
|
description = "CLI tool for querying and inspecting IFC building models"
|
|
readme = "README.md"
|
|
keywords = ["IFC", "BIM", "Query"]
|
|
classifiers = [
|
|
"Programming Language :: Python :: 3",
|
|
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
|
|
]
|
|
dependencies = ["ifcopenshell"]
|
|
|
|
[project.scripts]
|
|
ifcquery = "ifcquery.__main__:main"
|
|
|
|
[project.urls]
|
|
Homepage = "http://ifcopenshell.org"
|
|
Documentation = "https://docs.ifcopenshell.org"
|
|
Issues = "https://github.com/IfcOpenShell/IfcOpenShell/issues"
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["ifcquery*"]
|
|
exclude = ["test*"]
|
|
|
|
[tool.ruff]
|
|
extend = "../../pyproject.toml"
|