v2.4.β.0
Pre-release
Pre-release
Changelog
BHoM
- Add Room object to Architecture oM
- Add Theatron to Architecture_oM and Humans_oM
- ALL: Update file assembly and set copy local to false
- Update all projects assembly file version to
2.4.0.0
- Set all BHoM dependencies on all projects to not copy local
- Add Diffing_oM code owners
- Update all projects assembly file version to
- Architecture_oM: additions to room and new ceiling object
- Added
Ceiling
object - Added
Location
point to Room
- Added
- BHoM: Diffing_oM initial implementation
- Added Diffing_oM project
- Added
BH.oM.Diffing.Delta
class
- Environment_oM: Add Climate objects
- Added SpaceTime Climate object
- Added Location Climate object
- Added Sun Climate object
- Added
Climate
toBH.oM.Environment
namespace
- Environment_oM: Add Plug Gain
- Migrate Grids and Levels from Architecture to Geometry.SettingOut
- Planning_oM : Adding Description Property to Milestone
BHoM_Adapter
- BHoM_Adapter: Update AssemblyFileVersion, set CopyLocal to false
- Update AssemblyFileVersion to 2.4.0.0
- Set CopyLocal to False
- File_Adapter: Fix file adapter bug
- Fixed File_Adapter bug for pushing new files which don't exist yet
- refactoring-Level1 changes
- Objects are now deep cloned at the start of the Push
ReplaceThroughApi()
has been simplified
- Refactoring-level2
- Renamed Adapter method
PullTo
toMove
to be consistent with UI naming - Move method now accepts 2 config parameters:
pullConfig
andpushConfig
- Renamed Adapter method
BHoM_Engine
- Add Theatron to Architecture_Engine and Humans_Engine
- ALL: Update file assembly version and set copy local to false for BHoM references
- Update all projects assembly file version to
2.4.0.0
- Update all BHoM references for all projects to not copy local
- Add code owners for Diffing_Engine
- Update all projects assembly file version to
- BHoM_Engine: Add and Query Fragments
- Add node to Modify
AddFragments
- Add node Query
FindFragment
- Add node to Modify
- BHoM_Engine: fix fragment adding bug
- Ensure that only one instance of a fragment can be added to an object at this time
- BHoM_Engine: refactor to follow BHoM_Adapter refactoring Level1
- Common_Engine: Add Translate Methods For IElements
- Diffing_Engine : Initial implementation
- First prototype of the Diffing_Engine that performs Collection-level and property-level diffing for objects.
- Environment engine Bug Fixes and Enhancements
- Added
InvalidPanels
- Added Fix for a
FloorGeometry
- Added warning to
ToSpace
- Added new
ToSpace
to support list - Added Query for Wall, Floor, Roof, Shade
- Fix Tilt and improve point selection for plane
- Added
- Environment Engine Exposed tolerance parameter for NormalAwayFromSpace
- Environment_Engine, Geometry_Engine - Add tolerance setting
- Environment_Engine: Add defaults for gain computes to allow gains to be returned
- Added default inputs to gain computes to return gains even if not all gains are required (e.g. sensible/latent)
- Environment_Engine: Add plug gain
- Add plug and equipment gain create and compute methods
- Environment_Engine: Add Solar Position Compute Methods
- Environment_Engine: expose multiple tolerance to prevent incorrect opening additions
- Expose
ContainingTolerance
on adding openings
- Expose
- Environment_Engine: Expose tolerance when adding openings geometrically
- Environment_Engine: Fix Polyline crash bug
- Fix crashing of Polyline query method if no edges exist
- Environment_Engine: Fix Solar Position Calculation
- Environment_Engine: Panels by level filter
- Added ability to filter Environment Panels by level
- Environment_Engine: Set Roof Panel Bug fix
- Bug fix PanelsList
- EnvironmentEngine: Add People Gain and Occupancy Compute
- Add People Gain and Occupancy Compute
- Geometry_Engine: Added Functions for Distance
- Added functions related to Distance(ICurve, ICurve).
- Added Testfile. The testfile uses "Distance()" method, which uses the distance between our points calculated by "CurveProximity()" method.
- Geometry_Engine: Change variable name to minimumSegmentLength
- Rename
distanceTolerance
tominmumSegmentLength
inCleanPolyline
- Add
RemoveLeastSignificantVertices
method separately fromCleanPolyline
for greater user control - Add
RemoveShortSegments
method separately fromCleanPolyline
for greater user control - Modify
CleanPolyline
to use the two separate methods - Add
tolerance
to allcentroid
methods
- Rename
- Geometry_Engine: Expose tolerances
- Expose tolerance parameter on
Normal
query forCurve
inputs - Expose tolerance parameter on
Centroid
query forCurve
inputs - Deprecate existing
Normal
andCentroid
queries as a result of the above
- Expose tolerance parameter on
- Geometry_Engine: Fix Clean Polyline and Fix Normal Away From Space
- Fix clean polyline
- Fix NormalawayfromSpace
- Migrating grids and levels from Architecture to Geometry.SettingOut
BH.oM.Architecture.Elements.Grid
andLevel
Creates deprecated.Grid
andLevel
added toBH.oM.Geometry.SettingOut
- Environment methods based on
Level
deprecated and updated to utiliseBH.oM.Geometry.SettingOut.Level
- Physical_Engine: Query methods for topology workflows
- Add query methods to extract physical objects from collections of BHoM objects to the Physical Engine
- Add query methods to obtain polyline representations of Physical objects to the Physical Engine
- Add query methods to obtain Environment representations of Physical objects to the Environment Engine
- Move method from Environment Engine to BHoM Engine to query objects by type for use by multiple engines
- Planning_Engine : Update Create method to include Description Property
- Prototyping reflection of external libraries
- Migrated
GroupMethodsByName
from the UI to theData_Engine
and renamed it toGroupByName
, since it is a generic method - Refactored the UI method
CompileFunction
toEngine.Reflection.Convert.ToFunc
in order to transform any delegate to aFunc<object[], object>
- Provide a way to expose instance methods, and any method that returns
void
- Migrate
Engine.Serialiser.Create.MethodBase
toEngine.Reflection.Create.MethodBase
. TheList<string> paramTypes
now is the list of name of the types, rather than their json representation - Added a way to create
MethodBase
s via aList<Type>
as well, for robustness and performance - Migrate
Engine.Serialiser.Create.MethodInfo
toEngine.Reflection.Create.MethodInfo
- Add the
IsExposed
method to centralise the check of which methods to expose to the UIs. - Add
Engine.Reflection.Query.ExternalMethodList
as a way to collect methods from external libraries - Add ability to collect methods declared in nested classes
- Migrated
- Reflection_Engine - Issue 703 - Fix Depth of Arrays in UnderlyingType
- Update the
Engine.Reflection.Query.UnderlyingType
to return the correct depth for theArray
type.
- Update the
- Reflection_Engine: added methods' inputs parameters names in menu description
- Added parameter input names into the menu when browsing methods.
- Reflection_Engine: CreateType throws exeptions that stop the data flow in visual programming if in a loop
- Reflection_Engine: shorten the params input description if longer than a max value
- Serialiser_Engine: Fix ToJson() method for when input is null
- Structure_Engine: Closes #1127 Adds name to create method for RigidLink
- Added name to create method for
RigidLink
.
- Added name to create method for
- Structure_Engine: Fix crash when integrating empty FreeFormProfiles
- Structure_Engine: Updating Geometry(this ISectionProperty section) to IGeometry(this ISectionProperty section)
BHoM_UI
- Added description to GetProperty component
- BHoM_UI - ISSUE 394 - Add hints and tree access to property value of SetProperty
- Copy local + assembly version
- Prevent the copy of redundant assemblies by setting Copy Local to false
- Update
AssemblyVersion
to2.4.0.0
for the BHoM_UI - Update
AssemblyVersion
to2.4.0.0
for the UI_Engine - Update
AssemblyVersion
to2.4.0.0
for the UI_oM - Update
AssemblyVersion
to2.4.0.0
for the UI_PostBuild - Update
AssemblyVersion
to2.4.0.0
for the UI_Test
- Modify Move component to reflect changes in BHoM_Adapter
- Renamed the method called from the "Move" component from
PullTo
toMove
- Added
config
parameter in the Move component so that user can input bothpullConfig
andpushConfig
- Renamed the method called from the "Move" component from
- Prototyping reflection of external libraries
- Add the
ExternalCaller
component that can reflect any external assembly - Migrate the
CompileFunction
method to the Reflection_Engine asEngine.Reflection.Convert.ToFunc
- Migrate the
GetConstructedType
method to the Reflection_Engine asEngine.Reflection.Modify.MakeGeneric
- Migrate the
Engine.UI.Create.MethodInfo
to the Reflection_Engine asEngine.Reflection.Create.MethodInfo
- Migrate the
Engine.UI.Modify.GroupMethodsByName
to the Data_Engine asEngine.Data.Modify.GroupByName
and clarified it is a generic method
- Add the
- Update BHoM_UI postbuild.exe to copy Datasets .json files across from all repos
Dynamo_Toolkit
- Dynamo_Toolkit - #153 - NurbSurfaces Fix
- NurbSurface ToBHoM and ToDesignScript modified
- Dynamo_Toolkit for Grasshopper_Toolkit: Issue 394 - SetPropertyWithList: this aligns with new UI serialisation
- Explicitly call
RefreshComponent
when deserialising.
- Explicitly call
- False Copy Local
- 'Dynamo_Engine.csproj' all Copy Local set to false
- 'Dynamo_UI.csproj' all Copy Local set to false
- 'Methods_Dynamo.csproj' all Copy Local set to false
- Modify Move component to reflect changes in BHoM_Adapter
- Renamed the method called from the "Move" component from
PullTo
toMove
- Added
config
parameter in the Move component so that user can input bothpullConfig
andpushConfig
- Renamed the method called from the "Move" component from
- Update AssemblyFileVersion to 2.4.0.0
- 'AssemblyInfo.cs' for Dynamo_Engine updated with the latest AssemblyFileVersion
- 'AssemblyInfo.cs' for Dynamo_UI updated with the latest AssemblyFileVersion
- 'AssemblyInfo.cs' for Methods_Dynamo updated with the latest AssemblyFileVersion
ETABS_Toolkit
- Added Release17,Release16. Updated preprocessor directives
- Build Configs
- Added Release16 and Release17 Build Configs
- Uniformed naming of Build Configs to make them consistent (Debug16, Debug17)
- Adapted preprocessor directives to include checking for both Debug and Release symbols
- Uniformed preprocessor directives
- Different .dll names per Build Configuration
- Added workaround to reference two different ETABS .dlls: 2016 and 2017
- Removed dependencies to ETABS dlls from the ETABS_Engine. Moved all methods that needed those refs from Engine to Adapter.
- We therefore produce a different ETABS Adapter (
ETABS2016Adapter
orETABS2017Adapter
) depending on the build configuration, but only one ETABS_oM and ETABS_Engine. - This means that any difference in CSI's ETABS dlls versions will have to be tackled inside the Adapter and not in the Engine.
CopyLocal
set tofalse
for all refs except ETABS's.AssemblyFileVersion
set to2.4.0.0
- Downgrade pull section errors
- ETABS_id now set to value assigned in ETABS
- reading bar section property no longer fails on unsupported sections
- pushing bars no longer fails if unsupported sections are defined in ETABS
- Fix read BarUniformlyDistributedLoad
- Corrected problem with bar uniform loads where loads would be read with nonsense parameters.
- Added an empty element to each load containing the ETABS_id so that loads can be correlated to existing elements.
- Added a note to let the user know the element is empty but contains the correct id.
- Issue196 refactoring
- loaded Objects are included with pulled loads.
- ReadLoads now only reads the type of loads asked for
- Suppressed NextId. if ids are not set by the create method, they will come back as 1.
- Issue95 added empty method for freeform profiles
- Load, Result and Element fixes
- Set CopyLocal to True for ETABS2016.dll so that fresh installs work.
- Removed Loadcase.toCSI() and removed from ReadResults.
- Fixed Read Result set up cases and combos to get the name of the case if the input is a case, and if the input is a string, assume the string is the case id in ETABS.
- Removed error returned when loadcase already exists in ETABS.
- Fixed CreatePanel If panel property has no name, use None property in ETABS.
- Fixed CreateBar if bar property has no name, use None property in ETABS.
Excel_Toolkit
- Add Engine method to set cell content
- Add
Contents
compute engine method to set cell formula
- Add
- Add Help buttons to ribbon to link to wikis and bhom.xyz
- Add help buttons to Ribbon
- Add internalise button to all cell-related context menus
- Added "Internalise Data" button to all cellrelated context menus
- Bump Version to 2.4.0.0
- Don't copy BHoM dependencies locally
- Excel toolkit #123 nuget dependencies
- Migrated to NetOffice for MS Office COM interaction.
- Excel toolkit #89,#132 set property,explode
- Fixed SetProperty not working
- Fixed Explode not being able to be selected from
ctrl
+shift
+b
- Excel_Toolkit: Align with https://github.com/BHoM/BHoM_UI/pull/116
- Excel_Toolkit: Don't enable all BHoM functionality on excel open and Ribbon UI
- No longer register excel functions on start
- Add Ribbon UI
- Explicitely copy Excel_{oM,Engine,UI} dlls to assemblies folder
- Fix incorrect truncation application
- Fix issue not registering functions with no parameters.
- Fix selecting from GlobalSearch not working
- Only cache callers that have side effects/overheads
- Fixed
BHoM.Explode
not working - Only debounce adapter methods
- Fixed
- Remove call to UI_PostBuild.exe from post build event
- Remove IntelliSense.xll from readme
Grasshopper_Toolkit
- Grasshopper_Toolkit: Issue 384 - Add hints and tree access to property value of SetProperty
- Grasshopper_Toolkit: List of geometries is never rendered
- Fixes typo in
IRenderRhinoMeshes(this List<object> geometry)
toRenderRhinoMeshes(this List<object> geometry
- Fixes typo in
- Modify Move component in 2.0 to reflect changes in BHoM_Adapter
- Renamed the method called from the "Move" component from
PullTo
toMove
in 2.0 - Added
config
parameter in the Move component so that user can input bothpullConfig
andpushConfig
- Renamed the method called from the "Move" component from
- PostBuild events are now copying only files relevant to Grasshopper
- Add postbuild events to the Grasshopper_Engine to copy files over to AppData/BHoM/Assemblies
- Amend postbuild events to the Grasshopper_UI to copy over only "BH.UI.Grasshopper.gha" and create "AppData/Roaming/Grasshopper/Libraries/BH.UI.Grasshopper.ghlink"
- Prevent a Rhino crash when an old type is deserialised in the
CreateCustomObject
component- Make sure that
Engine.Grasshopper.Query.Type(this IGH_Param param, Caller caller = null)
never returnsnull
.
- Make sure that
- Prototyping reflection of external libraries
- Add the new
ExternalComponent
component to reflect external libraries
- Add the new
- Remove Grasshopper UI 2.0
- Translate
long
type into a suitable Grasshopper parameter- A
System.Int64
orlong
is now correctly parsed into aParam_Time
parameter
- A
- Update file assembly version and set BHoM dependencies to not copy local
GSA_Toolkit
- GSA_Toolkit - Issue 110 - NuGet for external dlls
- GSA_Toolkit: Update AssemblyFileVersion to 2.4.0.0
- Update assembly file version to 2.4 and copy locals to false
Lusas_Toolkit
- Lusas_Toolkit: Closes #53 Closes #180 Read NodeReaction + BarForce
- Added functionality to pull
NodeReaction
objects from Lusas. The BHoM validates the results for example if the user tries to pull aNodeReaction
for a node without a support a warning will be returned and aNodeReaction
object with 0 kN/0kNm reactions. - Added functionality to pull
BarForce
objects from Lusas. The absolute maximum values are used determined by the end nodes of the Bar.
- Added functionality to pull
- Lusas_Toolkit: Issue #178 - Switching to NuGet packages for external references
- Pull NodeDisplacements, add GeneralisedTSection warning error and reduce visibility of private helpers and other methods
NodeDisplacement
results can now be pulled from Lusas- Error added when trying to push
GeneralisedTSection
to Lusas as they are not supported in Lusas - Create and PrivateHelper methods made
internal
orprivate
as they are not useful in the UI
- Set CopyLocal=FALSE
- Modified references to not copy locally.
- Update AssemblyInfo
- Updated
AssemblyFileVersion
to 2.4.0.0'.
- Updated
Mongo_Toolkit
RAM_Toolkit
- Added hanging columns and stub cantilevers and fixed slanted wall bug
- RAM_Toolkit - Issue 85 - Update RAM dll reference to Nuget
- RAM_Toolkit: add read bar trib loads
- RAM_Toolkit: Read factored beam reactions
- Update assembly file version to 2.4 and copy locals to false
Revit_Toolkit
- Physical Objects and Architectural Ceiling Pull
- geometry (Planar Surface) pull updates, Implementation of architectural ceiling, minor updates on pull
- Pull rooms
- Refactor of Physical vs Analytical Push and Pull
- Push/pull methods for physical and analytical elements were refactored. Main assumptions:
- both Physical and Disciplinerelevant elements can be pulled
- only Physical elements can be pushed element types are matched by name, e.g. to push a HEB300 column one need to match the column property name with relevant family type name in Revit
- when pulling a Physical element, a Physical material is created with disciplinerelevant fragments
- when pulling a Disciplinerelevant element, only a disciplinerelevant fragment is pulled
- structural material convert reads "Material Grade" parameter of an element to match it with the library in order to assign the appropriate grade of Structural material fragment
- when pulling a physical element, physical geometry of an element is taken
- when pulling an analytical element, first the analytical geometry is taken:
-
* if not null then use it with a warning that analytical geometry is used
-
* if null then us the physical geometry
- materials and family types cannot be pushed/updated to Revit it was like that before and will require a solid batch of work to make sure that is not dangerous
- Revit_Toolkit - #312 - Migrating To Physical Objects
- Convert methods ToBHoM and ToRevit updated for Panel, Element (Revit), Construction, CurveList, Door, IPhysical, Window, Floor, HostObjAttributes, RoofBase (Revit), Wall
- Query methods updated: BHoMTypes, BuiltInCategories, Construcation, HighElevation, LowElevation, PolyCurve, RevitTypes
- Architectural Create methods for Wall, Floor and Roof have been deprecated
- Revit_Toolkit - #312 - Physical Objects
- Query.ElementIds([...]) updated for the case where enumerable of Id is stored as object enumerable (this happens in Grasshopper)
- Revit_Toolkit - #312 - Push Physical
- Convert.ToRevitCeiling([...]) method added (Further development needed due to current limitations of Revit API)
- Convert.ToRevitRoofBase() updated
- Create.ModelInstance([...]) overloaded with additional method
- Query.LowElevation([...]) overloaded with additional method
- Revit_Toolkit - #347 - Release Builds
- Release2018 and Release2019 Configurations added
- Revit_Toolkit - #367 -Missing Ceiling Geometry
Convert.ToBHoMCeiling(this Ceiling ceiling, PullSettings pullSettings = null)
method updated to include geometry
- Revit_Toolkit - Issue 322 - Pull And Push Line
- DraftingInstance and ModelInsatnce classes modifications
- Pull/Push CurveElement
- Pull GraphicStyle
- Revit_Toolkit - Issue 336 - FamilyLibrary Load Error
- XDocument.cs updated
- Revit_Toolkit: Preventing copy local of DLLs from Nuget
- Changed Nuget DLLs to not copy local
- Revit_Toolkit: Update to Nugets
- Changed references to Nuget packages
- Set Copy Local false
- Revit_UI.csproj updated to not copy UI_PostBuild.exe
- Update AssemblyFileVersion
- 'AssemblyInfo.cs' for Adapter_Revit_UI updated with the latest AssemblyFileVersion
- 'AssemblyInfo.cs' for Revit_oM updated with the latest AssemblyFileVersion
- 'AssemblyInfo.cs' for Engine_Revit_UI updated with the latest AssemblyFileVersion
- 'AssemblyInfo.cs' for Revit_Adapter updated with the latest AssemblyFileVersion
- 'AssemblyInfo.cs' for Revit_Engine updated with the latest AssemblyFileVersion
- 'AssemblyInfo.cs' for Revit_UI updated with the latest AssemblyFileVersion
- Update Grids & Levels from Architecture to Geometry.SettingOut
Convert.ToBHoMGrid(this Grid grid, PullSettings pullSettings = null)
method moved to Geometry (SettingOut)Convert.ToBHoMLevel(this Level level, PullSettings pullSettings = null)
method moved to Geometry (SettingOut)Query.RevitTypes([...])
references updatedQuery.Level()
references updatedQuery.BHoMTypes([...])
references updatedConvert.ToRevit([...])
references updated
Rhinoceros_Toolkit
- Copy local + assembly version set to 2.4
- Prevent the copy of redundant assemblies by setting Copy Local to false
- Update
AssemblyVersion
to2.4.0.0
for the Rhinoceros_Adapter - Update
AssemblyVersion
to2.4.0.0
for the Rhinoceros_Engine - Update
AssemblyVersion
to2.4.0.0
for the Rhinoceros_Test
Robot_Toolkit
- Fix for update bars crashing for null DesignProperties
- Fixing node constraints with springs not being set correctly
- Robot_Toolkit-#261-PullSeismicCombinationModalDisplacements
- Enabled pulling of seismic combination nodal displacements (instead of individual mode components).
- Robot_Toolkit: Issue244 Deleting Loadcases and Combinations
- Loadcases now able to be deleted in isolation from combinations.
- Combinations able to be deleted in isolation from cases.
- Warnings have been added to create combinations (that if the combination exists it will not be pushed) and delete loadcases (that if all cases in a combination are deleted, the combination is also deleted).
- Robot_Toolkit: Update AssemblyFileVersion to 2.4.0.0
- Support for pulling geometric line loads and contour loads
- Support for read groups
- Added support for reading groups in Robot. Groups are read if a FilterRequest with Type BH.oM.Base.BHoMGroup`1 is input to a Pull.
Socket_Toolkit
TAS_Toolkit
- Push construction thickness
- Update file assembly version and set copy local to false for BHoM references
XML_Toolkit
- Add PlanarTolerance to settings
- Change FileSettings to XMLFileSettings
- Clean Polyline
- Adjust clean polyline
- Fix Construction push bug
- Fix external air types to be correct types
- Fix external air types to be a more correct type. Included on XML Settings for user preference
- Removed unessesary filePath
- Update file assembly version and set copy local to false for BHoM dependencies
- Update references for compliance
- Updated Code Compliance of
XML_Engine.csproj
- Updated Code Compliance of
XML_Adapter.csproj
- Updated Code Compliance of
- Update references to Level from Architecture to Geometry.SettingOut
- Update variable name usage
- Change call in
CleanPolyline
fromdistanceTolerance
tominimumSegmentLength
- Change call in
- XML_Toolkit: Adapter settings initial commit for review
- Added XML Adapter settings to control XML export in greater detail
- XML_Toolkit: Add protection if directory does not exist
- Added protection if the
FileSettings
directory does not exist.
- Added protection if the
- XML_Toolkit: Fix external curtain walls and opening CAD Object ID
- Fixed Externally Glazed curtain wall issue
- XML_Toolkit: Fix openings for IES
- Fixed Openings issue in IES