Breaking Changes in Eyeshot version 2022

This page lists the important behavior and API changes that were introduced in this version. If you already have projects using devDept products, you will need to peruse this list in order to understand the changes you might need to make to your source code to support this new release.


BC-179 Relocated Unlock() method The Unlock() method has been moved to the new class devDept.LicenseManager and must be called only once at the beginning of the application (before any Eyeshot object is created).
BC-178 Renamed Brep.GetStraightEdgeIndex() method Renamed Brep.GetStraightEdgeIndex() method to GetEdgeIndex().
BC-177 Changed signature of Design.NewSketch(Brep brep, GBrep.Face face) method Changed signature of Design.NewSketch(Brep brep, GBrep.Face face) method. It now accepts faceIndex as first input parameter.
BC-176 Changed signature of Design.EditSketch() method Changed signature of Design.EditSketch() method. It no longer accepts parents as input parameter.
BC-175 Replaced Design.OpenSketch() method Replaced Design.OpenSketch() method with EditSketch().
BC-174 Params refactory Changed signature of TraversalParams constructors, now the Transformation param is optional. Moved SmallParams field from TraversalParams to FrustumParams. Removed set accessor on Deviation, Angle, and MaxLength properties of IRegenParams ( RegenParams and ComputeTessellationParams ) Removed set accessor on the following properties: ComputeTessellationParams.CloneVertices, TraversalParams.Blocks, TraversalParams.WorkSpace.
BC-173 Brep face color change requires a Compile Due to Brep drawing optimizations, now after changing the face color, the Brep needs to be recompiled to see the changes.
BC-172 Center of rotation The default center of rotation for assembly active component (current BlockReference) was changed to active component bounding box center.
BC-171 Home toolbar button Changed Home toolbar button animation settings. Now it syncs with "ViewCube.AnimateCamera" setting.
BC-170 FemMesh.SetForce() method Now it divides the "amount" parameter by the number of relevant FemMesh nodes
BC-169 Manufacture.Tool property Manufacture.Tool property was renamed to SimulationTool. Former "Manufacture.SimulationTool" property is now "ToolBlockRef".
BC-168 FemMesh.Skin property FemMesh.Skin property was renamed to BoundaryMesh
BC-167 Contour2D.Flips property Contour2D.Flips property has moved to Geometry2D class
BC-166 Milling.Setup class All the machining classes constructors now accept "Geometry" as a parameter
BC-165 Static methods from CompositeCurve, Curve to UtilityEx and GCompositeCurve, GCurve to Utility

Moved the following methods to UtilityEx:

  • CompositeCurve.IntersectionLineLine(ICurve line1, ICurve line2, Plane pln, out Point3D i0)
  • CompositeCurve.IntersectionLineLine(ICurve line1, ICurve line2, out Point3D i0)
  • CompositeCurve.IntersectionLineCircle(Line line, Circle arc, Plane pln, out Point3D i0, out Point3D i1)
  • CompositeCurve.IntersectionLineCircle(Line line, Circle arc, Plane pln, bool infiniteLine, out Point3D i0, out Point3D i1)
  • CompositeCurve.IntersectionLineCircle3D(Line line, Circle circ, out Point3D i0, out Point3D i1)
  • CompositeCurve.IntersectionCircleCircle(Circle arc1, Circle arc2, Plane pln, out Point3D i0, out Point3D i1)
  • CompositeCurve.IntersectionCircleCircle3D(Circle arc1, Circle arc2, out Point3D i0, out Point3D i1)
  • Curve.Intersection(ICurve C1, ICurve C2)
  • Curve.Intersection(ICurve C1, ICurve C2, double maxGap)
  • Curve.Intersection2D(ICurve C1, ICurve C2, Plane plane)

Moved the following methods to Utility:

  • GCompositeCurve.IntersectionLineLine(IGCurve line1, IGCurve line2, Plane pln, out Point3D i0)
  • GCompositeCurve.IntersectionLineLine(IGCurve line1, IGCurve line2, out Point3D i0)
  • GCompositeCurve.IntersectionLineCircle(GLine line, GCircle arc, Plane pln, out Point3D i0, out Point3D i1)
  • GCompositeCurve.IntersectionLineCircle(GLine line, GCircle arc, Plane pln, bool infiniteLine, out Point3D i0, out Point3D i1)
  • GCompositeCurve.IntersectionLineCircle3D(GLine line, GCircle circ, out Point3D i0, out Point3D i1)
  • GCompositeCurve.IntersectionCircleCircle(GCircle arc1, GCircle arc2, Plane pln, out Point3D i0, out Point3D i1)
  • GCompositeCurve.IntersectionCircleCircle3D(GCircle arc1, GCircle arc2, out Point3D i0, out Point3D i1)
  • GCurve.Intersection(IGCurve C1, IGCurve C2)
  • GCurve.Intersection(IGCurve C1, IGCurve C2, double maxGap)
  • GCurve.Intersection2D(IGCurve C1, IGCurve C2, Plane plane)

