Blog
Learn about industry trends, news and how-tos from our product experts.
Semi-transparent Selection with Halo
Starting from Eyeshot 2022.2 it is possible to draw dynamically selected entities with a halo effect. Starting from Eyeshot 2023 it is possible to draw both static and dynamic selection entities with a halo effect. All the relevant settings are grouped under the property Workspace.Selection. The …
by Leone Ruggiero | May 30, 2022 | Share
Better Transparency
Feature conflict The following approach won't work as expected when MinimumFrameRate is enabled. By default Eyeshot has design.AccurateTransparency property set to false. This allows rendering transparent entities without the preprocessing step (design.ProcessSemiTransparent()) required by the…
by Simone Maccaferri | February 15, 2022 | Share
Performance Tips
The main performance feature of Eyeshot is the Minimum Frame Rate. It basically skips small objects during dynamic movements trying to maintain the target frame rate. The following settings affect the number of drawn objects when the Minimum Frame Rate is enabled, and affect the FPS when disabled. …
by Simone Maccaferri | December 21, 2021 | Share
Eyeshot 2022 Minimum Frame Rate feature
How it works Simplifies the geometry during Zoom/Pan/Rotate removing small objects trying to maintain the target frame rate. Once the dynamic movement is completed the progressive drawing kicks in to avoid blocking the UI. It can be deactivated using the Design.MinimumFrameRate property set to z…
by Alberto Bencivenni | December 13, 2021 | Share
Speed up the resizing of the control
Update for version 2022 and newer Starting from Eyeshot 2022, this solution is no longer needed if Minimum Frame Rate is enabled. In order to speed up the resizing of our control, it is possible to activate the culling feature even during its resizing. Here is the snippet code for both WinForms …
by Antonio Spagnuolo | October 01, 2020 | Share
Draw infinite world axes
With the following class derived from Design you can draw the infinite world axes as shown in the following image: The axes are drawn in 3 overridden methods: DrawViewportBackground: the part of the axes beyond the far plane DrawViewport: the part between the camera planes DrawOverlay: the part n…
by Antonio Spagnuolo | May 20, 2020 | Share
3D scene visual testing
Eyeshot contains a utility to perform an accurate check between images.The general idea is very simple: a pixel-by-pixel comparison. The method devDept.ImageComparison.CompareImages() compares 2 bitmaps and returns an image showing the different pixels and the mismatch percentage between them. …
by Marcello Stagni | January 07, 2020 | Share
Text entity with background mask
Non-maintained solution The proposed solution is not natively supported and may not work in all scenarios and versions. Here's an example on how to derive the Text class in order to draw a colored background mask behind the text. Here is the code: class MyText : devDept.Eyeshot.Entities.Text…
by Antonio Spagnuolo | December 13, 2019 | Share
Drawing entities above all others entities using TempEntities
It is common the need to draw an entity that will be shown above all other entities. For this task, there is not a univocal answer and there are different solutions that can be implemented based on the working context. For one of them, you can use the approach shown here. Here, we discuss the possi…
by Antonio Spagnuolo | July 05, 2019 | Share
Create streamline-like curve
This article shows how to create streamlines using the PointCloud class. With the first approach, you will have full control over the streamlines colors since you can set the RBG color of each the PointCloud's vertexes. With the second approach, you can choose colors by means of a Color Table. Thi…
by Antonio Spagnuolo | February 28, 2019 | Share