Releases: BHoM/documentation
Releases · BHoM/documentation
v6.1.β.0
BHoM
Feature
- Base_oM: add
IContainer
interface - BHoM: Add attribute for documentation URL attribute
- Dimensional_oM: Adding IElement3D
- Physical_oM: Add 3D Reinforcement representation
- Added
Reinforcement
objects to the Physical namespace that contain anIShapeCode
and aCoordinateSystem
- Added
IShapeCode
an interface that encompasses all shape codes, currently on BS8666:2020 is supported but there is scope to support other standards IShapeCode
objects contain the parameters of the shape code, the diameter and the bending radius, Engine methods have been added that will check their compliance, calculate the various parameters (hook diameter, end projection etc.) and generate their centrelines
- Added
- Physical_oM: Adding IElement and IPhysical interfaces to MeshElement
- Spatial_oM: Add support for cellular shape profiles
- Structure_oM: Add new set of timber material classes
- Structure_oM: Add new surface properties
Bug
- BHoM: Have compiling BHoM make a Settings directory.
- Environment_oM: Update spelling for BounderyZones
Compliance
- Base_oM: Add Description To IFragment
- Environment_oM: Add Versioning file for MachineLearning Toolkit removal
- Remove 6.0 PreviousVersion Attributes
- Update AssemblyFileVersion to 6.1
- Update Copyright Headers to 2023
Documentation
BHoM_Adapter
Feature
- Add caching system for CRUD methods
- Add module getting objects with no set ID from loads
- Add pre process module for pushing loads
- Adding recorderror message to the default Execute method
- BHoM_Adapter: adding method to unpack objects provided in Push
- BHoM_Adapter: allow push multiple Types at the same time by gathering dependency order
- Enabling additional step of checking identity before calling Update in the FullCrud method
Bug
ProcessObjectsForPush()
to first Unpack anyIContainer
, then check for IBHoMObjects- Fix distinct causes assigned properties to be lost
- Fix get dependency modules depending on order in constructor
- Fix issue with deep dependency types
- Fix replace objects in loads module culling duplicates
Compliance
- Moved and renamed Test solution; Test configuration and Build events
- Update AssemblyFileVersion to 6.1
- Update Copyright Headers to 2023
BHoM_Datasets
Feature
Bug
Compliance
BHoM_Engine
Feature
- Base_Engine: add method to unpack
IContainer
s - BHoM_Engine: Add methods to record events from exceptions
- Geometry_Engine: Add controls to external edges for mesh
- Geometry_Engine: Add missing methods for ellipse
- MEP_Engine: Add HVAC Heat Equations
Compute.ProcessSensibleHeat
Added processes sensible heat calculationCompute.ProcessLatentHeat
Added processes latent heat calculationCompute.ProcessTotalHeat
Added processes total heat calculationCompute.MassFlowRate
Added mass flow rate calculation calculation
- Physical_Engine: Added associated Engine methods for 3D reinforcement representation
- Added constructor for
Reinforcement
method which verifies theIShapeCode
is compliant with BS 8666:2020 - Added methods to calculate
SchedulingRadius
,HookDiameter
,GeneralEndProjection
andLinksEndProjection
based on BS 8666:2020 Table 2# - Added
Centreline
method to produce a centreline for theIShapeCode
provided
- Added constructor for
- Reflection_Engine: add method to collect all base types of a type
- Reflection_Engine: Add method to query the documentation URLs for a given MemberInfo
- Reflection_Engine: Subtypes query added
ImplementingTypes
andSubtypes
are essentially the same method, but I did not dare to merge them taken slightly different use cases (at least in my mind). However, happy to do it if requested in the review.
- Spatial_Engine: Add support for Cellular sections
- Structure_Engine - Adding tolerance to create panel methods
- Structure_Engine: Add methods for computing volume, material composition and thickness for new properties
- Structure_Engine: Add methods for setting analysis parameters for Timber materials
Bug
- Base_Engine: Fix issues initialising some Random objects
- BHoM_Engine:
IsNumeric()
to be explicit about whether enum types should be considered numeric- Provided a new
EnumAsNumeric
optional input toIsNumeric()
andIsNumericIntegralType()
methods.
- Provided a new
- BHoM_Engine: IToText fixed for primitives and DateTime
- Environment_Engine: opening split bug fixed
- Geometry_Engine: Fix StartPoint for NurbsCurve
- MEP_Engine: MEP Psychrometric Equations Unit and Descriptions Updated
- Physical_Engine: Make physical surfaces return material and volume of all content
- Serialiser_Engine: Prevent duplicated types being registered
- Structure_Engine: NullReferenceException on transform of a bar with null nodes fixed
External-api-changes
Compliance
- .ci - Remove unit test that is poorly designed
- Graphics_Engine: Adding fallback method to IToSVGString(this IGeometry geometry)
- BHoM_Engine: Remove failing unit test on random object generation
- Environment_Engine: Adding null handling protection to IsShade method
- Geometry_Engine: Fix wrongly named methods
- Geometry_Engine: project along lowercase character compliance
- Reflection_Engine: Update namespace of methods in Reflection Engine + provide versioning
- Remove 6.0 PreviousVersion Attributes
- Speech_Engine: Remove legacy prototype code
- Structure_Engine: Clean up ToBeRemoved methods
- Update AssemblyFileVersion to 6.1
- Update Copyright Headers to 2023
Test-script
BHoM_UI
Feature
- Add Information component for UI elements and update GetInfo to include full install version information
- Enum.GetNames replaced with IToText on enum label generation to leverage DisplayText attribute
- Search in dropdowns unlocked
Compliance
- [Update AssemblyFileVersion to 6.1](...
v6.0.β.0
BHoM
Feature
- BHoM: New DisplayText attribute
- Facade_oM: Add UValueCavity Fragment
- Geometry_oM: Add support closed, planar, non self-intersecting curve types
- Adding IBoundary interface for closed, planar, non selfintersecting curves
- Adding support for various types of curves fulfilling the requirements on the IBoundary interface.
- LifeCycleAssesment_oM: Add enum for Energy on Quantity Type for EnviromentalProductDeclaration
- LifeCycleAssesment_oM: Add IResultItem to EnvironmentalMetricResult
- LifeCycleAssesment_oM: Add new LCA result classes
- MEP_oM: Added ServiceClassification enum
- Physical_oM: Add MaterialTakeoff class
- Physical_oM: Add MeshElement
- Physical_oM: Formalise Density management
- Structure_oM: Adding missing rolling shear modulus and distinction between characteristic and average values for all moduli properties
Compliance
- BHoM: Move UnderlyingType to a sub folder
- Environment_oM: Added versioning_60.json
- Update assembly file version to 6.0
BHoM_Adapter
Bug
Compliance
BHoM_Datasets
Compliance
BHoM_Engine
Feature
- BHoM_Engine: Add DisplayText support on enums
- Environment_Engine: Add check for null Space perimeter in the IsValid method
- Environment_Engine: Add IsValid check for spaces
- Facade_Engine: Update Methods to Handle UValueCavity Fragment
- Geometry_Engine: Add join mesh method and fix MergeVertices
- Geometry_Engine: Add LargestComponent Query Method for Vectors and Points
Query.LargestComponentVector
Query
method added
- Geometry_Engine: Add PointAtParameter for ellipse
- Geometry_Engine: Fix edgecases for boolean methods and SplitAtPoints
- Geometry_Engine: implement GeometryHash
- Geometry_Engine: Support closed planar curve types
- Matter_Engine: Add material mapping methods
- Matter_Engine: Add material takeoff class
- Matter_Engine: Improve Density Management for Physical materials
- Spatial_Engine: Add Orient method for IElements
Bug
- BHoM_Engine: Fix SetProperty of numbers represented as strings
- Environment_Engine: Fix bug in Tidy Panels duplicating floor/ceiling panels
- Reflection_Engine: Add a check to filter out non-BH Types from the IsPrototype check
- Serialiser_Engine: added null check in MethodBaseSerialiser
- Added a null check in MethodBaseSerializer.
- Serialiser_Engine: Fix serialisation in Blazor web assemblies
- Serialiser_Engine: Fix ToJson for null Name property
- Versioning_Engine: Adding lock around the upgrader loop in the ToNewVersion method.
External-api-changes
Compliance
- BHoM_Engine: Update to BHoM change for UnderlyingType
- Matter_Engine: Add missing PreviousVersion Attributes
- Reflection_Engine: Final tidy up
- Remove 5.3 Previous Version Attributes
- Update assembly file version to 6.0
BHoM_UI
Feature
- Add ability to query the usage log file name for external toolkits to the UI
- Add event for when the UI is finished opening
- Add event to be triggered when the UI is closing
- Add file ID to trigger of usage args
Bug
- Protect against OnDocumentEndOpening not setting m_documentOpening to false
- Trigger for UI Loading events during analytics logging
Compliance
BHoMAnalytics_Toolkit
Feature
Bug
Compliance
CarbonQueryDatabase_Toolkit
Compliance
ClimateEmergency_Toolkit
Compliance
Clipper_Toolkit
Compliance
CSharp_Toolkit
External-api-changes
Compliance
Dynamo_UI
Compliance
ETABS_Toolkit
Compliance
Excel_Toolkit
Feature
Compliance
Excel_UI
Bug
- Fix crash on load for Excel sheets with Datasets
- Fix enum loading bug
- Persist ProjectID Via Worksheet Method
- ProjectID is persisted via
Compute.SetProjectID
method within the workbook
- ProjectID is persisted via
- Revert Persistent ProjectID Changes
- Set ProjectIdEvent with FileId
- Added FileId to ProjectIDEvent
Compliance
File_Toolkit
Bug
External-api-changes
Compliance
Grasshopper_UI
Feature
Bug
Compliance
- Fix compliance of CanvasID file
- Update assembly file version to 6.0
- Update to BHoM changes to UnderlyingType
GSA_Toolkit
Feature
Compliance
- [Fix project compliance relating to Adapter_oM](BHoM/GSA_Toolkit#267...
v5.3.β.0
BHoM
Feature
Compliance
- Remove 5.2 Previous Version Attributes
- Update assembly file version to 5.3
- Update Assembly Information
- Update COPYRIGHT_HEADER.txt
BHoM_Adapter
Compliance
BHoM_Datasets
Bug
Compliance
BHoM_Engine
Feature
- BHoM_Engine: EventRecorded event added together with the correspondent EventArgs
- Environment_Engine: Created a method for SetRegionGeometry
- Facade_Engine: Update Methods to Handle UValueContinuous Fragment
- Geometry_Engine: Added Query.FilterByNormal method
Query.FilterByNormal()
Query method added in theGeometry_Engine
for lists of PlanarSurface objects
- Security Engine: Camera Field of View
- Spatial_Engine: bounding box query for profiles added
- Structure_Engine: Add wall(panel) and floor(panel) and SurfaceElement(panel)
- Fixed bug in Physical.Create.Wall which ignored internal edges
- Added Wall(Panel), Floor(Panel) and ISurface(Panel, usage) to convert panels to physical surface elements
- Added IConstruction(ISurfaceProperty) to convert surface properties into Physical IConstructions. Convert to maintain total depth and material quantities, but may not accurately reflect geometry or structural properties of the SurfaceProperty. Ribbed properties will contain a void layer to reflect the missing concrete. Thus, it is not a 1:1 translation, until Physical IConstructions can represent the full range of objects represented by ISurfaceProperties.
- Added IVolumePerArea(Construction) matching the IVolumePerArea(SurfaceProperty) which gets the effective thickness of solid materials (important for comparison to MaterialComposition in material takeoff)
- Implemented IVolumePerArea() in SolidVolume() for ISurface and IOpening
Bug
- Diffing_Engine: Fix incorrect method reporting in
IDiffing()
- Geometry_Engine: Correctly pass tolerance for LineIntersection methods
- Graphics_Engine: Remove dependency on ColorTranslator for Gradient create method with no inputs
- Humans_Engine: Fix CValue variable use
- MEP_Engine: Update CircularEquivalentDiameter.cs
Compliance
- Architecture_Engine: Remove CleanRoom, version to use CleanRegion
- Environment_Engine: Created new methods for IsShade
- Remove 5.2 Previous Version Attributes
- Update assembly file version to 5.3
- Update Assembly Information
Documentation
Test-script
BHoM_UI
Feature
Bug
Compliance
- Remove 5.2 Previous Version Attributes
- Update assembly file version to 5.3
- Update Assembly Information
BHoMAnalytics_Toolkit
Feature
- Improve BHoM Analytics Pop Up Window
- Improved UX by modifying per UI
- Allows movable window
- Includes additional options for non project work
- Improves UI by including branding
- Obtain Project ID for analytics through more direct means
Bug
- Set Window Positions to Center Screen
CaptureProjectData.xaml
Window position set toCenterScreen
to alleviate issues with window popup appearing in nonsensical locations.
Compliance
CarbonQueryDatabase_Toolkit
Compliance
- Remove 5.2 Previous Version Attributes
- Update assembly file version to 5.3
- Update Assembly Information
ClimateEmergency_Toolkit
Compliance
Clipper_Toolkit
Bug
Compliance
CSharp_Toolkit
Compliance
Dynamo_UI
External-api-changes
- Bump Newtonsoft.Json from 8.0.3 to 13.0.1 in /Dynamo20/Dynamo_Engine
- Bump Newtonsoft.Json from 8.0.3 to 13.0.1 in /Dynamo20/Dynamo_UI
Compliance
EnergyPlus_Toolkit
Compliance
ETABS_Toolkit
Feature
Compliance
- Remove 5.2 Previous Version Attributes
- Update assembly file version to 5.3
- Update Assembly Information
Excel_Toolkit
Compliance
- Migrate over Adapter related files from original Excel_Toolkit (now Excel_UI)
- Update Assembly Information
Excel_UI
Feature
- Improved Excel Usage Logging
CallerFormula_Run.cs
Modified to call RecordEvent() for a new ProjectIDEvent to set the project id on the usage logs
Bug
- Excel Worksheet Name Limitations
ExcelAdapter.Create()
Create method modified to return an error when table name length exceeds Excel's limitations.
- Fix Excel VBA not functioning
Compliance
- Fix the versioning issues following the split
- Rename Excel_Toolkit -> Excel_UI
- Update assembly file version to 5.3
- Update Assembly Information
Documentation
- Typo in Internalise data button description
GetCustomUI()
Typo addressed
File_Toolkit
External-api-changes
Compliance
- Remove 5.2 Previous Version Attributes
- Update assembly file version to 5.3
- Update Assembly Information
Grasshopper_UI
Compliance
v5.2.β.0
BHoM
Feature
- Analytical_oM: Add identifier categorisation attribute for results
- Analytical_oM: Add IResultSeries interface
- Geometry_oM: Adding IElement2D interface to the PlanarSurface
- Graphics_oM: Add graphics render texture
- Graphics_oM: Adding RenderCurve class
- Lighting_oM: Tweaked and Added Lighting Results for Mesh and Series Result Support
- Structure_oM: Adding CorrugatedDeck and SlabOnDeck Surface Properties
External-api-changes
Compliance
BHoM_Adapter
Compliance
BHoM_Datasets
Compliance
BHoM_Engine
Feature
- Analytical_Engine: Refactor and efficiency of graph methods
- Significant speed improvement to Adjacency method
- Complete rewrite of EntityNeighbourhood to significantly quicker method making use of the Depth method. Most notable performance can be seen when finding Neighbourhood in both directions, and slightly larger Depth.
- Rewrite of the Geometry method for it to display more geometries, if set, and significant speed upgrade.
- Rewrite the way ProjectGraph works from excluding things not wanted, to pick out things sought for
- Diffing_Engine:
IPropertyDifference.Description
to contain modified object Name by default when possible- When diffing, the single property changes have now a Description which start by giving the Name of the modified object. The name is only given when it did not change between past and following object.
- A minor bug was also fixed, in that the Type was incorrectly reported before. Now the type is not exposed anymore, unless an option is turned on.
- More options to customise the Description have been implemented, but all of them are currently private and therefore not accessible, although they will be exposed soon.
- Diffing_Engine: more null guarding against empty IEnumerables in the ComparisonConfig
- Environment_Engine: Add tolerance param to Opening
- Facade_Engine: Improvements to Facade SolidVolume and MaterialComposition Methods
- Geometry_Engine: Adding methods required by IElement2D for PlanarSurface
- Geometry_Engine: Performance tweaks and thread handling
- Library_Engine: Add versioning for libraries
- Lighting_Engine: Added Create Methods for Lux Results, LuxSeries Results, and Mesh Results
- Result_Engine: Add support for IResultSeries type results for property extraction and display
- Results_Engine: Adding method for grouping by types of Identifiers
- Structure_Engine: Add layered shell methods
- Structure_Engine: Add metal deck surface property methods
Bug
- BHoM_Engine: fix Hash() method not working with CustomObjects
- Data_Engine: handle empty tags
- Data_Engine: Set Name and Tag in AsCustomObject()
- Diffing_Engine: fix
NumericalDifferenceInclusion()
that did not trigger check onIsNumerical()
correctly - Environment_Engine: Check for directory in ExportEPW
- Environment_Engine: Hard coded default acceptOnEdges to true
- Facade_Engine: MaterialComposition tweak to return valid empty value for valid empty frame edge
- Geometry_Engine: Fix only checking IsClockwise for closed curves
- Results_Engine: Fix FilterBy not filtering by all properties.
- Structure_Engine: Add check if bar contains reinforcement
Compliance
- CI: Update CI Code to new CSProject format
- Data_Engine: Add Round method from TAS_Toolkit
- Physical_Engine: Fix typo and punctuations
- Remove 5.1 Previous Version Attributes
- Structure_Engine: Add null check for reinforcement in material composition
- Update assembly file version to 5.2
BHoM_UI
Feature
Compliance
BHoMAnalytics_Toolkit
Compliance
CarbonQueryDatabase_Toolkit
Compliance
ClimateEmergency_Toolkit
Compliance
Clipper_Toolkit
Compliance
CSharp_Toolkit
Compliance
Dynamo_Toolkit
Compliance
EnergyPlus_Toolkit
Compliance
ETABS_Toolkit
Compliance
Excel_Toolkit
Bug
Compliance
File_Toolkit
Bug
Compliance
Grasshopper_Toolkit
Feature
- Add support for render texture
- Adding support for RenderCurve
- Caching of preview meshes to improve performance
Compliance
GSA_Toolkit
Bug
Compliance
HTTP_Toolkit
Compliance
iAuditor_Toolkit
Bug
Compliance
IES_Toolkit
Compliance
LadybugTools_Toolkit
Feature
Compliance
LifeCycleAssessment_Toolkit
Feature
Bug
Compliance
Localisation_Toolkit
Compliance
Lusas_Toolkit
Compliance
- [Update assembly file version to 5.2](https://github.com/BHoM/L...
v5.1.β.0
BHoM
Feature
- Analytical_oM: Documentation clarification and additions of results
- Analytical_oM: IResultCollection generic update
- Analytical_oM: Refresh of Result interfaces
- Environment_oM: TranslucentShade panel type
- Facade_oM: Extrusion Bounding Box Fragment
- Graphics_oM: Result display improvements
- LifeCycleAssessment_oM: Removal of Scope Object classes and Creation of Scope Fragment
- Structure_oM: Added Layer and Layered surface property
Bug
Compliance
- Diffing_oM: add required property to DiffingConfig to fix behaviour when custom ObjectDifference is needed
- Physical_oM: Removes all checks from the constructor of the MaterialComposition
- Provide versioning for Civil3D oM
- Reflection_oM: Migrate objects to Base_oM - Removing Reflection_oM
- All Reflection_oM objects moved to Base_oM
- Removal of
DeprecatedAttribute
(deprecated itself in v3.2) - Removal of Reflection_oM project
- Spatial_oM: Migrating grids and levels to Spatial
- Migrate Grids from Geometry to Spatial_oM
- Migrate Level from Geometry to Spatial_oM
- Add versioning from architectural grids and levels to migrated Spatial versions
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
BHoM_Adapter
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Remove PreviousVersion Attributes
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
BHoM_Datasets
Feature
Compliance
BHoM_Engine
Feature
- BHoM_Engine: ThreadStatic attribute taken off the debug log and replaced by a lock
- Data_Engine: tree children query added
- Environment_Engine: Create openings from a panel
- Environment_Engine: FilterPanelsByType now accepts a list of PanelType
- Facade_Engine: Method to Modify Section Profile Depth within FrameEdgeProperty
- Facade_Engine: SAM and CAM methods fixed and improved
- Result_Engine: Result display improvements
- Results_Engine: Simplifying Method Signature of DisplayMeshResults
- Spatial_Engine: Adding Geometry method for shapeprofiles
- Verification: Additional exceptions as errors for null checks
Bug
- Base_Engine: Making SetGeometry call TryRunExtensionMethod
- Diffing_Engine: Add function to get ObjectDifferences to correctly identify modified items in non-indexed/unsorted collections
- Reflection_Engine: LoadAllAssemblies fixed to load assemblies with dot in name
- Results_Engine: Checking ToString properties instead of IComparable for ResultFiltering
- Serialiser_Engine: Fix issue with classmaps of inner generic types
- Add convention for handling settings of all BSONClassMaps
External-api-changes
Compliance
- Align to changes in oM - moving Reflection_oM objects to Base_oM -> updating usings and codings to the new object locations
- Removes Reflection_oM dependencies from all projects
- Updates all usings from BH.oM.Reflection > BH.oM.Base
- Moves methods from Reflection_Engine to Base_Engine in line with previous agreements in issues 1645 and 2671
- Aligning with Grid and Level migration to Spatial
- Migrating all methods to do with Grids and Levels in Geometry_Engine to Spatial_Engine
- Aligning all other Engines to changes made
- BHoM_Engine: Fix typos
- CI: Exclusion added to the null checks
- Environment_Engine: Remove FindFragment
- Geometry_Engine: Add empty bounds methods for Face, Basis and TransformMatrix
- Humans_Engine: Align with making ViewQualityResults immutable
- Matter_Engine: Additional checks on Create for MaterialComposition
- Reflection_Engine: Include Replaced and ToBeRemoved back to the IsDeprecated check
- Remove PreviousVersion Attributes
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
BHoM_UI
Feature
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
BHoMAnalytics_Toolkit
Feature
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
CarbonQueryDatabase_Toolkit
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
ClimateEmergency_Toolkit
Compliance
Clipper_Toolkit
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
CSharp_Toolkit
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
DIALux_Toolkit
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
Dynamo_Toolkit
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
EnergyPlus_Toolkit
Compliance
- Align with changes in oM and Engine on Reflection -> Base
- Update AssemblyFileVersion to 5.1.0.0
- Update Copyright Headers
ETABS_Toolkit
Feature
- Add support for future ETABS versions
- Rename ETABS18Adapter to ETABSAdapter
- Make sure the ETABSAdapter starts the latest available version of ETABS on the computer
Bug
- [Fix spring stiffness for BarR...
v5.0.β.0
BHoM
Feature
- Base_oM: Adding Enumeration object
- BHoM: Add and refactor objects for Diffing
- Data_oM: Adding confidence enum to Source object
- Data_oM: Create LibrarySettings
- Diffing_oM: reworked
Diff
class; addedComparisonInclusion
and aComparisonConfig
base class- Added a
ComparisonInclusion
object that stores the result of the method of the same name, which can be implemented in specific Toolkits. This latter is called automatically by Diffing/Hash methods to determine if/how to include certain property differences. See BHoM/BHoM_Engine#2699 - Created a
ComparisonConfig
abstract class to allow Toolkits to implement more specific configurations. A default ComparisonConfig implementation is provided too. - Removed the previous solution that used ComparisonFunctions delegates.
- Added
ComparisonConfig
settings related to Numeric Tolerance and Significant Figures.
- Added a
- Enivironment_oM: Replace reference to "Zone" in Dwelling.cs
- Spatial_oM: Add support for tapered flange sections
- Structure_oM: Add timber design values to the Timber MaterialFragment class
- Structure_oM: Change default value of Node orientation to null
External-api-changes
Compliance
- Base_oM:
ComparisonConfig
properties description, naming and order revised for compliance- Renamed
CustomDataKeysToInclude
toCustomDataKeysToConsider
- Changed the ordering of the properties in
ComparisonConfig
for ease of use - Corrected/improved some property descriptions in
ComparisonConfig
- Renamed
- Base_oM: Adding missing virtual keyword on Enumeration properties
- BHoM: ISettings to implement IObject
- BHoM: Update default namespaces
- Diffing_oM: simplification of DiffingConfig and removing DiffingType
- Removed
BH.oM.Diffing.DiffingType
enum. It was only used inBH.Engine.Diffing.IDiffing()
to allow users to "steer" the automated process, but actually it complicated matters and was completely unused. - Removed 2 properties from
DiffingConfig
that should not have been there in the first place:CustomDataKey
andFragmentType
. Those allowed to specify (possibly conflicting) info on where the Diffing should fetch the objects Ids to be used. Now these are simply input parameters of the specific Diffing methods, separate from theDiffingConfig
. - Added an option to allow duplicate Ids in the input collections (for the rare cases where it could make sense
false
by default).
- Removed
- Graphics_oM: Refactor
Vertex
and rename it toRenderPoint
- Update Assembly Version
BHoM_Adapter
Feature
Bug
External-api-changes
Compliance
- Adapter_Engine: add reference for
HashComparer
- Added a
using
reference to support theHashComparer
that has been moved toBH.Engine.Base
fromBH.Engine.Diffing
.
- Added a
- Update Assembly Version
- Update default namespaces
BHoM_Datasets
Feature
External-api-changes
Compliance
BHoM_Engine
Feature
- Base_Engine: Adding basic support for Enumeration objects
- BHoM_Engine: Diffing and Hash to support Toolkit-specific requirements
BH.Engine.Base.Hash()
now fully supports theComparisonConfig.PropertiesToConsider
, down to the sub-properties.BH.Engine.Diffing.DifferentProperties()
now supportsComparisonConfig.PropertiesToConsider
.- The
BH.Engine.Diffing.IDiffing()
method is now capable of detecting otherDiffing()
methods that are defined in downstream toolkits and that should be invoked on objects coming from the toolkit's namespace. If the input objects come from multiple namespaces, the diffing is done by calling multiple methods and the results are merged. - This means that any Toolkit can define a toolkit-specific
Diffing
method that the baseIDiffing
can invoke automatically for the user. In most instances, we can expect those toolkit-specific methods to simply be doing some needed toolkit-specific object pre-processing, before calling one of the base methods which will do the heavy lifting. Example for Revit. - The toolkit-specific Diffing signature just needs to have 2 initial parameters of type IEnumerable (the two sets to compare) and an extra
DiffingConfig
parameter. Only one such method can exist in a Toolkit; if multiple are found, only the first discovered is used and an alert is raised. - This means that, like before, the users need to be only aware of the
IDiffing
method and do not need to know all of the subtleties behind the other methods, in most cases.
- Diffing_Engine: add
DiffWithCustomIds()
and related refactoring and simplifications - Diffing_Engine: allow Toolkit-specific methods to be called depending on presence of IPersistentAdapterId
- Diffing_Engine: Toolkit-specific Diffing methods; restructured Diff; numeric Tolerance
- Toolkitspecific Diffing now rely on TryRunExtensionMethod and a discovery of
*Diffing
methods that can be defined in specific namespaces. - Toolkitspecific
Query.ComparisonInclusion(SomeObject object)
methods are discovered and called by the Hash/Diffing functions when analysing object properties. TheComparisonInclusion
evaluates if/how specific properties should be included in the comparison; it can be implemented in specific Toolkits to allow for options that are specific to that Toolkit. - Alignments to the new
Diff
object structure. - Reworked the Custom numeric tolerances per property feature.
- General tidy up and quality of life improvements.
- Toolkitspecific Diffing now rely on TryRunExtensionMethod and a discovery of
- Environment_Engine Updated Method for isExternal.cs
- Environment_Engine: Add IsContaining method for an Environment Space
- Geometry_Engine: Add Length and area method to ellipse
- Graphics_Engine: added new RenderMesh extension method
- Added a
BH.Engine.Graphics.Query.RenderMesh(IObject obj)
method. This currently does two searches. First, it looks for anIRenderMesh
extension method first, which is currently defined in the TriangleNet_Toolkit. If that is not found, then aRenderMesh
extension method for the given object is searched. As we centralise the Meshing functionality more, we will be able to remove the former search.
- Added a
- Library_Engine: Enable user defined paths for libraries
- Library_Engine: Extract Confidence from Dataset
- Physical_Engine: Methods to query dimensions from Openings added
- Added
BH.Engine.Geometry.Query.Width
- Added
BH.Engine.Geometry.Query.Height
- Added
BH.Engine.Physical.Query.Height
- Added
BH.Engine.Physical.Query.Width
- Added
BH.Engine.Physical.Query.Bottom
- Added
- Reflection_Engine: assembly loading improved (2nd try)
- internal
BH.Engine.Reflection.Global
class introduced to store the reflected assemblies, types and methods as well as to monitor the current domain for any newly loaded assemblies BH.Engine.Reflection.Compute.ReflectAssembly
method added to extract all relevant information from an assembly in one placeBH.Engine.Reflection.Compute.LoadAssembly
method added to allow for loading single assembliesBH.Engine.Reflection.Compute.LoadAllAssemblies
refactored to allow for multiple calls in lifetime of theCompute
class- other methods refactored to leverage the above concept
- internal
- Reflection_Engine: LoadAllAssemblies refined to accept regular expression filters and allow parsing subfolders
- Reflection_Engine: reflection of non-BHoM types enabled
- [Spatial_Eng...
v4.3.β.0
BHoM
Feature
- Analytical_oM: Reformulate the IResult interface
- Modified
IResult
to become an empty interface (no required properties). - Added
IObjectIdResult
, that asks for anObjectId
- Added
ICasedResult
, that asks for aResultCase
- Added
ITimeStepResult
, that asks for aTimeStep
IAnalyticalResult
was added; this replicates what the oldIResult
used to be, by implementing all the abovementioned interfaces. All existing implementations ofIResult
were modified to referenceIAnalyticalResult
, so we maintain existing functionality.
- Modified
- Architecture_oM: IElement0D implemented by BuildersWork.Opening
- BHoM: IPersistentAdapterId not to require set on PersistentId
- Environment_oM: Added new objects for time dependent analysis grid results
- Humans_oM: Avalue analysis improvements
- MEP_oM: Add new fitting object
- Added
BH.oM.MEP.System.Fittings.Fitting
- Added
BH.oM.MEP.Enum.FittingType
- Modified
BH.oM.MEP.System.CableTray
- Removed
BH.oM.MEP.System.ConnectionProperties.IConnectionProperty
- Removed
BH.oM.MEP.System.ConnectionProperties.CableTrayConnectionProperty
- Added
- Structure_oM: Add RebarIntent objects for Bars and Panels
- Removed
MinimumCover
attribute fromConcreteSection
and migrated it toRebarIntent
- Changed how reinforcement is stored on a
ConcreteSection
, instead ofList<IBarReinforcement>
it now stores a singleBarRebarIntent
- Added a
BarRebarIntent
class that stores aList<IBarReinforcement>
and theMinimumCover
this inherits theIRebarIntent
interface as the overarching class for RebarIntent across different elements - Added
IRebarIntent
interface - Added
ReinforcementRegion
which defines the area of thePanel
that is being reinforced, this is using anICurve
and aBasis
- Added
PanelReinforcement
which stores the geometrical definition of the reinforcement, aligned to theOrientation
of theReinforcementRegion
i.e. local x is longitudinal and local y is transverse PanelReinforcement
also stores theMinimumCover
to allow the different layers of reinforcement to have different covers- Added
PanelRebarIntent
which inheritsIRebarIntent
andIFragment
storing the reinforcement intent of thePanel
and is added through theFragments
- Removed
- Structure_oM: Add ReinforcementDensity, BarRequiredArea and MeshRequiredArea classes
- Added
ReinforcementDensity
as aFragment
to be assigned toBar
andAreaElement
objects - Added
BarRequiredArea
/MeshRequiredArea
as aBarResult
/MeshElementResult
to receive results from calculations and/or software - Added
AreaPerUnitLength
attribute to theQuantities_oM
- Added
Compliance
- BHoM: Fix root namespaces for Diffing and Facade oMs
- BHoM: Removed GetShallowClone method from IBHoMObject and BHoMObject
- Update Assembly Version
BHoM_Adapter
Feature
Compliance
BHoM_Datasets
Feature
Bug
Compliance
BHoM_Engine
Feature
- Analytical_Engine: Add CleanRegion method
- Analytical_Engine: Add Region IsContaining method
- Architecture_Engine: IElement0D methods added to Architecture.BuildersWork.Opening
- Facade_Engine: Calculation Method to translate section U-values to Effective U-values by Area Weighting
- Facade_Engine: Improved Adjacency Methods and Added CurtainWall Methods
- Geometry_Engine: Added tolerance to Create PlanarSurface and methods it relies on
- Humans_Engine: Avalue analysis improvements
- Library_Engine: Add method for checking if Dataset is Prototype
- MEP_Engine: Add support for the new fitting object
- Modified
BH.Engine.MEP.Modify.SetGeometry
- Modified
BH.Engine.MEP.Query.Geometry
- Modified
- Reflection_Engine: Add method to detect if an item is part of the curated BHoM
- Reflection_Engine: Provide better support for setting a DateTime property with a string input
- Results_Engine: Aligning to IResult interface reformulation
- Spatial_Engine: Add query dominant vector
- Adds
BH.Engine.Spatial.Query.DominantVector
- Adds
- Structure_Engine: Add associated Engine methods for BarRebarIntent and PanelRebarIntent
- Refactor existing engine methods that make use of
IBarReinforcement
,LongitudinalReinforcement
orTransverseReinforcement
- Update
Create
methods that have inputs forMinimumCover
andList<IBarReinforcement>
- Added
Create
methods forBarRebarIntent
,PanelRebarIntent
,PanelReinforcement
andReinforcementRegion
- Added associated
IsNull
methods for the new objects
- Refactor existing engine methods that make use of
- Structure_Engine: Added methods for ReinforcementDensity, BarRequiredArea and MeshRequiredArea classes
- Added
Compute
methods to summate the required area inBarRequiredArea
andMeshRequiredArea
- Added
Compute
method to evaluate aReinforcementDensity
object based on aBarRequiredArea
- Made the
FindIdentifier
method public and migrated to the BHoM_Engine - Added descriptions for all
Min
andMax
methods in the Results_Engine - Added
MaxEnvelope
,MaxBarRequiredArea
andMaxMeshRequiredArea
methods - Added
MinEnvelope
,MinBarRequiredArea
andMinMeshRequiredArea
methods - Added
null
checks to theMin
andMax
methods in the Results_Engine
- Added
Bug
- Diffing_Engine: DiffWithFragmentId to pass the DiffConfig correctly
- Environment_Engine: Bug fixes for various methods
- Environment_Engine: Bug fixes to fix stack overflow & TidyPanels bug
- Facade_Engine: Fixed error handling and improved error/warning reporting for MaterialComposition
- Geometry_Engine: DistributeOutlines fixed not to require the collection of openings not to be empty
- Geometry_Engine: planar surface creation and DistributeOutlines checks/messages refined
- Geometry_Engine: Planar surface creation without openings fixed
- Reflection_Engine: Add ability to set Fragment property from list of objects
- Structure_Engine: Fix Query.CoordinateSystem crashing on self-intersecting Panels
- Verification: Make sure NullCheck method can call Generic methods
Compliance
- Analytical_Engine: Replaced calls to IClone with calls to DeepClone
- Architecture_Engine: replace calls to GetShallowClone
- BHoM_Engine: replaced calls to Query.Clone() and Query.IClone() with calls to BH.Engine.Base.DeepClone()
- Environment_Engine: Remove calls to GetShallowClone
- Facade_Engine: replace calls to GetShallowClone
- Lighting_Engine: Remove calls to GetShallowClone
- MEP_Engine: Fix project reference to Matter Engine
- MEP_Engine: replace calls to GetShallowClone
- Physical_Engine: replace calls to GetShallowClone
- Remove PreviousVersion attributes for previous milestones
- Security_Engine: Remove calls to GetShallowClone
- Structure_Engine: remove references to GetShallowClone
- [Structure_Engine: Replace calls to Clone, IClone, and GetShallowClone methods with calls to DeepClone and ShallowCl...
v4.2.β.0
BHoM
Feature
- Environment_oM: Move methods from SAP_Tk to core
- Facade_oM: Added Results and Fragments for UValues Applied to Frames and Openings
- Graphics_oM: Add GradientOptions and GradientCenteringOptions
- LifeCycleAssessment_oM: EPD Refactor to extend functionality
- Structure_oM: Adding UniformLoadSet and ContourLoadSet from RAM_oM
- Versioning_oM: Add oM from Versioning_Toolkit with VersioningEvent
Compliance
BHoM_Adapter
Compliance
- Handle nulls in Adapter_Engine methods
- Remove PreviousVersion attributes for previous milestones
- Update Assembly Version
BHoM_Datasets
Feature
Compliance
BHoM_Engine
Feature
- Facade_Engine: Added Methods to calculate UValues on elements based on new U and Psi fragments
- Architecture_Engine: Add distance method for Builders Work openings
- Environment_Engine: Add method for creating levels from regions
- Environment_Engine: Move methods from SAP_Tk to core
- Facade_Engine: Added ExternalEdges, GetEdgeType, and corresponding Create Methods
- Reflection_Engine: Add support for setting an enum property from a string
- Result_Engine, Graphics_Engine: Add DisplayMeshResults, MapResults, and methods for GradientOptions
- Serialiser_Engine: RegisterClassMaps added for entire assemblies
- Spatial_Engine: Remove Normal from RoundCoordinates
- Moved
FitPlane
methods forIElement
classes to theSpatial_Engine
. - Updated
RoundCoordinates
method for theIElement2D
class in theSpatial_Engine
. - Updated
RoundCoordinates
method for thePlanarSurface
class in theGeometry_Engine
.
- Moved
- Structure_Engine: Add conversion methods for FEMesh to Panel and vice versa for a limit use case
- Added
PanelToFEMesh
which converts aPanel
with 3 or 4Nodes
to anFEMesh
- Added
FEMeshToPanel
with converts anFEMesh
object in to aPanel
- Added
- Versioning_Engine: Add a VersioningEvents() and a VersioningKey(BsonDocument) method
- Versioning_Engine: Add BHoM version in serialisation
Bug
- Base_Engine: Create a useable DateTime for RandomObject
- BHoM_Engine: Adding null checks on geometry methods
- BHoM_Engine: Fix FilterByType
- Environment_Engine: Add the option to change panel type for panel objects
- Environment_Engine: Bug fixes on geometry methods
- Environment_Engine: Fix typo in method name + versioning for method as appropriate
- Environment_Engine: Skip IInternalEdges when set to null
- Geometry_Engine: point on plane projection fixed
- Reflection_Engine: Fix recursive ToText on types
- Reflection_Engine: Make sure no warning is shown when setting property of a CustomObject
- Serialisation_Engine: Fix Serialisation of Generics
- Serialiser_Engine: colour serialisation bug fixed
- Serialiser_Engine: Fix serialisation of Dictionary as top level object
- Spatial_Engine: Fixing RoundCoordinates(IElement) bug and unit test
- Updated
RoundCoordinates
method in theSpatial_Engine
forIElement2D
class. - Updated unit test for
RoundCoordinates
method in theSpatial_Engine
.
- Updated
Compliance
- Acoustic_Engine: Handle nulls
- Analytical_Engine: Handle nulls
- Architecture_Engine: Fix null handling
- BHoM_Engine: Handle nulls
- Data_Engine: Handle nulls
- Diffing_Engine: Handle nulls
- Environment_Engine: Null handling
- Facade_Engine: Handle nulls
- Graphics_Engine: Handle nulls
- Humans_Engine: Handle nulls
- Library_Engine: Handle nulls
- MEP_Engine: Fix null handling
- Physical_Engine: Null handling
- Reflection_Engine: Adding null handling
- Remove PreviousVersion attributes for previous milestones
- Structure_Engine: Fix null handling failures
- Update Assembly Version
Test-script
- CI/CD: Add test to make sure all methods can work with null inputs
- Geometry_Engine: Add unit tests based on method usage analytics
BHoM_UI
Feature
- Add ability to create a DateTime type from the CreateType component
- Provide a report of the upgraded component when opening a script
Compliance
- Migrate ISettings to the oM.Base namespace
- Remove PreviousVersion attributes for previous milestones
- Set .NET framework version to 4.5.2
- Update Assembly Version
BHoMAnalytics_Toolkit
Feature
- Usage data collection crowbared not to log Revit usage in case of RevitAPI assembly not being loaded
Compliance
CarbonQueryDatabase_Toolkit
Feature
Compliance
- Revert "Updates to support EPD refactor"
- Set .NET framework version to 4.5.2
- Update Assembly Version
ClimateEmergency_Toolkit
Compliance
Clipper_Toolkit
Compliance
CSharp_Toolkit
Compliance
DIALux_Toolkit
Compliance
Dynamo_Toolkit
Compliance
EnergyPlus_Toolkit
Compliance
ETABS_Toolkit
Compliance
Excel_Toolkit
Feature
- Add COM server to provide BHoM functionality in VBA
- Add support for DBNull when converting VBA nulls to C# nulls
- Add support for the versioning report window
- Provide better COM conversion for FragmentSet and Enums
Bug
- Add ability to force property types on CreateCustom
- Excel_Toolkit: Do not include empty cells when condensing a list
- [Force AddIn to clean after itself when excel is exited](https://github.com/BHoM/E...
v4.1.β.1
v4.1.β.0
BHoM
Feature
- Architecture_oM: BuildersWorkOpening class added together with necessary references
Opening
class added to Architecture_oM
- BHoM: Created ISpecification interface
- Environment_oM: Add opening configuration object
- Facade_oM: Added IElementM to FrameEdge
- Facade_oM: ConstructionOffsetFragment
- Graphics_oM: Add basic graphical objects
- Humans_oM: Refactor to c value objects
- Inspection_oM: Added two new properties to Issues
- Added 2 new properties to Issue object.
- LifeCycleAssessment_oM: Add new QuantityTypes, FoundationsScope Objects, and IScope
- New QuantityTypes for MEP related LCA
- All Scope objects now have IScope interface
- Addition of Column category to FoundationsScope
- LifeCycleAssessment_oM: Creation of ProjectLifeCycleAssessmentResults
- LifeCycleAssessment_oM: Make GWP Results settable
- MEP_oM: Add point-based MEP objects
- Reflection_oM: Add new attributes for supporting fragments
- Structure_oM: Add Auto Option to LoadPanelSupportConditions
- Test_oM: Adding EventMessage
- Test_oM: Implement IEvent interface
Bug
- Environment_oM: Update opening option to include opening type
- MEP_oM: Ensure materials implement correct interface
- Reflection_oM: Fix PreviousInput and Targets attributes serialisation
Compliance
- BHoM: Update Copyright_Header.txt file to reflect new year
- CI/CD: Fix CheckCore core.txt file
- Humans_oM: Add versioning for changes to CvalueAnalysis
- Lighting_oM: Make constructor public instead of protected
- Programming_oM: Remove ParentId property from INodeParam
- Reflection_oM: Fix non compliant IImmutable attributes
- Update Assembly Version
- Update Copyright Header to 2021
BHoM_Adapter
Feature
Compliance
- Adapter_Engine: Avoid signature duplication for AdapterId() methods
- Fix AdapterId versioning
- Update Assembly Version
- Update Copyright Header to 2021
BHoM_Datasets
Feature
Compliance
BHoM_Engine
Feature
- Architecture_Engine: missing Transform methods added
Transform
method added forBH.oM.Architecture.Elements.Room
- Architecture_Engine: Transform methods added for Ceiling, CeilingTile and Opening
Transform
methods added forCeiling
,CeilingTile
andOpening
- BHoM_Engine: adding Geometry3D methods
- CI/CD: Serialisation verification for methods and types
- Data_Engine: Methods to flatten and split the trees made of nested ILogicalRequests added
- added method to simplify trees made of nested
ILogicalRequests
- added method to split trees made of nested
ILogicalRequests
in a way that ensures that each resultant tree contains max. oneIRequest
of given type and all resultant trees combined constitute same request as the original tree - added a method to check whether a tree created by a set of nested
ILogicalRequests
contains two or moreIRequests
of given type that can conflict (fall into a logical and statement)
- added method to simplify trees made of nested
- Environment_Engine: Add new ExtrudeToVolume method
- Environment_Engine: Add opening creation from configuration options
- Environment_Engine: Map regionsA that are fully enclosing regionsB
- Environment_Engine: missing Transform methods added
Transform
method added forBH.oM.Environment.Elements.Space
- Facade_Engine: Add MaterialCompostion and SolidVolumes functionality
- Facade_Engine: ConvertOffsetDefinition
- Facade_Engine: Transform methods added
Transform
methods added for facade elements:FrameEdge
,Opening
,Panel
andCurtainWall
- Geometry_Engine: Cuboid IsContaining method.
- Geometry_Engine: IsRigidTransformation method added
IsRigidTransformation
query method added
- Humans_Engine: Cvalue analysis improvements
- Lighting_Engine: Add Base Lighting Engine Methods
- Lighting_Engine: added with the first method
- Lighting_Engine project added to the solution
Transform
method added forLuminaire
- MEP_Engine: Transform methods added for Duct and CableTray
Transform
methods added forDuct
andCableTray
- Physical engine: adding geometry3D method for Physical Floor
- Physical_Engine: Transform method added for IFramingElement
Transform
method added forIFramingElement
- Reflection_Engine: Add support for new fragments attributes
- Reflection_Engine: Added TryRunExtensionMethod
- Reflection_Engine: Adding check for Fragments in the DistinctProperties
- Reflection_Engine: ExtensionMethodToCall isolated from RunExtensionMethod
ExtensionMethodToCall
method isolated fromRunExtensionMethod
- Reflection_Engine: Fix bug on method with nested generic inputs called from the UI
- Reflection_Engine: Fixes necessary for the RunCode component
- Fix hardcoded separator instead of using the one provided as input in the ToText method
- Make sure assemblies are collected only once even for BHoM dlls
- Allow to collect indirect references in UsedAssemblies
- Reflection_Engine: Make the RecordEvent(Event) method public
- Reflection_Engine: SortExtensionMethods improved to return the most relevant method
SortExtensionMethods
improved to return the most relevant method when the typespecific one does not exist
- Security_Engine: Transform method added for CameraDevice
Transform
method added forCameraDevice
- Serialiser_Engine: add support for Json Arrays
- do not return a CustomObject upon deserialising a valid Json Array;
- allow ToJson to serialise json arrays.
- Serialiser_Engine: Align to forward versioning
- Spatial_Engine, Structure_Engine: OrientationAngleBar migrated to Spatial_Engine and renamed to OrientationAngleLinear
OrientationAngleBar
migrated to Spatial_Engine and renamed toOrientationAngleLinear
- Spatial_Engine: Add Query.IsFullyOnGrid() method
Query.IsFullyOnGrid()
Query method added in theSpatial_Engine
forIElement
class
- Spatial_Engine: Query Thickness of IProfiles
- Spatial_Engine: Rigid transformations for IElements0D, IElements1D and IElements2D added
- rigid transformations for IElements0D, IElements1D and IElements2D added
- Transform method added for
BH.oM.Graphics.Vertex
andBH.oM.Graphics.RenderMesh
- Structure_Engine: Transform methods added for structural elements
Transform
methods added forNode
,Bar
,RigidLink
,Edge
,Opening
,Panel
andFEMesh
- [V...