Entity.GetBb() and GetPointsForConvexHull() methods

Removed GetBb() and GetPointsForConvexHull() methods from the following entities: Circle, CompositeCurve, Ellipse, Line, LinearPath, Point, Curve, Region.
BC-163 Geometric kernel / UI separation
  • Renamed devDept.Eyeshot.Environment to Workspace
  • Renamed devDept.Eyeshot.Drawings to Drawing
  • Moved devDept.Environment.Unlock() method to devDept.LicenseManager.Unlock()
  • Moved struct devDept.Eyeshot.Entities.HitTriangle to devDept.Geometry.Entities namespace
  • Removed property ParamSurfaceIndex from HitTriangle and HitVertex structs.
  • Moved enum devDept.Graphics.elementType to devDept.Geometry.elementType namespace
  • Moved enum devDept.Eyeshot.textureMappingType to devDept.Geometry namespace
  • Removed param contentType from EntitySurrogate.CheckSurrogateData() virtual method signature.
  • Renamed property EntitySurrogate.DeserializationContent to Content
  • Moved method Utility.GetScalingLevel() to UtilityEx.GetScalingLevel()
  • Moved method Utility.ColorToFloatArray() to UtilityEx.ColorToFloatArray()
  • Moved class devDept.Eyeshot.WorkUnit to devDept namespace
  • Moved some classes from devDept.Eyeshot to devDept namespace: WorkManager, WorkUnitEventArgs, WorkFailedEventArgs, WorkCompletedEventArgs
  • Replaced param devDept.Eyeshot.Environment with object in signature of methods: WorkCompleted(), WorkCancelled(), WorkFailed()
  • Moved delegates from devDept.Eyeshot.Environment to devDept.WorkUnit namespace: WorkCompletedEventHandler, WorkCancelledEventHandler, WorkFailedEventHandler
  • Moved some Enum types from devDept.Entities.Mesh to devDept.Geometry.Entities.GMesh namespace: natureType, edgeStyleType, normalAveragingType
  • Moved some Classes/Structs from devDept.Eyeshot.Entities.Brep to devDept.Geometry.Entities.GBrep namespace: Vertex, Face, Edge, OrientedEdge, Loop
  • Brep.Face is now of type GBrep.Face. The Color is now stored in GBrep.Face.ARGB property
  • Replaced property Brep.Face.Tessellation with Brep.TessellationFaces and Brep.TessellationInners. Each mesh of tessellation stands for a single GBrep.Face
  • Replaced methods Brep.Face.ConverToMesh() and Brep.Face.ConvertToSurface() with methods Brep.ConvertFaceToMesh() and Brep.ConvertFaceToSurface()
  • Region.ContourList is now declared as List<IGCurve>
  • CompositeCurve.CurveList is now declared as List<IGCurve> and the constructor CompositeCurve(params ICurve[] curveList) has been changed to CompositeCurve(params IGCurve[] gCurveList)
  • Replaced devDept.Eyeshot.Entities.TrimCurve with devDept.Geometry.Entities.GTrimCurve
  • Removed param keepVertices from signature of method devDept.Geometry.UtilityEx.DetectRegionsFromContours()
  • Moved devDept.Eyeshot.Entities.KnotVectorExtender to devDept.Geometry.Entities namespace
  • Removed Surface Direction property
  • Surface Trimming property is now of type GRegion
  • Surface SeamU, SeamV, Generatrix properties are now of type GCurve
  • Removed methods EntityList.Intersect2D() and Curve.Intersect2D() in favor of Utility.Intersect2D method
  • Moved methods devDept.Eyeshot.Environment.MakeFace() to devDept.Geometry.Utility.MakeFace()
  • Changed method UtilityEx.DoOverlapOrTouch(Mesh, Mesh,..) to Utility.DoOverlapOrTouch(GMesh, GMesh,..)
  • Removed constructor LinearPath(int numVertices)
  • Removed virtual keyword from Curve.SubCurve() methods.
  • Moved devDept.Eyeshot.QuadTree and Octree classes to devDept.Geometry namespace
  • Moved enum devDept.Entities.PointCloud.natureType to devDept.Geometry.Entities.GPointCloud namespace
  • UtilityEx.SortAndOrient() no longer clones the input curves
  • Removed Entity.RegenNoChanges(), now you can call ComputeTessellation() on the entity's Primitive.
BC-162 Utility.IsInFrustum() method

Utility.IsInFrustum() now works with a positive radius value


Environment class was renamed Workspace, Model class was renamed Design, Drawings class was renamed Drawing (no ending `s` letter).

Old FemDemo code sample was renamed Simulation. Old VolumeRendering code sample was renamed DicomToMesh.

Eyeshot version 2022 is based on .NET Framework 4.7.2


Previous versions of this article: Eyeshot 2021, Eyeshot 2020, Eyeshot 12, Eyeshot 11Eyeshot 10, Eyeshot 9

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request



Please sign in to leave a comment.