- Fixed placeholder for the Dark theme #291
- Fixed the Revit.ini editor filter button name
- Fixed the Revit.ini editor filter placeholder
- Disabled the Visual.Enter() method #292
- Suppressed GenericHost startup messages by @Nefarion in #294
The Revit.ini file is a key configuration file in Revit that stores settings related to user preferences, system behavior, and project defaults.
The Revit.ini File Editor provides a simple and efficient way to manage these settings without the need for manual editing. With this tool, users can quickly adjust Revit’s configurations to match project needs or personal preferences, making it an essential utility for both professionals and teams working with Revit.
This is our first public version, and we are excited for you to try it out for yourself! Make sure to file issues you encounter on our GitHub so we can continue to improve it.
Documentation: https://github.com/jeremytammik/RevitLookup/wiki/Revit.ini-File-Editor
Some users experience issues launching RevitLookup, often caused by conflicts with third-party plugins (see issue #269).
To help resolve these issues, we've introduced new tools that allow you to analyze, identify and upgrade problematic plugins causing crashes.
Download: #269 (comment)
Many thanks to @RichardPinka for testing tools in the discussion: #281
Curious about what’s next? Stay updated on the latest developments for RevitLookup and share your feedback.
Check out our Public Roadmap to see what’s coming up in future releases.: https://github.com/users/jeremytammik/projects/1
New extensions:
Type | Extension | Description | Author |
---|---|---|---|
Pipe | HasOpenConnector | Checks if there is open piping connector for the pipe. | #261 by @SergeyNefyodov |
Family | FamilyCanConvertToFaceHostBased | Indicates whether the family can be converted to face host based. | #263 by @SergeyNefyodov |
Family | GetProfileSymbols | Gets the profile Family Symbols. | #263 by @SergeyFyodorov |
Document | GetLightFamily | Creates a light family object from the family document. | #266 by @SergeyNefyodov |
LightFamily | GetLightTypeName | Return the name for the light type. | #266 by @SergeyNefyodov |
LightFamily | GetLightType | Return a LightType object for the light type. | #266 by @SergeyNefyodov |
Application | GetMacroManager | Gets the Macro manager from the application. | #268 by @SergeyNefyodov |
Document | GetMacroManager | Gets the Macro manager from the document. | #268 by @SergeyNefyodov |
New API support:
- CylindricalFace class support #264:
- Radius property support
- StructuralSettings class support #282 by @SergeyNefyodov:
- GetStructuralSettings method support
- StructuralSettings class support #283 by @SergeyNefyodov:
- GetActiveSunAndShadowSettings method support
- GetSunrise method support
- GetSunset method support
- GetSunset method support
- IsTimeIntervalValid method support
- IsAfterStartDateAndTime method support
- IsBeforeEndDateAndTime method support
- RevisionNumberingSequence class support #289 by @SergeyNefyodov:
- GetAllRevisionNumberingSequences method support
- AnalyticalLinkType class support #288 by @SergeyNefyodov:
- IsValidAnalyticalFixityState method support
- AreaVolumeSettings class support #287 by @SergeyNefyodov:
- GetAreaVolumeSettings method support
- GetSpatialElementBoundaryLocation method support
New default settings:
Show Static
members enabled by defaultShow Events
enabled by defaultShow Extensions
enabled by default
- Updated Contributing guide.
- Added a new GitHub issue templates.
In this release, RevitLookup now runs in an isolated container for addin dependencies. This new capability prevents conflicts and compatibility issues arising from different library versions between plugins, ensuring a more stable and reliable environment for plugin execution.
This enhancement uses the Nice3point.Revit.Toolkit
to manage the isolation process, effectively eliminating DLL conflicts.
By integrating this package, RevitLookup ensures a consistent and predictable user experience.
Detailed description how it works: https://github.com/Nice3point/RevitToolkit/releases/tag/2025.0.1
Dependency isolation is available starting with Revit 2025.
Note that the isolation mechanism is implemented by an additional library that must be loaded into Revit at first startup for it to work.
Therefore, if your other plugins use Nice3point.Revit.Toolkit
, it must be updated to version 2025.0.1
, which introduces this feature
Type | Extension | Description |
---|---|---|
Part | IsMergedPart | Is the Part the result of a merge. |
Part | IsPartDerivedFromLink | Is the Part derived from link geometry |
Part | GetChainLengthToOriginal | Calculates the length of the longest chain of divisions/ merges to reach to an original non-Part element that is the source of the tested part |
Part | GetMergedParts | Retrieves the element ids of the source elements of a merged part |
Part | ArePartsValidForDivide | Identifies if provided members are valid for dividing parts |
Part | FindMergeableClusters | Segregates a set of elements into subsets which are valid for merge |
Part | ArePartsValidForMerge | Identifies whether Part elements may be merged |
Part | GetAssociatedPartMaker | Gets associated PartMaker for an element |
Part | GetSplittingCurves | Identifies the curves that were used to create the part |
Part | GetSplittingElements | Identifies the elements ( reference planes, levels, grids ) that were used to create the part |
Part | HasAssociatedParts | Checks if an element has associated parts |
PartMaker | GetPartMakerMethodToDivideVolumeFW | Obtains the object allowing access to the divided volume properties of the PartMaker |
Element | GetCheckoutStatus | Gets the ownership status of an element |
Element | GetWorksharingTooltipInfo | Gets worksharing information about an element to display in an in-canvas tooltip |
Element | GetModelUpdatesStatus | Gets the status of a single element in the central model |
Element | AreElementsValidForCreateParts | Identifies if the given elements can be used to create parts |
- Dependencies conflict #210, #252
- Request for adding WorksharingTooltipInfo Properties #254
- AssemblyLoadContext discussion #246
-
Solid scaling
Visualisation now supports scaling a solid, relative to its centre. Exploring small objects is now even easier #251
-
Theme synchronisation with Revit
Starting with Revit version 2024, you can choose to automatically change the RevitLookup theme. Fans of darker colours will no longer have to dig through the settings every time
-
Improved arrow position for vertical edges on visualization
-
Multithreading visualization support. Changing settings now does not affect rendering. Previously there were artifacts due to fast settings changes
-
Added new extensions:
Type Extension Description Element GetCuttingSolids Gets all the solids which cut the input element Element GetSolidsBeingCut Get all the solids which are cut by the input element Element IsAllowedForSolidCut Validates that the element is eligible for a solid-solid cut Element IsElementFromAppropriateContext Validates that the element is from an appropriate document
- Visualization dark theme support #250
We're proud to share that RevitLookup has achieved 1000 stars on GitHub! This milestone is a testament to its value and the dedication of our community. Thank you for helping us reach this landmark!
To celebrate it, we are excited to introduce a major new feature in this release that will transform your interaction with models, offering a deeper understanding of the geometric objects that constitute your models.
This release includes comprehensive Geometry Visualization capabilities, enabling users to visualize various geometry objects directly within the RevitLookup interface.
In Revit, geometry is at the core of every model. Whether you are dealing with simple shapes or intricate structures, having the ability to visualize geometric elements can significantly improve your workflow, analysis and understanding of the BIM.
To illustrate the power of these visualization capabilities, here's a glimpse of the geometric objects you can now explore directly within RevitLookup:
Geometry | Illustration |
---|---|
Mesh | |
Face | |
Solid | |
Curve | |
Edge | |
BoundingBox | |
XYZ |
For detailed documentation, visit: https://github.com/jeremytammik/RevitLookup/wiki/Visualization
Feel free to leave comments and suggestions regarding visualization here: #245. Your input helps us improve this tool for everyone in the Revit community.
- BoundingBoxXYZ class support
- Added
Bounds
method support - Added
MinEnabled
method support - Added
MaxEnabled
method support - Added
BoundEnabled
method support
- Added
- Added Edit parameter icon
- Added Select context menu action for Reference type
- Added Export family size table for FamilySizeTableManager type by @SergeyNefyodov in #244
- Added new extensions:
Type | Extension | Description |
---|---|---|
Application | GetFormulaFunctions | Gets list of function names supported by formula engine |
Application | GetFormulaOperators | Gets list of operator names supported by formula engine |
BoundingBoxXYZ | Centroid | Gets the bounding box center point |
BoundingBoxXYZ | Vertices | Gets list of bounding box vertices |
BoundingBoxXYZ | Volume | Evaluate bounding box volume |
BoundingBoxXYZ | SurfaceArea | Evaluate bounding box surface area |
Document | GetAllGlobalParameters | Returns all global parameters available in the given document |
Document | GetLightGroupManager | Gets a light group manager object from the given document |
Document | GetTemporaryGraphicsManager | Gets a TemporaryGraphicsManager reference of the document |
Document | GetAnalyticalToPhysicalAssociationManager | Gets a AnalyticalToPhysicalAssociationManager for this document |
Document | GetFamilySizeTableManager | Gets a FamilySizeTableManager from a Family |
UIApplication | CurrentTheme | Gets a current theme |
UIApplication | CurrentCanvasTheme | Gets a current canvas theme |
UIApplication | FollowSystemColorTheme | Indicate if the overall theme follows operating system color theme |
View | GetSpatialFieldManager | Retrieves manager object for the given view |
Hope everyone enjoys the new release. Thanks!
Made with love by @Nice3point 🕊️
A new Release focused on improving core functionalities and robustness of the product.
-
Introducing a preview feature for Family Size Table, making it easier to manage and visualize family sizes by @SergeyNefyodov in #236 To access it:
- Enable Show Extensions in the view menu
- Select any FamilyInstance
- Navigate to the Symbol
- Navigate to the Family (or just search for Family class objects in the Snoop database command)
- Navigate to the GetFamilySizeTableManager method
- Navigate to the GetSizeTable method
- Right-click on one of the tables and select the Show table command
Note: Family size table is currently in read-only mode
-
Added new context menu item for selecting Element classes without showing
-
Added new fresh, intuitive icons to the context menu for a more user-friendly interface.
-
Refined labels, class names, and exception messages
- Resolved an issue where the delete action was not displayed in the context menu for ElementType classes
- Fixed the context menu display issue for Element classes, broken in previous release
- Fixed the order of descriptors to prevent missing extensions and context menu items in some classes, broken in previous release by @SergeyNefyodov in #235
-
Memory column contains the size of allocated managed memory. Native ETW and allocations in C++ code are not included to avoid severe performance degradation.
-
The different method overloading variations, are now displayed in the
Variants
collection Previous: GeometryElementNow: Variants<GeometryElement>
-
ConnectorManager class support
- Added
ConnectorManager.Lookup
support by @SergeyNefyodov in #227
- Added
-
Wire class support
- Added
Wire.GetVertex
support by @SergeyNefyodov in #228
- Added
-
IndependentTag class support
- Added
IndependentTag.CanLeaderEndConditionBeAssigned
support by @SergeyNefyodov in #229 - Added
IndependentTag.GetLeaderElbow
support by @SergeyNefyodov in #229 - Added
IndependentTag.GetLeaderEnd
support by @SergeyNefyodov in #229 - Added
IndependentTag.HasLeaderElbow
support by @SergeyNefyodov in #229 - Added
IndependentTag.IsLeaderVisible
support by @SergeyNefyodov in #229
- Added
-
CurveElement class support
- Added
CurveElement.GetAdjoinedCurveElements
support by @SergeyNefyodov in #230 - Added
CurveElement.HasTangentLocks
support by @SergeyNefyodov in #230 - Added
CurveElement.GetTangentLock
support by @SergeyNefyodov in #230 - Added
CurveElement.HasTangentJoin
support by @SergeyNefyodov in #230 - Added
CurveElement.IsAdjoinedCurveElement
support by @SergeyNefyodov in #230
- Added
-
TableView class support
- Added
TableView.GetAvailableParameters
support by @SergeyNefyodov in #231 - Added
TableView.GetCalculatedValueName
support by @SergeyNefyodov in #231 - Added
TableView.GetCalculatedValueText
support by @SergeyNefyodov in #231 - Added
TableView.IsValidSectionType
support by @SergeyNefyodov in #231 - Added
TableView.GetCellText
support by @SergeyNefyodov in #231
- Added
-
DatumPlane class support
- Added
DatumPlane.CanBeVisibleInView
support by @SergeyNefyodov in #232 - Added
DatumPlane.GetPropagationViews
support by @SergeyNefyodov in #232 - Added
DatumPlane.CanBeVisibleInView
support by @SergeyNefyodov in #232 - Added
DatumPlane.GetPropagationViews
support by @SergeyNefyodov in #232 - Added
DatumPlane.GetDatumExtentTypeInView
support by @SergeyNefyodov in #232 - Added
DatumPlane.HasBubbleInView
support by @SergeyNefyodov in #232 - Added
DatumPlane.IsBubbleVisibleInView
support by @SergeyNefyodov in #232 - Added
DatumPlane.GetCurvesInView
support by @SergeyNefyodov in #232 - Added
DatumPlane.GetLeader
support by @SergeyNefyodov in #232
- Added
-
Extensions:
- Added Family class extension
FamilySizeTableManager.GetFamilySizeTableManager
by @SergeyNefyodov in #233 - Added FamilyInstance class extension
AdaptiveComponentInstanceUtils.GetInstancePlacementPointElementRefIds
- Added FamilyInstance class extension
AdaptiveComponentInstanceUtils.IsAdaptiveComponentInstance
- Added Solid class extension
SolidUtils.SplitVolumes
- Added Solid class extension
SolidUtils.IsValidForTessellation
- Added Family class extension
-
Output error and failure messages to the Revit journal.
Messages include detailed crash information, including StackTrace. It works for Revit in general and outputs all Domain fatal errors, including failures caused by third-party plugins.
Journals path:
%LocalAppData%\Autodesk\Revit
-
Displaying the original exception type in tooltips, instead of TargetInvocationException.
- View class support
- Added
View.GetCategoryHidden
support by @SergeyNefyodov in #217 - Added
View.GetCategoryOverrides
support by @SergeyNefyodov in #217 - Added
View.GetIsFilterEnabled
support by @SergeyNefyodov in #217 - Added
View.GetFilterOverrides
support by @SergeyNefyodov in #217 - Added
View.GetFilterVisibility
support by @SergeyNefyodov in #217 - Added
View.GetWorksetVisibility
support by @SergeyNefyodov in #217 - Added
View.GetColorFillSchemeId
support by @SergeyNefyodov in #217 - Added
View.IsCategoryOverridable
support by @SergeyNefyodov in #218 - Added
View.IsFilterApplied
support by @SergeyNefyodov in #218 - Added
View.IsInTemporaryViewMode
support by @SergeyNefyodov in #218 - Added
View.IsValidViewTemplate
support by @SergeyNefyodov in #218 - Added
View.IsWorksetVisible
support by @SergeyNefyodov in #218 - Added
View.CanCategoryBeHidden
support by @SergeyNefyodov in #219 - Added
View.CanCategoryBeHiddenTemporary
support by @SergeyNefyodov in #219 - Added
View.CanViewBeDuplicated
support by @SergeyNefyodov in #219 - Added
View.SupportsWorksharingDisplayMode
support by @SergeyNefyodov in #219
- Added
- ScheduleDefinition class support
- Added
ScheduleDefinition.CanFilterByGlobalParameters
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.CanFilterByParameterExistence
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.CanFilterBySubstring
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.CanFilterByValue
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.CanFilterByValuePresence
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.CanSortByField
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.GetField
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.GetFieldId
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.GetFieldIndex
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.GetFilter
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.GetSortGroupField
support by @SergeyNefyodov in #220 - Added
ScheduleDefinition.IsValidCategoryForEmbeddedSchedule
support by @SergeyNefyodov in #220
- Added
- ViewSchedule class support
- Added
ViewSchedule.GetStripedRowsColor
support by @SergeyNefyodov in #221 - Added
ViewSchedule.IsValidTextTypeId
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForKeySchedule
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForMaterialTakeoff
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForSchedule
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultParameterNameForKeySchedule
support by @SergeyNefyodov in #221 - Added
ViewSchedule.IsValidCategoryForKeySchedule
support by @SergeyNefyodov in #221 - Added
ViewSchedule.IsValidCategoryForMaterialTakeoff
support by @SergeyNefyodov in #221 - Added
ViewSchedule.IsValidCategoryForSchedule
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForKeynoteLegend
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForNoteBlock
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForRevisionSchedule
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForSheetList
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetDefaultNameForViewList
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetValidFamiliesForNoteBlock
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetScheduleInstances
support by @SergeyNefyodov in #221 - Added
ViewSchedule.GetSegmentHeight
support by @SergeyNefyodov in #221 - Disabled
ViewSchedule.RefreshData
- Added
- TableData class support
- TableSectionData class support
- Added
TableSectionData.AllowOverrideCellStyle
support by @SergeyNefyodov in #224 - Added
TableSectionData.CanInsertColumn
support by @SergeyNefyodov in #224 - Added
TableSectionData.CanInsertRow
support by @SergeyNefyodov in #224 - Added
TableSectionData.CanRemoveColumn
support by @SergeyNefyodov in #224 - Added
TableSectionData.CanRemoveRow
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellCalculatedValue
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellCalculatedValue
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellCategoryId
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellCategoryId
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellCombinedParameters
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellCombinedParameters
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellFormatOptions
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellFormatOptions
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellParamId
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellParamId
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellSpec
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellText
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellType
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetCellType
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetColumnWidth
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetColumnWidthInPixels
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetMergedCell
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetRowHeight
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetRowHeightInPixels
support by @SergeyNefyodov in #224 - Added
TableSectionData.GetTableCellStyle
support by @SergeyNefyodov in #224 - Added
TableSectionData.IsCellFormattable
support by @SergeyNefyodov in #224 - Added
TableSectionData.IsCellOverridden
support by @SergeyNefyodov in #224 - Added
TableSectionData.IsCellOverridden
support by @SergeyNefyodov in #224 - Added
TableSectionData.IsValidColumnNumber
support by @SergeyNefyodov in #224 - Added
TableSectionData.IsValidRowNumber
support by @SergeyNefyodov in #224 - Added
TableSectionData.RefreshData
support by @SergeyNefyodov in #224
- Added
- Temporary disabled
IndependentTag.TagText
for RebarBendingDetail in Revit 2025. Revit API issue #225
- Fixed Search Bar causing Revit crashing #214
- Ref parameter type support
- Add
BasePoint.GetSurveyPoint
support by @SergeyNefyodov in #212 - Add
BasePoint.GetProjectBasePoint
support by @SergeyNefyodov in #212 - Add
InternalOrigin.Get
support by @SergeyNefyodov in #212 - Add
ElevationMarker.GetViewId
support by @SergeyNefyodov in #213 - Add
CurtainGrid.GetCell
support by @SergeyNefyodov in #215 - Add
CurtainGrid.GetPanel
support by @SergeyNefyodov in #215 - Add
Panel.GetRefGridLines
support by @SergeyNefyodov in #215
Many thanks to @SergeyNefyodov for contributing to RevitLookup
-
Revit 2025 support
-
Action for deleting element
Now you can delete an item from the project, the action is available both from the left panel and from the table.
-
Action for editing element parameter value
Now you can edit the parameter value. String, Double, Int, ElementId supported.
-
ForgeTypeId class name
For developer convenience, the Forge Schema dialog now displays the full class and property name, for direct use in code.
- Added Symbols, groups to the Forge Schema dialog.
- Add
RevitLinkType.IsLoaded
support by @SergeyNefyodov in #208 - Add .LocationCurve.ElementsAtJoin` support by @SergeyNefyodov in #205
- Add .LocationCurve.JoinType` support by @SergeyNefyodov in #205
-
Modules view
The new Modules view lets you inspect the dynamic link libraries (DLLs) and executables that your app uses. In this view, you’ll find information such as module names, versions, application domains, paths to the module.
- Fix clipboard exception causing Revit crash #202
- Fix opening Search Elements dialog from Revit ribbon
Last corrective update for this year, bringing minor tweaks and improvements
- Add theme update for all open RevitLookup instances by @ricaun in #200
- Fix incorrect Hue calculation for some colour formats
- Disable all background effects for Windows 10. Thanks @ricaun for help and testing #194
That's all for now. I wish you all a Happy New Year with best regards, do what you love, evolve, travel, don't forget to have a rest and keep coding 🎉
In this release RevitLookup welcomes you with improved visuals, support for templates to fine-tune data display, improved navigation, in-depth color support, let's take a look
-
Navigation. Updated navigation allows
Ctrl + Click
in the tree or grid to open any selected item or group of items in a new tab. This also allows you to analyze items that RevitLookup doesn't support, how about looking at StackTrace for exceptions -
Color Preview. Changes to the user interface give us the ability to customize the display of any type of data. And now you will be able to visually see how materials or ribbon looks like.
Autodesk.Revit.DB.Color
andSystem.Windows.Media.Color
are supported
-
Update available notification. Updates are now checked automatically and an icon is now displayed in the navigation area if a new version is available
-
Background effects Available on windows 11 only.
Acrylic:
Blur:
The visual representation of the background depends on your desktop image and current theme
-
Color extensions Convert color to other formats HEX, CMYK, etc. Color name identification,
en
andru
localizations available.Autodesk.Revit.DB.Color
andSystem.Windows.Media.Color
are supported
- Fixed incorrect display when switching themes on windows 10 #194
- Returned deleted notification when checking for updates
- Updated developer's guide.
Here, I'm wrapping things up. Wishing everyone a splendid New Year and a joyous Christmas ahead. As always, yours truly @Nice3point 🎅
- Introducing a brand new feature: Restore window size! Now, effortlessly revert back to your preferred window dimensions with a simple click
- Add
MEPSystem.GetSectionByIndex
support by @SergeyNefyodov in #189 - Add
MEPSystem.GetSectionByNumber
support by @SergeyNefyodov in #189 - Add
MEPSection.GetElementIds
support by @SergeyNefyodov in #192 - Add
MEPSection.GetCoefficient
support by @SergeyNefyodov in #192 - Add
MEPSection.GetPressureDrop
support by @SergeyNefyodov in #192 - Add
MEPSection.GetSegmentLength
support by @SergeyNefyodov in #192 - Add
MEPSection.IsMain
support - Add show
System.Object
option (named Root hierarchy) by @SergeyNefyodov in #193 - Add generic types support for the help button
- Minor tooltip changes
- Fixed search that worked in the main thread
-
Settings Accessibility: Most settings have been relocated to the grid context menu for a more intuitive and accessible user experience. Now, users can conveniently access and modify settings directly from the grid context menu
-
Added ExtensibleStorage
Array
andMap
support #184 -
Added
Room.GetBoundarySegments()
support by @SergeyNefyodov in #187 -
Added
BoundarySegment
support by @SergeyNefyodov in #187 -
Added changing theme in runtime
-
Optimized rendering performance for both tree and grid views, resulting in smoother and faster visual representation
-
Added shortcuts for close current and all RevitLookup instances #172
-
Esc
now closes the current window. -
Shift + Esc
closes all RevitLookup instances -
Explore all available shortcuts here
-
- Fixed some crashes #180
- Disabled the last selection restoration during search to improve performance, especially on larger lists. This change optimizes search functionality by preventing potential slowdowns previously experienced with extensive lists
- Upgraded the UI library to the latest version, ensuring compatibility and incorporating potential improvements in functionality and design
- Project updated to .Net 8 and C# 12
- @SergeyNefyodov made their first contribution in #187
Full changelog: https://github.com/jeremytammik/RevitLookup/compare/2024.0.8...2024.0.9
-
Computing Time Tracking
This feature includes the ability to monitor the computing time taken to invoke a member, such as methods or properties. By tracking the execution time, you can identify and analyze slow-performing methods or properties, gaining insights into their overall performance. The computing time is displayed in a separate column and a tooltip, providing you with detailed information. This feature is optional and disabled by default
-
Context Menu
A convenient context menu has been added to the table, providing you with additional options to manage columns and update contents. This menu enables you to customize your table view and effortlessly perform actions to enhance your experience.
-
Enhanced Visualization
Icons have been added to the context menu, making it more visually appealing and intuitive for users to navigate and interact with the available options.
- Added async support for unit dialogs
- Added API for external programs #171
- Added FamilyParameter support by @CADBIMDeveloper in #174
- Added FamilyManager.GetAssociatedFamilyParameter extension by @CADBIMDeveloper in #175
- Fixed shortcuts reloading leading to incorrect ribbon update #177
Full changelog: https://github.com/jeremytammik/RevitLookup/compare/2024.0.7...2024.0.8
Corrective update to the last major release RevitLookup 2024.0.6
- Fixed cases where the return value type was displayed instead of the value itself for methods that support overloads
- Added the
BuiltInCategory
extension of theCategory
class for Revit versions 2021-2022 where this property is not present in the official API #162
-
Icons
Introducing a collection of new icons for properties, methods, fields, and events, ensuring a visually appealing representation
-
Enhanced Performance with Separate UI Thread
The RevitLookup user interface now operates in a dedicated thread, independent of Revit's workload. This architectural improvement significantly enhances smoothness and responsiveness
-
New Additional Setting Options
Introducing a range of new setting options that expand customization capabilities and provide users with greater control over the tool's behavior
-
Class fields
Introducing support for displaying class fields, enabling a comprehensive understanding of the class structure
-
Class events
Introducing support for displaying class events, facilitating better comprehension of event-driven programming within the class
-
Class private members
Empowering developers with the ability to visualize and access class private fields, properties, methods, and events, providing a complete overview of the class implementation
-
ElementId Redirection to Category
Implemented a helpful feature that automatically redirects ElementId to Category, whenever applicable. This simplifies navigation and enhances the user experience
-
Content Virtualization
Applied content virtualization to the dashboard and settings page, optimizing performance by efficiently managing large amounts of data and dynamically loading content as needed. This results in a smoother and more efficient user interaction
-
Static members support
For example, RevitLookup now supports the display of these and other properties and methods:
Category.GetCategory(); Document.GetDocumentVersion() UIDocument.GetRevitUIFamilyLoadOptions() Application.MinimumThickness
-
Ribbon update
SplitButton replaced by PullDownButton. Thank for voting #159
- Added DefinitionGroup support
- Added Element.GetMaterialArea support
- Added Element.GetMaterialVolume support
- Added FamilyInstance.get_Room support
- Added FamilyInstance.get_ToRoom support
- Added FamilyInstance.get_FromRoom support
- "Show element" is no longer available for ElementType
- Fixed issue when GetMaterialIds method didn't return nonPaint materials #163
Critical security patch
- Added Workset support
- Added WorksetTable support
- Added Document.GetUnusedElements support
- Fixed Dashboard window startup location
-
Fixed Fatal Error on Windows 10 #153
Accent colour sync with OS now only available in Windows 11 and above. Many thanks to Aleksey Negus for testing builds
-
Added option to enable hardware acceleration (experimental)
The user interface is now more responsive. Revit uses software acceleration by default. Contact us if you encounter problems with your graphics cards
Known issue: rendering performance drops on selection. This is especially evident on roofs. https://forums.autodesk.com/t5/revit-api-forum/revit-2024-rendering-performance-drops-on-selection/td-p/11878396
-
Added button to enable RevitLookup panel on Modify tab by @ricaun in #152
Disabled by default. Thanks vor voting #151
-
Opening RevitLookup window only when the Revit runtime context is available #155
- Added shortcuts support for the Modify tab #150
- Added EvaluatedParameter support
- Added Category.get_Visible support
- Added Category.get_AllowsVisibilityControl support
- Added Category.GetLineWeight support
- Added Category.GetLinePatternId support
- Added Category.GetElements extension
- Added Reference.ConvertToStableRepresentation support
- Fixed rare crashes in EventMonitor on large models
- Fixed Curve.Evaluate resolver using EndParameter as values
- Added installers for previous RevitLookup versions https://github.com/jeremytammik/RevitLookup/wiki/Versions
In this release, the entire code base has been completely rewritten from scratch with a redesigned user interface. New tools, OTA update, Windows 11 support
-
A brand-new user interface
-
Themes
-
Extended context menu
Wiki page: https://github.com/jeremytammik/RevitLookup/wiki/Context-actions
-
Tooltips
-
The Snoop Selection button has been moved to the Modify tab
-
Smooth navigation. Enable acceleration in Revit settings if you are having trouble with this option
-
Windows 11 Mica effect support
-
Windows 11 Snap Layouts support
-
Accent colour synced with OS
-
New logo
-
Searchbar. Focus is triggered by pressing any key on the keyboard
-
A brand-new core
-
Extensions. Support new methods from the API and other libraries
Available extensions: https://github.com/jeremytammik/RevitLookup/wiki/Extensions
-
Displaying all methods that objects have, even if RevitLookup does not support them
-
Generic names support
| Before | Now | |-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------| | | |
-
Multiple results for methods with overloads
-
Extensible storage moved to the
GetEntity()
method -
Adding new features and extending the functionality of RevitLookup just got easier. Developer's guide: https://github.com/jeremytammik/RevitLookup/blob/dev/Contributing.md#architecture
-
Snoop Point
-
Snoop Sub-Element
-
Snoop UI Application
-
Component manager. Explore AdWindows.dll and learn how the ribbon and user interface in Revit are arranged
-
PerformanceAdviser. Explore document performance issues
-
Registry research: schemas, services, updaters
-
Explore BuiltIn and Forge units
-
Event monitor. Track all incoming events. Events from the RevitAPI.dll and RevitAPIUI.dll libraries are available. The search bar is used to filter results
-
Reworked search. Now you can search for multiple values by
Name
,Id
,UniqueId
,IfcGUID
andType IfcGUID
parametersWiki page: https://github.com/jeremytammik/RevitLookup/wiki/Search-elements
-
Visual search in a project.
Showing elements:
Showing faces (Revit 2023 or higher):
Showing solids (Revit 2023 or higher):
Showing edges (Revit 2023 or higher):
-
OTA update. The RevitLookup update is now available directly from the plugin
Designed & Developed by Nice3point 🕊
In this update:
- New: Hello World window changed to About
- New: resorted commands on the Revit ribbon, frequently used moved to the top
- New: added Snoop Active Document command
- Fix: revert support search index from keyboard
- Fix: removed label null if ElementID was -1
Revit 2023 support
Minor UI changes #135
Minimize, maximize support #134. Fixed problem with sending a print job #133
BindingMap support. #128 issue.
This update fixes the display of labels:
- Support for string empty label.
- Support for string null label.
- Support for double? null label.
- Renamed "View = null" to "Undefined View". This was a misnomer because null throws an exception
- Renamed "View = null - Including geometry objects not set as Visible" to "Undefined View, including non-visible objects"
- Renamed "View = Document.ActiveView" to "Active View"
- Renamed "View = Document.ActiveView - Including geometry objects not set as Visible" to "Active View, including non-visible objects"
Fixed #117 issue. Reflection TargetException message replaced by InnerException message.
This is patch release to fix a few items. This release will fix the issues below:
- Removed unused code and resources, reduced application size
- Optimized collections and arrays, updating the window just got a little faster
- Fixed broken print and preview button
- Reduced memory allocation
mention RFA and RVT project in the project description in readme.md and repository summary
Added automatic generation of a release for the master branch
integrated pull request #108 by Roman @Nice3point to include previous versions in the installer
integrated pull request #107 by Roman @Nice3point to rename Build, fix hello world version and move version number into csproj
integrated pull request #105 by Roman @Nice3point to update badges, consolidate version number management, clean up builder and remove gitlab CI
integrated pull request #104 by Roman @Nice3point to fix snoop db exception due to tag and enum mismatch
integrated pull request #102 by Roman @Nice3point to add changelog and remove unused files
integrated pull request #101 by Roman @Nice3point implementing code rerstructuring, cleanup, build system and installer
integrated pull request #99 by @NeVeS to Eliminate warnings from #98
integrated pull request #97 by @NeVeS to restore ability to snoop plan topologies
integrated pull request #96 by @NeVeS to fix crash on user cancel picking object in cmds: SnoopPickFace, SnoopPickEdge, SnoopLinkedElement
integrated pull request #95 by @NeVeS to handle multiple open documents at the same time
integrated pull request #94 by @NeVeS fixing problem with tranferring focus to Revit when using selectors from modeless window
integrated pull request #93 by @NeVeS imlementing Modeless windows
integrated pull request #91 by @mphelt to add PartUtilsStream
integrated pull request #86 by Luiz Henrique Cassettari adding OnLoad to update width of snoop window value ListView last column
integrated pull request #85 by Luiz Henrique Cassettari increasing width of snoop window value ListView column from 300 to 800
integrated pull request #84 by @RevitArkitek adding PlanViewRange functionality to display view range level id and offset
integrated pull request #83 by @RevitArkitek fixing error where element cannot be retrieved for an element id because SupportedColorFillCategoryIds returns category ids instead
integrated pull request #81 by @CADBIMDeveloper
enhancing ElementId
and Revit 2022 extensible storage support
integrated pull request #80 by @WspDev
to remove deprecated ParameterType
usage
integrated pull request #78 by @RevitArkitek
to handle TableData.GetSectionData
integrated pull request #77 by @RevitArkitek to get end points for curves
integrated pull request #76 by @peterhirn to fix CI for new VS 2019 Revit 2022 dotnet-core csproj
upgraded to Visual Studio 2019 (from 2017) and adopted @peterhirn project and solution files
reset Revit API assembly DLL references to Copy Local false
integrated pull request #73 by @mphelt to wrap snoop in temporary transaction allowing to snoop PlanTopologies
integrated pull request #75 by @peterhirn to fix CI for Revit 2022 and non-dotnet-core project file
integrated pull request #74 by @peterhirn setting up CI to Revit 2022
flat migration to Revit 2022
integrated pull request #71 by @RevitArkitek adding handler for ScheduleDefinition.GetField to address issue #70
integrated pull request #69 by @RevitArkitek adding handler for the GetSplitRegionOffsets method to address issue #68 Split Region Offsets (2021)
integrated pull request #67 by @peterhirn to update timestamp server from Verisign to digicert
increment copyright year
locally disable warning CS0618 DisplayUnitType
is obsolete for one specific use case
integrated pull request #66 by @RevitArkitek adding handlers for View GetTemplateParameterIds and GetNonControlledTemplateParameterIds
integrated pull request #64 by @peterhirn to update CI for Revit 2021
eliminated deprecated unit api usage
integrated pull request #63 by @swfaust to update command registration and remove obsolete test framework command
integrated pull request #58 by @harrymattison with solution changes for multi-release building
flat migration to Revit 2021
incremented copyright year
integrated pull request #56 by @nonoesp
- fix two small typos in readme
integrated pull request #53 by @CADBIMDeveloper
- list available values for ParameterType.FamilyType and FamilyParameters titles
integrated pull request #52 by @CADBIMDeveloper
flat migration to Revit 2020
added MSI installer for Revit 2017-2020 by Harry Mattison
added MSI installer for 2018.0.0.0 submitted by @VBScab in issue #51
integrated pull request #50 by Victor Chekalin to handle DoubleArray4d values
integrated pull requests #48 and #49 by Victor Chekalin to snoop rendering AssetProperty via Material-AppearanceAssetId-GetRenderingAssset
added CmdSnoopModScopeDependents
cleanup before adding CmdSnoopModScopeDependents
fixed typo in variable name reported by @yk35 in pull request #47
added new commands by H�vard Leding: pick surface, edge, linked element
incremented copyright year to 2019
merged issue #45 and pull request #46from @TheKidMSX to center parent for forms
merged pull request #43 from Levente Koncz @palver123 to use ProgramW6432 variable in csproj to locate Revit API assembly DLLs
flat migration to Revit 2019
merged pull request #42 from @Modis Pekshev: Add "Search by and snoop" command
merged pull request #41 from @Modis Pekshev: Add ConvertToStableRepresentation method for References
incremented copyright year to 2018
readme enhancements: badges, installer and updated link to MSI installer
merged pull request #36 from @Andrey-Bushman: switch target platform to.Net 4.6 and replace Revit 2017 NuGet package by Revit 2018.1 Nuget package
merged pull request #34 from @CADBIMDeveloper: annotative family instance geometry, element enumerations instead of ids, parameter names and byte property values
flat migration to Revit 2018
merged pull request #33 by @peterhirn added build status badge
dummy modification to trigger build for https://lookupbuilds.com cf.https://forums.autodesk.com/t5/revit-api-forum/ci-for-revit-lookup/m-p/6947111
added 'new' keyword to avoid warning and override inherited methods
merged pull request #31 from @CADBIMDeveloper removing try-catch handler
merged pull request #30 from @eirannejad adding icon and exception handling
merged pull request #29 from @CADBIMDeveloper fixing bugs initialising type and opening background documents
merged pull request #27 from @CADBIMDeveloper to display category BuiltInCategory, nullable double properties and empty lists
merged pull request #26 from Alexander Ignatovich to restore ability to see extensible storage content
merged pull request #25 from chekalin-v: fix old bugs, significant improvements to the new reflection approach
merged pull request #23 from awmcc90 to catch specific reflection invocation exceptions, not all
merged pull request #22 from awmcc90 drastic changes implementing object inspection via reflection and cross-version compatibility
whitespace
merged pull #21 from @eibre adding UnitType property on the parameter Definition class
fixed issue #19 raised by LeeJaeYoung spot dimension position and text position error
merged pull #20 from @luftbanana supporting close-with-ESC to all forms by assigning the cancel button
incremented copyright year
added version number to Hello World message box
merged pull request #18 by @Andrey-Bushman to use NuGet Revit API package
merged pull request #16 by @arif-hanif to add post build event to project file to copy addin manifest and dll to addins folder
merged pull request #14 by Shayneham to handle exceptions snooping flex pipe and duct lacking levels etc.
merged pull request #13 by awmcc90 to skip mepSys.Elements for OST_ElectricalInternalCircuits category
before merging pull request #13 by awmcc90 to skip mepSys.Elements
ready for publication
microscopic cleanup
migration to Revit 2017 Manuel of Sofistik
incremented copyright year from 2015 to 2016
readme cleanup
implemented support for Element bounding box
handle null floor.GetAnalyticalModel returned in RAC and RME
display all the display names of the BuiltInParameter enumeration value
updated Revit API assembly paths for final release of Revit 2016
updated post-build event target path to Revit 2016 add-ins folder
set Copy Local false on Revit API assemblies
initial migration to Revit 2016 - first public release
integrated changes from previous Revit 2016 version into elaine's one
initial migration to Revit 2016 by @ElaineJieyanZheng
integrated pull request #6 by yzraeu, additinal try catch for Level Offset and MEP System
removed all statements 'using' the empty root namespace Autodesk.Revit
incremented copyright message year from 2014 to 2015
added CategoryType to the CategoryCollector
encapsulate transaction in using statement
merged fix by Tom Pesman @tompesman to catch exception thrown by doc.PrintManager
removed obsolete Revit API usage to compile with zero errors and zero warnings
recompiled for Revit 2015 UR1
initial migration to Revit 2015 Meridian prerelease PR10
double checked that this version corresponds with florian's
merged pull request from FlorianSchmid of SOFiSTiK: extended (added) snooping of geometry, FormatOptions and RevitLinkInstances plus some fixes of compiler errors/warnings; bumped copyright year from 2013 to 2014
joespiff adjusted the Anchor property of the "Built-in Enums Map..." button on the Parameters form so that it behaves well when stretching the form
merged pull request from Prasadgalle