mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-12 18:43:26 +00:00
ifcquery, ifcedit, ifcmcp: add documentation
Add ifcquery, ifcedit and ifcmcp to the README contents table, the Sphinx docs toctree and introduction utilities table. Add new .rst pages for each package documenting subcommands, installation, usage, and parameter types. Fix plot and render CLI examples in ifcquery README to use -o/--out-format flags. Update ifcmcp README to use the installed ifcmcp command rather than python3 -m ifcmcp. Generated with the assistance of an AI coding tool.
This commit is contained in:
committed by
Thomas Krijnen
parent
c057e79f17
commit
9ea302cdf1
@@ -0,0 +1,75 @@
|
||||
.. This file was generated with the assistance of an AI coding tool.
|
||||
|
||||
IfcQuery
|
||||
========
|
||||
|
||||
IfcQuery is a CLI tool for querying and inspecting IFC building models. It
|
||||
provides read-only subcommands for common inspection tasks, all outputting JSON
|
||||
so results can be piped into other tools.
|
||||
|
||||
Subcommands:
|
||||
|
||||
- **summary** — schema version, entity counts, project metadata
|
||||
- **tree** — full spatial hierarchy (IfcProject → Site → Building → Storeys → Spaces → Elements)
|
||||
- **info** — deep inspection of any entity by step ID (attributes, property sets, placement matrix, type, material)
|
||||
- **select** — filter elements by IFC class using the IfcOpenShell selector syntax
|
||||
- **relations** — relationships for an element; use ``--traverse up`` to walk the hierarchy to IfcProject
|
||||
- **clash** — geometric intersection and clearance checks; requires the IfcOpenShell C++ geometry bindings
|
||||
- **validate** — schema and constraint validation; add ``--rules`` for a full EXPRESS check
|
||||
- **schedule** — work schedules with nested task trees
|
||||
- **cost** — cost schedules with nested cost item trees
|
||||
- **schema** — IFC class documentation using the loaded model's schema version
|
||||
- **contexts** — geometric representation contexts
|
||||
- **materials** — material definitions (IfcMaterial, layer sets, constituent sets, profile sets)
|
||||
- **plot** — generate a drawing (SVG or PNG) using ``ifcopenshell.draw``; PNG output requires ``cairosvg``
|
||||
- **render** — off-screen 3D render to a PNG image; requires ``pyvista`` and the IfcOpenShell C++ geometry bindings
|
||||
|
||||
All subcommands accept ``--format json|text`` to control output (default: ``json``).
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
::
|
||||
|
||||
pip install ifcquery
|
||||
|
||||
For PNG output from ``plot``, also install ``cairosvg``::
|
||||
|
||||
pip install cairosvg
|
||||
|
||||
For 3D rendering with ``render``, also install ``pyvista``::
|
||||
|
||||
pip install pyvista
|
||||
|
||||
Or install from source:
|
||||
|
||||
1. :doc:`Install IfcOpenShell <ifcopenshell-python/installation>`
|
||||
2. `Clone the IfcOpenShell repository <https://github.com/IfcOpenShell/IfcOpenShell>`_.
|
||||
3. ``cd /path/to/IfcOpenShell/src/ifcquery``
|
||||
4. ``pip install .``
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
::
|
||||
|
||||
$ ifcquery model.ifc summary
|
||||
$ ifcquery model.ifc tree
|
||||
$ ifcquery model.ifc info 42
|
||||
$ ifcquery model.ifc select 'IfcWall'
|
||||
$ ifcquery model.ifc relations 42
|
||||
$ ifcquery model.ifc relations 42 --traverse up
|
||||
$ ifcquery model.ifc validate
|
||||
$ ifcquery model.ifc validate --rules
|
||||
$ ifcquery model.ifc schedule
|
||||
$ ifcquery model.ifc cost
|
||||
$ ifcquery model.ifc schema IfcWall
|
||||
$ ifcquery model.ifc materials
|
||||
$ ifcquery model.ifc plot -o floorplan.svg --out-format svg --view floorplan
|
||||
$ ifcquery model.ifc plot -o floorplan.png --view floorplan
|
||||
$ ifcquery model.ifc render -o model.png
|
||||
|
||||
.. seealso::
|
||||
|
||||
Use :doc:`IfcEdit <ifcedit>` to make mutations to IFC files from the command
|
||||
line, and :doc:`IfcMCP <ifcmcp>` for interactive AI-assisted editing.
|
||||
Reference in New Issue
Block a user