Code Samples
The long list of ready-to-use source code samples
The following Visual Studio sample projects are located under the product installation folder. Each code sample is delivered in four versions: Windows Forms and Windows Presentation Foundation platforms, C# and VB.NET programming languages.
AssemblyDemo
This sample demonstrates Eyeshot large assemblies handling capabilities. It includes a number of useful commands like Form New, Dissolve, Edit Structure, Make Independent, Edit Part, Edit Assembly, Edit Parent and Moved with Triad. You can control selection, visibility and selectability at the instance level. AssemblyDemo can select items in branch or leaf mode, includes Turbo mode options and commands to open/save and import/export from IGES/STEP file format. Asynchronous regeneration, disabled shadows, disabled reflection, disabled silhouette curves and show center of rotation are the default setting for this sample. Video1, Video2

BlendSurface Ultimate Fem
This sample explains how build a blend surface between two surface edges. You can change the influence of each edge interactively. The Extend button allows to smoothly extend the surface edges. Video1

CamDemo
This sample explains how to generate 2x and 3x toolpaths and how to simulate the material removal. Video1

CollisionDetection
This sample explains how to properly animate a robot arm and how to check collisions between objects. The additional tab, is dedicated to 2D collision detection instead. For more details on the collision detection implementation, check this article.

DelaunayTriangulation
This sample explains how to use the Delaunay triangulation. You can use it with points or loops or both. The outer loop must be closed (first and last points must have the same coordinates) while internal loops can be closed or not. For closed loops, orientation must be counterclockwise for outer and clockwise for inner ones.

DraftingDemo
This sample explains how to implement interactive drawing of 2D curves and dimensions. It can be considered a good starting point to create a 2D CAD system. This sample also includes curve trim, extension, fillet and chamfer. From version 12, this sample includes import/export from DWG/DXF and export to 3D PDF file format.

DragControlPoint Ultimate Fem
This sample explains how to interactively drag a Nurbs surface control point. The trick is to drag a standard point and update the desired surface control point. Nurbs surfaces need to be regenerated after this operation, therefore the RegenMode property is set accordingly.

FileFormatExtension
This sample explains how to extend Eyeshot's proprietary file format with custom data and custom entities. More details on this article.

MachineSimulator
This sample explains how to simulate a 3x CNC machine movements. First, the moving parts are loaded from STL files and added to three different Block definitions, then three subclassed BlockReferences override the Animate() and MoveTo() methods respectively, to compute new position and to move the objects (on GPU only).

PaperDemo
This polyhedric demo explains how to generate Vector and Raster views of your geometry in the Drawing workspace. It is also the only sample that allows importing of DXG/DXF files that include AutoCAD paperspace or layouts. Import of STL, OBJ, IGES and STEP files are provided to test the view generation quality on your own geometry. The Drawings tab contains a number of options to add dimensions and annotations to the views. Drawing sheets can be exported to DWG/DXF as VPORT objects or exploded curves. Yes, you are right, the geometry belongs to our office desks as you can check here. Moreover, this sample shows how to use the WorkManager class to handle a queue of WorkUnits for building the views. Ready to start? Check this introductory article.

PerformanceStudio
This sample demonstrates how every single graphical setting affects drawing speed. It also rebuilds the scene graph as a single object, multiple objects and hierarchical objects. One important feature of this sample is the depth of transparent objects. Enabling it, you can get accurate values under the mouse cursor even for transparent objects, this affects 3D coordinates extraction and center of rotation determination.

SceneEditor
This sample gives you full control on the scene lighting settings. On the left pane you see the camera view while on the right one, the 3D scene from the director point of view. You can turn on up to eight lights of point, spot, directional and stationary types and change each light settings. Currently only one light can yield shadows. You'll find the code to copy geometry from one Design control to the other as well.

SelectTriangles
This sample explains how to implement individual Mesh triangles selection or individual LinearPath segments selection (Lines tab). The sample is optimized for large objects (high number of vertices) and implemented using vertex buffers.

Simulation Fem
This sample demonstrates Eyeshot Finite Element Analysis capabilities, including mapped meshing and 2D and 3D beams with hinge support. The Numeric results button opens a dialog containing all the results in a tabular view. Video1

SketcherDemo
This example demonstrates how to use the 2D constraint solver from UI, including sketch extrude/revolve/sweep and assembly navigation to specific component/BRep. On the left pane you'll find the assembly and features trees. Import sketch from DWG/DXF is also available. Video1, Video2, Video3

Workspaces Ultimate Fem
This example demonstrates how our workspaces (formerly called Environments) work seamlessly on the same geometry. It also shows how to define 2D sketches, orthographic views, FEA study and 3x CNC machining programmatically. Video1

EditMesh
This examples explains how to use the MeshEditior class to simplify an imported STL mesh. Video1
MeshCurve Fem
This example explains how to subdivide a NURBS curve with a variable step. Video1