Files
IfcOpenShell/src/ifcpatch
Petru Conduraru 9621388953 ifcpatch: correct the AGS2IFC docstring example
The example block was copy pasted verbatim from ExtractPropertiesToSQLite,
so it named the wrong recipe and wrote a .sqlite file. These docstrings are
what ifcpatch surfaces as CLI and UI help, so anyone following the example
for AGS2IFC got a recipe name that does not match the one they selected.

Also state that the input file is not read and that a new IFC4X3 model is
built, since that is not obvious from the signature and the recipe creates
its own project rather than patching the one passed in.

Generated with the assistance of an AI coding tool.
2026-07-25 19:46:32 +10:00
..
2026-01-26 17:10:03 +05:00
2024-06-27 11:49:12 +10:00

IfcPatch

Utility for applying modification recipes to IFC files. IfcPatch enables programmatic editing and correction of IFC models through a collection of patches that can fix common issues, migrate data, or transform models.

Available Recipes

Alignment and Linear Placement

  • AddGeometricRepresentationToAlignment - Add geometric representations to alignment elements
  • AddLinearPlacementFallbackPosition - Add fallback positions for linear placements
  • AddZeroLengthSegmentToAlignment - Add zero-length segments to alignments
  • PatchStationReferentPosition - Patch station referent positions

Data Conversion and Migration

  • AGS2IFC - Convert AGS (geotechnical) data to IFC
  • ConvertLengthUnit - Convert between length units
  • ConvertNestToAggregate - Convert nesting relationships to aggregations
  • ConvertPropertiesToQuantities - Convert properties to quantities
  • Migrate - Migrate between IFC schema versions

Element Extraction and Manipulation

  • ExtractElements - Extract specific elements into a new model
  • ExtractPropertiesToSQLite - Export properties to SQLite database
  • Ifc2Sql - Convert IFC to SQL database
  • TessellateElements - Tessellate elements into triangulated geometry

Fixing Software-Specific Issues

  • FixArchiCADToRevitDoorSwings - Fix door swing orientation from ArchiCAD for Revit
  • FixArchiCADToRevitSpaces - Fix space data from ArchiCAD for Revit
  • FixRevit2025TINs - Fix TIN (Triangulated Irregular Network) issues from Revit 2025
  • FixRevitClassificationCodeTypes - Fix classification code data types from Revit
  • FixRevitTINs - Fix TIN issues from Revit

Geometry and Representation

  • AssignConstituentFractions - Assign fractions to material constituents
  • DowngradeIndexedPolyCurve - Convert indexed poly curves to simpler representations
  • RemoveSiteRepresentation - Remove geometric representation from site elements

Merging and Optimization

  • MergeDuplicateTypes - Merge duplicate element types
  • MergeProjects - Merge multiple IFC projects
  • MergeStyles - Merge duplicate styles
  • Optimise - Optimize file size and structure
  • PurgeData - Remove unused data from model

Spatial and Coordinate Systems

  • OffsetObjectPlacements - Offset object placement coordinates
  • OffsetStoreyElevations - Offset storey elevations
  • ResetAbsoluteCoordinates - Reset absolute coordinates to origin
  • ResetSpatialElementLocations - Reset spatial element locations
  • SetFalseOrigin - Set a false origin for coordinates
  • SetRefElevation - Set reference elevation
  • SetWorldCoordinateSystem - Set world coordinate system
  • SplitByBuildingStorey - Split model by building storeys

Utilities

  • RecycleNonRootedElements - Remove or recycle non-rooted elements
  • RegenerateGlobalIds - Regenerate GlobalId values for elements
  • RemoveRevitUniformatClassification - Remove Revit Uniformat classification
  • UnsharePsets - Unshare property sets between elements