Some of the changes mentioned in sections below, might break your existing Grasshopper definitions. We hope this should not be causing a lot of trouble and rework for you, since in most cases the older components can easily be replaced by new ones without changes to the actual workflow. As always, if you have any issues with loading Rhino.Inside.Revit or any of the components, take a look at the Troubleshooting Guide or head out to the Discussion Forum to reach out to us. We do our best to resolve the bugs and software conflicts and need your help to make this product better for everyone.
Build Time: 04/27/2021
- Now ‘Add Component (Location)’ tries to reuse previous iteration element.
- Now ‘Add Floor’ tries to reuse previous iteration element.
- Now ‘Add Roof’ tries to reuse previous iteration element.
- Added ability to specify imported 3DM to project origin and to import non visible layers.
- Now Transaction warnings and errors are displayed in the component balloon only.
- Fixed ‘Element Host’ when working with several Design Options.
- Fixed a
System.StackOverflowExceptionwhen selection Description property on the ‘Manage Collection’ dialog.
- Fixed a problem with ‘opennurbs_private.manifest’ on Windows server editions.
- Fixed ‘Add Wall (Profile)’ orientation, now wall faces to external boundary plane normal.
- Added ‘Default 3D View’ and ‘Close Inactive Views’ to te ‘View’ parameter context menu.
- Implemented direct casting from ‘Material’ to ‘Colour’.
- Now ‘Element Host’ works with
- Removed Obsolete
- Removed Obsolete
DB.Mesh.ToRhinoreturns a mesh with normals.
Build Time: 04/20/2021
- Added support for Revit 2022.
- Added command to open a Rhino viewport.
- Added UI to ‘Import 3DM’ command.
- Renamed ‘Element Parameters’ to ‘Query Element Parameters’.
- Grasshopper ‘Bake’ command opens the floating viewport if no viewport is already visible.
RhinoInside.Revit.GH.Guest.ShowEditoractivates Grasshopper window.
Build Time: 04/06/2021
- Added ‘Select Element’ component.
- Added ‘Set new Element’ to parameters context menu.
- Added ‘Externalise selection’ to the parameters context menu.
- Added option to use Revit UI language on Rhino interface.
- Fixed a problem that makes the AddIn can not load when Rhino is not installed.
- Fixed F1 context help for commands.
- Fixed ‘Element Parts Geometry’ component, it now output geometry branched by layer index.
- Fixed ‘Internalise selection’ context menu option.
- Fixed ‘Change Element collection’ context menu option.
- Fixed a problem that makes parameters context menu opens slowly.
Build Time: 03/09/2021
- Added ‘Construct Compount Structure’ component.
- Added ‘Construct Compount Structure Layer’ component.
- Added ‘Select Element’ component.
- Added ‘Set new Element’ at the parameters context menu.
- Added auditing capabilities to the
Element Locationcomponent when handling
/captureprintcalls /stopwatchfrom the default startup mode.
- Added class
Sumto do more accurate a summations
- Added accurate
- Added accurate
- Added accurate
Build Time: 03/15/2021
As part of the preparation for the Rhino.Inside.Revit v1, we have mostly focused on user interface updates in this release. These changes focus on making the Rhino.Inside.Revit easier to use, notify the user about the available updates, and provide a method to deploy and access the Grasshopper scripts easier through the Revit UI.
- New Rhino.Inside Ribbon: Checkout the updated Rhino.Inside Tab page for instructions on how to use the new layout, and the new buttons added to the ribbon.
- Settings: This release adds a Settings window to Rhino.Inside.Revit as well. Checkout the documentation here
- Update Checks: Checkout the new section on Checking for Updates to learn how to check for updates and install the Stable or Daily releases.
- Deploying Grasshopper Scripts: Checkout the documentation on how to add your scripts to the Revit UI, or install Rhino.Inside.Revit scripts using Rhino package manager
Build Time: 03/04/2021 17:48:12
- Fixed some problems transferring Meshes when non working in feet in Rhino.
Solidre-parameterize each Brep face and edge with some tolerance values more Revit friendly.
- Breps with out of tolerance edges are now rebuilt using more Revit friendly tolerances.
- Added some null checking at reconstruct DirectShape components.
PolyCurve.ToCurveMany, it was wrongly scaling the curve twice.
NurbsCurve.ToCurvesplits input on G2 segments before transfer.
Curve.Simplifyis used to simplify Brep edges before transfer.
Curve.TryGetPolyCurveextension method, to split curve into smooth G2 segments.
Build Time: 01/18/2021 20:26:44
- Now is possible to transfer geometry with short-edges.
- Added geometry conversion errors feedback to some components.
Build Time: 01/13/2021 11:01:24
- Fixed ‘Set Element Parameter’ casting from integer.
Build Time: 01/09/2021 00:02:06
- Now Rhino.Inside Revit resolves at load time any dependency on assemblies installed with Rhino.
- Isolated ‘opennurbs.dll’ installed with Revit from ‘opennurbs.dll’ installed with Rhino.
- Now installer needs admin privileges. Please remember to manually uninstall any previous version of Rhino.Inside Revit you already have installed before applying this new one.
This release is a major update to Rhino.Inside.Revit. This build attempts to resolve the loading and runtime errors some have experienced in Revit. It would be great if you could download and install this new version to see if it solves all the load problems.
Because this is a major change, it does require additional steps to install properly:
- Make sure Revit is closed
- This step is quite important 👉: Uninstall any previous versions of Rhino.Inside.Revit through Windows Control Panel > Programs & Features
- Download the latest Rhino.Inside.Revit
- Install the new Rhino.Inside.Revit. This new installer requires administrator privileges to install properly
Any feedback to this new build is welcome on the Rhino.Inside.Revit Forum
Why are admin privileges required to install now?
In order to isolate OpenNURBS Library (
opennurbs.dll) that is deployed by Revit from the library deployed by Rhino we do need to install a manifest file (
opennurbs_private.manifest) inside the Revit main folder, and this requires administrator privileges. This change does not affect the Revit installation or behavior in any other way. It only directs Revit to use its own version of the OpenNURBS library when importing 3DM files. Please remember to manually uninstall any previous version of Rhino.Inside.Revit you already have installed before applying this new one.
What’s new about .NET conflicts in this release?
Normally users have a myriad of Revit add-ons installed to support their specific workflows. Since we can not test every possible setup the user may have, we have tried in this release to make the Rhino.Inside load process more robust to handle “any” unexpected circumstance like conflicts with other installed add-ons.
Build Time: 12/22/2020 19:31:50
- Fixed ‘Deconstruct Compound Structure’ units conversion.
- Fixed ‘Deconstruct Compound Structure Layer’ units conversion.
- Fixed “Highlight Elements” context menu when there is no active Revit document or not selected elements in the active document.
- Fixed “Set one linked element” and “Set Multiple linked elements” context menu.
- Moved ‘Set CPlane’ context menu item to the Bake area.
Types.HostObjectTypeconstructor should be public for serialization purposes.
Build Time: 12/14/2020 20:55:12
- Improved ‘Element Location’ when managing
- Fix for
DB.Document.Releaseextension method when document is already closed.
- Fix for
Brepconversion when there are singular edges.
- Fixed a problem on faces that have surface orientation reversed.
BrepEncoder.ToACISto reuse the same Internal document.
- Trim curves are now computed with more precision (1e-5)
Build Time: 12/04/2020 17:39:26
- Implemented ‘Bake…’ context menu into Categories, Line patterns, Materials and Graphical Elements into Rhino blocks. Levels and Shared Site are baked as named CPlanes in Rhino.
- Added ‘Activate Element CPlane’ to the ‘GraphicalElement’ parameters.
- Fixed some geometry conversion problems using SAT file export-import on those cases.
- Fixed a units conversion problem on ‘Bitmap Asset’ components.
- Fixed a bug in
Types.BasePoint.Locationfor shared locations like the ‘Survey Point’.
- Now we keep Revit window disabled while Rhino.Inside is loading. This prevents Rhino
MessageBoxwindows that appear during startup go behind Revit window.
IsEquivalentextension method for
DB.Elementto compare if two references point to the same internal Revit object.
Build Time: 11/19/2020 14:00:20
- Added ‘Query Element’ component.
- Added ‘Project Location’ component.
- Added ‘Query Shared Sites’ component.
- Added ‘Query Site Locations’ component.
- Added ‘Site Location Identity’ component.
- Fixed Level elevation by ‘Survey Point’.
- Fixed ‘Export Type Image’ for types that do not generate any bitmap.
Types.ElementIdfor interoperability with List-Set components.
Build Time: 11/13/2020 11:52:10
- Added ‘Level Identity’ component.
- Added ‘Project Information’ component.
- Added special ‘Elevation’ and ‘Elevation Interval’ parameter to manage levels elevations from different base points.
- Fixed ‘Element Location’ when working with groups.
Build Time: 11/13/2020 12:41:02
- Added ‘Active Design Option’ component.
- Added ‘Design Option Identity’ component.
- Added ‘Design Option Set Identity’ component.
- Added ‘Query Design Options’ component.
- Added ‘Query Design Option Sets’ component.
- Fixed error message at ‘Add Wall (Profile)’.
- Enabled Materials support in Revit 2018.
- Added special cases for conversion from
DB.Parameterinteger value to
Build Time: 11/09/2020 12:08:42
- Added ‘Material Identity’ component.
- Added ‘Material Graphics’ component.
- Added ‘Extract Material Assets’ component.
- Added ‘Replace Material Assets’ component.
- Added ‘Create-Analyze-Modify Appearance Asset’ components.
- Added ‘Create-Analyze-Modify Physical Asset’ components.
- Added ‘Create-Analyze-Modify Thermal Asset’ components.
- Added ‘Construct-Deconstruct Bitmap Asset’ components.
- Added ‘Construct-Deconstruct Checker Asset’ components.
- Added ‘Add Wall (Profile)’ component.
- Added ‘Fill Pattern’ parameter.
- Added ‘Line Pattern’ parameter.
- Added modify capabilities to the ‘Categories Object Styles’ component.
- Added context menu pickers to ‘Level’ and ‘Grid’ parameters.
Nameproperty in to
Types.Categorythis enables subCategory renaming.
- Improved ‘Query Categories’, now is faster and able to report internal categories.
- Added ‘Element Location’ component.
- Added ‘Element Curve’ component.
- Added ‘Host Curtain Grids’ component.
- Added ‘Query Grids’ component.
- Added more params to ‘Query Levels’ component.
- Fixed ‘Similar Types’ to work with multiple documents.
- Now every Parameter that references Revit elements will be expired when the user modify the Revit document. If the modify operation is not UNDO or REDO the Grasshopper solution will be computed again.
- Now ‘Bounding Box Filter’ accepts any ‘Geometry’ to extract the bounding box.
- Fixed ‘Document Save’ component.
- Fixed #331: Set Linked Levels/Grids not working
- Added at ‘Query Elements’ an input parameter ‘Limit’ and an output parameter ‘Count’ to help on big models.
- Renamed ‘Graphical Element Geometry’ by ‘Element View Geometry’
- Renamed ‘Query Graphical Elements’ by ‘Query View Elements’
- Component ‘Inspect’ now ignores Parameters that are not basic types.
- Rewritten ‘Logical And Filter’ and ‘Logical Or Filter’ to take multiple filters.
- Added support for
- Improved non-axis-aligned bounding box support.
Types.Gridpreview on Rhino.
Types.CurtainGridpreview on Rhino.
- Now Rhino.Inside Revit requires Rhino 7.0.20301.12003-beta
- Added DEBUG Rhino System folder to
CommitScopeextension method to
RollBackScopeextension method to
DB.Element.GetParametersignores parameters that are not basic types.
WhereCategoryIdEqualsToextension method to
DB.Document.GetCategoriesextension method to enumerate all
- Added concept of
DB.Elementvalue. This improve performance specially for
ErrorReport.CLRVersionreturns the running CLR Product version.
ErrorReport.CLRMaxVersionreturns the maximum installed CLR version.
Types.Element.Valueto access the internal
Types.GraphicalElement.DisableJoinsScopeto temporary disallow joins on and from this element.
Build Time: 09/23/2020 18:45:14
- Added icon for ‘Add Railing’ component.
- Added ‘Pin Element’ component.
- Added ‘Flip Element’ component.
- Fixed ‘Add 3d View’ component.
- Added a warning message that warns the user that Rhino and Active Revit model are in different units.
- Implemented GetDependentElements in more robust way. Now can be called while a DB.Transaction or DB.SubTransaction is open on the element document.
- Added extension method
- Added extension method
- Added extension method
Build Time: 09/19/2020 13:27:34
- Added ‘Add SubCategory’ component.
- Added ‘Add Railing’ component.
- Fixed ‘Document Links’ component to make it work with BIM 360 linked files.
Build Time: 08/19/2020 12:17:52
- Added new icons for ‘Element Name’, ‘Element Category’ and ‘Element Type’ components.
- Added support for .ghlink files.
- Enabled ‘Add Topography (Mesh)’ in Revit 2019.2.
- Fixed a bug when no
MeshingParametersis available for Grasshopper previews.
- Fixed a bug when user selects ‘Disable Meshing’ in Grasshopper UI for previews.
DB.Elementsmeshing for previews. Now uses Grasshopper meshing preview settings and do not compute nGons on those meshes.
- Fixed bug into
RawDecoder.AddSurfacewhen surface is a
- Fixed bug into
RhinoInside.Revit.Convert.Geometry.BrepEncoder.EncodeRawsplits kinky faces before transferring geometry.
RhinoInside.Revit.Convert.Geometry.BrepEncoder.EncodeRawnormalizes brep faces to increase chances of Revit API detects pipe like surfaces as a
BrepFaceis a bit more robust to code changes.
- Fixed a bug in
Brepwhen there are faces that are “near” planar.
- Fixed a bug in ‘Query Graphical Elements’. It was not collecting
- Now component ‘Element Preview’ extracts meshes using 0.5 as ‘Quality’ when no value is provided.
DB.ExportUtils.GetNurbsSurfaceDataForFaceto extract the surface NURBS form.
Build Time: 08/07/2020 12:10:14
DB.Partis considered a Graphical Element.
- Added some null checking to ‘Query Graphical Elements’
RawDecoder.FromRuledSurface. Resulting surface should be transposed.
RawDecoder.FromExtrudedSurfaceto handle cases where
DB.RuledFaceis an extrusion.
- Fixed #312: Search Families by using Asterisk
- Fixed a bug in ‘Element Geometry’ and ‘Graphical Element Geometry’ managing trees.
- Fixed ‘Element Parts Geometry’ when element parts where already created in the document.
- Renamed MaterialQuanities.cs to MaterialQuantities.cs.
- Renamed ElementMaterialQuanities to ElementMaterialQuantities
- Moved ‘Geometric Element’ components as secondary.
- Renamed ‘Element Compound Structure Geometry’ to ‘Element Parts Geometry’.
- Moved back ‘Compound Structure Layer’ components under the ‘Host’ Panel.
Build Time: 07/31/2020 18:19:16
- Grouped all transactions opened in a Grasshopper solution as one UNDO operation in Revit.
- Fixed a bug on NurbsCurve conversion to DB.NurbsSpline when original curve is not C1.
- Fixed a bug in Types.GraphicalElement.ClippingBox when DB.Element is not available.
- Fixed a bug in ‘Add Beam’, now default Cross-Section Rotation is 0.0
- Disabled Grasshopper previews when Solver is locked.
- Now Grasshopper ignores disabled params or components when occurs a change in Revit document in order to expire the solution.
- Added ApplicationServices.Application.GetOpenDocuments extension method.
Build Time: 07/27/2020 12:11:02
- Updated Installer bitmaps.
- Added ‘Filter Element’ component.
- Added ‘Query Graphical Elements’ component.
- Added ‘Element Name’, ‘Element Category’ and ‘Element Type’ components.
- Renamed ‘Exclude ElementType’ Filter component to ‘Exclude Types’.
- Renamed ‘Document Levels Picker’ to ‘Levels Picker’.
- Renamed ‘All documents’ to ‘Open Documents’
- Fixed a bug in ActivationGate that provokes Grassopper window not to activate once is deactivated.
- Fixed Parameters UI when have no connected inputs.
- Fixed RhinoInside.Revit.GH.Types.Panel.IsValidElement to recognize DB.Panel as a Types.Panel.
- Fixed ‘Document Links’ component. Now it works even when there is no instance to the link placed in the model.
- Added Extension method DB.Document.HasModelPath to check if a DB.Document has the specified path.
Build Time: 07/14/2020 10:23:04
- Now ‘Bounding Box’ Grasshopper component works with Revit elements.
- Added support for more
DB.FamilyPlacementTypeto the ‘Add Component (Location)’ component.
- Add more info to the report file about where ‘opennurbs.dll’ is loaded from.
- Resolved units conversion issues in ‘Analyse Wall’ component (#263).
- Fixed ‘Element Geometry’ component when managing family geometry.
Build Time: 06/25/2020 01:12:00
- Added new input parameter to Element.Geometry component to extract geometry ignoring other elements. Is useful to extract a wall shape without the Inserts or without extending it to a roof it is extended.
- Added conversion from string to Enum and standardized concept of Invalid or Unset as
- Added ‘Element Purge’ component
- Added a button in Revit Ribbon to Enable and Disable Grasshopper solver.
- Added geometry preview to Mullions
- Added ‘Graphical Element Geometry’ to extract View dependent geometry and geometry category.
- Added ‘Reset Element Parameters’
- Removed the samples panel.
- Added Command Import to Revit Ribbon.
- Added Host Boundary Profile component.
- Added ‘Element Host’ component.
- Added ‘Family Identity’ component.
- Added support for more ParameterType units conversions.
- Added ‘Graphical Element Location’ component.
- Implemented previews for Grids and Levels
- Added CurveElement type.
- Added casting from GraphicalElement to GH_Line
- Added icon to ‘RhinoInside.Revit.GH.gha’ module.
- Renamed some component names and parameters to follow Revit terminology
- Now ‘Element Dependents’ skips the input element on the output.
- Updated ‘View Identity’ and ‘Query Views’ to use DB.ViewFamily enum.
- Grasshopper preview server filters out those component params that do not implement IGH_PreviewObject interface.
- Param Enum now shows the same icon as ‘Generic Data’ in Grasshopper.
- Removed Locked and Lockable feature from Panels and Mullions because is incomplete.
- Fixed DocumentChangedEvent to trigger New Grasshopper solutions when Revit model changes.
- Disable Grasshopper previews when the solver is disabled.
- Added message to report ‘opennurbs.dll’ is already loaded instead of failing.
- Now expired Rhino.Inside Revit should warn the user instead of simply gray out the button in the Add-Ins tab.
- Check before load the Addin is compiled for correct version of Revit is being loaded.
- Improves the Grasshopper preview in Revit of dense curves.
- Fixed a bug related to units in ToGeometryObjectMany from Brep when it fails and generates a Mesh.
- Fixed a bug in BrepEncoder.ToBRepBuilderEdgeGeometry when the edge domain is the full curve.
- Fixes #139: AddFamilyInstance.ByLocation component does not apply transform on hosted instances
- Fixed a units problem on conversion from Face to Brep or Surface.
- Fixed a bug in ‘Add Form’ component converting units when converting a Brep to a extrusion DB.Form.
- Fixed RawDecoder.ToRhino from DB.Line when the input line is not bounded.
- Added ToPoint2d, ToVector2d and ToUV for converting Autodesk.Revit.DB.UV objects.
- Renamed ToHost and ToRhino by AsPoint3d, AsPoint2d, AsVector3d and AsVector2d for XYZ and UV, to have conversion to Point and Vector.
- Fixed ToEllipse with factor
- Now OpenAwaiter result returns the previous ActivationGate status (open or closed).
- Added IsElementTypeId extension method to DB.ElementId
- Added GetPurgableElementTypes extension method to DB.Document
- Added DB.Element.IsSameElement extension method and fixed DB.Element.CopyParametersFrom.
- Added System.Type.IsGenericSubclassOf extension method.
- Added support for NameAttribute and DefaultValueAttribute to ReflectedComponent.
- Added DB.Document.Release extension method to close a document in case is not open on UI.
- Added extension methods to convert DB.Rectangle into System.Drawing.Rectangle
- Added TryGetOpenUIDocument & TryGetOpenUIView extension methods.
- Added some extension methods to convert DB.Outline and DB.BoundingBoxXYZ
- Added extension methods to DB.View for extracting the View Rectangle in pixels.
- Added extension methods to DB.XYZ to check for perpendicularity and codirectionality.
- Added AreEquivalentReferences extension method do Autodesk.Revit.DB.Document.
- Added extension methods to DB.Element to access Dependent Elements.
Build Time: 5/4/2020 9:36:38 AM
- One of the major additions in this release is the Document-aware components. These components can query information from all the active documents at the same time so you can analyze and compare projects easier.
- The new Rhino.Inside.Revit have also improved the geometry transfer logic between Rhino and Revit in both directions and improved the edge tolerance and trimmed curve conversion as well. This will allow more geometry to pass between Rhino and Revit as a Brep Solids.
- Degree 2 curves with more than 3 points are upgraded to degree 3 to fulfill the Revit requirements
- And Curves that are not C2 are approximated moving the knots near the discontinuity
- Curves are scaled on the fly without copying to improve performance. This means on Rhino models in mm that should be converted to feet in Revit is done without duplicating the curve
- If you have been following the project closely, you might have noticed that we had included a large collection of python components to get you started with different workflows using the Revit API. In the meantime, we have been testing out the methods and ideas behind these components and happy to announce that we have started porting them into the Rhino.Inside.Revit source code. This would standardize the workflows and improve the performance of your Grasshopper definitions.
Build Time: 02/13/2020 10:06:24
- Rhino.Inside.Revit now notifies user when the units settings of Revit model and Rhino document do not match
- AddModelLine.BySketchPlane does not fail on periodic curves anymore Issue #143
- Automatically disable active Grasshopper Document when we lost access to Revit API. This means Grasshopper timers will be disabled until we get access back.
Build Time: 02/06/2020 11:30:30
Added Structural Usage input parameter to Wall.ByCurve component
Added Principal Parameter menu option to parameters
- Fixed Issue #131
- Fixed Issue #123
Build Time: 1/29/2020 17:55:02 AM
- Added HiDPI images for Grasshopper toolbar buttons
- Updated RhinoCommon dependency to
- Resolved Issue #120: Grasshopper updates, somehow mess up the Project Browser configurations
Build Time: 1/21/2020 03:32:26 AM
- Grasshopper and Rhino shortcuts now work inside Revit (Rhino v7.0.20021.12255, 01/21/2020)
- Fixed a bug when there is no ActiveDocument in Revit
- Fixed bug converting ellipses from Revit to Rhino
- Updated links to the new website
- Added a link to the new website in the About dialog
- Added a report tool for add-in load errors
Added type picker to the ElementType parameter
Added DetailLevel parameter to the Element.Geometry
Build Time: 1/13/2020 17:10:04
Started documenting release notes.