Closed Nice3point closed 3 weeks ago
22 new problems were found
Inspection name | Severity | Problems |
---|---|---|
Invert 'if' statement to reduce nesting |
◽️ Notice | 6 |
Convert 'if' statement into 'switch' |
◽️ Notice | 5 |
Part of foreach loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used |
◽️ Notice | 4 |
Member can be made static (shared) (private accessibility) |
◽️ Notice | 4 |
'if-return' statement can be rewritten as 'return' statement |
◽️ Notice | 2 |
Convert local variable or field into constant (private accessibility) |
◽️ Notice | 1 |
💡 Qodana analysis was run in the pull request mode: only the changed files were checked ☁️ View the detailed Qodana report
wow! brilliant!
by the way, for 2D geometry like room boundaries etc., are you aware of my GeoSnoop utility? https://thebuildingcoder.typepad.com/blog/2014/04/determining-the-size-and-location-of-viewports-on-a-sheet.html
@jeremytammik thanks Jeremy for sharing the link, yes I have heard of it and seen it in some articles. In the current implementation I am using DirectContext3D to render 3d geometry, this will give a lot of possibilities to create independent geometry with many customisations
wow, yes, absolutely, that will be ever so much more powerful.
The geometry rendering looks finished. It remains to write documentation and brush up all little details. Release is planned for next week
If you have any suggestions or comments on what you see in the screenshots in the PR, write it here
In the XYZ visualisation, is there a way to distinguish between X, Y and Z axes?
is thjere a way to control the length of the little vectors showing mesh triangle orientation? in the mesh, can one see the orientation of each triangle, i.e., the order of its three vertices (clockwise, anticlockwise)?
this is brilliant work. it wil have a very significant positive impact on the usefulness of RevitLookup! thank you!
In the XYZ visualisation, is there a way to distinguish between X, Y and Z axes?
The only difference now is that they always point in the directions XYZ.BasisX, XYZ.BasisY, XYZ.BasisZ. DirectContext3D doesn't allow us to add text, any other ideas how we can highlight them?
is thjere a way to control the length of the little vectors showing mesh triangle orientation? in the mesh, can one see the orientation of each triangle, i.e., the order of its three vertices (clockwise, anticlockwise)?
Interesting, might think about it, do you suppose it would be useful?
any other ideas how we can highlight them?
some coordinate system visualisations use three colours, e.g., RGB.
do you suppose it would be useful?
only as little. when there are very many close together and they overlap a lot. low priority, though, IMHO.
Great suggestion about the colour. Clockwise, anticlockwise direction we can just finalise in the next releases
Added documentation, Wiki section will be updated after release.
@jeremytammik If you notice typos, please write if you have time of course
I belive that visulize by RGB is good idea, I did similar idea to visulize coordinate system before by color 👍
the description and images in your comment look good and clear, clearly explaining the purpose and us. i edited the first sentence, adding analysis and understanding of the BIM
, and added 'aligned to cardinal axes' for bounding boxes. in XYZ visualization
, i wonder whether one should add a note of Transform
and or coordinate system
. would they apply to the XYZ visualisation as well?
exactly, it is necessary to specify that we apply Transform to all BoundingBoxes. About XYZ, they are displayed as they are, according to their value. but visualisation of normal points with length 1 is disabled
blog post is now live: https://thebuildingcoder.typepad.com/blog/2024/06/revitlookup-geometry-visualisation.html
Awesome, that looks juicy 🎉
Summary of the Pull Request
What is this about:
Geometry visualization engine
Description:
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.
Visualization available in the context menu for each object:
Mesh visualization
The Mesh Visualization feature emphasizes the detailed structure of a mesh, providing insights into its geometric composition. Meshes consist of vertices, forming a network that approximates the surface of a 3D object. This feature enables to:
Face visualization
The Face Visualization feature focuses on rendering and inspecting individual faces of solid geometry. Faces are planar or curved surfaces that define the boundaries of a solid. This feature enables users to:
Solid visualization
The Solid Visualization feature provides a comprehensive view of the entire solid geometry within a model. Solids are volumetric shapes that define the three-dimensional space occupied by objects. This feature enables users to:
The wireframe display mode is best suited for this type of geometry. However, if you need to completely isolate the Revit geometry from the visualised geometry, temporarily hide the element being explored. To analyze internal structure, use section box, hide the element and crop it.
Curve visualization
The Curve Visualization feature highlights curves within the geometry, including lines, arcs, splines, and others. Curves define the paths and shapes in a model. This feature enables users to:
Visualisation is only available for bound or cyclic curves
Edge visualization
The Edge Visualization feature focuses on the edges of geometry, which are the lines where two faces meet. This feature enables users to:
Bounding box visualization
The Bounding Box Visualization feature represents the minimal box aligned with the cardinal axes that entirely encloses a geometric object. This feature enables users to:
Transform is applied to the BoundingBox when visualising it
XYZ visualization
The XYZ Visualization feature illustrates the coordinates and orientation of points in the model space. This feature enables users to:
Visualisation is not available for unit length vectors
Color Picker editor
To fine-tune your chosen color, select the central color in the color bar. The fine-tuning control lets you change the color's HSV, RGB, and HEX values.
To choose a similar color, select one of the segments on the left and right edges of the color bar.
Settings
Settings are saved between sessions. To completely reset to default values, open the settings and perform a reset
Quality Checklist