Register | Log in

Breaking Changes in Eyeshot version 10

This page lists the important behavior and API changes that were introduced in this version. If you already have projects using devDept Software 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.

What's New

To learn about what's new in this version, please refer to the following page: What's New.

  • Solid3D booleans
  • Assembly environment
  • Mixed units
  • Support for AutoCAD® line types
  • Surface and Solid3D export to DWG/DXF as surfaces
  • WebGL export
  • A number of classes derived from CompositeCurve and Region to build shapes like rounded rectangle, hexagon, slot and circular slot on any 3D plane.
  • Multiple toolbars
  • ViewportLayout.CreateReferenceImage() and CompareWithReferenceImage() for 3D scene visual testing
  • Support for DWG files with circular references
  • ICurve.OffsetToRegion() to generate a Region entity from a planar curve and a distance
  • Improved support for WPF styles and templates
  • ViewportLayout.CopyTo(ViewportLayout) to simplify the creation of a new control with the same content of the original one
  • Support for Block/BlockReference in IGES write (Types 308, 408)
  • Support for Solid3D in IGES write (Type 186)
  • WriteXML class to export geometry in an easy to read XML file
  • Alpha map support for materials
  • Filled text in 2D vector layouts
  • SelectTriangles source code sample
Old versions


Breaking Changes

