Blog
Learn about industry trends, news and how-tos from our product experts.
Rendered Mesh in Wireframe display mode
The proposed solution is not natively supported and may not work in all scenarios or versions. You can have a Mesh entity displayed always as Rendered, regardless of the active display mode, by using the following class derived from Mesh: public class MyShadedMesh : Mesh { public MyShadedMes…
by Antonio Spagnuolo | February 14, 2019 | Share
AutoCAD like selection style
Here's the Eyeshot code to simulate the selection style of AutoCAD®. Clicking the mouse will set the pick state to "Pick". When moving the mouse to the right more than 10 pixels, the pick state changes to Enclosed and when moving to the left of the same amount the pick state becomes Crossing. A tra…
by Antonio Spagnuolo | February 06, 2019 | Share
Highlighting the edge closest to the mouse
The following SingleModel derived class computes the Solid or Mesh edge closest to the mouse position and draws it on screen with a different color to highlight it. It iterates through the Edges of the Portions of each Solid and through the edges of each Mesh in the scene computing the one closest …
by Antonio Spagnuolo | February 06, 2019 | Share
Entities far from the origin: view shaking and bad precision (jittering)
When the entities are very far from the origin their appearance on screen may become very compromised, and the camera may shake badly when moving/rotating the view. Case 1: See the image below of a circle created at (1e9, 1e9, 0) with radius 200: This is due to the float precision of OpenGL that…
by Antonio Spagnuolo | January 29, 2019 | Share
ObjectManipulator customization
Using, for example, the Rings styleType, the default appearance of the ObjectManipulator is the following: By specifying custom meshes it's possible to change its appearance: Here is the code: var orig = Mesh.CreateBox(1.6, 1.6, 1.6); orig.Translate(-0.8, -0.8, -0.8); design1.ObjectManipulator…
by Antonio Spagnuolo | January 25, 2019 | Share
Create points with a different shape
Tired of square Point entities? Here there are a few tricks to build points with the shape you want. First solution: using ImageOnly Label An easy solution could be using an ImageOnly label with a semi-transparent image: Bitmap bmp1 = new Bitmap(@"pointImage.png"); int halfW = bmp1.Size.Width / 2…
by Alberto Bencivenni | January 18, 2019 | Share
Zoom invariant / Position Invariant entity
Non-maintained solution The proposed solution is not natively supported and may not work in all scenarios and versions. Entity To create a zoom invariant entity, meaning an entity that stays the same size on screen regardless of the camera position and zoom, you can use the following mesh-deriv…
by Matteo Librenti | January 18, 2019 | Share
Turbo Mode
Eyeshot 2024 Update This feature has been retired in favor of the Minimum Frame Rate one. In Eyeshot version 12 we introduced a simplified representation of the scene that allows smooth Zoom/Pan/Rotate dynamic movements. This simplified representation is used only during dynamic movements (betwee…
by Alberto Bencivenni | January 11, 2019 | Share
Transparency explained
To make the entity color semi-transparent you need simply to set its color Alpha component to a value lower than 255. The entity color depends on two factors: Color method (byEntity, byLayer, byParent) Viewport display mode (Shaded, Rendered) If you are using Rendered display mode, for example, t…
by Alberto Bencivenni | January 09, 2019 | Share
Changing edge color for a single entity
The following derived Mesh class demonstrates how to change edge color for a single entity. class MyMesh : Mesh { public Color EdgeColor = Color.Empty; public MyMesh(Mesh another, Color edgeColor) : base(another) { EdgeColor = edgeColor; } protected override void DrawE…
by Alberto Bencivenni | November 24, 2017 | Share