Commit Graph

50 Commits

Author SHA1 Message Date
Dion Moult ff3a98234d Fix bug in convert length unit recipe where IFC2X3 ownership history fails. 2021-11-19 19:12:55 +11:00
Gorgious 124ccf0404 (slightly) Optimise batch removing objects 2021-11-18 10:38:17 +01:00
Dion Moult 52e8ac386e New hacktastic IFC patch to fix ArchiCAD spaces being loaded into Revit. 2021-10-27 12:29:40 +11:00
Dion Moult 1d74306bc2 New recipe (and essay) to fix ArchiCAD IFC4 door swings showing up in Revit 2021-10-13 16:39:16 +11:00
Gorgious56 67c055579c Various tweaks and fixes (#1683)
* Use operator's poll method to ensure correct execution

* Add utilities to get active collection item

* Minor fixes
zombie code
list comprehensions
typos
cleanup
tooltips, descriptions
ensure file extension in folder operator
use custom UI List instead of generic one
ensure active object stays the same after operator execution
use passed context instead of bpy

* Jump through hoops to not display empty dynamic enums

* Group mesh calculation methods in helper module
If not using bmesh, the polygon selection status
is updated only when getting out of Edit mode.
Using bmesh we can get the values in realtime

* Remove unused arg name in dosctring
2021-08-23 08:07:29 +10:00
Gorgious f4fac9210d Fix https://github.com/IfcOpenShell/IfcOpenShell/issues/1664 : IFCPatch wouldn't correctly unpack un-hinted arguments 2021-08-17 09:46:43 +02:00
Gorgious 2c270a7315 Fix https://github.com/IfcOpenShell/IfcOpenShell/issues/1663 : Extract Docs is bundled with IfcPatch module 2021-08-17 09:36:53 +02:00
Gorgious56 296bf0387d Improve ifc patch arguments User Experience (#1655)
* Add description field to Attribute Container

* Add helper function to extract IFCPatch arguments

* Add Operator to populate Attributes with IFCPatch arguments

* Support int, float, bool and improve UX/UI

* Move all reflection logic inside helper module

* Improve UI

* Correctly unpack arguments when Patching IFC

* Refactor Attribute class to provide agnostic value access

* Take advantage of Attribute agnosticity refactor

* Use regular json if no docstring when Patching

* centralize docstring extraction in UI module

* Revert "centralize docstring extraction in UI module"

This reverts commit e7a63d2a0b.

* Place Patch description in recipe enum field

* Minor fixes

* Minor fixes

* Remove description field from Attribute

* Auto-update IFC Patch args on recipe change
2021-08-16 08:16:51 +10:00
Dion Moult 671f1ab9cf New feature to toggle default project unit assignment 2021-08-13 14:58:25 +10:00
Dion Moult ab8fd0a6fe WIP licenses. See #1082. 2021-08-07 21:15:36 +10:00
Dion Moult 5cf07a910e Include licenses on IfcOpenShell sub-utilities. See #1082. 2021-08-04 10:51:31 +10:00
Dion Moult 4184cff1a0 Add sample docstring and type hints for IfcPatch recipe. 2021-08-04 09:33:33 +10:00
Dion Moult 7403d14001 Fix IfcPatch pyinstaller script to make it easier to distribute ifcpatch. 2021-08-03 22:35:40 +10:00
Dion Moult e0cd74d0ad Fix #1338. Add documentation for how to use IfcClash. 2021-08-03 17:46:26 +10:00
Dion Moult 1f241912f2 Make recipe name generic 2021-07-27 20:47:49 +10:00
Dion Moult 07f19ad80a New patch to fix duplicate Revit types. See commit message for details.
Types in Revit are secretly duplicated (or more) if they are mirrored or hosted in another object unbeknownst to the user. So what the user thinks is a single construction type in Revit ends up being multiple IFC types. This leads to incorrect results when someone interrogates the IFC file. This is fundamentally an issue in the way Revit handles element mirroring and hosting, so there is no fix on the Revit side, so this workaround mitigates the issue by doing a shallow merge of the type objects.
2021-07-25 12:00:05 +10:00
Dion Moult 8ca6183313 Fix #169. New recipe to fix duplicate and invalid GlobalIds. 2021-07-25 11:39:11 +10:00
Dion Moult 37fe04ffd2 New recipe to downgrade indexed poly curves, often used to allow IFC4 grids to show up in viewers like Revizto / XBim Xplorer / etc. 2021-07-13 19:32:12 +10:00
Cyril Waechter 2a7fbea9c3 Add recipe to extract only spaces (#1521)
`ExtractElements` was not allowing to extract only spaces.
It also helps to workaround revit-ifc failure in linking spaces.
See: https://github.com/Autodesk/revit-ifc/issues/15
2021-06-17 10:31:18 +10:00
Dion Moult 3224c4fc77 New IfcPatch recipe to convert units of an IFC file. See #1247. 2021-05-10 10:39:17 +10:00
Dion Moult 19e67613db New recipe to clean up IFCs that store quantities in properties. 2021-05-10 09:27:31 +10:00
Dion Moult 319b59a266 Fix bug where sometimes migrating an IFC file schema version can explode in filesize 2021-04-28 16:53:38 +10:00
Dion Moult 071505038d Fix #1388. Extract elements IfcPatch recipe now retains aggregation relationships. 2021-03-16 21:48:17 +11:00
Dion Moult 28fbf0ea99 Minor fix 2021-02-23 18:55:42 +11:00
Dion Moult d874a0089d Add documentation for ifcpatch. 2021-02-22 22:04:23 +11:00
Long 73a9015801 ifcpatch make.py (#1319) 2021-02-13 20:23:59 +11:00
Long 7de3eec1b1 make ifcpatch callable from command line (#1317) 2021-02-13 10:06:15 +11:00
Long 01b1f4642f fix ifcpatch recipe import path (#1296) 2021-02-05 18:19:10 +11:00
Dion Moult 28717beff8 Merge branch 'feature/extract-openings' of https://github.com/iospectar/IfcOpenShell into iospectar-feature/extract-openings
# Conflicts:
#	src/ifcpatch/recipes/ExtractElements.py
2021-01-22 08:26:18 +11:00
Bernd Hahnebach 02fa8c8413 [read carefully before decide merge] !!! normalize line endings of src files (#1268)
* all source: prepare to normalize line ending

* all src: normalize line endings
2021-01-22 08:22:34 +11:00
Jesse Vander Does dc41ad5ab1 Adding openings from extracted elements 2021-01-20 09:51:46 -06:00
Cyril Waechter b10ba45194 Allow to install ifcpatch separately (#1263)
Will allow to provide ifcpatch as a standard python package for
various usages (eg. standalone, blenderbim addon, FreeCAD)
* Copy folder instead of files [using svn](https://stackoverflow.com/a/18194523/4098083)
* Fetch recipes from ifcpatch module path
2021-01-16 10:42:45 +11:00
Dion Moult 884e8a5663 Fix #1071. New IFC file version 2X3<->4 upgrader and downgrader IfcPatch recipe 2020-12-04 11:52:18 +11:00
Dion Moult 3240ec63b7 New recipe to extract out elements into its own IFC 2020-11-04 16:47:49 +11:00
Dion Moult e68f25bcfb ResetAbsoluteCoordinates recipe now attempts to avoid changing object placement coordinates, instead focusing on geometry coordinates.
This prevents a double up when combining with the OffsetObjectPlacement recipe when doing tricky patching.
2020-10-26 14:59:18 +11:00
Dion Moult 3bd58b7738 You can now specify user coordinates to ResetAbsoluteCoordinates recipe 2020-10-26 14:58:23 +11:00
johltn b534dc2199 Add Optimise recipe to ifcpatch 2020-10-25 18:22:33 +11:00
Dion Moult e56648e393 Simple recipe to merge two IFC files 2020-08-06 20:27:10 +10:00
Dion Moult 277786771c Optimise the optimisation recipe. See #944. 2020-08-05 15:12:23 +10:00
Dion Moult 61f6ecbf17 New IFCPatch recipe to optimise IFCs by recycling non rooted elements 2020-08-04 21:11:37 +10:00
Dion Moult 6c7ddcca9c Fix #940 2020-07-31 16:12:14 +10:00
Dion Moult e63f083a40 Fix bug where IFC2X3 files cannot have coordinates reset properly 2020-07-31 09:32:08 +10:00
Dion Moult 019f460af2 IFCPatch can now be used as a library or as a CLI 2020-07-25 18:38:35 +10:00
Dion Moult 4d8b130f2d Fix IfcPatch ResetAbsoluteCoordinates recipe to account for coordinate lists 2020-06-30 21:24:08 +10:00
Dion Moult 8b7850b3ff New IFC Patch recipe to split an IFC by building storey 2020-06-11 15:15:54 +10:00
Dion Moult 13d434c00f Fix incorrect OffsetObjectPlacement patch when coordinates or directions are recycled 2020-04-23 09:48:52 +10:00
Dion Moult 2bb57aebb5 New IfcPatch recipe to offset and rotate an entire model 2020-04-21 18:55:28 +10:00
Dion Moult 4c3051267e Repackage BlenderBIM Add-on in single add-on dir thanks to Stephen Leger from Archipack 2020-04-07 12:02:44 +10:00
Dion Moult 46c878341d Fix broken ResetAbsoluteCoordinates IfcPatch recipe 2020-03-27 09:04:20 +11:00
Dion Moult 7c97ad05fd New IFCPatch tool, which can "patch" an IFC, including adjusting coordinates and elevations. 2020-02-06 16:20:15 +11:00