This tool enables the plotting of any Eyeshot entity directly from the Visual Studio Watch window, Immediate window, or within source code. It also supports various geometric data types including points, planes, vectors, and analytic surfaces. Furthermore, the Blink debugging tool is compatible with any IDE, such as JetBrains Rider, allowing for seamless integration across different development environments. This tool includes EYE file write and neutral CAD format export. In this video, you can see a general showcase of Blink.
From the Display Mode menu, you can choose between Wireframe, Shaded, Rendered, Flat, and HiddenLines:
In the top-left corner, you can decide which selection filter to use: Entity, Face, Edge, or Vertex. The Home button moves the camera to its initial view, and the button below it calls ZoomFit on the entities. The Info button can be used when an element is selected to Dump it, providing many useful details. The File menu is used to save or export the content.
By right-clicking you can delete all entities, measure distances between two vertices, and other valuable features:
From the menu in the bottom-left corner, you can customize the Eyeshot control in useful ways, such as selecting the display mode, changing the camera projection, toggle the visibility of the grid, vertices, edges etc...
Region region = devDept.Eyeshot.Entities.Region.CreateHexagon(30);
CompositeCurve compositeCurve = CompositeCurve.CreateRoundedRectangle(20, 30,5);
compositeCurve.Translate(40, 0);
region.Blink(Color.Orange);
compositeCurve.Blink(Color.Violet);
Mesh m = Mesh.CreateSpring(15, 2, 3, 6, 15, 4, false);
m.Blink();
When an object is selected from the top-right panel, you can change its color, Regen it with a custom tolerance or angle, and Explode it into sub-items that compose it:
Here is a list of the most commonly used methods:
public static void Blink(this T entity, Color? color = null, float? lineWeight = null, string layerName = null)
where T : Entity
For example to send a single entity using the red color:
entity.Blink(Color.Red); // Color = System.Drawing.Color
public static void Blink(this IList entities, Color? color = null, float? lineWeight = null, string layerName = null)
where T : Entity
Used to view a list of entities, it is faster than calling the single entity method multiple times:
design1.Entities.Blink();
The BlinkCloud and BlinkPath methods are also useful for working with lists of 2D and 3D points, allowing them to be sent as a point cloud or a linear path. For example, to send an array of points as a point cloud and then as LinearPath:
Point3D[] points = new Point3D[] {
new Point3D(0, 0), new Point3D(5, 0), new Point3D(5, 5), new Point3D(7, 4), new Point3D(9, 11)
};
points.BlinkCloud(Color.Green); // Blink as point cloud
points.BlinkPath(); // Blink as linear path
It is also possible to send a text label to be positioned at a specific point. For example:
"Hello World".Blink(Point3D.Origin);
To clear all entities from the screen, you can write:
devDept.Geometry.BlinkCommands.Clear();
To clear the contents of a specific layer, such as Layer 1:
devDept.Geometry.BlinkCommands.Clear("Layer 1");
To set a specific view:
devDept.Geometry.BlinkCommands.SetView(viewType.Top);
To fit one or more entities:
devDept.Geometry.BlinkCommands.ZoomFit(ent);
Here is a comprehensive list of supported types:
Entity |
IEnumerable<T> where T : Entity |
Vector2D |
IEnumerable<T> where T : Vector2D |
Vector3D |
string (Blinked as Label) |
ICurve |
IEnumerable<T> where T : ICurve |
IEnumerable<Point2D> (BlinkCloud and BlinkPath) |
Plane |
AnalyticSurf |
Polygon2D |
PolyRegion2D |
Point2D |
Point3D |
Segment2D |
IEnumerable<T> where T : Segment2D |
Segment3D |
IEnumerable<T> where T : Segment3D |
IndexTriangle |
Toolpath.Motion |
TrimCurve * |
IEnumerable<TrimCurve> * |
Region * |
IEnumerable<Region> * |
CompositeCurve * |
IEnumerable<CompositeCurve> * |
Face |
IEnumerable<Face> |
Loop |
Edge |
IEnumerable<Edge> |
OrientedEdge |
IEnumerable<OrientedEdge> |
Material |
Bitmap |
*: if TrimCurves are involved, each corresponding 3d Edge is also added to scene
Here is a list of commands:
Clear() | Clears the specified layer or the whole scene. |
SetView() | Sets the specified view. |
ZoomFit() | Fits the specified list of entities or the whole scene. |
Comments
Please sign in to leave a comment.