Skip to content

Commit 5a0e9ee

Browse files
authored
Merge pull request #22 from NeVeSpl/v2.0
V2.0
2 parents f10c7da + 8c8ca88 commit 5a0e9ee

File tree

9 files changed

+65
-26
lines changed

9 files changed

+65
-26
lines changed
665 KB
Loading
571 KB
Loading
730 KB
Loading
Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,20 @@
1-
## Revit database visualization (RDV)
1+
## Revit database visualization (RDV)
2+
3+
RDV works for selected element/object in the tree and/or on the list.
4+
5+
Available visualizations:
6+
7+
- model coordinate system displayed at (0,0,0)
8+
- for an Element, its bounding box with marked min and max points
9+
- for a Rebar, its Normal and marked start and end points
10+
- for an XYZ, small coordinate system at that point
11+
- BoundingBoxXYZ,
12+
- bounded Curve,
13+
- Edge,
14+
- Point,
15+
- Soild,
16+
- PlanarFace
17+
18+
19+
20+
**Visualizations are static, they are not automatically updated when element changes.**

readme.md

Lines changed: 39 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@
22

33
**The fastest, most advanced, asynchronous Revit database exploration tool for Revit 2021+.**
44

5-
Yet another [RevitLookup](https://github.com/jeremytammik/RevitLookup) like tool. RevitLookup was an indispensable tool to work with Revit API for many years. But now, there is a better tool for the job. Let me introduce you to Revit database explorer and its capabilities. It not only allows us to **explore** database but also to:
6-
- **edit**, any parameter value
7-
- **query**, database with intuitive syntax that is translated into a FilteredElementCollector
8-
- **script**, by running ad hoc scripts written in C#
9-
- **visualize**, geometrical features of elements
5+
Yet another [RevitLookup](https://github.com/jeremytammik/RevitLookup) like tool. RevitLookup was an indispensable tool to work with Revit API for many years. But now, there is a better tool for the job. Let me introduce you to Revit database explorer. It not only allows us to **explore** database but also to:
6+
- **edit** any parameter value
7+
- **query** database with intuitive syntax that is translated into a FilteredElementCollector
8+
- **script** by running ad hoc scripts written in C#
9+
- **visualize** geometrical features of elements
1010

1111
List of features:
1212

13+
- [easier work with Element.Geometry](#easier-work-with-elementgeometry)
1314
- [compare objects and parameters](#compare-object-members-and-element-parameters-values)
1415
- [query Revit database](#query-revit-database-with-rdq-revit-database-querying)
1516
- [script Revit database](#script-revit-database-with-rds-revit-database-scripting)
@@ -19,7 +20,6 @@ List of features:
1920
- [edit parameter value](#edit-parameter-value)
2021
- [extensive support for ForgeTypeId](#extensive-support-for-forgetypeid)
2122
- [better support for Revit Extensible Storage](#better-support-for-revit-extensible-storage)
22-
- [easier work with Element.Geometry](#easier-work-with-elementgeometry)
2323
- [dark and light UI themes](#dark-and-light-ui-themes)
2424
- [snoop Revit events](#snoop-revit-events-with-rem-revit-event-monitor)
2525

@@ -37,33 +37,54 @@ Download and install [RevitDBExplorer.msi](https://github.com/NeVeSpl/RevitDBExp
3737

3838
## Features
3939

40+
41+
42+
### easier work with Element.Geometry
43+
44+
Revit database explorer provides visualization for geometrical features of various objects and also :
45+
46+
- an instance of GeometryObject can be selected in Revit if it has a valid reference
47+
- mouse cursor position expressed in the Revit model coordinates can be find on the status bar
48+
49+
[Learn more about Revit database visualization (RDV).](documentation/revit-database-visualization.md)
50+
51+
![easier-work-with-geometry](documentation/examples/2.0.easier-work-with-element-geometry.gif)
52+
53+
54+
4055
### compare object members and element parameters values
4156

4257
![compare objects and parameters](documentation/examples/compare-objects-and-parameters.gif)
4358

59+
60+
61+
4462
### query Revit database with RDQ (Revit database querying)
4563

46-
RDQ is able to interpret words separated by `,` as element ids, Revit classes, categories, parameters and many more. RDQ builds from them FilteredElementCollector and uses it to query Revit database.
64+
RDQ is capable of interpreting words separated by `,` as element ids, Revit classes, categories, parameters and many more. RDQ builds from them FilteredElementCollector and uses it to query Revit database.
4765

4866
[Learn more about Revit database querying (RDQ).](documentation/revit-database-querying.md)
4967

5068
![possibility-to-query-Revit-database-from-UI](documentation/examples/rdq-revit-database-query-with-rql-revit-query-language.v2.gif)
5169

70+
71+
5272
### script Revit database with RDS (Revit database scripting)
5373

54-
RDS is intended to compile and run C# code that is too small or ephemeral to make macro/dynamo/addon for it. RDS offers the quickest way to run C# code generated with generative AI chats (such as ChatGPT).
74+
RDS is able to compile and run C# code that is too small or ephemeral to make macro/dynamo/addon for it. RDS offers the quickest way to run C# code generated with generative AI chats (such as ChatGPT).
5575

5676
[Learn more about Revit database scripting (RDS).](documentation/revit-database-scripting.md)
5777

5878
#### ad hoc SELECT query
5979

60-
![revit-database-scripting-select-query](documentation/examples/revit-database-scripting-select-query.gif)
80+
![revit-database-scripting-select-query](documentation/examples/2.0.revit-database-scripting-select-query.gif)
6181

6282
#### ad hoc UPDATE command
6383

6484
An example shows how to add a prefix to `Mark` parameter for many selected elements as inputs for the script.
6585

66-
![possibility-to-query-Revit-database-from-UI](documentation/examples/revit-database-scripting-update-command.gif)
86+
![revit-database-scripting-update-query](documentation/examples/2.0.revit-database-scripting-update-command.gif)
87+
6788

6889

6990
### easy access to Revit API documentation
@@ -72,10 +93,14 @@ An example shows how to add a prefix to `Mark` parameter for many selected eleme
7293

7394
![tooltips-with-Revit-documentations](documentation/examples/easy-access-to-revit-api-documentation.gif)
7495

96+
97+
7598
### edit parameter value
7699

77100
![edit-parameter-value](documentation/examples/set.parameter.value.gif)
78101

102+
103+
79104
### extensive support for ForgeTypeId
80105

81106
We all love (or hate) the ForgeTypeId, Revit database explorer exposes all data related to a given ForgeTypeId scattered through many utils. You can also snoop all ForgeTypeIds returned from:
@@ -95,29 +120,24 @@ ForgeTypeId label corresponds to static properties defined on:
95120
![extensive-support-for-ForgeTypeId](documentation/examples/extensive-support-for-ForgeTypeId.gif)
96121

97122

123+
98124
### better support for Revit Extensible Storage
99125

100126
Revit database explorer allows you to snoop all schemas that are loaded into Revit memory, and you can easily get all elements that have an entity of a given schema. You get access to Extensible Storage data exactly like through RevitAPI, by invoking: Element.GetEntity().
101127

102128
![better-support-for-revit-extensible-storage](documentation/examples/better-support-for-revit-extensible-storage.gif)
103129

104130

105-
### easier work with Element.Geometry
106-
107-
- you can select an instance of GeometryObject in Revit if it has a valid reference
108-
- on the status bar you will find mouse cursor position expressed in the Revit model coordinates
109-
110-
![easier-work-with-geometry](documentation/examples/easier-work-with-element-geometry.gif)
111-
112131

113132
### dark and light UI themes
114133

115134
![dark-and-light-ui-themes](documentation/examples/dark-and-light-ui-themes.gif)
116135

136+
137+
117138
### snoop Revit events with REM (Revit Event Monitor)
118139

119140
A new take on [EventsMonitor from RevitSdkSamples
120141
](https://github.com/jeremytammik/RevitSdkSamples/tree/master/SDK/Samples/Events/EventsMonitor/CS). Revit database explorer stores the latest 30 events that occurred during Revit session and allows to snoop them. UIControlledApplication.Idling event and ControlledApplication.ProgressChanged events are not stored because they are too noisy - they happen too often. In order to use this feature, you need to enable event monitor, which by default is disabled.
121142

122-
![snooping-events](documentation/examples/snooping-events.gif)
123-
143+
![snooping-events](documentation/examples/snooping-events.gif)

sources/RevitDBExplorer/MainWindow.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,8 +294,8 @@
294294
</Button>
295295
</StackPanel>
296296

297-
<Grid Grid.ColumnSpan="2" Background="{DynamicResource StatusBar.Background}" HorizontalAlignment="Center">
298-
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding IsNewVerAvailable, Converter={StaticResource BoolToVisibilityConverterCollapsed}}">
297+
<Grid Grid.ColumnSpan="2" Background="{DynamicResource StatusBar.Background}" HorizontalAlignment="Center" >
298+
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="{Binding IsNewVerAvailable, Converter={StaticResource BoolToVisibilityConverterCollapsed}}" Margin="13 0 13 0">
299299
<Run Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}">a new version is available :</Run>
300300
<Hyperlink NavigateUri="{Binding NewVersionLink}" ap:HyperlinkAP.OpenOnClick="True" Foreground="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}" TextDecorations="None" >
301301
<Run Text="{Binding NewVersionLink}" />

sources/RevitDBExplorer/RevitDBExplorer.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
</PropertyGroup>
2525
<PropertyGroup>
2626
<StartupObject />
27-
<Version>1.10.5.0</Version>
27+
<Version>2.0.0.0</Version>
2828
</PropertyGroup>
2929
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'R2023|AnyCPU'">
3030
<DefineConstants>TRACE;R2021b, R2022b, R2023b, R2023e, R2024e</DefineConstants>

sources/RevitDBExplorer/UIComponents/Workspaces/WorkspaceViewModel.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ public void PopulateExplorerTree(SourceOfObjects sourceOfObjects, bool workspace
180180
Title = "<???>";
181181
if (sourceOfObjects.Info is not null)
182182
{
183-
Title = sourceOfObjects.Info.ShortTitle.Truncate(33);
183+
Title = sourceOfObjects.Info.ShortTitle.Truncate(27);
184184
InfoAboutSource = sourceOfObjects.Info;
185185
}
186186
}

sources/RevitDBExplorer/UIComponents/Workspaces/WorkspacesView.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
</Grid.ColumnDefinitions>
4040

4141
<TextBlock Text=">"
42-
Margin="2,0,1,-2"
42+
Margin="0,0,0,-2"
4343
Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
4444
VerticalAlignment="Center"
4545
/>
@@ -57,7 +57,7 @@
5757
VerticalAlignment="Center"
5858
HorizontalAlignment="Center"
5959
ContentSource="Header"
60-
Margin="9,0,9,0"
60+
Margin="6,0,6,0"
6161
RecognizesAccessKey="True"
6262
TextBlock.Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
6363
</Border>

0 commit comments

Comments
 (0)