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.|
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.
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.
Removed Brep.RecycleTessellation property
Proprietary file format is increasing in complexity, we discourage this practice.
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.
Changed return value for UtilityEx.GetCirclesTangentToTwoCircles()
UtilityEx.GetCirclesTangentToTwoCircles() method returns an array instead of a list of circles.
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