Learn about industry trends, news and how-tos from our product experts.


How to generate a thumbnail for each assembly component

This article proposes a solution to a common problem in CAD applications: saving a bitmap for each leaf node in an assembly.  The suggested method is based on Eyeshot's assembly navigation system, so it is recommended that you read the article Assembly Navigation first. Our Pulley Transmission article is used to build a sample scene: The assembly tree contains so…

by Leone Ruggiero | May 03, 2023 | Share


Shortcut menus (ContextMenuStrip/ContextMenu) and the 3D mouse

A 3D mouse is an input device used by some CAD users. After a 3D mouse is detected for the first time, whenever the user right-clicks on an Eyeshot control with their (standard) mouse the normal shortcut menu is repopulated with navigation options specific for 3D mice. Please be aware that Eyeshot controls do not react when the "MENU" button of your 3D mouse is pressed. T…

by Stefano Volpe | April 28, 2023 | Share

3D Graphics

Custom Entity with EntityGraphicsData

Starting from Eyeshot 2023 the EntityGraphicsData class is abstract. This article explains the recommended approach for creating an instance of the concrete class in a custom Entity. For a complete sample, you can see the SelectTriangle source code. To create an instance you should override the Entity.InitGraphicsData() and use the RenderContextBase.Creat…

by Simone Maccaferri | April 18, 2023 | Share

3D Graphics

Limitations of AntiAliasing

Eyeshot offers the possibility to enable multisample anti-aliasing (MSAA), a technique that removes the artifacts known as jaggies from the raster image of a 3d scene. It can be activated like this: design1.AskForAntiAliasing = true; // in the Form/Window constructor design1.AntiAlisasing = true; This technique greatly improves the image quality, however, in eyeshot…

by Leone Ruggiero | April 14, 2023 | Share

3D Graphics

Fast and approximate world position under mouse cursor

Sometimes it is convenient to get a rough estimate of the 3d position of whatever is under the mouse cursor. It is possible to get that information by reading the depth value corresponding to the mouse screen location.  The method Workspace.ScreenToWorld() does exactly that. The following code sample demonstrates how you could use this approach to show an arrow a…

by Leone Ruggiero | April 06, 2023 | Share


Eyeshot 2023 is here! 🚀

Bologna, Italy — April 5, 2023. devDept Software S.r.l., leading provider of software development tools to the engineering industry, today announces the release of Eyeshot 2023, the native CAD control for .NET New Architecture Document classes have been introduced Workspace.Document now contains all the data required to draw the scene content Version 2022 GEntit…

April 05, 2023 | Share

3D Graphics

Screen-Space Ambient Occlusion

  Ambient occlusion is a shading and rendering technique used to calculate how exposed each point in a scene is to ambient lighting (source: Wikipedia). Starting from Eyeshot 2023, it is possible to enable the Screen-Space Ambient Occlusion effect (SSAO): a fast approximation of ambient occlusion computed in real-time.   Settings SSAO settings are accessed through t…

by Leone Ruggiero | March 14, 2023 | Share

3D Graphics

Image-based Silhouettes

Starting from Eyeshot 2023, it is possible to detect and draw silhouettes by leveraging the computational power of the GPU. To enable this feature you should set the relative property:  DisplayModeSettings.SilhouettesDrawingMode = silhouettesDrawingType.ImageBased;   Benefits Fast Independent from the polygon count Limitations Silhouettes are detecte…

by Leone Ruggiero | March 13, 2023 | Share


Eyeshot 2023 Beta: new build available for download

devDept Software is proud to announce a new Eyeshot 2023 Beta build. Having now completed several migrations, we have a final Workspaces architecture that no longer requires Design/DesignUI separated objects. This initial design didn’t allow full customization, as we discovered when migrating actual customers’ applications. We then introduced the Documen…

February 27, 2023 | Share


Revolve sketch with arc

var sk1 = new devDept.Geometry.ConstraintSolver.Sketch(); // Create the linear border. var l1 = sk1.AddLine(0, 0, 20, 0); var l2 = sk1.AddLine(20, 0, 20, 10); var l3 = sk1.AddLine(20, 10, 12.4142, 10); var l4 = sk1.AddLine(11.7071, 11.7071, 20, 20); var l5 = sk1.AddLine(20, 20, 0, 20); var l6 = sk1.AddLine(0, 20, 0, 0); // Create the connection arc. Arc arc = new Arc( new Point3D(12.4142, 11, 0), new Point3D(12.4142, 10, 0), new Point3D(11.7071, 11…

by Federico Fucci | February 23, 2023 | Share