BC-18 Renamed ReadFileAsynch class Renamed ReadFileAsynch class as ReadFileAsync
BC-19 Renamed WriteFileAsynch class Renamed WriteFileAsynch class as WriteFileAsync
BC-20 Renamed LightSettings.SpotAngle property Renamed LightSettings.SpotAngle property as SpotHalfAngle
BC-21 Added ViewportLayout.Units property All WriteFileAsyncWithUnits derived classes, when used in conjunction with a constructor accepting a ViewportLayout parameter, now use the ViewportLayout.Units.
BC-23 Renamed HiddenLinesView._hdlViewSettings member field Renamed HiddenLinesView._hdlViewSettings member field as HdlViewSettings
BC-24 Removed WorkUnit.Unlock() method Even if the ViewportLayout control is not needed, the developer needs to instantiate its class and call ViewportLayout.Unlock() once to avoid licensing issues
BC-25 Renamed and changed return value of Text.ConvertToLinearPath() method Text.ConvertToLinearPath() methods were renamed to Text.ConvertToLinearPaths(). They now return LinearPath arrays instead of Entity arrays.
BC-26 Renamed and changed return value of Text.ConvertToCurve() method Text.ConvertToCurve() methods were renamed to Text.ConvertToCurves(). They now return ICurve arrays (curves or composite curves) instead of Entity arrays.
BC-27 Renamed Text.ConvertToSurface() method Text.ConvertToSurface() methods were renamed to Text.ConvertToSurfaces()
BC-28 Renamed Text.ConvertToRegion() method Text.ConvertToRegion() methods were renamed to Text.ConvertToRegions()
BC-29 Renamed and changed return value of EntityList.ConvertToLinearPath() method EntityList.ConvertToLinearPath() methods were renamed to EntityList.ConvertToLinearPaths(). They now return LinearPath arrays instead of Entity arrays.
BC-30 Renamed Viewport.Toolbar property Renamed Viewport.Toolbar property as Viewport.Toolbars (collection)
BC-31 Changed signature of Solid3D.Loft() method The endCaps parameter was moved to the end
BC-32 Changed signature of Solid3D.ExtrudeWithTwist() method The endCaps parameter was moved to the end
BC-33 Renamed devDept.Graphics.Texture class Renamed devDept.Graphics.Texture class as devDept.Graphics.OGLTexture
BC-34 Renamed devDept.Geometry.Scale class Renamed devDept.Geometry.Scale class to Scaling
BC-35 Renamed Surface.Trimmed property Renamed Surface.Trimmed property to IsTrimmed
BC-36 Renamed Solid3D.IntersectionCurves() method Renamed Solid3D.IntersectionCurves() method as IntersectionLoops()
BC-37 Removed UtilityEx.CopyProperties() method Replaced UtilityEx.CopyProperties() with Entity.CopyAttributes()
BC-38 Changed signature of Surface.ConvertToMesh(), Solid3D.ConvertToMesh() and Solid3D.ConvertToSolid() Added a new parameter called angle
BC-39 Renamed RegenParams.ChordalErr property Renamed RegenParams.ChordalErr property to Deviation
BC-40 Renamed RegenParams.MaxAngle property Renamed RegenParams.MaxAngle property as Angle
BC-41 File export needs a tolerance or geometry loaded File export needs a tolerance or geometry loaded otherwise Eyeshot will crash. Working with deviation as zero now means use current tessellation and current tessellation is present only when geometry is on screen.
BC-42 Removed protected member fields from ReadFileAsync class They all became properties with the same name (capital letter).
BC-43 Removed Entity.LineTypePattern property Entity.LineTypePattern property was replaced by LineTypeName
BC-45 Changed signatures of Entity.CombineBoundingBox() method Now it is Point3D[] EstimateBoundingBox(Dictionary<string, Block> blocks)
BC-46 Renamed UtilityEx.DoOverlapOrTouchConvexHull() method Renamed UtilityEx.DoOverlapOrTouchConvexHull() method as DoOverlapOrTouch()
BC-47 Renamed ConicBar class Renamed ConicBar class as ConicalBar
BC-48 Removed the BoundingBox.TextSuffix property Now units are back in ViewportLayout control and we display it in bounding box label
BC-50 Changed leftOver parameter type in Surface.Fillet() and Chamfer() methods The out List<Surface> leftOverF and leftOverG were converted to out Surface[] leftOverF and leftOverG
BC-51 Renamed RenderContextBase.PushShaders() / PopShaders() methods Renamed RenderContextBase.PushShaders() / PopShaders() methods as RenderContextBase.PushShader() / PopShader()
BC-52 Changed signature of LayerList.Add() method From Add(string layerName, Color color, string materialName) to Add(string layerName, Color color, string lineTypeName)
BC-54 Changed type of HiddenLinesView.Segment.Parents property From List<BlockReference> to Stack<BlockReference>
BC-55 Changed signature of Entity.EstimateBoundingBox() method From Entity.EstimateBoundingBox(LayerList layerList, Dictionary<string, Block> blocks) to EstimateBoundingBox(Dictionary<string, Block> blocks)
BC-56 Added lineTypes parameter Added lineTypes parameter to WriteAutodesk and AppendAutodesk classes constructors
BC-57 Renamed AttributeReference.LineTypePattern property Renamed AttributeReference.LineTypePattern property to AttributeReference.LineTypeName
BC-58 Changed signature of BlockReference.Draw<T, Q>() method Changed signature of BlockReference.Draw<T, Q>(...) to BlockReference.Draw<T>(...)
BC-59 Renamed devDept.Graphics.Texture1D class Renamed devDept.Graphics.Texture1D class to devDept.Graphics.OGLTexture1D
BC-60 Changed Layer class constructor From Layer(string name, Color color, string materialName) to Layer(string name, Color color, string lineTypeName)
BC-61 No layers in assembly mode in STEP import Layers for STEP files defined as assembly is not supported anymore
BC-62 Removed Solid3D.Face.Parametric property Solid3D.Face.Parametric are now generated through the Solid3D.Rebuild() command. In previous versions, calling Solid3D.Regen() or adding the Solid3D entity to the scene you got them. This is not necessary if the Solid3D object is involved in some boolean operations.
BC-63 Removed WriteAutodesk.versionType duplicate values Map of removed values:

Newest Acad2013
Current Acad2013
Release27 Acad2013
Release24 Acad2010
Release21 Acad2007
Release18 Acad2004
Release15 Acad2000
BC-64 Removed ViewportLayout.SetLineWeight() method ViewportLayout.SetLineWeight(Entity ent, float lineWeight) was replaced by Entity.SetLineWeight(RenderContextBase renderContext, float lineWeight)
BC-65 Renamed Solid3D.OrientedEdge.GetStartPoint() and GetEndPoint() Renamed Solid3D.OrientedEdge.GetStartPoint() as GetStartVertex() and GetEndPoint() as GetEndVertex()
BC-66 Changed signature of Entity.DrawForSelection() method Changed the parameter of the methods


