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.
To learn about what's new in this version, please refer to the following page: What's New
- RootBlock paradigm
- Seamless navigation through assembly levels
- Progressive Turbo representation during assembly navigation
- Improved Zoom/Pan/Rotate switch on large assemblies (when Turbo is active)
- ReadGCode class and a new entity called Toolpath
- GetLength(), GetPerimeter(), GetArea() and GetMass() methods for Entity/Face/Edge/Curve with proper linear and mass unit support.
- ReadJT class to read tessellation from Siemens JT files
- Native multitouch implementation in WPF control
- Faster, convex hull based, zoom fit
- Collision detection intersection volumes
- Degrees/minutes/seconds format for angular dimensions
- Load thumbnail image from DWG files
- Multiple origin symbols per Viewport
- Clipping boundary in Picture entity
- Improved small object culling and frustum culling during dynamic movements
- Circle/arc dimensioning in Drawings environment
- Accurate BRep texture mapping
- FemMesh slicing
- Entity write/read by reference in proprietary file format
|BC-100||Removed CreateReferenceImage() and CompareWithReferenceImage() methods||Removed CreateReferenceImage() and CompareWithReferenceImage() methods both for Environment and Viewport classes.|
|BC-101||Changed signature for Entity.Dump() method||Now the Dump() method allows to specify a unit of measure for length and mass as input, to be able to calculate the quantities of Areas, Volume and Mass according to a specific system of measurement.|
|BC-102||RootBlock paradigm (Article)||
|BC-103||CollisionDetection2D.Result||Changed CollisionDetection2D.Result from List<Tuple<CollisionTupleItem, CollisionTupleItem>> to List<CollisionResult> Every access to CollisionDetection2D.Result[i].Item1 have to be replaced with CollisionDetection2D.Result[i].CollidedEntities.Item1|
|BC-104||Changed the Dimension.TextOverride behavior||Now, when a string without the characters "<>" is set as TextOverride of a Dimension, the prefix, the suffix, and the tolerances are no longer displayed. Only the TextOverride string is displayed.|
|BC-105||Removed the includeWires parameter in ReadSTEP class constructor||Now we always read STEP curves, they are also properly loaded in the relevant block.|
|BC-106||WPF Native Renderer now uses native touch events||In WPF Eyeshot control, when the renderer is set to Native or NativeExperimental, the default handler for touch gesture is now the native one.
If you want to continue to use the WM_TOUCH messages as in the previous release you can just set model1.MultiTouch.UseWindowsMessages = true in the MainWindow constructor.
If you're using the ImmediateMode no change is required.
|BC-107||Removed the BuildPage() virtual method in the WritePDF class||To customize the PDF document you now must override the BuildDocument() method, and there is no need to add references to the OpenDesign DLLs.|
|BC-108||Removed zero-length segments from MarchingSquares results||An additional cleanup step was added|
|BC-109||Model.ActiveViewport is now the shortcut to get UI Elements properties of the active viewport.||Removed Model.Background property and other ones about UI Elements of the active viewport (e.g. Model.ToolBar/GetToolBar(), Model.ViewCubeIcon/GetViewCubeIcon, etc.).
Renamed ActiveViewport property to ActiveViewportIndex.
Added Model.ActiveViewport property to quickly get the active viewport.
The following wrappers remain available to access to the active viewport properties/methods:
|BC-110||Entity XData||The entity XData dictionary of an entity is now stored inside the new AutodeskProperties property of the Entity class. It gathers some miscellaneous properties of the AutoCAD entities. From now on, to get/set the XData is required to proceed as follows: myEntity.AutodeskProperties.Xdata = xData;|
|BC-111||Added support for BlockReference with Mirror transformation||When a BlockReference includes a Mirror transformation we now flip geometry normals automatically.|
|BC-112||Object graph reference support for the entities in the proprietary file format||When you store the reference to an entity (e.g. in entity.EntityData property), now the reference to that entity is preserved when the file is read back.|
|BC-113||Removed Environment.HideSmall property||Now we never hide in static drawing and always hide in the dynamic drawing. Environment.SmallSize property was moved to Viewport class and was changed in get only. A new property called Viewport.SmallSizeRadio, was added to control small size value estimation, based on the smallest Viewport dimension. The default value is 0.01 (1% of the smallest Viewport dimension) and can be disabled using zero.|
|BC-114||TessellationMesh class retired||No longer necessary, texture offset and scaling were moved at Brep.Face level.|
|BC-115||Redesigned Brep texture mapping||Texture mapping is now based on Material.TextureLength, Material.LinearUnits and Block.LinearUnits of the enclosing Block class.|
|BC-116||Brep.IsPointInside() return type||Now it returns a devdept.Geometry.pointStatusType instead of bool value.
It identifies also when a point is onto the Brep faces.
|BC-117||Changed Vector2D and Vector3D inheritance||Vector2D no longer derives from Point2D. Vector3D no longer derives from Point3D, it derives from Vector2D.
|BC-118||Animation (Article)||Because of new optimizations on the scene graph, the MoveTo method is called only while the animation is running, when it's stopped all the entities are drawn in their real position. To continue drawing entities with the custom transformation you can set Model.AnimationStep to zero instead of stopping the animation. The animation code samples were updated with this trick.|
|BC-119||Moved Model.LastFrameDrawingDelay to TurboSetting and renamed into DetailedDrawingDelay||Moded Model.LastFrameDrawingDelay to TurboSetting and split the behavior in order to set this delay to mouseWheelTimer.Interval only during Turbo.Enabled = true.
Added internal event DelayChanged to register the environment to the property changes and update the Timer.Interval if already active.
When Turbo.Enable = true and DetailedDrawingDelay = 0 the Timer is disabled for ZPR.
|BC-120||Environment.PrintResolution property removed||The PrintResolution property has been removed.|
Removed TessellationMesh class
|It was used inside the Brep.Face.Tessellation array, now we use standard mesh. The TessellationMesh.OffsetU, ScaleU, OffsetV and OffsetV properties were moved to Brep.Face level.|
|BC-123||Removed Brep.RecycleTessellation property||Proprietary file format is increasing in complexity, we discourage this practice.|
|BC-125||Changed vertices array size for Dimensions entities||Starting from 2020.2, the texts that have the plane coincident with the screen plane are written as real texts in vector printing. To allow this, each part of the dimension's text has its own vertices. So each Dimension can have multiple of 4 vertices for texts, depending on prefix, suffix, tolerance.|
|BC-126||Changed return value for UtilityEx.GetCirclesTangentToTwoCircles()||UtilityEx.GetCirclesTangentToTwoCircles() method returns an array instead of a list of circles.|
|BC-129||VectorView.HiddenSegments property now affects only the visibility status of the hidden segments||When you rebuild a View, now the hidden segments are always ready and you can quickly switch on/off them by changing the VectorView.HiddenSegments property. If you had stored a View in an Eyeshot file with VectorView.HiddenSegments=false and now you want to see the hidden segments too, you must force the rebuild of that view.|
|BC-131||Replaced Drawings.GetActiveSheet() and SetActiveSheet() methods with Drawings.ActiveSheet and ActiveSheetIndex properties||Replaced Drawings.GetActiveSheet() and SetActiveSheet() methods with Drawings.ActiveSheet and ActiveSheetIndex properties.|
|BC-133||HiddenLinesView changes||Removed HiddenLinesViewSetting.Simplify and VectorView.Simplify properties. Replaced GetSilhouettes/Edges/Wires/HiddenSilhouettes/HIddenEdges/HiddenWires methods with Silhouettes/Edges/Wires/HiddenSilhouettes/HiddenEdges/HiddenWires properties, that now returns an array of HdlCurve. Replaced GetTexts() and GetRegions() methods with Texts and Regions properties, that now returns an array of HdlMesh. Replaced GetTextStrings() with TextStrings property, that now returns an array of HdlText. Added Pictures() that returns an array of HdlPicture. Removed HiddenLinesViewSetting.GetComputedLines() in favor of the above new public properties. Moved FilterLinesToExport() and ScaleLinesToWorld() methods from HiddenLinesViewSetting to HiddenLinesView. FilterLinesToExport() now accepts and returns a list of HdlCurve instead of ScreenLine. ScreenCurve, ScreenLine, ScreenArc, ScreenText, ScreenPicture are now internal instead of public classes.|
|BC-134||Removed SheetsViews and ViewsBlocks properties from ViewBuilder||SheetsViews and ViewsBlocks properties in ViewBuilder class are not public anymore|
|BC-135||Changed Surface.TryGetRevolved() out parameter||TryGetRevolved() out parameter is now of type RevolvedSurface instead of Surface|
|BC-136||Lines related to Views are converted to LinearPath in proprietary file format||Reading EYE files from version 7 and earlier, now Line entities that belong to blocks related to views are converted to LinearPath entity. This BC is not applied to files saved using the advanced technique of serialization with length prefix.|
Detailed changes at field, methods, types and interfaces and abstract classes level are available as an attachment to this article.
Eyeshot version 2020 is based on .NET Framework 4.5