v3.2.β.0
Pre-release
Pre-release
BHoM
Feature
- Architecture_oM: Created Occupancy Under Arch oM
- Added occupancy object under architecture oM
- BHoM: Add a constructor from List for FragmentSet
- Data_oM: Add generic graph query methods
- Data_oM: DomainTree and INode
- Add
INode<T>
as a base interface for datatrees - Add
Domain
defining a numerical domain - Add
DomainBox
defining a bounding box for an arbitrary amount of dimensions - Add
DomainTree
, which allows for fast queries based onDomainBox
es
- Add
- Data_oM: LogicalNotRequest implemented
LogicalNotRequest
has been implementedRequests
property has been removed fromILogicalRequest
- Diffing_oM: Corrections to the HashFragment and DiffConfig
HashFragment
now correctly implementsIImmutable
and its properties are getonlyHashFragment
propertyHash
renamed toCurrentHash
- Removed legacy properties from
HashFragment
(Name, BHoM_Guid, etc.) that had to be there for the oldIBHoMFragment
implementation to work. - Added descriptions in
HashFragment
. DiffConfig
: removedFragments
from thePropertiesToIgnore
. This adds the ability to diff also the Fragments;HashFragment
is ignored automatically in the Engine (see related PR).
- Diffing_oM: remove CustomData from the default "Ignores" of DiffConfig
- Diffing_oM: update type definitions
- Environment_oM: Add ACH to Exhaust Object
- Environment_oM: Add Acoustics Object
- Environment_oM: Add Air as PanelType
- Environment_oM: Add AnalysisGrid and Mesh Results
- Environment_oM: Add Hole as OpeningType
- Environment_oM: Add IElementM to suitable objects
- Environment_oM: Add space perimeter curve to Space object
- Environment_oM: Create Exhaust Object
- Added exhaust object
- Environment_oM: Modify Space Object and Ventilation
- Environment_oM: Revised Profile Object, Created ProfileDay, Revised ProfileType
- Environment_oM: Update to objects from discussion #779
- Create new
Time
object - Update
SpaceTime
to useLocation
andTime
- Update
Building
to useLocation
- Update gains
- Remove
AirHandlingUnit
- Create new
- Environment_oM: Updated Ventilation Object with AirChangeRate property
- Added airchangerate property to the ventilation object
- Environments_oM: Updated Infiltration Gain Object Properties
- Properties for Infiltration gain updated to reflect standard practice
- Geometry_oM: Add Conditional Explicit Casts Between Curve Types.
- from
PolyCurve
to anyICurve
- from
Ellipse
toArc
,Circle
- from
Arc
toCircle
,Ellipse
- from
Polyline
toLine
- from
NurbsCurve
toLine
,Polyline
- from
- Geometry_oM: Explicit casts for Curves
ICurve
toPolyCurve
Line
,Polyline
,Ellipse
,Circle
toNurbsCurve
Circle
toEllipse
Line
toPolyline
- Geometry_oM: Make PlanarSurface IImmutable
- Graphics_oM: additions for the new ToRenderMesh infrastructure
- ILifeCycleAssessmentConstruction
- LifeCycleAssessment_oM: Add LifeCycleAssessment results objects for element and project results
- LifeCycleAssessment_oM: iEnvironmentalProductDeclaration MaterialFragments
- LifeCycleAssessment_oM: IMaterialProperties and IFragment
- LifeCycleAssessment_oM: Migration of LifeCycleAssessment objects
- LifeCycleAssessment_oM: Update Scope objects to work with IElementM
- MEP_oM: Added Fire Protection Object
- MEP_oM: Created Pipe Type Enum
- MEP_oM: Modified Air Handling Unit and Added AHU Part
- Reflection_oM: Adding PreviousVersion attribute for versioning support
- Reflection_oM: Provide a distinction between deleted and replaced instead of deprecated
- Reflection_oM: Update output to allow larger number of outputs
- Spatial_oM: Adding in inital 2D-layout objects
- Spatial_oM: Adding project
- Structure_oM, Spatial_oM: Add Transverse Reinforcement and Curve Layouts
ExplicitCurveLayout
,OffsetCurveLayout
andICurveLayout
classes added in theSpatial_oM
TransverseReinforcement
class added inStructure_oM
.
- Structure_oM: Add IProperty interface to all property type objects
- Structure_oM: Add modifier fragment to Section and Surface Properties
- Structure_oM: Add Node Modal Mass Result
- Structure_oM: Implement IElementM for Area elements
- Structure_oM: Make all results immutable and add ModeNumber
- Add new
IStructuralResult
interface, containingModeNumber
- Update all structural result classes to implement new interface and add
ModeNumber
property - Make all structural results immutable
- Add new
- Structure_oM: Override name property for structural properties
- Structure_oM: Refactor bar reinforcement
- Complete refactor of bar Reinforcement objects making use of layouts in spacial_oM
- All old reinforcement classes marked as
ToBeRemoved
- Adding Rebar object to the Physical_oM
Bug
- Diffing_oM: added constructor to DeltaPayload class to fix serialisation error
- LifeCycleAssessment_oM: Fixed Scope Objects
- LifeCycleAssessment_oM: Update ProjectArea Enum
- Reflection_oM: Fix invalid IImmutable constructor parameter names
External-api-changes
Compliance
- Architecture_oM: Remove Common_oM dependant Objects
- BHoM: Make oM properties virtual
- BHoM: Migrate IResult to Analytical_oM
- Common_oM: Move IPhase & ConstructionPhase to Planning_oM
- Common_oM: Remove Common_oM
- Diffing_oM: Fix non-compliant constructor for StreamPointer
- Environment_oM: Fix AnalysisGrid for IImutability
- LifeCycleAssessment_oM: Fix invalid constructor
- Reflection_oM: Fix PreviousVersionAttribute constructor
- Spatial_oM: Correct reference to Reflection_oM
- Update Assembly Version
Documentation
- Data_oM: logical IRequest descriptions cleaned up
- Update README.md and docs
- Update of README.md
- Update of CONTRIBUTING.md
- Update of GOVERNANCE.md
BHoM_Adapter
Feature
External-api-changes
Compliance
- All copy locals to false and correct build folder for Release
- Make oM properties virtual
- Renamed folder
Structure_AdapterModule
toStructure_AdapterModules
- Update Assembly Version
Documentation
BHoM_Datasets
Feature
External-api-changes
Compliance
BHoM_Engine
Feature
- Architecture_Engine: Add CleanRoom modify method
- Architecture_Engine: Implement HasMergeablePropertiesWith
- Data_Engine: Add generic graph query methods
- Generic graph methods added to
BH.Engine.Data.Query
: -
AdjacencyDictionary
-
DepthDictionary
-
LeafNodes
-
FindGraphNodes
- Generic graph methods added to
- Data_Engine: ILogicalRequest.Requests query method implemented
- Data_Engine: Methods for DomainTree and Node
- Create methods for:
Node<T>
,Domain
,DomainBox
,DomainTree
- Query methods for closest data and items in range
- Support Create methods in Geometry_Engine for
DomainTree
- Create methods for:
- Diffing_Engine: Align to oM changes; changes for new workflow in Speckle_Toolkit
- Diffing_Engine: allow to use Id stored in CustomData; fix Explode
modifiedPropertiesPerObj
- Can now input a CustomData Id Name to the Diffing method so it will be using a certain software id to recognise objects instead of hashes.
- Added
ListModifiedProperties
method to better view the Diff propertymodifiedPropertiesPerObj
- Added workaround to make BHoM Explode work properly with
modifiedPropertiesPerObj
- Diffing_Engine: Correct fieldsToIgnore not working for nested fields; added ability to diff Fragments
- Bug fix: the Hash compute now correctly removes all the fields specified in the
DiffConfig.PropertiesToIgnore
also from nested objects. This previously produced a bug whereGuid
s were not removed from nested objects; the resulting hash was different every time you instantiated BHoMObjects, even if they were identical in all properties (theBHoM_Guid
is always generated new at every instantiation). - Feature add: You can now diff the Fragments because
DiffConfig
does not have to mandatorily includeFragments
in thePropertiesToIgnore
anymore.HashFragment
is now always ignored by the Hash compute function. - Align the
Delta
Create methods to the corrections in the oM. Details here:SinceDelta
implementsIImmutable
, the constructor must include all getonly parameters in order for Reflection and serialisation to work. Therefore, the constructor should be logicfree; it follows that also autoinitializers are to avoid. All default property values for the Delta had to be specified in the Create where the constructor is invoked from the UI viewpoint.
- Bug fix: the Hash compute now correctly removes all the fields specified in the
- Environment_Engine: Ability to filter mesh results
- Environment_Engine: Add create for AnalysisGrid
- Environment_Engine: Add FloorHeight query method
- Environment_Engine: Add GenerateCylindricalFarfield method
- Environment_Engine: Add Interface methods
- Environment_Engine: Add OpeningsByType Query method
- Environment_Engine: Add Space manipulation methods
- Add interface elements to
Node
- Add interface elements to
Space
- Add
ExtrudeToVolume
method toSpace
- Add interface elements to
- Environment_Engine: Add UniqueConstructions for Openings
- Environment_Engine: Modify Space Object
- Geometry_Engine: Add RoundCoordinates
- Deprecates
RoundPoint
- Deprecates
- Geometry_Engine: Area for PlanarSurface and PolySurface
- and a private fallback for error messaging
- Geometry_Engine: Failure checks and adjustments for FreeFormProfile()
- added
Start/EndPoint
forEllipse
- added
IsSelfIntersecting
forEllipse
- added
- Geometry_Engine: Implement necessary methods for immutable PlanarSurface
- Geometry_Engine: Transform and Subsequent methods for IGeometry objects
- Also added a Create.ProjectionMatrix
- Graphics_Engine: ToRenderMesh() convert added for oM.Geometry.Mesh
- Matter_Engine: Add MapMaterial
- MEP_Engine: Remove AHU Create Method, Add LengthbyPart and FaceArea
- Physical_Engine: Implement HasMergeablePropertiesWith
- Reflection_Engine: Add support for "&" ByRef types in Convert.ToFunc
- Reflection_Engine: Adding Count method for IOutput
- Reflection_Engine: Enable creation of Generic methods and types from string
- Reflection_Engine: Non-generic treated as list when calling UnderlyingType()
- Reflection_Engine: Remove boilerplate default descriptions
- Reflection_Engine: Update IsDeprecated method
- Reflection_Engine: Update item to reflect changes to Output
- Serialiser_Engine: Add tools necessary to perform serialisation validation
- Added new method to generate a dummy object of a given type
- Added new method to test if two objects are equal (works for any type)
- Removed static classes from
BHoMTypeList
- Serialiser_Engine: Auto-versioning of methods and types during serialisation
- Spatial_Engine: Add HasMergeablePropertiesWith method
- Spatial_Engine: Add PointLayout methods and Create methods for Layout objects
- Spatial_Engine: Add RoundCoordinates
- Spatial_Engine: Area methods for Shape Profiles
- Query
Area()
- Query
VoidArea()
- Support
TaperedProfile
inSolidVolume(Bar)
- Query
- Spatial_Engine: Restructure ISetElement and INewElement
ISetElement
0D
&1D
methods now defaults if provided aIGeometry
INewElement
0D
&1D
methods are no longer needed and now return the inputted point/curve awaiting removal
- Structure_Engine, Spatial_Engine: Add Transverse Reinforcement and Curve Layouts
ReinforcementLayout
methods added in theStructure_Engine
to handleTransverseReinforcement
objects,CurveLayout
methods added in theSpatial_Engine
.
- Structure_Engine: Add comparer for name or description for IProperty
- Structure_Engine: Add create method for panel accepting a planar surface
- Structure_Engine: Add default descriptions to missing property objects
- Structure_Engine: Add support for NodeModalMass for converting Request
- Structure_Engine: Adding comparer checking numbers for ICase objects
- Structure_Engine: Adding comparers for Contraints4DOF and 6DOF from Robot_Toolkit
- Structure_Engine: Extension Methods for IElementM
- Added
SolidVolume()
forIAreaElement
- Added
MaterialComposition()
forIAreaElement
- Added
AverageThickness()
forISurfaceProperty
- Support for
Surface
in Structure_Engine'sArea()
method
- Added
- Structure_Engine: Implement HasMergeablePropertiesWith
- Structure_Engine: Off-centre section issues
- Adds Geometry.Query.Bounds(List boxes)
- Structure_Engine: Refactor of Bar Reinforcement
- Refactoring required by changes to Reinforment objects in Structure_oM
- Make use of layout methods in Spacial_Engine to distribute reinforcement
- Pass over Rebar object to FramingElements when created from a structural Bar
- Tweaking
MaterialComposition
forConcreteSection
s to account for Reinforcement - Fixing bug in Geometry_Engine making offsets crash when polycurve contains a circle
- Fixing issue in Matter_Engine, making sure hashes are only calculated once
- Structure_Engine: Update modifier methods to work with new fragment isntead of custom data
- Versioning_Engine: method to easily generate method keys for versioning
Bug
- Geometry_Engine: Better handling of corner cases in IsContaining
- Geometry_Engine: Fix edgecase for Create PlanarSurface
- Geometry_Engine: Fix IsSelfIntersecting
- Geometry_Engine: Handle Nurbs in PolyCurves for IsClosed & Join
- Geometry_Engine: null checks in Bounds
- Library_Engine: Warning added when the library under given name is not found in the folder
- Physical_Engine: Correct area for SolidVolume
- Reflection_Engine: Fix MethodBase() method
- Reflection_Engine: Migrate Dummy and IsEqual methods to the Test Toolkit
- Reflection_Engine: Store previously run extension methods in a thread safe dictionary
- Serialisation_Engine: Fix serialisation of objects with Id property
- Serialiser_Engine: Fix remaining problems with serialisation
- Move RegisterClassMap and add serialiser for regex
- Take care of the case where a bitmap is null
- Handle Enumerable as top objects and GenericTypeDefinition
- Don't send nulls to versioning
- Serialiser_Engine: Adding serialiser for IntPtr and Bitmap
- Serialiser_Engine: Fix issue of failing to deserialise methods if multiple engine method matches are found
- Serialiser_Engine: Fix issue serialising Immutable objects with properties overridden from base class.
- Serialiser_Engine: Fixing member mapping for Immutable inheriting from non-abstract class
- Structure_Engine: Allow for negative load factors
- Structure_Engine: Allow Query.Geometry to return invalid PlanarSurfaces for the case of invalid Structure.Panels
- Structure_Engine: Create Section from TaperedProfile fix
- Structure_Engine: Fixed bug where deprecated method did not implement new method for FabricatedISectionProfile
- Structure_Engine: Plastic modulus, SplitCurve removal of unneeded curve cast
External-api-changes
- Environment_Engine: Update based on oM changes
- Environments_Engine: Updated Engine Method for Create Gain
- Library_Reflection_Versioning_Engine: Update BHoM folder references
- Result_Engine: Aligning envelope methods with changes in Structure_oM
- Structure_Results_Engine: Aligning with changes for migrating results to Analytical_oM
Compliance
- BHoM_Engine: Fix Analytical_Engine and Graphics_Engine CSProj
- Common_Engine: Remove Common_Engine
- Common_Engine: Remove ConstructionPhase Create method
- Common_Engine: Remove Deprecated Methods
- Data_Engine: Missing Create methods added for IRequests
- Environment_Engine: Align to BHoM for AnalysisGrid change
- Environment_Engine: Migrate code from IES_Toolkit
- Environment_Engine: Move NewElementXD into query methods
- Environment_Engine: Remove Common_Engine reference
- Environment_Engine: Remove unit conversions
- Environment_Engine: Removed deprecated methods
- Geometry_Engine: Clarify input naming in CollapseToScaledPolyline.cs
- Geometry_Engine: Removing deprecated code base older than 3.0
- Spatial_Engine: Add default behaviour for IElement2D extension methods
- Structure_Engine: Adding simple create methods for result requests
- Structure_Engine: Remove Common_Engine reference
- Update Assembly Version
Documentation
BHoM_UI
Feature
- Align with auto-versioning during serialisation
- Intellisense for non-BHoM components
- Post build: Decentralise versioning
- Provide a way to remove event handles from outside the GlobalSearch class
- Update SearchItems for components
Bug
- Fix detection of upgraded SelectedItem for Types
- Fix wire disconnects for edge cases of Versioning
- Handle HashSet, FragmentSet,... as input list
- Improve handling of parameters when upgrading a component
- Overwrite MethodCaller.Write() so it saves its original method
- UI_PostBuild: Fix UnauthorizedAccessException on PostBuild CopyUpgrades
Compliance
- Fix Compliance issue for CSProj files
- Make oM properties virtual
- Update Assembly Version
- Update postbuild and references to ProgramData
Documentation
Uncategorised
CarbonQueryDatabase_Toolkit
Feature
Bug
- Fix QuantityType checks for Length cases
- Fix unit convert handling for US and Metric Tons
- Fixed Convert Method for QuantityTypes
- Improved String Parsing and Handling for Declared Units
External-api-changes
Compliance
- Add MaterialFragments using
- Compliance update
- Make oM properties virtual
- Update Assembly Version
- Update FromFeet to FromFoot and make use of extension methods from Localisation_Toolkit
Documentation
ClimateEmergency_Toolkit
Feature
External-api-changes
Compliance
- CSProj Compliance
- Make oM properties virtual
- Removal of methods being migrated to LifeCycleAssessment_Toolkit
- Update Assembly Version
Documentation
Clipper_Toolkit
External-api-changes
Compliance
Documentation
CSharp_Toolkit
External-api-changes
Compliance
Documentation
DIALux_Toolkit
Feature
Bug
External-api-changes
Compliance
Documentation
Dynamo_Toolkit
Bug
- Default lacing changed from Shortest to Auto
- Dynamo 2.0: Fix CustomData Explode
- Geometry convert fixes
- Conversion between Dynamo
Polycurve
and BHoMPolyline
has been unlocked - Conversion between Dynamo twonode
Curve
andBHoM
Line has been unlocked - Conversion of Dynamo
Surface
to BHoM has been fixed to avoid stack overflow
- Conversion between Dynamo
- Geometry converts revisited and bugfixed
- Existing geometry converts from BHoM to DesignScript were reviewed and bugfixed
- Missing geometry converts from BHoM to DesignScript were added
- Missing ellipse convert from DesignScript to BHoM was added
- Convert of
DesignScript.Curve
from DesignScript to BHoM was fixed not to cause stack overflow
External-api-changes
Compliance
Documentation
ETABS_Toolkit
Feature
- Adding support for ETABS18
- Adds support for ETABS18
- Enable Update
- Update functionallity for
Material
,SectionProperty
, SurfaceProperty&
Bar` - Changed API workaround for
Bar
s to a more stable one
- Update functionallity for
- Make use of NameOrDescription Comparer when Pushing Properties
- Push/Pull sections with Tapered Profile
- Read ETABS Database sections
- Also changes
EtabsConfig
toEtabsSettings
- Also changes
- Update of Panel
- All properties apart from the geometry
- Add Pier & Spandrel to the Create Panel method
Bug
- FilterRequest by ObjectId
- Fix all load types returned when trying to pull not yet implemented load type
- Fix the dispatching done by the Update method
External-api-changes
- Align with changes in Structure_oM making results immutable
- Aligning with changes migrating Results to Analytical_oM
- Make modifiers use new Fragment
- Update referencing and post build
Compliance
- Adding virtual keyword to all oM classes
- Change namespace to BH.Engine.Adapters.ETABS
- ETABS_Toolkit: Remove Common_Engine reference
- Remove version from referenced dlls
- Update Assembly Version
Documentation
Excel_Toolkit
Feature
Bug
- Deregister workbook saved event from workbook object when workbook closed
- Fix Excel Crashing on exit bug (#171)
- Fix inconsistency in Get/Set property formulae
- Reinstating initialise BHoM through ribbon
External-api-changes
Compliance
Grasshopper_Toolkit
Feature
Bug
- Fix duplicate components after unload & reload of GH
- Provide safer access to FragmentSet
- Take care of input type that are both list and items
External-api-changes
Compliance
Documentation
GSA_Toolkit
Feature
- Description or Name comparer and section and material fixes
- Making use of new DescriptionOrName comparer to be able to push structural properties without a name
- Return a correctly named Explicit section and raise an Error when failing to convert a section property
- Improve error messaging when pushing Orthotropic materials with null vectors
Bug
External-api-changes
- Align with changes in Structure_oM making results immutable
- Aligning with changes migrating Results to Analytical_oM
- Updated references and post build
Compliance
- Copy local to false for all BHoM references
- Fix release build folder
- Make oM properties virtual
- Update Assembly Version
- Update namespace of oM and Engine
Documentation
HTTP_Toolkit
External-api-changes
Compliance
IES_Toolkit
Feature
Bug
- Fix 2019 gem pull
- Fix push/pull of horizontal openings
- Fixed push of horizontal openings on panels
- Fixed pull of horizontal openings on panels
- Fixed bug where space names were not put on panels on pull
- Tilted openings
- Vertical Openings for pull and push
External-api-changes
Compliance
- Compliance
- Make oM properties virtual
- Migrate code to Environment_Engine
- Update Assembly Version
- Update namespace
Documentation
LadybugTools_Toolkit
Feature
- Convert Honeybee+ Surface to Environment objects (Panels/Openings)
- Set up repository with initial solution file
External-api-changes
Documentation
LifeCycleAssessment_Toolkit
Feature
- Add CQD Datasets and organise datasets folder
- Add reference to Physical_oM
- Creation of BuildingBenchmarking object and convert method
- Evaluate LifeCycleAssessment compute method
- Migration of methods from ClimateEmergency_Toolkit
- Refactor LCA Scope Object
- Results creation from Eval Method
- Update Datasets post MaterialFragment implementation
- Update scope objects to the oM
Bug
- Added results in enclosure and foundation scope to results returned for LifeCycleAssessment Result
- Adjust ICE Datasets to match oM changes
- Eval method error handling and bug fixes
- Error handling provided for all evaluation methods.
- Continue evaluation calcs if given invalid objects.
- Update to IElementM exception.
- Error handling for invalid objects - specifically if no fragment can be found.
- EvalScope method multiplication of results fix
- ICE Datasets Update QuantityType
- Updated Quartz Dataset
External-api-changes
- Removal of unit convert methods and objects post migration to core BHoM
- Update references and post build
Compliance
Documentation
Localisation_Toolkit
Feature
- Add area, pressure, density, temperature, coefficient of thermal expansion, delta temperature and force per unit length conversions
- Added convert methods to/from
squareFoot
- Added convert methods to/from
kilonewtonPerSquareMetre
,kilonewtonPerSquareCentimetre
,kiloNewtonPerSquareMillilmetre
,kilopoundPerSquareFoot
andkilopoundPerSquareInch
- Added convert methods to/from
kilogramsPerCubicCentimetre
andkilogramsPerCubicMillimetre
- Added convert methods to/from
Celsius
andFahrenheit
- Added convert methods to/from
InverseCelsius
andInverseFahrenheit
- Added convert methods to/from
DeltaCelsius
andDeltaFahrenheit
- Added convert methods to/from
kiloNewtonPerMetre
,kilonewtonPerMillimetre
,kilogramForcePerCentimetre
,kilogramForcePerMillimetre
,kilonewtonPerCentimetre
,kilopoundForcePerInch
,newtonPerCentimetre
,tonneForcePerMetre
,tonneForcePerMillimetre
- Added convert methods to/from
kilogramForceMetrePerMetre
,kilonewtonMetrePerMetre
,kilopoundForceFootPerFoot
,newtonCentimetrePerMetre
,newtonMillimetrePerMetre
,poundForceFootPerFoot
andtonneForceMetrePerMetre
- Added convert methods to/from
- Add conversion methods for Moment/Torque
- Add Force, ForcePerLength, Pressure, Area, Acceleration, Volume, AreaMomentOfInertia and Density conversion methods
- Creation of new project for wrapping UnitsNet
Bug
External-api-changes
Compliance
Documentation
Lusas_Toolkit
Feature
- Implement DescriptionOrName comparer
- Added ability to push properties (
SectionPropety
,SurfaceProperty
,Material
,Constraint6DOF
andConstraint4DOF
) without specifying a name. This will produce a default name based on thetype
- Added ability to push properties (
Bug
- Fixed bug where "S" prefix from Lusas object name was being stored in Lusas_id for Panels
- Fixed incorrect reference for Azure Pipeline badge in ReadMe
- Various bug fixes for reading Loads
- Fixed bug where
Node
s were not being read forGravityLoad
- Fixed bug where
BarDistributedLoad
andBarPointLoad
did not follow the Lusas naming convention and presented problems when pulling the loads - Fixed bug where the
FlangeThickness
andWebThickness
were switched for anISection
when being pulled - Fixed bug where
AreaTemperatureLoad
s were not being read
- Fixed bug where
- Various bug fixes in relation to MeshSettings1D and MeshSettings2D
- Fixed bug where duplicate
MeshSettings1D
were being produced in Lusas LineMesh
in Lusas are now correctly grouped byBarFEAType
,BarRelease
andMeshSettings1D
to produce the minimum amount of objects- Fixed bug where
Thick cross section beam
was the defaultFEAType.Flexrual
, changed toThick beam
- Added feature that pushes
MeshSettings2D
with thePanel
it has been assigned to
- Fixed bug where duplicate
External-api-changes
- Align with changes in Structure_oM making results immutable
- Aligning with changes migrating Results to Analytical_oM
- Refactor Adapter to work with Lusas170 and Lusas180
- Update postbuild events and project references
Compliance
- Make oM properties virtual
- Migrate Convert methods to Adapter, change Engine.Lusas namespace to Adapters.Lusas, add formatting to all documents and implement local versioning
- Moved methods in
.Lusas
namespace to.Adapters.Lusas
namespace - Implemented localised versioning for
Lusas_Engine
stored inVersioning_32.json
- Ported all
Convert
methods that use the LPI fromLusas_Engine
toLusas_Adapter
- Added formatting (i.e. headers, line breaks etc.) to all document files
- Moved methods in
- Update Assembly Version
Documentation
MidasCivil_Toolkit
Feature
- Add read functionality for BarForce, BarStress and MeshForce
- Added functionality to read remaining MeshResults
- Added functionality to read
MeshStress
results - Added functionality to read
MeshVonMises
results
- Added functionality to read
Bug
- Changing method from private to public
- Fixed incorrect reference for Azure Pipeline badge in ReadMe
- Various bug fixes for reading from MidasCivil
- Added string.Trim() to strings being read from MCT files to ensure section names are correct
- Fixed bug where reading
ISection
from MidasCivil used a deprecated method and produced inconceivable sections - Fixed bug where
BarPointLoad
, BarUniformlyDistributedLoadand
BarVaryingDistributedLoadreferenced the wrong index for
Name` properties - Fixed bug where
GravityLoad
referenced the wrong indexes - Removed official support for MidasCivil, the majority of functionality should still work but we are unable to test MidasCivil 2018 in particular GravityLoad which was causing issues for Midas Civil 2019 onwards
External-api-changes
- Align with changes in Structure_oM making results immutable
- Aligning with changes migrating Results to Analytical_oM
- Update postbuild events and project references
Compliance
- Make oM properties virtual
- Migrate Convert methods to Adapter, change .MidasCivil namespace to Adapters.MidasCivil, add formatting to all documents and implement local versioning
- Moved methods in
.MidasCivil
namespace to.Adapters.MidasCivil
namespace - Implemented localised versioning for
MidasCivil_Engine
stored inVersioning_32.json
- Ported all
Convert
methods fromMidasCivil_Engine
toMidasCivil_Adapter
- Added formatting (i.e. headers, line breaks etc.) to all document files
- Added exceptions to
CombineTextFiles
andMidasCivilAdapter
for files that do not exist
- Moved methods in
- Update Assembly Version
Documentation
Mongo_Toolkit
External-api-changes
Compliance
Documentation
OpenStreetMap_Toolkit
Feature
Bug
External-api-changes
Compliance
Documentation
Uncategorised
- Add Create methods for way and relation from keyvalues only
- Fix compliance issues
- Initiate CI checks for inclusion in installer
- Set CoordinateSharp to copy local
- Update templates and readme
Psychrometrics_Toolkit
Feature
External-api-changes
Compliance
RAM_Toolkit
Feature
Bug
- Fix miscellaneous bugs and improve section handling for surface properties
- Stories tweaked and check added for overlapping wall openings
External-api-changes
- Align with changes in Structure_oM making results immutable
- Aligning with changes migrating Results to Analytical_oM
- Update referencing and post build
Compliance
- Common_Engine references removed
- Copy local false and correct project references
- Make oM properties virtual
- Update Assembly Version
Documentation
Revit_Toolkit
Feature
- Add space perimeter to space pull
- CreateNonExsiting enabled
- Handling of LogicalNotRequest implemented
- Mesh and geometry representations of elements cleaned up
BH.UI.Revit.Engine.Query.GeometryPrimitives
method has been implemented to retrieve all geometry primitives from an elementCurves
,Faces
andSurfaces
query methods have been refactored to return types fromAutodesk.Revit.DB
namespace instead ofBH.oM.Geometry
converts happen further down the lineBH.UI.Revit.Engine.Query.MeshedGeometry
andBH.UI.Revit.Engine.Query.RenderMeshes
methods have been implemented to enable querying elements with a single callFromRevit
convert betweenAutodesk.Revit.DB.Color
andSystem.Drawing.Color
has been implementedBH.UI.Revit.Engine.Query.BoundingBox(Element)
method has been removed as unused
- Parameter fragments on Push and Pull implemented and parameter handling improved
- ParameterSettings properly implemented
- Pull of mesh representations implemented
PullGeometryConfig
andPullRepresentationConfig
have been implemented- the above replaced
PullEdges
,PullSurfaces
andIncludeNonVisible
properties ofRevitPullConfig
- Convert of Autodesk.Revit.DB.Mesh to BHoM has been implemented
- Pulling ceiling patterns
- Requests cleaned up and refreshed
- Selectionbased pull has been fixed to include member elements of groups (and groups in groups)
FilterModelElements
request has been addedFilterFamilyTypeByName
request has been added- Filtering types has been enabled by using
FilterFamilyTypeByName
with blank string inputs FilterByUsage
request has been addedFilterByFamilyType
request has been addedFilterMemberElements
request has been added- a
CustomData
keyRevit_familyTypeId
has been added for easier query of element types FilterFamilyTypesOfFamily
has been renamed toFilterTypesOfFamily
IsAnalytical
,IsUsed
andInstanceType
query methods have been added to support the above- a few minor bugs were fixed and a few method slightly refactored
- Revit faces convert to bhom isurfaces
- RevitTypes method supported with a private dictionary to avoid Reflection overhead
- Set space location to boundary centroid
Bug
- All type parameters stopped from being copied over to the BHoM objects on pull with type parameter mapping
- Copying of .addin file fixed
- Cross section rotation limited to the range accepted by Revit (-360 to +360 deg.)
- Ellipse conversion error changed to a sensible warning
- Minor bugs fixed
- BH.Engine.Adapters.Revit.Query.Edges method has been fixed to return values
FilterByDBTypeName
has been stopped from crashing on nonexistent type namesBH.UI.Revit.Engine.Query.GeometryPrimitives(Element)
fixed not to return null when the element exists but has no geometry
- Null protection on elements and data duplication fix
- Nurbs-based framing stopped from crashing on push
- Pull of BEnv elements stopped from returning duplicate elements
- Pull of nurbs-based framing fixed
- Reference to Revit_Adapter removed from Revit_Engine
- reference to Revit_Adapter has been removed from Revit_Engine
- reference to Revit_Engine has been added to Revit_Adapter
- aliases have been moved from Revit_Adapter to Revit_Engine
BH.Engine.Adapters.Revit.Query.IsValid(RevitAdapter)
has been removed as it cannot exist any more due to a missing reference
- Saving enumerable parameters as strings in CustomData fixed
- SetRevitParameters issues resolved
SetRevitParameter
method has been added to handle single parameter assignment- bug causing the objects being modified upstream on SetRevitParameter has been fixed
- Type parameters get copied over to Physical.IFramingElement.Property on pull
- Unbounded room stopped from crashing
- Unit converts made robust and informative
- Update of worksets enabled
- Zero length column error on push eliminated
External-api-changes
- References and postbuilds updated to support the migration from Appdata to ProgramData
- Removing Deprecated Geometry methods
- Update following changes in the oM for PlanarSurface
Compliance
- Assemblies and namespaces reorganised
- Adapter_Revit_UI and Revit_UI projects have been merged into a single project named Revit_Core_Adapter with default namespace being
BH.Revit.Adapter.Core
- Revit_Engine_UI has been renamed to Revit_Core_Engine with default namespace being
BH.Revit.Engine.Core
- files in the above have been slightly reorganised to make the structure more logical
- references, assemblyInfos, Revit manifest files etc. have been updated following the above
SetTags
andSetIdentifiers
methods were centralized inside Revit_Core_Engine, unused messages have been removedRevitUIAdapter
has been renamed toRevitListenerAdapter
BH.oM.Adapters.Revit.Interface
namespace has been eliminated with all interfaces being moved across to their relevant subnamespaces
- Adapter_Revit_UI and Revit_UI projects have been merged into a single project named Revit_Core_Adapter with default namespace being
- CustomData handling cleanup vol. 1
- constant
CustomData
keys have been moved fromBH.Engine.Adapters.Revit.Convert
toBH.Adapter.Revit.RevitAdapter
in Aliases.cs file - above keys under
WorksetId
,SpaceId
andAdjacentSpaceId
have been deleted as discussed in #664 and #668 - methods calling
SpaceId
andAdjacentSpaceId
have been deprecated (in Revit_Engine) or deleted (in Engine_Revit_UI) the latter was possible as Engine_Revit_UI is not exposed in UIs + the methods were ones that are meant to be eliminated based on #670
- constant
- CustomData handling cleanup vol. 2
- disciplinerelated information stopped from being copied overt to object's
CustomData
on convert BH.UI.Revit.Engine.Query.WorksetId
method has been deleted as a follow up to #664
- disciplinerelated information stopped from being copied overt to object's
- Data_oM reference set to copy local = false
- Deprecated code base older than 3.0 removed
- Make oM properties virtual
- Missing Create methods added for IRequests
- Public static methods turned into extension methods
- Readme updated, legacy file deleted from root folder
- Readme had been updated
- Legacy Build.xml has been deleted
- Refactor code from Environments perspective
- Deleted
IsExternal
query method - Deleted
IsInternal
query method - Deleted
IsShade
query method - Deleted
HostedBuildingElements
query method - Tidy up
OriginContextFragment
creation
- Deleted
- Reference to Common_Engine removed
- Remove Common_oM reference
- Update Assembly Version
- virtual keyword and {get; set;} added to BH.oM.Adapters.Revit.Generic.Map
Documentation
RFEM_Toolkit
Feature
Bug
External-api-changes
Compliance
- Compliance of cs proj
- Make oM properties virtual
- Remove reference and usings pointing to Common_oM and update namespace
- Remove Reference to non-existing StructuralAnalysisAdapter
- Update Assembly Version
- Update readme to template changes
Rhinoceros_Toolkit
Bug
External-api-changes
- References and postbuilds updated to support the migration from Appdata to ProgramData
- Update following changes in the oM for PlanarSurface
Compliance
Documentation
Robot_Toolkit
Feature
- Add pull capability for all materials
- Add support for Bar Offset Push/Pull
- Call Create Group
- Centralise use of interactive mode in the adapter
- Change loadcase comparer to CaseNumberComparer
- Enable bar names in push/pull to/from Robot, as well as update only
- Make use of new DescriptionOrName method and comparer
- Makes it so that you can push Property type objects with out first giving them a name
- If no name is provided, an Autogenerated description will be used in its place.
- Pull loads and general load fixes
- Adding Pull functionality for load types not previously supported
- Fixing issue where groups with names did not get the loads applied to the element (fixed by disabling the assignment of loads to named groups for now)
- Fixing Gravity loads always applied to full model
- Make gravity load not split up into component to correctly show factors
- Fix wrong conversion for BarVaryingLoad between BHoM and Robot
- Enabling local and Global axis as well as projected for all loads where applicable.
- Fixing Panel normals sometimes read/created in flipped direction
- Support for all geometrical sections and return ExplicitSection for profiles not yet supported
- General support for Explcit sections on Read
- Return an explicit section with analytical properties set (if existing) if failing to extract/convert the ShapeProfile when reading sections
- Return all Section and Thickness labels in the model, including ones not attached to elements when reading
- Support for pushing and pulling all IGeometrical sections. Some outstanding capabilities awaiting improvements to material handling.
Bug
- Correcting height vs width when reading rectangular concrete sections
- Fix fallback method for load convert to robot
- Fixing robot BarForce signs flipped
- Is vertical checks for bars
- Update Read NodeReactions to only return supported nodes
External-api-changes
- Align with changes in Structure_oM making results immutable
- Aligning with changes migrating Results to Analytical_oM
- Make modifiers use new Fragment
- References and postbuilds updated to support the migration from Appdata to ProgramData
- Robot_Toolkit: Migrate Constraint comparers to Structure_Engine
Compliance
- Fixing compliance issues for CSProj files
- Make oM properties virtual
- Update Assembly Version
- Update namespace for some engine methods
Documentation
Uncategorised
SAP2000_Toolkit
Feature
- Groups from tags
- SAP2000_Toolkit: Fix RigidLink and misc. other bugs
- Support all point load types
- Support read/create node orientations
Bug
External-api-changes
- Align property modifier changes with changes in BHoM
- Align with changes in Structure_oM making results immutable
- Aligning with changes migrating Results to Analytical_oM
- Update referencing and post build
Compliance
- Implement delete for all objects and properties
- Implement DescriptionOrName for all objects except ICase
- Make oM properties virtual
- Update Assembly Version
- Update namespace of Engine to include Adapters word
Uncategorised
- Read results - bar and node
- Adds result support for Bars
- Adds result support for Nodes
- Removes Common Engine references from SAP2000_Adapter
- Removes Common Engine references from SAP2000_Engine
- Support for all miscellaneous loads
- Update Readme to template and a fix to Area Loads
Socket_Toolkit
External-api-changes
Compliance
Documentation
TAS_Toolkit
Feature
Bug
External-api-changes
Compliance
Documentation
TriangleNet_Toolkit
Feature
- Add Delanuay and Voronoi from points methods
- Add ToRenderMesh infrastructure and methods for basic geometry primitives
External-api-changes
Compliance
Documentation
Versioning_Toolkit
Feature
- Improve BHoM Upgrader handling of types
- Fix recursive triggering not happening for Old mode of serialisation
- Fix Method upgrader reporting false "modified" types
- Upgrader now calling upgrade methods recursively for sub types
- Improve support for decentralised versioning
- Migration of updates to json file
- Migrate list of updates to a json file
- Added versioning of property names
- Remove need of dll references by having complex converters using dictionaries for input and output.
- Now covers the case of chain versioning (e.g.
BH.oM.X => BH.oM.Y => BH.oM.Z
)
- Type Converter for ETABS PR281
Bug
External-api-changes
Compliance
- Add upgrader for 3.2
- Copy builds into ProgramData instead of Roaming
- Fix Compliance issue for CSProj files
- Make oM properties virtual
- Update Assembly Version
Documentation
XML_Toolkit
Feature
Bug
- Change KML polygon conversion to handle triangular mesh faces
- Change normal away from space calculation to use first connected space only
- Remove SolarPanel
External-api-changes
Compliance
- Change Level from Float to Double
- Compliance of CSProj
- Make oM properties virtual
- Move schema objects to the Adapter
- Refactor to make agnostic for additional XML Schema
- Refactor Toolkit to allow additional XML schemas to be easily added and serialised
- Introduce XMLConfig as an ActionConfig for Push and Pull operations
- Move XMLSettings to XMLConfig rather than being given directly to the XMLAdapter
- Change namespace to include External
- Remove legacy code
- Update Assembly Version
- Update namespace
- Using Air as PanelType