from DrawParams to GfxDrawForSelectionParams
BC-67 Changed signature of ViewportLayout.ProcessSelectionVisibleOnlyLabels() method ViewportLayout.ProcessSelectionVisibleOnlyLabels(Rectangle selectionBox, bool firstOnly, bool invert, bool selectableOnly = true) was replaced byProcessSelectionVisibleOnlyLabels(Rectangle selectionBox, bool firstOnly, bool invert, SelectionChangedEventArgs eventArgs, bool selectableOnly = true)
BC-68 Changed signature of Entity.IsVisibleAndInFrustum() method Entity.IsVisibleAndInFrustum(Entity parent, LayerList layers, attributeReferenceVisibilityType attributeReferenceMode) was replaced by IsVisibleAndInFrustum(Stack<BlockReference> parents, LayerList layers, attributeReferenceVisibilityType attributeReferenceMode)
BC-71 Renamed Material.texture property Renamed Material.texture property as Texture
BC-72 Renamed Material.AlphaMap property Renamed Material.alphaMap property as AlphaMap
BC-73 Removed ObjectManipulator.FullTransformation property Use ObjectManipulator.Transformation property instead
BC-74 STEP import adds an extra BlockReference STEP import adds an extra top level BlockReference on geometry containing assemblies
BC-75 Changed signature of ViewportLayout.SetColorShaded() method From ViewportLayout.SetColorShaded(RenderContextBase context, entityNatureType nature, Color color, bool selected) to SetColorShaded(RenderContextBase context, entityNatureType nature, Color color, bool selected, BackfaceSettings backface)
BC-76 Changed signature of Entity.IsInFrustum() method From Entity.IsInFrustum(PlaneEquation[] frustum, bool quick) to IsInFrustum(FrustumParams data)
BC-77 Selection methods refactoring (see article)

No longer public:

Entity.InvertFlag(selectionStatusType flag)
Entity.IsFlagSet(selectionStatusType flag)
Entity.SetFlag(selectionStatusType flag)
Entity.UnsetFlag(selectionStatusType flag)

Label.InvertFlag(selectionStatusType flag)
Label.IsFlagSet(selectionStatusType flag)
Label.SetFlag(selectionStatusType flag)
Label.UnsetFlag(selectionStatusType flag)

MeshClearFacesSelection(selectionStatusType selectionFlag)
Mesh.ClearFacesSelection(Stack<BlockReference> parents, selectionStatusType selectionFlag)


Solid3D.ClearFacesSelection(selectionStatusType selectionFlag)
Solid3D.ClearEdgesSelection(selectionStatusType selectionFlag)
Solid3D.ClearVerticesSelection(selectionStatusType selectionFlag)

Renamed ISelectionInternal as ISelectableSubItems

To perform the selection use:

Entity.SetSelection(status, Stack<BlockReference>parents)
Entity.ClearAllInstancesSelection() // clears entity selection for all instances

Faces (Solid3D/Mesh/Solid):
SetFaceSelection(faceIndex, status, Stack<BlockReference>parents)
GetFaceSelection (faceIndex, Stack<BlockReference>parents)
ClearFacesSelection(Stack<BlockReference>parents) // clears faces selection for top level or nested instance
ClearFacesSelectionForAllInstances() // clears faces selection (for all shells) for all instances

Edges (Solid3D only):
Solid3D.SetEdgeSelection(edgendex, status, Stack<BlockReference>parents)
Solid3D.GetEdgeSelection(edgeIndex, Stack<BlockReference>parents)
Solid3D.ClearEdgesSelection(Stack<BlockReference>parents) // clears edges selection for the top level instance
Solid3D.ClearEdgesSelectionForAllInstances() // clears edges selection for all instances

Vertices (Solid3D only):
Solid3D.SetVertexSelection(vertexIndex, status, Stack<BlockReference>parents)
Solid3D.GetVertexSelection(vertexIndex, Stack<BlockReference>parents)
Solid3D.ClearVerticesSelection(Stack<BlockReference>parents) // Clears vertices selection for the top level instance
Solid3D.ClearVerticesSelectionForAllInstances() // Clears vertices selection for all instances

BC-78 Renamed Entity.nature member field From Entity.nature to entityNature
BC-79 Changed PointCloud object drawing modes PointCloud and FastPointCloud objects drawingStyleType.Lines now draws line segments every two points. LineStrip and PointsAndLineStrip drawing modes where added.
BC-80 ViewportLayout.BackFace property no longer static From Entity.nature to entityNature
Eyeshot version 10 is based on .NET Framework 4.5


Release Notes

A (limited) support for old graphics cards with DirectX11 9_3 feature level is available with the following additional limitations: no planar reflections, no two sided lighting, four lights instead of eight, no point or spot lights, no width for lines and points.