Open PR review index, whole repository
A living overview of every open PR, grouped by the maintainer who seems the best fit and sorted smallest and safest first, so the top of each list is quick wins. Assembled as a review aid because the open queue has outgrown what anyone can track in the PR tab. The (NL) tag on each entry is its total size in changed lines (additions plus deletions), so the top of every list is the cheapest review. We will keep it updated as things merge, and are equally happy to close it if it is not useful. No expectations on timing, this is only meant to save you triage clicks.
For the BIMvoice entries specifically: every body states root cause and verification, conflicting ones are being rebased or closed this week, and we would rather close any PR you do not want than have it clutter the queue. Delegating any sub-section to someone else is welcome.
Anyone is welcome to review. The grouping below is only a suggested starting point, no PR is reserved for one person. If you have the domain experience and merge access, please feel free to review and approve any PR here, not just the ones under your name. More hands makes this backlog move faster, and it is all appreciated.
Priority: CI health (review these first)
CI health now has its own tracking issue with the full checklist and status: #8870 . The PRs themselves stay listed under their reviewers' sections below.
Python core and utility APIs (91)
#8904 (108L) docs: C++ geometry iterator example (IfcOpenshell.org C++ examples are empty #2848 )
#8903 (13L) Build: install OpenCASCADE headers into install tree (OpenCascade headers #3164 ) [DRAFT]
#8899 (152L) ifcopenshell.api.type: instantiate occurrence parts from a typed decomposition (Show placed ObjectType aggregating two other object types #5505 /Blenderbim - support instantiation of aggregated types #2052 ) [DRAFT]
#8877 (32L) resource: allow physical base quantities on subcontract resources (design question for Andrej730/Moult) [DRAFT]
#8869 (25L) util.selector: metric/imperial_length pass through non-numeric values (decimal places in Spreadsheet Import/Export error when N/A #5297 )
#8513 (5L) Guard append_asset against an empty aggregate attribute (Error when trying to bim.append_library_element #7261 )
#8591 (5L) Bonsai: fix Timeline text date format to match sequence module convention (BB: Suggestion: Project Setup Option for Forced DateTime Format #2477 )
#8250 (6L) IfcTester: guard IFC2X3 entity type inference against restriction names (AttributeError: 'Restriction' object has no attribute 'endswith' when an element fails an entity requirement expressed as xs:restriction #8046 )
#8306 (6L) style.assign_representation_styles: fix crash on IfcPresentationStyleAssignment (Bonsai: Cannot add IfcSurfaceStyle to IFC from AVEVA E3D #7883 )
#8307 (7L) util.placement: pad 2D RefDirection without in-place resize (error when trying to edit opening #6256 )
#8391 (8L) Bonsai: fix "Save Pset As Template" on IFC4X3 custom psets
#8407 (8L) ifctester: normalise scalar IDS values to their XML string form (ifctester ids simple value pset prop checks on integers and strings (bug?) #7245 )
#8414 (9L) ifcopenshell: stamp new file headers with the current package version (Preprocessing version and originating system does not reflect current IfcOpenShell version in python #6678 )
#7970 (9L) (by @theoryshaw ) Fix Preserve local view when exiting aggregate mode #7969 : Preserve local view on aggregate mode exit
#8835 (10L) ifcsverchok: document how to work with an existing IFC file
#8874 (11L) Selector: add referenced_structures value key (IfcRelReferencedInSpatialStructure Selector Key Not available #7806 )
#8322 (12L) bonsai(pset): bind schema module directly so pset UI survives add-on reload (Bonsai are not loaded correctly #8236 )
#8290 (13L) Bonsai: fetch bSDD class properties from the properties endpoint (bSDD ratelimit in Bonsai #7985 )
#8254 (14L) Selector: negate list comparisons as an aggregate (Incorrect filter behavior for multi-selected enumerated values #8129 )
#8372 (14L) ifcclash: fail gracefully when scikit-learn is missing for smart grouping (sklearn library missing #4128 )
#8435 (14L) util.representation: recover wall length from a rectangle profile body (Walls created in other software get their shape reset if you edit them #8011 )
#8257 (15L) IfcClash: default NotRequired clash set keys instead of asserting (ifcclash raises unhandled AssertionError right after "Element metadata finished" on group B #8224 )
#8668 (17L) (by @theoryshaw ) project.append_asset: don't crash on untracked removed element (project.append_asset: AssertionError in SafeRemovalContext.__exit__ when removing an untracked element #8666 )
#8268 (20L) Selector: length formatters pass non-numeric values through (decimal places in Spreadsheet Import/Export error when N/A #5297 )
#8514 (20L) Refuse cyclic aggregation in aggregate.assign_object (Error when trying to create an aggregate from an object and an aggregate. #7154 )
#8531 (20L) Bonsai: copy-property-to-selection must not edit the inherited type pset (Issue editing occurence values (type override). It modify type value instead. #7412 )
#8838 (23L) ifcsverchok: recognize sverchok-master installs and fix stale unassign API calls (Sverchok activation & example working #6741 )
#8638 (24L) Fix When duplicating a linked aggregate (Y) within another aggregate (X), only one instance remains inside X after exiting edit mode, even though both were created there. #6663 : keep a duplicated nested aggregate inside its parent aggregate
#8256 (25L) Sequence: sub-day durations occupy their day when cascading (wrong durations in schedule #8245 )
#8291 (25L) spatial.assign_container: clear error for non-containable products (Floor assignment error #8084 )
#8280 (26L) sequence.cascade_schedule: milestones cascade with zero duration (IfcTask with isMilestone property should not have durations #6834 )
#8296 (27L) pset.edit_pset: empty string for a numeric property stores no value (Error when classifying elements using bSDD #4112 )
#8669 (27L) (by @theoryshaw ) project.append_asset: don't abort batch on GlobalId collision (project.append_asset: TypeError aborts entire append when a library type's GlobalId collides with a different-class element in the destination #8667 )
#8329 (28L) bonsai(bcf): store viewpoints in global coordinates on georeferenced models (Drawings & BCF from Georeferenced model #8205 )
#8636 (28L) Bonsai: persist colour-by-property Pset selection across save/reload
#8816 (28L) Bonsai: fix clash pin drifting away when a false origin is active
#8295 (30L) util.selector: set_element_value accepts a trailing index like get_element_value (Inconsistency between get_element_value and set_element_value queries using indices #4687 )
#8264 (32L) Selector: fix material != and NULL filtering (Search Selector filter for material issues #6787 )
#8756 (32L) project.append_asset: reject GlobalId matches across incompatible classes
#8258 (34L) root.reassign_class: raise a clear error when no class is applicable (Adding a typed annotation crashes: TypeError: IfcTypeProduct cannot type IfcAnnotation #8210 )
#8313 (35L) sequence: give sub-day durations a real intraday finish (wrong durations in schedule #8245 )
#8505 (35L) Support appending IfcGroup assets via project.append_asset (Import IfcGroups via the 'Project Library'. #8162 )
#8248 (38L) Selector: accept case-insensitive TRUE/FALSE in filter queries (Bugs with ExtractElements and other things #6116 )
#8274 (39L) Bonsai: report incompatible aggregates instead of crashing (error with aggregating aggreates #7983 )
#8253 (41L) IfcTester: fix predefinedType restrictions that include USERDEFINED (IfcTester. PredefinedType in different facets gives different check results #7855 , IfcTester. "USERDEFINED" in PredefinedType gives unpredictable results #7856 )
#8511 (41L) Expand wildcard attributes in IfcCsv export (IfcCsv query for All the attributes + Psets #3424 )
#8251 (43L) pset.edit_pset: treat an empty string for a numeric property as no value (Error when classifying elements using bSDD #4112 )
#8266 (43L) util.cost: add calculate_total_applied_value (ifcopenshell.util.cost | calculate_applied_value for multiple CostValues #5912 )
#8285 (46L) ifc4d: MSP2Ifc tolerates optional task elements (Allow ProjectLibre XML files to be imported into Bonsai #5556 )
#8624 (46L) bonsai: populate Colour By pset dropdown from the whole file, not just selection (bonsai colour scheme don't load pset #6353 )
#8281 (48L) ifcpatch: add console script entry point ([IfcPatch]Create proper CLI entrypoint / script #6436 )
#8249 (51L) IfcDiff: compare container and aggregate by GlobalId (IfcDiff - Results not as expected #4110 )
#8292 (53L) ifctester: entity requirement as xs:restriction no longer crashes on fail (AttributeError: 'Restriction' object has no attribute 'endswith' when an element fails an entity requirement expressed as xs:restriction #8046 )
#8298 (53L) pset.edit_pset: support updating IfcPropertyListValue properties (Support for editing the properties of P_BOUNDEDVALUE, P_LISTVALUE, and other types #5195 )
#8831 (55L) selector: fail loudly instead of resolving dotted pset queries against the wrong pset
#8708 (56L) Bonsai: mark predefined property sets as read only in the pset editor
#8610 (58L) (by @theoryshaw ) ifcpatch: fix MergeDuplicateTypes destroying distinct/cross-class types
#8390 (59L) Fix BCF 2.1 viewpoint and snapshot file names
#8622 (61L) bonsai: give resources their own fixed cost value field instead of borrowing Cost Schedules' (Resource Editor | Cost Value not updating #5088 )
#8543 (67L) Bonsai: diagnose IfcTester webapp startup failures instead of a dead browser tab
#8645 (68L) Bonsai: fix BCF viewpoint line markup crash on modern Grease Pencil API
#8616 (70L) ifcopenshell: use a resource's work calendar for day-rate cost conversion (Problem with Cost Item Resource Value #4122 )
#8723 (78L) ifcopenshell.util.element: a filling element's own container is authoritative over a shared opening's other hosts
#8320 (84L) ifcpatch(ExtractElements): defer shared relationship members to fix O(n²) extraction
#8836 (85L) Append aggregates with their parts, sub-aggregates and openings (when pulling in an aggregate via bim.append_library_element_by_query() that it retains all aggregates and sub aggregates and related ifcopeningelements #5909 )
#8581 (87L) Fix Csv2Ifc crash on CSV missing an optional column (Work Schedule not working #8580 )
#8550 (91L) util.shape: add opt-in winding-tolerant areas (Difference in quantity takeoff IfcOpenShell / Blender #5349 )
#8319 (105L) Retain linked aggregates when duplicating an aggregate (if you select every part of an aggregate, including those linked aggregates within, and then duplicate, it should retain the linked aggregates within. #8233 )
#8352 (116L) project.append_asset: migrate library asset to project schema on cross-schema append ([BBIM] error on appending element from default IFC4 project library to IFC4X3 project #4766 )
#8770 (166L) validate.py: flag instantiated measures with no corresponding unit
#8663 (178L) (by @theoryshaw ) api.project.append_asset: preserve material styles reached via a layer set usage
#8832 (207L) ifcopenshell.util.shape: fail loudly on non-finite elevation instead of returning the infinity sentinel
#8518 (221L) IfcDiff: optional content-signature matching to track real changes (Track real changes in IfcDiff #8412 )
#8519 (224L) Validate EXPRESS UNIQUE clauses via express_parser (Add support for validating UNIQUE functions in EXPRESS #4499 )
#8706 (251L) (by @theoryshaw ) ifcpatch: add MergeDuplicateContexts recipe
#8842 (288L) ifcpatch: FixDoubleTypedPredefinedType recipe to clean OJT001 double-typing in existing files
#8753 (295L) ifcopenshell.api: don't cascade a reassigned occurrence's class onto its shared type and siblings
#8855 (348L) bcf: add Reporter for exporting BCF topics to CSV/XLSX/ODS (BCF export to spreadsheet #950 )
#8707 (399L) (by @theoryshaw ) ifcpatch: stop MergeProjects leaving duplicate representation contexts
#8378 (705L) Add ifcopenshell.diagnostics: report the entity most likely behind a crash
#8540 (4094L) util.doc: stop truncating entity, type, pset and property descriptions at the first paragraph (The description of most IfcElemenTypes is incomplete #4624 )
#7920 (2L) (by @falken10vdl ) fix(ifctester): add setuptools to venv pip install for Python 3.12+ compatibility
#8161 (2L) (by @gernotluidolt ) fix(ifctester): allow IFCLOGICAL properties with UNKNOWN value to pass existence check
#7937 (3L) (by @JocelinBirling ) Repair IfcClash order
#8629 (18L) [conflicting] bonsai: extend each cost value by its own unit basis before summing ([Bonsai][5D] Incorrect Total Cost when multiple IfcCostValue entries use different UnitBasis values #8625 )
#8297 (27L) [conflicting] util.selector: numeric format functions pass through non-numeric values (Bug when exporting rounded values #6776 )
#7872 (45L) (by @dipayansardar73-decode ) feat: fix Bonsai collector crash (IfcElementAssembly | error if element is voided #7861 ) and add spatial_reference selector key (IfcRelReferencedInSpatialStructure Selector Key Not available #7806 )
#6497 (21L) [draft] (by @chrisjesuscj ) [IfcSverchok] Add failsafe so nodes without input don't show error when added to tree
#3851 (1406L) [draft, conflicting] (by @cvillagrasa ) Allow for passing IFC Schema attributes on API methods
Drawings and documentation (82)
#8512 (4L) Bonsai: guard drawing with no document reference in get_sheet_references (IFC file Bug Report #8036 , Error trying to delete a drawing #7266 )
#8275 (5L) Bonsai: keep an explicit denominator in custom drawing scales (2 : 1 Scale error #7957 )
#8445 (6L) Bonsai: keep holes when creating an annotation Fill Area (Cannot create hole in Fill Area #6315 )
#8642 (6L) Bonsai: tolerate an already-removed mesh/curve/camera data-block in delete_data
#8830 (6L) Bonsai: stop rasterizing fill-bg annotation text on PDF export
#8600 (6L) (by @theoryshaw ) Bonsai: skip drawing decorations when the scene has no active camera
#8633 (8L) bonsai(drawing): join mitred wall/slab linework by actual layer materials, not LayerSetName
#7719 (9L) (by @theoryshaw ) Fix The 'FALL' tag shows 'NO DATA'. #7718 : Fix FallDecorator label calculation for all slope annotation types
#8355 (10L) Bonsai: guard curve edit-mode for non-annotation curves, keep annotation curves editable (Error editing IfcSweptDiskPolygonal Representation #4813 , Can not edit annotation that use curves #5025 )
#8432 (11L) Bonsai: stop deleting user created Level (Section) annotations on drawing activation (Bonsai - Level (Section) disappears once Activate Drawing is selected #7450 )
#8434 (11L) Bonsai: persist a drawing camera size edit into the IFC representation (Bonsai does not save camera size for drawing into IFC #8034 )
#8005 (11L) (by @theoryshaw ) Closes would be nice if update_sheet_drawing_sizes resized from the upper left corner, verses from the center #7984 : Resize sheet drawings from upper-left corner
#8373 (12L) Bonsai: clear all stale annotation products on linked-aggregate refresh (Issues with annotation having multiple products #4014 )
#8820 (12L) Bonsai: capture BCF snapshot from the active viewport, not the parked camera
#8534 (13L) Bonsai: keep newlines and multiple spaces in SVG schedules (SVG schedule builder to accommodate newlines and spaces #5123 )
#8673 (13L) Bonsai: move temporary section cutaway panels to Drawings and Documents tab
#7868 (14L) (by @theoryshaw ) Fix Doing sections #7840 : Auto-create body context when adding drawing
#8304 (15L) Bonsai: apply georeferencing offset to imported drawing cameras (Drawings & BCF from Georeferenced model #8205 )
#8312 (15L) Bonsai: remove_drawing tolerates a drawing with no document (Error removing a drawing #6518 )
#8537 (15L) Bonsai: don't render spreadsheet-hidden columns in schedules (It would be nice if hidden columns didn't show up when bim.build_schedule was run #6729 )
#8643 (15L) Bonsai: stop deleting manually-created Level (Section) annotations
#8349 (16L) Bonsai: give Create Element and Annotation tools stable toolbar-popup shortcuts (Shortcut flip-flop between Create Element and Annotation Tool #4694 )
#8123 (16L) (by @theoryshaw ) Fix remove_drawing crash on corrupted drawing
#8343 (17L) Bonsai: auto-create Model/Body context on drawing creation for external IFCs (externally created IFC not containing a IFCGEOMETRICREPRESENTATIONSUBCONTEXT "Body" causes AttributeError in BBim #3217 )
#8351 (17L) Bonsai: apply the drawing Include filter to IfcSpace elements (IfcSpaces don't seem to be affected by the include parameter #4785 )
#7818 (17L) (by @theoryshaw ) Fix Would be nice if drawing names could include characters such as (, ), &, and others. #7784 : Fix drawing names with special chars in sheets
#8621 (18L) bonsai: strip CSS comments before embedding into generated SVG (Remove css comments in a printed svg #5567 )
#8328 (19L) bonsai(drawing): persist drawing camera zoom and crop on save (Drawings & BCF from Georeferenced model #8205 )
#8615 (19L) bonsai: add opt-in exact-geometry hidden line removal for smoother SVG curves (Rounded object looks choppy in the svg #4067 )
#8530 (21L) Bonsai: keep 'disable selection' objects visible when activating a drawing (When 'disable selection' is on, and you activate a drawing, it turns off the object. #7681 )
#8688 (22L) Bonsai: fix duplicate xmlns:xlink in drawings that use SVG patterns with elements
#8405 (24L) Bonsai: fix Freestyle drawing linework producing no lines on Blender 5.1 (Freestyle Linework Mode doesn't seem to work with Blender 5.1 #7657 )
#8797 (25L) Bonsai: add 1.3 mm and 1.5 mm annotation text sizes
#7715 (25L) (by @theoryshaw ) Generalize ExcludeAnnotation to any IFC element
#8386 (26L) Bonsai: fix IFC4X3 IfcAnnotation PredefinedType vs ObjectType handling
#8447 (26L) Bonsai: persist CSV attributes when saving a spreadsheet search (If you bim.add_csv_attribute and then bim.save_search(module="csv"), it doesn't save these attributes. #3950 )
#8637 (27L) Bonsai: embed bundled fonts in exported drawing SVGs
#8425 (28L) Bonsai: confirm before removing a sheet, which deletes files from disk (Unintentionally deleting all my layouts #5881 )
#8627 (28L) ifcopenshell: don't let camera Depth rescale Width/Height in perspective mode (In perspective view, don't tie Depth to Width and Height #6322 )
#8371 (32L) svg: don't gate out drawable non-solid shapes (terrain) from sections in setOnlyValid mode ("Create Drawing" not working for some views. #4029 )
#8440 (34L) Bonsai: fail gracefully when a drawing has no camera geometry (Error opening drawing #6613 )
#7971 (41L) (by @theoryshaw ) closes Have an equivalent of update_sheet_drawing_sizes for schedules as well. #5382 : Add update_sheet_schedule_sizes to SheetBuilder
#8671 (42L) Bonsai: preserve Z when editing FALL/slope annotation curves
#8630 (45L) Bonsai: fix Activate Drawing crash for punctuated drawing names
#8585 (49L) Bonsai: restore sheet SVG on undo/redo of drawing removal (If you bim.remove_drawing_from_sheet and then undo, the drawing is still removed from the sheet, when printing the svg. #7275 )
#8331 (53L) bonsai(drawing): plan drawings for spatial containers without a building storey
#8354 (53L) Bonsai: fail gracefully when the sheet PDF/DXF conversion command is missing or fails (BBim 240602 - error when printing sheets #4822 )
#8827 (55L) Bonsai: carry annotation status/phase classes onto text labels too
#8427 (56L) Bonsai: append a drawing view from a library as a real drawing (Bug when appending views from project library #6666 )
#8674 (58L) Fix Importing ifcmaterial attributes and material psets via Spreadsheet Import/Export #4322 . Support importing IfcMaterial and profile attributes and psets via Spreadsheet Import/Export
#8552 (62L) Bonsai: fix SHAPELY fill mode for linked projects in drawings (Shapely 'Fill Mode' not working when printing drawings with 'Linked Projects' #7061 )
#8382 (63L) Bonsai: resolve sheet drawing via document Location instead of fuzzy name match
#8601 (63L) (by @theoryshaw ) Fix 5493 sheet drawing link perf
#8356 (70L) Bonsai: store the drawing camera outside the Body context so viewers don't show boxes (IFC file from blenderbim with drawings shows up with boxes in solibri #4800 )
#8007 (75L) (by @theoryshaw ) Closes Figure a way to pull a scale from a reference SVG. #7877 :Add scale to reference view-title from SVG class
#8361 (84L) Bonsai: scope schedule/document styles on a sheet so they keep their own font (When a schedule is built, it has the correct font, but when it's placed on a sheet, it takes on the default font #5221 )
#8437 (92L) Bonsai: uniquify referenced SVG ids on a sheet so text does not garble (If a sheet has more than one referenced svg, it garbles the text #7289 )
#8802 (93L) Bonsai: draw element Axis reference lines in drawings
#7807 (114L) (by @theoryshaw ) Fix a Model/Body/PLAN_VIEW object doesn't show in PLAN_VIEW #7799 : Fix elements hidden when activating plan drawings
#8804 (116L) Bonsai: position drawings on sheets without leaving Blender
#8730 (126L) Bonsai: add a real linked TEXT annotation for dimension labels
#8734 (159L) Bonsai: don't let one bad element abort an entire drawing print
#8055 (166L) (by @theoryshaw ) Add export option to DebugActiveDrawing
#8799 (168L) Bonsai: real multiline entry for text annotations
#8338 (176L) bonsai(drawing): make viewport annotation text size resolution independent (Similar text size for annotations in different dpi #3353 , BlenderBim - custom text size pixel view does not reflect in viewport #3683 )
#8687 (244L) Bonsai: commit referenced drawing assets alongside the IFC in IfcGit
#8800 (266L) Bonsai: per element drawing appearance via assignable CSS classes
#8228 (314L) (by @theoryshaw ) Debug drawing faster failure search
#8681 (1003L) Bonsai: link external SVG/DXF files as snappable reference geometry
#7748 (13L) (by @KarimJerbi ) Fix Similar to being able to turn on/off the cut decorator, it would be nice to be able to turn off the annotation decorator as well. #7115 : Add toggle for annotation decorator visibility
#7895 (16L) (by @dipayansardar73-decode ) Fix: DetermFix: Deterministic and layered SVG annotation sort order (Resolves Inconsistent annotations order in the drawings svgs #6608 )inistic and layered SVG annotation sort order (Resolves Wall geometry sticking out #6 …
#8532 (23L) [conflicting] Bonsai: uniquify drawing name on rename so SVGs don't overwrite each other (Drawings with the same title overwrite each other when created #5635 )
#7869 (36L) (by @dipayansardar73-decode ) Refactor: Use ifcopenshell.util.profiler.Profiler in drawing operator
#8376 (144L) [conflicting] svg: guard HLR stages so one failing element or projection does not abort the drawing (Intelligent roof causing error with svgserializer #3971 )
#7918 (412L) (by @brunopostle ) Bonsai, drawing sheets show git tag revision history in titleblocks
#8171 (987L) [conflicting] (by @theoryshaw ) Add per-drawing render overrides (status_render module)
#7798 (5065L) [conflicting] (by @theoryshaw ) Manual drawing reference
#7965 (5315L) [conflicting] (by @theoryshaw ) Closes Have annotations, when first created, were located further inside the boundary box #6321 : Auto-snap SECTION endpoints to drawing border
#7923 (9L) [draft] (by @dipayansardar73-decode ) Fix: SVG Depth Ordering for Projections and Material Fills (Fix Projection line doesn't show #7902 )
#7922 (74L) [draft] (by @dipayansardar73-decode ) Feat: Nest ifcAnnotation inside drawing group (Fix Would be nice to be nest ifcAnnoation like lines/text/etc inside the drawing group. #7903 )
#7323 (102L) [draft] (by @falken10vdl ) Allow_complete_aggregate_move_in_drawing_mode
#7295 (1675L) [draft] (by @falken10vdl ) PR6717-6734: CSV_EXPORT_MULTIPLE_FILES and Output filters to spreadsheet export
Bonsai UI and workflow (258)
#8902 (136L) Bonsai: redo-panel toggle to invert wall join/extend trim side (BBIM Tool Join/Extend to be based on cursor location #3206 )
#8901 (34L) Bonsai: fix UnboundLocalError crash in polyline angle calculation
#8897 (13L) Bonsai: exclude IfcSpace from the default linked-model query
#8898 (33L) Bonsai tests: regression coverage for stale array child GUID during project load
#8894 (24L) Bonsai: preserve world position when classifying a mesh object as IfcElement
#8890 (107L) Bonsai: guard stale relating_type_id enum assignment in set/duplicate type
#8889 (136L) Bonsai: load projects with a nameless LENGTHUNIT instead of crashing
#8888 (5L) Bonsai: render text decorators for foreign-authored annotations with IfcTextLiteral
#8886 (98L) Bonsai: orient MEP bend fittings correctly between mitred run segments
#8884 (413L) Bonsai: carry diameter on distribution ports and connect two ports with a segment
#8879 (148L) Bonsai: exclude status-filtered openings from boolean cuts (in-memory)
#8880 (250L) Bonsai: confirm external door flips and sync type OperationType
#8881 (127L) Bonsai: add a display length unit preference
#8878 (27L) Bonsai tests: make boolean.feature survive STEP id drift
#8875 (157L) Bonsai: stack multiple saved CSV templates into one spreadsheet export
#8876 (15L) Bonsai: add Height setting for spaces generated from cursor
#8873 (49L) Bonsai: add Filter From Selection query builder to Search panel
#8872 (8L) Bonsai: show IfcSurfaceFeature in linked models
#8619 (1L) bonsai: surface IFC-aware join in the object/right-click context menu (Remove the 'Manually Save Representation' step when joining meshes #4349 )
#8317 (2L) Guard get_part_of_product against None RepresentationMaps (Bonsai: Error when creating doortype #8081 )
#8420 (2L) Bonsai: close IfcPolyline loops by appending the closing edge (Bug: IfcArbitraryProfileDefWithVoids hole disappears after TAB cycling #8043 )
#8639 (2L) Bonsai: fix missing closing edge when importing a closed IfcPolyline profile for editing
#8807 (2L) Bonsai: stop merged cut linework leaking classes onto disjoint pieces
#8803 (2L) (by @Bartok9 ) docs: add Eigen to Linux install deps
#8438 (3L) Bonsai: stop emitting a trailing segment on an open arc curve (Bonsai Bim. Three point and two point arcs vanish when created from a line #7786 )
#8443 (3L) Bonsai: sync material_type when selecting a material set in the Materials UI (bim.material_ui_select doesn't work for IfcMaterialProfileSetUsage or IfcMaterialLayerSetUsage. #6681 )
#8277 (4L) Bonsai: coerce non-string enum values when importing quick favorites (when i tried bim.import_quick_favorites() i got the following error, but they did seem to import, however. #7773 )
#8314 (4L) Bonsai: skip linework paths without a d attribute (Error when "Create Drawing" with IfcWall, IfcChimney and IfcOpeningElement #6876 )
#8401 (4L) Bonsai: baseline half space item placements so item edits keep all cuts (Editing a Custom Extruded Solid doesn't recompute the Blender Mesh Representation correctly #7737 )
#8421 (4L) ifcopenshell: order wall path cuts along the edge before stitching (Bonsai: One wall joint defroms joint in another place #7827 )
#8680 (4L) Bonsai: label the Explore Tool query results in the Links panel
#7899 (4L) (by @theoryshaw ) Center IfcOpeningElement bbox on 3D cursor
#8261 (5L) Bonsai: skip fully off-screen edges in 2D proximity snap (Polyline insertion near heavy linked IFC models: ray_cast_by_proximity_2d crash on None verts + severe slowdown from snapping against linked geometry #8187 )
#8270 (5L) Bonsai: accept comma decimals in dimension input (Decimal , and . for parametric elements #8262 )
#8327 (5L) bonsai(classification): report a clear error when adding a manual reference with no classification (Bonsai: Error when creating manual classification entry #7506 )
#8402 (5L) Bonsai: expose 2-Point Arc resolution in redo panel (CAD Tool: 2-point arc tool doesn't work correctly #7233 )
#8442 (5L) Bonsai: stop shifting an IfcSpace by the container elevation on Regen (Regen IfcSpace moves the geometry to wrong elevation #6405 )
#8653 (5L) Bonsai: let standalone IfcCurtainWall bound spaces and boundaries
#8273 (6L) Bonsai: OverrideModeSetObject must survive direct execution (Bonsai error when I create a new ifc model #8042 )
#8588 (6L) Fix geom.app viewer selection crash on current pythonocc-core (ifcopenshell qtviewer bug #2415 )
#8000 (6L) (by @theoryshaw ) Fix bag #7999 : Fix isolate_objects context for select_all op
#8357 (7L) Bonsai: fix crash linking a fresh IFC with Use Cache off (Link with query #8350 )
#8422 (7L) Bonsai: keep user linked collections when writing the metadata blend (Bonsai: Linked collections replaced by empty object when using "save session data to x.metadata.blend" #7978 )
#8590 (7L) Bonsai: lock IfcRelSpaceBoundary object transform to prevent geometry desync (IfcRelSpaceBoundary: improve geometry creation #2621 )
#8596 (7L) Bonsai: let curtain wall members/plates close space boundaries
#7892 (7L) (by @dipayansardar73-decode ) Fix Bonsai: One wall joint defroms joint in another place #7827 wall joint regression on ATPATH connectionsFix
#8263 (8L) Bonsai: drop stale kwarg when invoking add_reference_image (Error thrown when adding reference images to plan view #8130 )
#8315 (8L) Bonsai: don't crash editing a non-extrusion slab (Revit IFC to Blender/Bonsai render, problems with faces and shading styles #6283 )
#8381 (8L) fix(bonsai): add door geometry to an object with no mesh data (Trying to create a door with a custom width leads to an error #7117 )
#8426 (8L) Bonsai: decouple the Merge and Mirror buttons so Mirror works on walls (Blender - Bonsai: Mirroring Wall #6906 )
#8549 (8L) Bonsai: fix DirectProfileEdit crash when exiting edit mode (error in slab DirectProfileEdit #7624 )
#8735 (8L) Bonsai: draw the wall tool's void-edit confirm/cancel buttons last
#8599 (8L) (by @theoryshaw ) Bonsai: don't crash decoration labels on a zero-length text direction
#8654 (9L) Bonsai: default new Git repos to a main branch
#8334 (10L) Bonsai: don't crash the task time editor on malformed IfcDuration (BlenderBim - Work schedule task error when attempting to edit time #3091 )
#8335 (10L) Bonsai: fix nested mapped-item transform composition order (bbim native element mapped item handling probably not correct #3019 )
#8403 (10L) Bonsai: draw text-only leaders instead of crashing the decoration pass (Text decoration doesn't work until you delete a specific annotation #7655 )
#8589 (10L) Bonsai: allow nesting element type objects together (Nesting type objects #2283 )
#8623 (10L) bonsai: fix IFC Set Origin silently doing nothing for most objects (Automatically save origin location with having to Manually Save Representation. #6205 )
#8628 (10L) bonsai: report a clean error instead of crashing on invalid CAD hotkey selections (CAD Tool : 2-Point Arc gives runtime error when 2 vertices not selected #7228 )
#7870 (10L) (by @theoryshaw ) Fix PermissionError deleting locked HDF5 cache on Windows
#8206 (11L) (by @theoryshaw ) Fix stale object reference crash in measure tool snapping
#8293 (12L) Bonsai: guess_false_origin tolerates a file without a project (Error opening IfcProject in Bonsai (ifc_file.by_type("IfcContext")[0]) #7350 )
#8413 (12L) Bonsai: show IfcTextLiteralWithExtent attached to the parent context (IfcTextLiteralWithExtent not showing text #6479 )
#8592 (13L) Bonsai: don't crash save when an object's IFC entity no longer exists (Better saving management #2778 )
#8618 (13L) bonsai: don't silently corrupt geometry on a reverse-direction profile join ('Shift_E' not working as expected #4360 )
#8749 (13L) Bonsai: reconstruct light objects when reloading an IFC file
#8806 (13L) Bonsai: don't blow up a vertical AXIS3 element when its layers change
#8415 (14L) Bonsai: keep half space solids when regenerating a profile element (Editing Profile Name deletes Half Space Solids #7640 )
#8613 (14L) bonsai: reveal hidden collections when selecting objects by material ('Hard' remove a material from a project #4050 )
#8533 (15L) Bonsai: guard MEP Add Bend against parallel segments (Pipe or duct bend edit problem #6393 )
#8271 (16L) Bonsai: fail profile detection cleanly on discontinuous loops (Error when putting in a window #8072 )
#8325 (17L) bonsai(material): keep the layer panel in stored order so a wall flip does not reorder it (Unexpected behavior from the Wall flip fonction #8240 )
#8516 (17L) Bonsai: re-orthonormalize item placement in Item Mode (IFC Item Mode breaks IfcShapeRepresentation #6996 )
#8536 (17L) Bonsai: clean error instead of a traceback for Extend To Underside on a non-wall selection (shift+E to extend a column to slab not working #7454 )
#8829 (17L) Bonsai: clear occurrence PredefinedType when a type's PredefinedType is edited to a concrete value
#7898 (17L) (by @theoryshaw ) Fix IfcOpeningElement using wrong geometry context
#8269 (18L) Bonsai: don't crash TAB when EDIT is not in the mode enum (Trying to join various slabs on bonsai error #8066 )
#8679 (18L) Bonsai docs: fix quickstart isolate/hide/show default claim
#8703 (19L) Bonsai: let standalone windows bound spaces and boundaries
#8711 (19L) Bonsai: regenerate a wall's join neighbours when unjoining it
#7963 (19L) (by @theoryshaw ) Fix When copying a object with a void applied, it doesn't apply the void again right away. you have to 'toggle opening' for it to apply. #7948 : Fix duplicate not applying openings to geometry
#7744 (20L) (by @theoryshaw ) Fix When 'disable selection' is on, and you activate a drawing, it turns off the object. #7681 : Fix isolate_objects ignoring hide_select/hide_viewport (Fix #7681: Fix isolate_objects ignoring hide_select/hide_viewport #7710 )
#8614 (22L) bonsai: stop tessellating curves on every snap visibility check (Bonsai hangs when adding a wall if a medium size curve is visible #7525 )
#8705 (22L) Bonsai: stop a stale ifc_definition_id from aborting the whole project save
#7417 (22L) (by @theoryshaw ) try to catch bug in assign_product
#8346 (23L) Bonsai: flip fills against the Body representation so doors don't jump out of host in 2D (BBIM - Doors flipping with 2d representation change positions outside of host #4332 )
#8535 (23L) Bonsai: skip out-of-view-layer spaces in toggle_hide_spaces (Error: Object 'IfcSpace/0-2' can't be hidden because it is not in View Layer 'ViewLayer'! #5309 )
#8791 (23L) Bonsai: orient new door/window fillings by the wall's direction sense (Would be nice if doors/windows accommodated the directionsense of a wall. #6588 )
#8721 (24L) Bonsai: resync door and window openings after wall layer edits
#8828 (24L) Bonsai: stop writing IFC4.3-deprecated IfcStairFlight attributes
#8408 (25L) Fix search_in_dictionary() from bsdd.py fails when argument related_ifc_entity is used #7125 : search_in_dictionary honours related_ifc_entity via Dictionary/Classes
#7977 (25L) (by @theoryshaw ) The is a proposal include an effort estimate in the commit messag…
#8626 (26L) bonsai/ifcopenshell: fix mep bend crash when the segment gap is purely axial
#8417 (27L) Bonsai: preserve half space cuts when duplicating an element (Wall geometry not preserved when walls duplicated #7533 )
#8448 (28L) Bonsai: orient the section marker to the view direction (section annotation is going the wrong way. #4103 )
#8501 (28L) Bonsai: pick the true sweep edge in detect_extrusion_edge (If you convert the slabs using bpy.ops.bim.update_representation(ifc_representation_class="IfcExtrudedAreaSolid/IfcArbitraryProfileDefWithVoids") some of the geometry is incorrrect. #5898 )
#7422 (28L) (by @theoryshaw ) Remove object from non-IFC collections after IFC class assignment.
#8345 (29L) geometry.add_representation: keep loose edges (curves) when a mesh also has faces (curves ignored creating a custom 2D representation that consists of polygons and curves #4593 )
#8555 (29L) Bonsai: don't let a non-Body representation overwrite an imported wall (Bonsai: Wall Missing in Bonsai Model View compared to other viewers #8026 )
#8652 (29L) Bonsai: expose git describe string to titleblock templates
#8815 (29L) Bonsai: fail with an actionable error instead of a bare KeyError when addon preferences can't be found
#8344 (30L) Bonsai: sync storey placement on Load Spatial Structure + stop re-import resetting elevations to 0 (BlenderBIM - Load Spatial Structure should update current IfcBuildingStorey's location #4048 , Bonsai: storey elevations intermittently reset to 0 (spatial decomposition re-import triggers update_elevation) #8545 )
#8423 (30L) Bonsai: drop the connection at the moved endpoint when resizing an axis (CAD Tool: weird outcome for resize by moving endpoint #7975 )
#8337 (31L) Bonsai: round length attributes to model precision on write (Floor height precision loss #3129 )
#8340 (31L) Bonsai: import representations that mix polygons and curves (BlenderBIM doesn't support representations with mixed polygons and curves #4606 )
#8538 (31L) Bonsai: preserve material usage direction across a type change (AXIS2 gets changed to a AXIS3 #6676 )
#8774 (31L) Bonsai: allow 4D animation at parent task granularity
#8846 (31L) geometry: author door swing arcs as IfcCircle, not a slightly eccentric IfcEllipse
#8586 (31L) (by @sboddy ) Fix ValueError in get_axis2placement for 2D RefDirection
#8544 (32L) Bonsai: support circle profiles when editing an extrusion profile (when bpy.ops.bim.update_representation(ifc_representation_class="IfcExtrudedAreaSolid/IfcCircleProfileDef") is used, the circle profile doesn't show after bpy.ops.bim.enable_editing_extrusion_profile() #3381 )
#7736 (32L) (by @KarimJerbi ) FIX Bonsai - add option to make grids unselectable #6187 : Adds ability to toggle Grids and Grid Axes selectability
#7915 (32L) (by @theoryshaw ) Helps with Missing walls since the latest bonsai Version #7853 : Switch representation in bulk on selected objects
#8640 (34L) Bonsai: guard import_item against a None geometry shape
#8333 (35L) bonsai(model): TAB on a wall enters IFC Item Mode again (Tab to IFC Item Mode of wall unavailable #8330 )
#8798 (35L) Bonsai: generalise representation item deletion to nested items
#8347 (37L) Bonsai: relaunch the clipping-plane refresh modal after a .blend reload (ClipPlanes get stuck in IFC 2X3 #4641 )
#8507 (37L) Do not deduplicate appended assets by a blank name (ExtractElements dangerous default assume_asset_uniqueness_by_name: bool = True without a way to override from cli? #8045 )
#8819 (39L) Bonsai: regression test for foreign representation-item id on cross-file duplicate (Create Duplicate copy Object from New file to Old file #7351 )
#8012 (39L) (by @theoryshaw ) Closes Have the 'Measure Tool' work in edit mode, as well. #7691 : Enable bim.measure_tool in edit mode
#8612 (42L) bonsai: don't rebind Save target during Advanced-mode import preview (File->Import->IFC (Geometry Only) can result in data loss. #8611 )
#8593 (44L) Bonsai: set a default Axis on structural curve member/connection creation (Missing Axis attribute during structural curve item creation #3067 )
#8032 (44L) (by @theoryshaw ) Closes Duplicated object and annotation should get unique IfcRelAssignsToProduct #6621 : Fix IfcRelAssignsToProduct on duplicate
#8632 (45L) Bonsai: report a clean error instead of a traceback for unsupported bend profiles
#8529 (46L) Bonsai: support IfcTrimmedCurve arc segments when editing a profile (Error when tabbing into an extrusion. #6929 )
#8358 (51L) Bonsai: numpad decimal key inserts a dot in modal inputs, matching Blender (Decimal , and . for parametric elements #8262 )
#8678 (53L) Bonsai: allow assigning an IfcZone to another IfcZone via the Zones UI
#8718 (55L) Bonsai: apply parametric representation edits across the whole selection
#7916 (57L) (by @theoryshaw ) Helps with Missing walls since the latest bonsai Version #7853 : Select objects by RepresentationType from panel
#8326 (58L) project(append_asset): reuse an existing IfcClassification instead of duplicating it (Duplicate IfcClassification when importing a type from a library #7150 )
#8384 (61L) Bonsai: fix "Instance not found" crash when removing a stale presentation layer
#8693 (62L) Bonsai: let Shift+E extend non-typed profile extrusions
#8677 (67L) Bonsai: realign plate placement when a triangular profile is edited in 3D
#8692 (67L) Bonsai: add tooltips to 67 operators in classification, document, group, layer, library and unit modules
#8594 (69L) Bonsai: switch to external styles on RENDERED shading for viewports created mid-session (#3296)
#8760 (77L) (by @sboddy ) Perf: Speed up Status Filters visibility toggle
#8406 (79L) Fix #486: auto-add cross-file instances on attribute assignment
#8061 (79L) (by @theoryshaw ) closes #8060: add multiple customunits to the dimensions string.
#8429 (81L) (by @theoryshaw ) Fix horizontal profile editing for sloped LAYER3 slabs
#8446 (83L) Bonsai: make renames undoable (#5633)
#8348 (84L) Bonsai: fix DXF export dropping/scrambling polylines with integer or scientific coordinates (#4703)
#8727 (84L) Bonsai: confine Item Mode half-space cuts to the explicitly selected item
#7871 (85L) (by @theoryshaw ) closes #3804: Add S_K split support for profile-based elements
#8548 (87L) (by @theoryshaw ) Bonsai: add editable "Elevation from Storey" field to Placement panel
#8696 (90L) Bonsai: warn when overlapping solids cause shapely fill cells to merge
#8062 (96L) (by @theoryshaw ) Bim dimension suppress zero feet
#8648 (97L) Bonsai: split multi-material profile sets into per-item shape aspects
#8744 (98L) Bonsai: support aligning a hosted window/door to its wall's exterior/centerline/interior face
#8739 (101L) Bonsai: skip spaces with no linked Blender object when toggling visibility
#8339 (103L) Bonsai: don't crash Add Bend on parallel/collinear MEP segments (#3932)
#8796 (104L) Bonsai: surface + explicitly fix mesh-converted walls whose length is on local Y (#7453)
#8396 (106L) Clean up orphaned relationships after removing elements (IfcMechanicalFastener and others)
#8553 (106L) Bonsai: preserve a parametric profile through an edit round trip (#6481)
#8583 (107L) Bonsai: don't crash registration on read-only pyradiance installs (#7156)
#8395 (109L) Bonsai: fix creating IfcSpaceType from the Type Manager / Multi Object Tool
#8752 (120L) Bonsai: add one-click Convert to Type for untyped occurrences
#8541 (127L) Bonsai: implement Add Derived Unit in the units UI (#2554)
#8229 (127L) (by @theoryshaw ) Make LAYER2 parametric wall tools IFC-class agnostic
#8686 (130L) Bonsai: update existing space boundaries in place instead of skipping them on regeneration
#8308 (137L) Bonsai: don't cache a half-built IfcClassData on load failure (#6398)
#8743 (138L) Bonsai: warn instead of silently destroying faces in the 3-point arc CAD tool
#8064 (138L) (by @theoryshaw ) Ordinate dimensioning
#7858 (140L) (by @theoryshaw ) Fix #6602: Print IfcSpaces in projection.
#8755 (145L) Bonsai: resync mirrored walls' openings so voids follow their door/window
#7781 (145L) (by @theoryshaw ) Closes #7780 - Add ALT+Click to unhide stuff
#7648 (150L) (by @theoryshaw ) closes #3565 - extend profiles and basic extrusions to 3D cursor with…
#7833 (156L) (by @theoryshaw ) Grid issues
#8732 (162L) Bonsai: don't let a broken natsort disable the whole addon
#8813 (168L) Bonsai: guard set_objects_selection against excluded or hidden collections
#8709 (172L) Bonsai: key USERDEFINED task animation colour by ObjectType
#8795 (189L) Bonsai: warn before a unit change that would silently rescale the model
#8726 (192L) Bonsai: refresh every sharing element's mesh after an extrusion profile edit
#8841 (204L) Bonsai: load texture UV maps by default so textured IFCs actually render (#6702)
#8694 (212L) Bonsai: opt-in space generation that follows sloping roofs and slabs
#8720 (228L) Bonsai: compose element visibility with the Status filter instead of overwriting it
#8672 (242L) Bonsai: convert a solid IfcWall to a real parametric wall
#8758 (254L) Bonsai: wire Shift+K to split pipe/duct segments
#8699 (256L) Bonsai: automate wall coverings (cladding, insulation) from wall side faces
#8598 (283L) Bonsai/ifcopenshell-python: support editing IfcPropertyBoundedValue properties
#8837 (287L) Bonsai: surface ifcmerge auto-resolved placement conflicts after a merge (#6885)
#7940 (291L) (by @theoryshaw ) Concatenate selections
#8697 (322L) Bonsai: add MEP junction fitting operator (tee, wye, cross)
#8738 (346L) Bonsai: independent locks for the first and last stair tread
#8528 (355L) express: include referencing SELECT types in typeof() (#3187)
#8809 (377L) Bonsai: remove the dead Gherkin runner from test/bim/bootstrap.py
#8702 (402L) Bonsai: import georeferencing from BlenderGIS scene properties
#8675 (425L) Bonsai: watch the IFC file for external changes and reload in place
#8658 (483L) (by @theoryshaw ) Bonsai: toggle a profile type's length between typed and per-instance
#8676 (593L) Bonsai: add IFC Graph node editor to explore entity relationships
#8153 (673L) (by @theoryshaw ) Add CAD-style cross selection as the default for Bonsai tools
#8740 (714L) Bonsai: add a heavy-model generator and visibility benchmark harness
#8695 (732L) Bonsai: add Round and Arch shapes to the parametric window
#8587 (791L) (by @sboddy ) Fix #6896 wall generation from composite/arc/circle/rectangle slab profiles
#8733 (1644L) Bonsai: preserve flow direction when splicing a bend into a duct connection
#8839 (1928L) Bonsai: draw MEP flow arrows through bend fittings along the bend, not the chord
#8353 (1966L) Bonsai: preserve IfcStyledItem when regenerating a wall body (#4790)
#8698 (16114L) [Draft/RFC] ifcopenshell-python: generated typed IFC4 stubs for schema-aware by_type()
#7993 (1L) (by @isma3lMB ) Ensuring that Entity name is a string
#7478 (2L) (by @andy-5 ) Fix getting elements by predefined property sets in IFC2X3
#7851 (2L) (by @rares-radu ) Fixed missing definition resulting in USD support not being built
#8086 (2L) (by @falken10vdl ) Fix closing edge for IfcPolyline in convert_curve_to_mesh
#8087 (5L) (by @falken10vdl ) Use builder.polyline that is schema-aware for create_polyline_from_loop
#8747 (5L) (by @brunopostle ) Fix leak of IfcSpfLexer when read_from_stream returns early or throws
#8444 (9L) [conflicting] Bonsai: honour the CPU Multiprocessing toggle on representation reimport
#8441 (12L) [conflicting] Bonsai: bind the MEP fitting start port even when no port is at the origin (#6249)
#8858 (12L) (by @brunopostle ) Fix leak of entities on duplicate #id
#7931 (17L) (by @dipayansardar73-decode ) fix(bonsai): prevent NoneType assignment crash when modifying spatial structures of voided objects (Resolves #7801, Resolves IfcElementAssembly | error if element is voided #7861 )
#8065 (18L) (by @bsmithuk ) Fix AttributeError: 'Restriction' object has no attribute 'endswith' when an element fails an entity requirement expressed as xs:restriction #8046 - Entity xs:restriction name crashes with AttributeError on…
#7649 (21L) (by @danlipsa ) Fixes needed to build IfcOpenShell with ParaView
#7766 (30L) (by @KarimJerbi ) Fix #7743 : Fix clone opening UI and selection method
#7890 (31L) [conflicting] (by @dipayansardar73-decode ) Fix/stability regression 7885 7883
#8174 (31L) (by @carlopav ) Place IfcSpatialZone in its spatial parent's collection instead of Unsorted
#7813 (37L) (by @paragforwork ) Replaced the old profiler function with the ifcopenshell.util profiler
#7933 (37L) (by @dipayansardar73-decode ) fix(bonsai): resolve TypeError when importing Quick Favorites with Enum values (Resolves when i tried bim.import_quick_favorites() i got the following error, but they did seem to import, however. #7773 )
#8607 (42L) (by @CyrilWaechter ) Add copy attribute to selection for boundaries
#7795 (45L) [conflicting] (by @theoryshaw ) Closes #7765: Default IFC file path to relative and auto-convert on blend save
#7769 (46L) (by @falken10vdl ) Fix JSON formatting in launch.json and add "justMyCode":false to allow for breakpoints in Linux
#8385 (47L) [conflicting] Bonsai: fix wrong duplicated geometry for type mapped (ArchiCAD) elements (#7487)
#7986 (48L) (by @c-mellueh ) Use get class properties instead of get class
#6933 (53L) (by @theoryshaw ) proposed fix for #6931
#7839 (54L) [conflicting] (by @theoryshaw ) Fix #7838: Fix slab layer direction and thickness offset
#8145 (75L) (by @RickBrice ) Implements default direction of IfcAxis2PlacementLinear.Axis and RefDirection
#8857 (82L) (by @brunopostle ) Fix leak of mid-parse entities when an exception escapes the scan loop
#7961 (85L) (by @RickBrice ) Enables images for IfcImageTexture to be loaded from remote sources via http & https
#8510 (122L) (by @sboddy ) Claude specific file, automatically read on opening the repo
#7823 (139L) (by @paragforwork ) Patched the diagram_scale on unit change
#8509 (274L) (by @Vanuan ) Door/Opening documentation improvement
#8389 (315L) [conflicting] Quantify doors and windows from IFC attributes on both take-off engines (supersedes #4537)
#7837 (334L) (by @paragforwork ) Modified delete_container to delete all things inside it
#7863 (378L) (by @jazzific ) Documentation guide for Spaces basic modelling
#8200 (450L) [conflicting] (by @theoryshaw ) Preserve custom opening geometry via a type-level Reference template
#7873 (637L) (by @dipayansardar73-decode ) feat: comprehensive modernization and architectural refactoring
#8201 (658L) [conflicting] (by @theoryshaw ) Dev notes system
#8342 (765L) (by @falken10vdl ) Style flat pretty toggle
#7676 (778L) (by @falken10vdl ) Add construction lines tool for temporary reference geometry
#7917 (1049L) (by @brunopostle ) Bonsai, add license tagging for IFC elements
#8241 (1119L) [conflicting] (by @theoryshaw ) Additional selection and deselection tools
#7003 (1402L) (by @Rob2309 ) Add true object mirroring operator
#8242 (1417L) [conflicting] (by @theoryshaw ) Linked file features
#7669 (2038L) [conflicting] (by @falken10vdl ) First version clipboard module. 3 modes available (RENAME, DUPLICATE, DESTINATION)
#5452 (3420L) (by @chiragsingh1711 ) Radiance Rendering Changes
#8083 (6274L) [conflicting] (by @theoryshaw ) Parametric dimensions
#7653 (10167L) (by @jaliste ) Add material associations to IFC4 Demo Library window/door types
#2093 (14L) [draft] (by @ilkinkavi ) Modification of triangulated face set creation
#2236 (39L) [draft] (by @otsoa ) Topic/ignore contexts setting
#8854 (71L) [draft] (by @falken10vdl ) Add circle_segments setting to control circle approximation in geometry imports
#8098 (3773L) [draft] (by @falken10vdl ) Integrate CAD Sketcher module
#8139 (99539L) [draft] (by @Moult ) Ifcviewer wgpu
#7479 (20L) [draft, conflicting] (by @falken10vdl ) Makefile - enhance wget for improved resilience during downloads
#6437 (22L) [draft] (by @jes-r ) Added Text sizes 1.3 & 1.5 mm (#6426 almost closed), changed a few inconsistent spacings too
#7219 (25L) [draft] (by @brunopostle ) Put Bonsai webui PID file in a writable location
#2312 (39L) [draft, conflicting] (by @skinkie ) Deprecated fixes
#7809 (45L) [draft] (by @aothms ) Simplifies IfxAxis2PlacementLinear, assumes default Axis = (0,0,1)
#7645 (70L) [draft] (by @louistrue ) Fix optional cardinality handling for Attribute and PartOf facets
#7407 (83L) [draft, conflicting] (by @Gorgious56 ) Feature/display utilities refactor
#2476 (97L) [draft, conflicting] (by @cvillagrasa ) Add Thomas icons to BlenderBIM IFC classes
#3975 (100L) [draft, conflicting] (by @I-Sokolov ) ifcopenshell-python\test\fixtures: More fixes in passed IFC files
#4480 (114L) [draft] (by @Moult ) Merge work by FrogsInSpace
#7119 (138L) [draft] (by @falken10vdl ) Updated documentation for IDE guide for blender LTS 4.5.3
#7709 (168L) [draft, conflicting] (by @theoryshaw ) refactor: generalize layer set class and method names
#1201 (174L) [draft, conflicting] (by @Noranius ) Selection representation context
#3864 (244L) [draft, conflicting] (by @johltn ) Check IfcDateTime according to ISO standards
#643 (283L) [draft, conflicting] (by @atibaut ) *nix script build-all.py improved: solves the Issues #637 (segmentation fault 11) for Mac OS X
#7701 (614L) [draft, conflicting] (by @maxfb87 ) Fix failed tests
#8883 (275L) ifc5d: annotation boundary calculator for space areas (#8570 prototype, Moult design verdict pending) [DRAFT]
#8871 (24L) Bonsai: add a selector query filter for cost item quantity assignment
#7850 (1021L) [draft, conflicting] (by @falken10vdl ) Add BExpEng: Blender Expression Engine integration
#7570 (1710L) [draft, conflicting] (by @falken10vdl ) IFC link management with UUID support. Same file can be linked multiple times
#7064 (1870L) [draft] (by @BjornFidder ) Addition of numbering tool into Bonsai
#8467 (1L) ifcgeom: emit mtllib in OBJ output so materials are linked (#4846)
#8433 (2L) ifcgeom: use the real extrusion depth for IfcSurfaceOfLinearExtrusion (#8013)
#8452 (2L) serializers: fix empty-optional dereference in glTF finalize (separate Z-up node)
#8468 (2L) serializers: emit a stable id for nested materials in XML (#5109)
#8644 (2L) Bonsai: fix mismatched Fillet tooltip in CAD tool for plain mesh edit mode
#8712 (2L) IfcConvert: fix 1000x scale error in STEP export unit handling
#8811 (2L) ifcgeom: keep unopened geometry when opening subtraction throws a non-std::exception
#8808 (4L) SvgSerializer: only draw door swing arcs on the storey where the door is cut
#8856 (4L) SvgSerializer: emit machine-readable space area attribute; fix double-escaped area label (#1308)
#8424 (6L) IfcGeomTree: keep clash_intersection_many results in set_a, set_b order (#5357)
#8814 (6L) ifcgeom: fall back to unopened geometry when convert_openings() cleanly fails
#8772 (8L) ifcgeom: keep one copy of repeated faces in faceset helper duplicate removal
#8817 (8L) ifcgeom: fail the whole boolean when CGAL's base operand can't be preprocessed
#8419 (9L) IfcParse: free simple type instances created after load (#8070)
#8634 (9L) bonsai: preserve original tessellation edges from the CGAL kernel
#8466 (10L) serializers: glTF baseColorFactor should be the surface colour, not diffuse*factor (#2509)
#8520 (10L) ifcopenshell: fix geom.iterator memory growth on the OCC path (#6904)
#8635 (10L) bonsai: catch kernel RuntimeError when finishing an arbitrary profile edit
#8724 (10L) ifcgeom: avoid degenerate cross product in SvgSerializer for vertical section-line curves
#8454 (11L) ifcgeom: fix 'Failed to join curve segments' on zero-span trimmed conics (#6912)
#8767 (11L) ifcgeomserver, examples: finish renaming stray Ifc-prefixed internal classes (#1330)
#8862 (11L) Fix --no-normals ignored by CGAL kernel for OBJ output (#8861)
#8473 (12L) ifcparse: report INVALID_SYNTAX on a truncated file instead of success (#3460)
#8595 (12L) Fix IfcSweptDiskSolid directrix round-trip when updating representations
#8394 (14L) Fix IfcConvert --no-progress being ignored with --threads >= 2 (#1410)
#8469 (14L) ifcgeom: fix inverted normals on mirrored MappedRepresentations (#806)
#8492 (14L) ifcgeom: stop dropping products of dual-role representations on whole-file conversion (#2248)
#8542 (14L) Bonsai: delete representation items nested in an IfcGeometricSet (#6807)
#8853 (14L) ifcgeom: map IfcSphericalSurface so advanced-brep spheres render (#586)
#8404 (15L) Fix #7092: copy independent profile defs when duplicating a material profile set
#8522 (15L) ifcopenshell: attach owning file to geom.tree select results (#3189)
#8620 (15L) ifcopenshell: don't merge distinct splines through a mesh round-trip when writing curves (#5268)
#8370 (16L) ifcgeom: clone mapped items before in place mutation to fix nondeterministic multithreaded geometry (#8050)
#8463 (16L) ifcgeom: guard IfcGeom::serialise against null OCCT handles (#4926)
#8472 (16L) ifcgeom: fix inverted normals for indirect curved surfaces in IfcGeom::serialise (#5067)
#8457 (18L) serializers: correct OBJ texture-coordinate indices and guard material lookup
#8471 (18L) serializers: SVG cut plane from storey global placement, not Elevation attribute (#1231)
#8499 (18L) Retry boolean CUT that OCCT reports done but subtracts no volume (#5630)
#8453 (19L) ifcparse: don't segfault on truncated / fuzzed STEP files (#6750)
#8479 (19L) ifcgeom: CGAL kernel should emit the smoothed, unit vertex normal (#6997)
#8769 (19L) ifcconvert: default --threads to auto-detected CPU count (#2709)
#8771 (19L) GltfSerializer: fix hierarchy group node names, add opt-in --gltf-extras
#8439 (20L) serializers: use mesher-linear-deflection for polygonal HLR drawings (#7162)
#8461 (20L) ifcgeom: bounding-box broad-phase for the wire self-intersection check (#5999)
#8480 (20L) ifcgeom: fix CgalEmitOriginalEdges for placed elements (#6173)
#8500 (23L) Detect clash for perfectly aligned coplanar-face overlaps (#4594)
#8465 (24L) ifcgeom: cap wire_intersections recursion to prevent a stack overflow (#622)
#8822 (24L) (by @theoryshaw ) Bonsai: harden BBIM_Boolean.Data parsing against non-list payloads
#8286 (25L) Bonsai: don't assert on non-surface item styles in swept disk loader (#8194)
#8474 (26L) serializers: SVG bounding box should follow the drawn arc, not the full circle (#2629)
#8475 (29L) serializers: section-height-from-storeys should use global placement Z (#2638)
#8524 (30L) ifcgeom: fall back to unsliced representation when layerset slicing fails (#6607)
#8323 (31L) util.selector: match boolean properties by True/False spelling (#8100)
#8460 (31L) ifcgeom: fix is_manifold always false for a loose-face compound (#8105)
#8498 (31L) Use NEGATIVE-side IfcSurfaceStyle as a fallback instead of dropping it (#5618)
#8459 (32L) ifcgeom: don't segfault on null/empty boolean operands (#1366)
#8786 (34L) ifcgeom: don't silently accept implausible empty opening subtractions (#5779)
#8584 (35L) Bonsai: fix/report IFC Set Origin no-op on SweptSolid representations (#6727)
#8775 (36L) ifcgeom: retry failed batched opening cuts sequentially (#487)
#8546 (37L) Bonsai: support editing IfcGeometricCurveSet representation items (#6407)
#8515 (43L) Derive pipe segment length through boolean-clipped bodies (#6761)
#8450 (44L) ifcgeom: import IfcRightCircularCylinder CSG geometry (#6742)
#8792 (44L) IfcParse: read back non-finite REALs serialized with a trailing dot
#8805 (45L) ifcparse: combine UTF-16 surrogate pairs in \X2\ escapes
#8369 (46L) win/msys2: make the OpenCOLLADA dependency build skippable via COLLADA_SUPPORT (#6568)
#8847 (50L) (by @sboddy ) cgal: make deflection-driven circle tessellation unconditional for small-radius conics
#8784 (52L) ifcgeom: fix --site-local-placement breaking relative positions with nested IfcSites
#8486 (53L) ifcgeom: deterministic iterator output order under multithreading (#3904)
#8490 (57L) ifcgeom: cut openings when the wall void boundary has sub-precision edges (#4118)
#8852 (59L) ifcgeom: resolve default materials through the schema supertype chain (#473)
#8476 (66L) ifcgeom: honour POLYHEDRON triangulation type in the CGAL kernel (#5485)
#8521 (68L) ifcgeom: recover BRepCheck-valid non-manifold subtractions instead of dropping them (#620, #616)
#8489 (73L) ifcgeom: cut openings whose clip faces coincide with the host (#619)
#8508 (80L) Loft constant curved cross sections instead of crashing (#7658)
#8506 (82L) Fix IfcSweptDiskSolidPolygonal fillet: crash to correct rounded corners (#4094)
#8742 (83L) ifcgeom: don't crash the iterator when IfcProject.UnitsInContext is blank on a non-conformant file
#8801 (90L) SvgSerializer: optionally draw occluded linework as hidden lines
#8336 (105L) Bonsai: recover extrusions from OCCT-duplicated verts, tessellate only when truly not an extrusion (#2851)
#8810 (108L) ifcgeom: detect and repair collinear self-intersections in profiles
#8778 (110L) ifcgeom: salvage subtractions when OCCT refuses invalid boolean operands (#2320)
#8776 (120L) IfcParse: propagate file ownership when assigning instance attributes (fixes #414)
#8523 (123L) ifcgeom: collapse degenerate directrix segments to avoid a MakePipeShell hang (#8400)
#8278 (132L) pset.edit_pset: keep booleans for LOGICAL measures (#7475)
#8794 (144L) IfcCenterLineProfileDef: implement profile mapping (geometry side of #2077)
#8773 (147L) ifcgeom: add bbox-substitution-threshold to substitute overly dense geometry with bounding boxes (#2639)
#8750 (156L) Bonsai: add a UI entry point to author IfcSweptDiskSolid elements
#8488 (170L) ifcgeom: produce closed manifold IfcSurfaceCurveSweptAreaSolid sweeps (#1541)
#8485 (172L) ifcgeom: implement IfcRevolvedAreaSolidTapered following the revolve arc (#3540)
#8844 (179L) serializers: independent position/normal index streams for OBJ and Collada (#46)
#8840 (208L) ifcgeom/ifcparse: fix PSR library-API no-op, mapping-cache hang, and parser fast paths (#6712)
#8845 (215L) ifcgeom: style-aware permissive-shape-reuse folding; fix PSR on single-item mapped representations (#143)
#8757 (219L) IfcConvert: add --name-template for generic per-entity output naming
#8766 (225L) [Concept] Generic cross-schema apply_visitor for #1333
#8764 (232L) IfcConvert: port --name-template to ifcviewer-wgpu, convert coverage to pytest
#8751 (262L) (by @brunopostle ) Add opt-in libFuzzer harness for IfcParse::IfcFile
#8722 (268L) ifcgeom: fall back to CGAL when OCCT boolean produces coincident faces
#8768 (295L) serializers: emit IfcClassification associations in XML output
#8725 (392L) ifcgeom: detect and recover from OCCT's silent no-op boolean cut
#7908 (664L) (by @theoryshaw ) * Fix #3742: Remove coplanar boundary lines between adjacent same-mat…
#8859 (698L) ifcgeom: point/vertex representation support on clean v0.8.0 base (#1409, #5218)
#8787 (1271L) IfcConvert: remove unmaintained WITH_RELATIONSHIP_VALIDATION feature
#8660 (6L) (by @brunopostle ) IfcParse: don't let a malformed binary token abort the parser
#8661 (7L) (by @brunopostle ) IfcParse: don't abort when a string literal runs off the end of the file
#7670 (13L) (by @jaliste ) Fix Text decoration doesn't work until you delete a specific annotation #7655 : Handle missing spline data in decoration.py
#4862 (25L) (by @CKiOne ) more checks for 2D boolean check. Issue #4839
#8477 (29L) [conflicting] serializers: don't abort the whole SVG drawing when one element's HLR fails (#4130, #3849)
#8491 (30L) [conflicting] ifcgeom: recover 2D-optimized boolean cuts dropped on retry (#5186)
#8494 (36L) [conflicting] Keep valid non-manifold subtraction instead of dropping the cut (#1015)
#7523 (160L) (by @ZijianWang-ZW ) Fix: hybrid kernel sigsegv fallback (0.8.0)
#8377 (639L) [conflicting] Approximate swept solids in the taxonomy layer so cgal stops dropping IfcSweptDiskSolid (#8106)
#8793 (11L) [draft] (by @theoryshaw ) ifcgeom: defer partial CGAL shells to the next hybrid kernel (fixes #8052)
#4002 (250L) [draft] (by @deliciousteas ) IfcOpenShell Tutorial with C++
#7443 (524L) [draft, conflicting] (by @aothms ) Initial investigation into lofting open profile with tags
#7534 (816099L) [draft, conflicting] (by @aothms ) C++ datamodel v1.0
#8478 (2L) build: decouple the OpenCascade examples from BUILD_CONVERT (#7835)
#8557 (2L) Fix ci: test_get_class_relations calls the wrong bSDD client method
#8560 (2L) Fix ci-bonsai-daily: get_linked_element_geom_slice hidden-face index space
#8782 (2L) win: do not close the calling console when build-deps.cmd finishes
#8790 (2L) ci: push the latest tag when publishing the docker image
#8574 (4L) Fix ci-bonsai-daily: configure unmerged_blobs mock in git_mergetool tests
#8573 (6L) Fix ci-bonsai-daily: ProjectLibraryData duplicate parent-library enum entry
#8863 (6L) (dependabot) build(deps-dev): bump immutable from 5.1.5 to 5.1.9 in /src/ifctester/webapp
#8864 (6L) (dependabot) build(deps-dev): bump tar from 7.5.16 to 7.5.21 in /src/ifctester/webapp
#8575 (11L) Fix ci-bonsai-daily: guard on_depsgraph_update_caps during file load
#8456 (17L) examples: fix missing OpenCASCADE includes on MSVC x64 (#7822)
#8604 (18L) (by @thierry-FreeBSD ) cmake/CMakeLists.txt: fix for dependencies
#8783 (19L) win: document LNK1248 causes and the USE_CCACHE escape hatch
#8565 (23L) Fix ci-bonsai-daily BDD: OperatorSpy.bl_rna + stale MEP port name
#8571 (23L) Fix ci-bonsai-daily: assign_class drops active_object; assign_material usage type
#8566 (33L) Fix ci-bonsai-daily: classification operators honor their obj argument
#8685 (34L) win: pre-detect VS2017 MSBuild path before building mpir dependency
#8763 (43L) ci: fix compile-and-test failures on v0.8.0 (validate_stub crash + missing Optimise test deps)
#8276 (1988L) win: use exit /b in build-deps.cmd so the console stays open (#7884)
#7987 (2L) (dependabot) Bump lxml from 4.9.1 to 6.1.0 in /src/ifcopenshell-python/ifcopenshell
#8076 (2L) (dependabot) Bump lxml from 4.9.1 to 6.1.0 in /src/ifcopenshell-python
#8094 (2L) [conflicting] (dependabot) Bump black from 26.3.1 to 26.5.1
#8126 (2L) [conflicting] (dependabot) Bump gersemi from 0.26.1 to 0.27.7
#8029 (6L) (dependabot) Bump postcss from 8.5.4 to 8.5.13 in /src/ifctester/webapp
#8058 (6L) (dependabot) Bump devalue from 5.6.4 to 5.8.1 in /src/ifctester/webapp
#8181 (33L) (dependabot) Bump ws and engine.io-client in /src/ifctester/webapp
#8075 (34L) (dependabot) Bump svelte from 5.53.6 to 5.55.8 in /src/ifctester/webapp
#8028 (37L) (dependabot) Bump uuid and hyperid in /src/ifctester/webapp
#8189 (102L) (dependabot) Bump actions/checkout from 6 to 7
#8182 (1580L) (dependabot) Bump vite, @sveltejs/vite-plugin-svelte and @tailwindcss/vite in /src/ifctester/webapp
#5698 (5L) [draft] (by @cjmayo ) Install headers under CMAKE_INSTALL_INCLUDEDIR/ifcopenshell
#6449 (17L) [draft] (by @Adarshgupta1127 ) IfcConvert CI/CD Pipeline
#8868 (18L) ifc5d: compute footing gross area, volume and outer surface on the ifcopenshell engine (#6305)
#8318 (7L) Skip quantity takeoff for elements with empty geometry (#7147)
#8380 (16L) fix(ifc5d): correct swapped Width and Depth in Qto_SlabBaseQuantities
#8393 (40L) ifc5d: add base-quantity rule for IfcGeographicElement (#6508)
#8539 (40L) Resolve nested complex quantity paths in the selector (#2041)
#8287 (142L) ifc5d: professional grade ODS/XLSX cost schedule export (#6251)
#8503 (263L) Return nan for non-manifold volume and skip it in QTO (#6125)
#7329 (65L) [conflicting] (by @maxfb87 ) Ifc5d qto optimization
#8728 (159L) [conflicting] Bonsai: apply a new Pset/Qto to the whole selection, not just the active object
#8332 (294L) [conflicting] ifc5d: measure segment length from geometry when it is not a supported extrusion
#7342 (340L) (by @DimitriosThe ) #7331 related: Modifications to include IfcSpace entities in Cost Schedules, as elements and quantities + Project Library extended support for costing and scheduling
#8833 (1287L) alignment: support spiral transition curves and cant in the PI-method CSV import (#6890)
#7659 (9L) (by @jaliste ) Fix window/door preview alignment regression in ProductDecorator
#7785 (178L) [draft] (by @DesertSpringsCivil ) fix: Correct vertical/cant segment handling in alignment API
#7589 (3916L) [draft] (by @Moult ) Saikei alignment editing capabilities
Feel free to pin this if it helps, or close it if it does not. This index was assembled with AI assistance.
Open PR review index, whole repository
A living overview of every open PR, grouped by the maintainer who seems the best fit and sorted smallest and safest first, so the top of each list is quick wins. Assembled as a review aid because the open queue has outgrown what anyone can track in the PR tab. The
(NL)tag on each entry is its total size in changed lines (additions plus deletions), so the top of every list is the cheapest review. We will keep it updated as things merge, and are equally happy to close it if it is not useful. No expectations on timing, this is only meant to save you triage clicks.For the BIMvoice entries specifically: every body states root cause and verification, conflicting ones are being rebased or closed this week, and we would rather close any PR you do not want than have it clutter the queue. Delegating any sub-section to someone else is welcome.
Priority: CI health (review these first)
CI health now has its own tracking issue with the full checklist and status: #8870. The PRs themselves stay listed under their reviewers' sections below.
@Moult (431)
Python core and utility APIs (91)
TypeError: IfcTypeProduct cannot type IfcAnnotation#8210)bim.append_library_element_by_query()that it retains all aggregates and sub aggregates and related ifcopeningelements #5909)Drawings and documentation (82)
bim.build_schedulewas run #6729)includeparameter #4785)(, ), &, and others. #7784: Fix drawing names with special chars in sheetsbim.add_csv_attributeand thenbim.save_search(module="csv"), it doesn't save these attributes. #3950)DepthtoWidthandHeight#6322)update_sheet_drawing_sizesfor schedules as well. #5382: Add update_sheet_schedule_sizes to SheetBuilderbim.remove_drawing_from_sheetand then undo, the drawing is still removed from the sheet, when printing the svg. #7275)Bonsai UI and workflow (258)
bim.material_ui_selectdoesn't work for IfcMaterialProfileSetUsage or IfcMaterialLayerSetUsage. #6681)bim.import_quick_favorites()i got the following error, but they did seem to import, however. #7773)Manually Save Representation. #6205)ifc_file.by_type("IfcContext")[0]) #7350)bpy.ops.bim.update_representation(ifc_representation_class="IfcExtrudedAreaSolid/IfcCircleProfileDef")is used, the circle profile doesn't show afterbpy.ops.bim.enable_editing_extrusion_profile()#3381)assume_asset_uniqueness_by_name: bool = Truewithout a way to override from cli? #8045)bim.import_quick_favorites()i got the following error, but they did seem to import, however. #7773)@aothms (118)
@sboddy (41)
@maxfb87 (17)
@RickBrice (4)
Feel free to pin this if it helps, or close it if it does not. This index was assembled with AI assistance.