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


1D, 2D, and 3D Meshing

When using the FEM Edition, the devDept.Eyeshot.Meshing namespace comes with plenty of meshing-dedicated classes extending the abstract Mesher class, which in turn extends the WorkUnit class: Choosing a Mesher based on your needs CurveMesher does 1D meshing on instances of classes implementing ICurve; SurfaceMesher does 2D generic meshing on instances of…

by Stefano Volpe | June 23, 2023 | Share


Add 3D mouse support to an MFC application

A 3D mouse is an input device used by CAD users. If you are hosting one of Eyeshot's WinForms controls within an MFC application, you'll notice that your 3D mouse won't work at all. The problem Eyeshot WinForms controls process 3D-mice-related Windows Messages by implementing the IMessageFilter interface and asking the WinForms application to be added to its mess…

by Stefano Volpe | June 16, 2023 | Share


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


System.AccessViolationException with Intel integrated graphics card

When setting the ProjectionMode in the OnLoad() override of a WinForms application you may get a System.AccessViolationException if the renderer is OpenGL and WorkSpace.AskForAntiAliasing is true. Unfortunately, this is a bug in the graphics driver, Intel will fix it but only for 11th Gen and onwards Intel Processor Graphics since they discontinued support…

by Simone Maccaferri | September 22, 2022 | Share


WinForms vs WPF

After fifteen years in business, we still discuss this topic frequently with our customers. The bottom line is that between these two popular UI platforms there is no clear winner. A list of links we collected during the years, where the WinForms vs WPF topic is discussed, follows. https://wpf-tutoria…

by Alberto Bencivenni | September 06, 2022 | Share


Eyeshot Visual Studio Debugger Visualizer

  What is it? Since Eyeshot 2022.2 a Debugger Visualizer will be deployed, which is a custom Visual Studio extension providing the ability to inspect Entities and other Eyeshot objects at debug-time. Items are taken by Visual Studio from the code that is being debugged in order to show information about them in a dedicated Windows Form.   Supported items At the momen…

by Federico Fucci | June 09, 2022 | Share


.NET6 Windows Support

The Eyeshot installer includes the official NuGet packages for .NET6-Windows. In order to simplify the package installation, an additional entry under the Visual Studio Extensions menu has been created, from which you can easily add the proper NuGet reference to the selected project; here you can find a demo video showing this feature. Once the package devDept…

by Marcello Stagni | May 26, 2022 | Share


Silent installation

A new MSI-based installer is used starting from Eyeshot 2022 and you can run a silent installation with the standard commands for MSI packages. Listed below are some command line samples: WinForms with a verbose logEyeshotFem20221271.exe /exenoui /qn /L*V log.txt ADDLOCAL=ALL REMOVE=WPF WPF with a verbose log and a visible progress windowEyeshotFem20221271.exe…

by Marcello Stagni | February 11, 2022 | Share


Workspace.IsBestAdapterAvailable property

When using DirectX, Eyeshot tries to get the best adapter for rendering but some laptops with dual graphics cards don't allow to do this throwing an exception during their initialization.That's because, on those machines, the best adapter (NVidia or AMD) is not a true discrete GPU - it is a co-processor for the Intel GPU, and all video data, even if rendered by those adapt…

by Alberto Bencivenni | December 13, 2021 | Share