devDept home page
Home
| Support | Purchase | Company
 
 
Tickets
Submit a Ticket
View your Tickets
License Profile
Resources
Documentation
Knowledge Base
FAQ
Change Log
Other
Contact Support
Migrating from Eyeshot version 2.x to 3.0
Created Jun 17, 2009 / Updated May 7, 2010

 

Breaking changes from version 2.x:

  • No more structures - only classes, this implies that points are passed by reference and changing a point used previously to create an entity will change the entity itself (some entities need a Regen() call as before)
  • Point4D is inherits by Point3D that inherits by Point2D, defined inside the new devDept.Geometry namespace
  • Where you can pass a Point2D you can also pass a Point3D, where you pass a Point3D you can also pass a Vector3D. This way you can derive your own point types and use it directly
  • devDept.Eyeshot.Standard was renamed to devDept.Eyeshot.Entities
  • Entity's layer and color is specified when adding entities to Viewport.Entities collection
  • Plane is not an entity anymore, now use PlanarEntity

 

Important note regarding point copy:
C#

You previously did:

 Array.Copy(source, destination, 0);

What you need to do in Eyeshot 3.0:

 Point3D[] dest = new Point3D[len];

for (int i = 0; i < len; i++)

dest[i] = (Point3D) source[i].Clone();

Visual Basic

You previously did:

 Array.Copy(source, destination, 0)

What you need to do in Eyeshot 3.0:

 Dim dest As Point3D() = New Point3D(len - 1)

For i As Integer = 0 To len - 1

dest(i) = DirectCast(source(i).Clone(), Point3D)

Next

 

 

Recommended process to successfully plugin the new DLL

  1. Make a full backup of your project(s) including your exinsting Eyeshot 2.x DLL
  2. Open the project in Visual Studio
  3. Add the new Eyeshot DLL to the project references (you find it in the Bin folder of the Eyeshot installation)
  4. Build the project
  5. Follow the instructions below to fix the rest of your code

 

The following table summarizes the most probable compilation errors/issues you will encounter plugging-in the new Eyeshot DLL in your application.

# Issue Fix
1 Missing ViewportStandard.SetCameraView() method Was renamed to SetView()
2 Missing Viewport.Entities.ChordalError property Removed, now it's adjusted automatically. If you want to force your specific tolerance use the Viewport.Entities.RegenAll(tol)
3 Missing devDept.Eyeshot.Standard namespace Renamed to Entities
4 Missing Viewport.UnitsMode Renamed to Units
5 Missing Viewport.Edge.ColorMode property Renamed to ColorMethod
6 Missing devDept.Eyeshot.Geometry namespace Renamed to devDept.Geometry
7 New parameter for ViewportStandard.ScreenToWorld() method Now the returned point is an out parameter and the method returns true if the conversion succeed
8 Missing Mesh.EdgeStyleMode property Renamed to EdgeStyle
9 Missing enum viewportDisplayType.ShadedAndEdges Renamed to Rendered
10 Missing enum viewportDisplayType.ShadedAndWireframe Now use Shaded and you should get the same effect
11 Missing enum Mesh.edgeStyleType Moved to devDept.Eyeshot namespace
12 Missing enum Mesh.normalAveragingType Moved to devDept.Eyeshot namespace
13 Missing viewportDisplayType.ShadedAndEdges enum value

Replaced by Rendered. This new value renders all material properties like ambient, diffuse, specular, shininess and texture. Materials can be defined in many ways:

  1. For meshes using a meshNature as RichPlain or RichSmooth passing the material index to the triangle constructor
  2. For generic entities (including plain/smooth meshes) using Entity.MaterialMethod to byLayer and properly editing the layer material
  3. For generic entities (including plain/smooth meshes) using Entity.MaterialMethod to byEntity and properly editing the entity material
14 Missing Color parameter in all entities constructors Now you can specify the entity layer and color in the Viewport.Entities.Add() and Viewport.Entities.AddRange() methods. The entity color is defined according to the Entity.ColorMethod switch.
15 Missing RichMesh class Now the Mesh class covers all types of meshes of version 2.x. See details here.
16 Type change for Mesh.MakeFace() method parameters outerLoop and innerLoops Now only entities that inplement the ICurve interface can be added, so please change your array type from Entity[] to ICurve[]
17 New parameter for Mesh.MakeFace() method checkDir Now if you are sure of the loop direction (outer = clockwise, inners counter-clockwise) you can set checkDir to false and improve speed, use true otherwise
18 Missing VertexIndices struct Renamed to IndexTriangle and type converted to class
19 Missing Entity.Thickness property Renamed to LineWeight and to be used in conjunction of Entity.LineWeightMethod. For Point entities use the Size property. For PointCloud entities use the PointSize property.
20 Missing ViewportProfessional.SortEntities property Removed. Not needed any more.
21 Missing Mesh.TwoPassRendering property Removed. Not needed any more.
22 Missing Viewport.Edge property Renamed to Edges.
23 Missing Point2D parameter in the ViewportSolid.Extrude() and Revolve() methods Now all the entities (including Point) feature a sketch plane constructor. This mean that you can create a 3D point by a a sketch plane and XY coordinates. In this way you can define profiles in the same way as Eyeshot version 2.x
24 Missing sketch plane parameter in the ViewportSolid.Extrude() and Revolve() methods Now all the entities feature a sketch plane constructor. This mean that you can create a 3D line by a sketch plane and XY coordinates. In this way you can define profiles in the same way as Eyeshot version 2.x
25 No more events in the Windows Event Log Notifications to the Windows Event Log was completely abandoned. Now the Viewport. GraphicalIssues property reports all the graphics related issue as a StringBuilder class.
26 Missing Utility.Distance() method Replaced by Point3D.Distance()
27 Missing meshEdgeStyleType.All enum Renamed to None
28 Missing backFaceColorType enum Renamed to backfaceColorMethodType
29 Missing LabelBase class Renamed to Label
30 Missing Utility.IntersectRayTriangle() method Renamed to SegmentTriangleIntersection()

 

Don't find your issue listed here?
Contact immediately our technical support at: support@devdept.com
 
Copyright © 2009 devDept Software. All rights reserved.