CadLib 4.0 Version history
4.0.34.18 Jan 9, 2012:
- Rendering takes into account entity the drawing order as specified by the SORTENTSTABLE object.
4.0.34.17 Jan 9, 2012:
- Added read/write support for the SORTENTSTABLE object.
- Removed EntityColors.Black/Colors.Black as this was in reality the BYBLOCK color.
- Fixed another PDF export problem resulting in "error in page" warning.
- Draw model space when layout is the model space layout in WireframeGraphicsFactory2Util.
- Fixed problem with model space layouts not drawn.
4.0.34.16 Jan 5, 2012:
- Bug fix: line weight rendering by block/by layer were swapped.
4.0.34.15 Dec 30, 2011:
- Implemented TransformMe for DxfInsertBase.
- Moved to new Polygon2D.IsInside implementation using winding number (4x faster).
4.0.34.14 Dec 29, 2011:
- Bug fix: ACAD_TABLE entity was read incorrectly in pre R18 (2004) DXF files.
- Allowed DxfGroup to contain any handled object as member because in some files at least a DxfDictionary is referenced. This means there is no more DxfGroup.Entities property, but an DxfGroup.Members property instead.
4.0.34.13 Dec 28, 2011:
- Removed dependencies on System.Design, so CadLib can be used with .NET 4.0 Client Profile.
- Fixed problem that Adobe Reader sometimes shows warnings when PDF contains underlined text in text output mode.
- Added spatial filtering based on non-convex polygons.
- Made text clipping work in PdfExporter.
4.0.34.12 Dec 16, 2011:
- Bug fix: fixed LEADER color bug in case of BYBLOCK dim line color + entity BYLAYER color.
4.0.34.11 Dec 16, 2011:
- Bug fix: fix leader color when part of insert/block.
- Bug fix: dimstyle overrides writing of bylayer colors was incorrect.
4.0.34.10 Dec 16, 2011:
- Bug fix: fall back to entity color when there is no block context for the BYBLOCK dimension color (used e.g. in LEADER color).
- Fixed GraphicsConfig.UseSpatialFilters value not cloned.
4.0.34.9 Dec 15, 2011:
- Bug fix: viewport cloning failed in some cases.
4.0.34.6 Dec 13, 2011:
- Added support for spatial filtering. Support includes: * i/o for DxfSpatialFilter in both DXF and DWG. * rendering of spatial filters for both Wireframe and Wireframe2 when config.UseSpatialFilters is set to true (the default) Support includes not: * Surface rendering * easy creation of a spatial filter and assignment to DxfInsert
4.0.34.5 Dec 12, 2011:
- Bug fix: updating graphics (cache) failed when updating both insert and its attributes.
- Added DWG read/write support for spatial filter.
4.0.34.4 Dec 4, 2011:
- Bug fix: SelectAndTransformInteractor didn't work properly for attributes in an insert.
- Addition of DxfFilter/DxfSpatialFilter and r/w for DXF.
- Added WireframeGraphicsCache.
- Bug fix: minor issue with handling transformation of bounding box.
- Implemented DxfRasterImage.TransformMe.
4.0.34.3 Nov 24, 2011:
- Bug fix: SelectAndTransformInteractor didn't work properly in paper space.
4.0.34.2 Nov 22, 2011:
- Fixed incorrect calculation of text alignment point 1.
4.0.34.1 Nov 17, 2011:
- Bug fix: when cloning table records indirectly as a result of cloning extended data, then add the cloned table records to the appropriate collection in the target model.
- Don't crash on reading invalid XDATA, but return an error message in the DXF/DWG reader.
4.0.34.0 Nov 13, 2011:
- Released 3DSOLID support (read/write).
- Made tweaks to GDIGraphics3D api to be more consistent with other updateable graphics factories (the recent graphics cache classes).
4.0.33.56 Nov 11, 2011:
- Added methods to add/remove drawables from SurfaceGraphicsCache and WireframeGraphics2Cache.
4.0.33.55 Nov 11, 2011:
- Bug fix: calculation of DxfText.AlignmentPoint1 from AlignmentPoint2 was incorrect for non-horizontal text.
4.0.33.54 Nov 10, 2011:
- Added SurfaceGraphicsCache class (similar to WireframeGraphics2Cache).
- Bug fix: updating drawables in WireframeGraphics2Cache didn't work properly.
- Simplified ISurfaceGraphicsFactory a little (removed entity and draw context parameters where not necessary).
4.0.33.53 Nov 8, 2011:
- Bug fix: HATCH entities with a boundary path consisting of just 2 line segments should not be rendered.
4.0.33.52 Nov 7, 2011:
- Bug fix: SvgExporter wrote heigth instead of height.
4.0.33.51 Nov 5, 2011:
- Removed unnecessary check on duplicate hatch boundary polyline vertices.
4.0.33.50 Nov 5, 2011:
- Added support to SelectAndTransformInteractor for working in a paper space layout.
4.0.33.49 Nov 1, 2011:
- Bug fix: reading transparency from DXF was incorrect.
- Used WireframeGraphicsFactoryUtil in WriteableBitmapExGraphics3D (Silverlight).
4.0.33.48 Oct 30, 2011:
- Added GDIGraphics3D.CreateGraphicsFactory() method so a user can make direct calls to the graphics factory. This way he can create his own wrapper graphics factory and do something special for certain entities. Can use in conjunction with WireframeGraphicsFactoryUtil.
- Added example solution for new WpfWireframeGraphics3DUsingDrawingVisual class and WireframeGraphics2Cache.
4.0.33.47 Oct 28, 2011:
- Added wpfWireframeGraphics3DUsingDrawingVisual class that is faster than wpfWireframeGraphics3D.
- Added WireframeGraphics2Cache.UpdateDrawables method.
- Added a WireframeGraphics2Cache that caches drawables created using the IWireframeGraphicsFactory2 interface. This helps to speed up recreating WPF drawables when a Canvas is resized.
- Added properties to access insert transformations or made them public.
4.0.33.46 Oct 23, 2011:
- Bug fix: rectangle zoom in Silverlight WPF rendering didn't display the correct rectangle.
4.0.33.45 Oct 21, 2011:
- Added win forms drawables for the rect zoom/rotate interactors.
- Used the new interactors in the WinFormsExtendedViewExampleCS to replace the old mouse interaction code.
- Bug fix: SimpleRectZoomInteractor zooming was slightly off.
- Bug fix: CanonicalMouseEventArgs ignored the mouse wheel in the constructor with win forms mouse event args as parameter.
4.0.33.44 Oct 19, 2011:
- Adapted plot style handling to allow for overridden colors
4.0.33.43 Oct 19, 2011:
- Bug fix: GDIGraphics3D.UpdateDrawables failed in some cases (INSERT/ATTRIB) after first attribute drawables were updated, and then later the insert drawables.
- Bug fix: text transformation failed in some cases.
4.0.33.41 Oct 18, 2011:
- Bug fix: line weight values BYBLOCK and BYLAYER were swapped.
- Bug fix: LEADER rendering should use the dimension style's dimension line color for rendering the leader instead of the entity color.
4.0.33.40 Oct 18, 2011:
- Bug fix: DXF writing of XRECORD crashed for certain groups in some cases. Made POINT3D group handling more consistent between DXF/DWG related code.
4.0.33.39 Oct 10, 2011:
- Bug fix: GDIGraphics3D.UpdateDrawables had a bug in the drawable linked list administration.
4.0.33.38 Oct 10, 2011:
- Bug fix: SelectAndTransformInteractor didn't scale horizontal/vertical line correctly when trying to keep the same aspect ratio.
4.0.33.37 Oct 9, 2011:
- Made a few bug fixes in the SelectAndTransformInteractor and the updating of entity drawables in GDIGraphics3D.
- Implemented partial updating of drawables in GDIGraphics3D (no noticeable slowdown on CreateDrawables).
4.0.33.35 Oct 6, 2011:
- Compiled a .NET 4.0 version of SharpZipLib.
4.0.33.33 Sep 30, 2011:
- All WW assemblies now have the same assembly version.
- Bug fix: VPORT table record didn't support reading/writing the R21 properties from/to DXF/DWG.
4.0.33.32 Sep 29, 2011:
- Bug fix: generating BLOCK for ACAD_TABLE ignored the non-zero text STYLE fixed text height setting.
- Fixed coloring bug in PDF
- Bug fix: writeablebitmap drawing rectangles in interactors had swapped y-coordinates (broke in last rev).
4.0.33.31 Sep 26, 2011:
- Bug fix in XRECORD cloning.
- Added SetBitmap method to DxfImageDef.
4.0.33.30 Sep 23, 2011:
- Bug fix: MLINESTYLE name does not have to be unique.
- Fixed entity's EntityColor resolving to return always the correct entity color (and not an RGB color in many cases).
- Added access to attribute definitions in DxfBlock.
- Finished SelectAndTransformInteractor.
- Added TypeConverter to ArgbColor.
- Changed CloneContext.ResolveReferences to clear the collections of objects it is resolving references for so multiple calls won't result in a corrupt DxfModel.
- Changed the interactor code to be platform independent (i.e independent of win forms/WPF/silverlight etc).
4.0.33.28 Sep 15, 2011:
- Bug fix: DWG reader threw an exception on reading a VPORT with circle zoom percentage value of zero. Made behavior the same as DXF reader where it resets that value to 100.
4.0.33.27 Sep 13, 2011:
- Bug fix: Fixed incorrect read of DxfShape thickness in DxfReader.
- Bug fix: Segment2D.GetIntersectionParameters in rare cases returned an incorrect intersection for near parallel line segments.
- Added example code for DxfHandledObject.Clone/CloneContext.
- Fixed NPE in ReferenceUtil cloning code.
- Fixed incorrect write of DxfShape thickness in DxfWriter.
4.0.33.26 Sep 9, 2011:
- Bug fix: reinstated the char triangulation cache, used for OpenGL rendering (and also XNA).
- Removed property GraphicsConfig.NoOfTextBezierLineSegments, is no longer used. Property ShapeFlattenEpsilon is used instead.
- Implemented rudimentary support for plotstyles.
4.0.33.25 Sep 2, 2011:
- Bug fix: conversion of empty polylines to GraphicsPath resulted in an OutOfMemoryException.
- Bug fix: Polygon2D iteration went wrong in some cases (bug was probably in Shape2DCollectionIterator). Changed ISegment2DIterator to only have a MoveNext instead of a Move/HasMoreSegments.
- Bug fix: Arc2D to spline conversion was incorrect.
- Bug fix: ShxShape arc to cubic spline conversion was incorrect.
4.0.33.24 Sep 1, 2011:
- Bug fix: DxfModelGeometry.Clone failed with UnatuhorizedAccessException due to incorrect creation of MemoryStream.
- Bug fix: DWG 2007 writing of HATCH entity with spline edges failed when spline edge didn't have fit point data.
4.0.33.23 Aug 31, 2011:
- Bug fix: don't clone reactor when cloning DxfModel and reactor wasn't cloned already (i.e. it's not really part of the model).
4.0.33.22 Aug 30, 2011:
- Bug fix: don't add unknown entities to the model.
- Bug fix: DxfModelGeometry.CopyFrom wasn't fully implemented, because of which the Clone failed.
4.0.33.21 Aug 26, 2011:
- Allow comma as decimal separator when reading DXF. This happens rarely in very old DXF files (AC1004).
- transformMe() added for DxfLine and DxfAttribute.
4.0.33.20 Aug 20, 2011:
- Bug fix: polyline with vertices with start/width and line type wasn't rendered correctly.
4.0.33.19 Aug 18, 2011:
- Bug fix: MTEXT background with transparency crashed the DxfWriter.
4.0.33.18 Aug 12, 2011:
- Bug fix: EntitySelector crashed in GetClosestEntities call due to wrong type cast.
4.0.33.17 Aug 11, 2011:
- Bug fix: Polygon2D.GetConvexHull didn't deal properly with collinear points in the input polygon.
4.0.33.16 Aug 9, 2011:
- Included the new Windows interactors in the regular CadLib release (still missing drawable objects for WPF/GDI).
4.0.33.15 Aug 9, 2011:
- Bug fix: ignore illegal XDICTIONARY references when reading DXF/DWG.
- Pdf exporter: Fixed incorrectly matched parameters, resulting in PDF font selection error. The bug resulted in incorrectly selected bold and italic fonts in PDF, when text embedding was enabled. Also font metrics were possibly wrong when text output w/o embedding was enabled under the same circumstances.
- Bug fix: entity transparency was ignored when drawing.
4.0.33.13 Aug 8, 2011:
- Bug fix: dimension style dimension/extension line lineweight wasn't used when creating the dimension block.
4.0.33.12 Aug 3, 2011:
- Bug fix: XDATA manually added brackets were not written to DWG correctly.
4.0.33.11 Jul 27, 2011:
- Bug fix: LOGFONT had to be class, didn't work properly otherwise in 32-bits.
4.0.33.10 Jul 27, 2011:
- PDF exporter: either link or subset fonts based based on PdfExporter.EmbedFonts property.
4.0.33.7 Jul 19, 2011:
- Released temporary GraphicsPath instances as soon as possible.
4.0.33.6 Jul 19, 2011:
- GDIGraphics3D design change: drawables are now drawn in the same order as the entities by default. Added property GDIGraphics3D.DrawTextOnTop with default value false.
- Don't write DXF groups 70/71 (column/row count) and 44/55 (column/row spacing) when not needed for the INSERT entity. When the 70/71 groups are present the EXPLODE command does not work.
- Bug fix: Shx shape sometimes caused 2 move to commands, this is illegal when creating a System.Drawing.GraphicsPath.
- Bug fix: Line2D shape iterator only added the start point.
- Bug fix: RegressionTestGui referenced the wrong test data directory.
4.0.33.5 Jul 17, 2011:
- Bug fix: DWG table style reading didn't read the table cell style correctly for DWG 2010.
4.0.33.4 Jul 14, 2011:
- Bug fix: max hatch repeat count calculation was incorrect.
- Bug fix in hatch pattern repeat count calculation in case the line pattern length is zero.
4.0.33.3 Jul 8, 2011:
- Bug fix: DWG reading always incorrectly set property DxfDimension.HasTextRotation to true.
- Bug fix: DWG writing didn't correctly write Japanese strings with multi-byte characters in R13-18.
- Bug fix: DXF reader should be robust against extended data containing multiple occurrences of the same APPID.
4.0.33.1 Jul 5, 2011:
- Bug fix: draw all dimension points on the DEFPOINTS layer. (This layer may be obsolete at some point though).
- Bug fix: XDATA handle read/write to DWG was encoded/decoded incorrectly (is big endian instead of little endian).
- Bug fix: dim style overrides weren't read properly from DWG (first needed to resolve the XDATA handle references).
4.0.33.0 Jul 5, 2011:
- Added read/write support for the REGION entity.
- Bug fix: linear dimension extension line extension/offset wasn't always applied correctly when generating block.
- Bug fix: dimension line extension was ignored in some cases.
- Bug fix: the empty string dimension text should be treated the same as null, so the dimension text is equal to the measurement.
4.0.32.18 Jun 9, 2011:
- Separated the SlimDX rendering into a separate assembly (x64 only at the moment).
- Added workaround for slow SignedXml.CheckSignature call that helps if the application has enough security permissions.
- Bug fix: DXF reader didn't read entity transparency correctly.
4.0.32.17 Jun 4, 2011:
- Bug fix: properly deal with circular XREF references.
4.0.32.16 May 31, 2011:
- Made DxfModel.ExternalReferences public and added a public property DxfBlock.ExternalModel.
- Bug fix: the DXF reader crashed when the DXF file contained multiple layouts with the same name, but not all were referenced from the layout dictionary.
- Bug fix: start help/registration didn't work on some x64 and some locales.
4.0.32.14 May 26, 2011:
- Bug fix: DXF dimension insertion point is defined in WCS, not OCS (DXF spec bug).
- Bug fix: linear/aligned dimension generation had some problems with z-axis different from (0, 0, 1).
4.0.32.12 May 20, 2011:
- Bug fix: DWG XRECORD read/write bug for some data groups (Point3D/handle/bin data).
- Bug fix: truncate julian dates from read DWG files to DateTime.MaxValue in case they exceed this value.
- Bug fix: removed incorrect validation check on aligned dimension extension line start points. These may be equal.
4.0.32.11 May 20, 2011:
- Bug fix: dimension creation didn't properly use the z-axis when generating the dimension block. Added better OCS/WCS transformation explanation and added helper properties/methods.
4.0.32.10 May 17, 2011:
- Bug fix: fixed infinite recursion in DxfHandledObject.ExecuteDeep in some cases (loops in object chains are rare though).
- Bug fix: DWG R21 writing failed in case of pages map size exceeded 1024 bytes.
- Bug fix: DWG extension dictionary writing didn't write the correct owner object.
4.0.32.9 May 15, 2011:
- Added property GraphicsConfig.MaxHatchPatternRepeatCount to limit the repeat count of a hatch pattern. Sometimes a hatch is huge compared to the pattern, in which case the algorithm takes very long, or even runs out of memory.
- Added panning/zooming to WPF example.
4.0.32.8 May 10, 2011:
- Bug fix: DWG reading of SPLINE crashed in some cases (SPLINE with more than 255 fit points).
4.0.32.7 Apr 28, 2011:
- Bug fix: the line types continuous/by block weren't read correctly from DWG 15 and later.
4.0.32.6 Apr 27, 2011:
- 'reading regions' patch. Unknown entities and 'SAT pieces' inside SAB stream supported.
4.0.32.5 Apr 14, 2011:
- Bug fix: cloning of DxfLeader/DxfBlock failed in some circumstances.
- Added CloneContext.IndirectlyClonedObjects property that contains objects that are cloned indirectly and have not yet been added to the target model.
- Bug fix: precision handling in Segment2D.GetIntersectionParameters was incorrect.
- Polygon2D: Added checks for non-negative precision to public methods, and improved documentation.
- Bug fix: image positioning bug (position was off by 0.5 pixel).
4.0.32.4 Apr 7, 2011:
- Bug fix: take into account the line weight in the IPathDrawer interface. This affects amongst other SHX text in the export to PDF.
4.0.32.3 Apr 5, 2011:
- Bug fix: the MEASUREMENT system variable wasn't read from/written to DWG versions 13-15.
- Added unit test for writing/reading the DWG template section.
4.0.32.2 Apr 1, 2011:
- Bug fix: rendering of an IMAGE sometimes crashed on a paper space layout.
- PdfExporter: Added workaround for diameter symbol not available in most fonts.
- Added references on true type font substitution.
- Bug fix: implemented the template section DWG reading. This is needed to read the MEASUREMENT system variable.
- Bug fix: VIEWPORT twist angle wasn't written to DXF in radians instead of degrees.
- Bug fix: the DWG writer didn't correctly write the extension dictionary handle.
- Bug fix: the DWG writer didn't write the extension dictionary handle.
- Bug fix: the DXF writer didn't write the extension dictionary handle using the correct group.
- Bug fix: DXF reading incorrectly added new reactors to dictionary entries upon reading.
- Bug fix: table cell style reading set the TableCellStylePropertyFlags.TextStyle when it shouldn't.
- Added a Repair() method to DxfModel/DxfHandledObject. At the moment only repairs hatch boundarypath polyline with duplicate vertexes.
4.0.32.0 Mar 31, 2011:
- Added support for PDF font embedding.
- de minor change to resolving SHAPE text style when shx description is an empty string (should normally be non-empty, so not very critical).
- Removed a number of obsolete members.
- Added reference documents.
- Bug fix: line types were not applied correctly to a closed polyline's closing segment. Improved performance for 2D polyline rendering with line types.
- Bug fix: line type wasn't applied to closing polyline segment in some cases.
- Bug fix: EntitySelector picking didn't work with dots in polylines (e.g. resulting from a line type).
- Bug fix: backColor parameter wasn't used in GdiGraphics3D.Draw call.
- Bug fix in DXF Sharp Viewer picking, wrong transformation matrix was used. Cleaned up all matrix related code.
- Bug fix: draw a line as a dot when the start and end point are the same.
- Bug fix: MTEXT may contain 'X' font height factor character (e.g. H1X), in addition to the lower case 'x'.
4.0.31.19 Mar 10, 2011:
- Made table record duplicate name auditing consistent for all tables where the name has to be unique.
- For all tables only read all the table records that are referenced by the table control.
4.0.31.18 Mar 7, 2011:
- Bug fix: fixed endless loop when displaying an unsupported ACIS entity.
4.0.31.17 Feb 28, 2011:
- Bug fix: fixed null reference exception in EntitySelector (rectangle selection).
4.0.31.16 Feb 27, 2011:
- Faster rendering of IMAGE entity on OpenGL.
- Added support for non-rectangular IMAGE clip boundaries.
- Bug fix: broke VIEWPORT perspective transform in last minute change in previous release.
- Changed the VPORT perspective transform code (aligned with recent VIEWPORT change).
- Bug fix: EntitySelector didn't return multiple inserts for the same block.
4.0.31.12 Feb 15, 2011:
- Bug fix: rename APPID record upon reading from DWG when name is a duplicate.
- Bug fix: VIEWPORT entity perspective transform was incorrect.
- Bug fix: the APPID table in a (corrupt) DWG file sometimes refers non-APPID objects.
- Bug fix: Added auditing for files with duplicate dictionary entry names.
- Bug fix: Allowed empty string for double values in MTEXT escapes.
4.0.31.8 Feb 11, 2011:
- Added missing cloning of entries in the CLASS section.
- Bug fix: APPID flags weren't cloned.
- Bug fix: DxfTableBorder.HasData property wasn't copied during clone.
- Bug fix: fixed incorrect sub shape access leading to "subshape not found" exception.
4.0.31.7 Feb 10, 2011:
- Bug fix: PdfExporter.AutoCloseStream property was broken.
4.0.31.6 Feb 10, 2011:
- Bug fix: DWG 2010 reading failed for early AutoCAD maintenance versions smaller than 4.
4.0.31.5 Feb 8, 2011:
- Bug fix: only read blocks from a DWG file that are referenced from the block record table (might have duplicate names otherwise).
- Bug fix: show spaces in TOLERANCE text.
- Added basic GraphicsToCadConverter.
4.0.31.4 Feb 3, 2011:
- Added support for the SHAPE entity.
- WW.GL: improved error handling on the WGL functions.
- WW.GL: added more documentation on disposing of RenderingContext.
- Bug fix: property DxfDimension.UseTextMiddlePoint wasn't read from DXF.
- Bug fix: reading older DXF files without model space block caused a crash.
- Bug fix: implemented xref layer overrides.
- Bug fix: implemented SHAPE clone.
4.0.31.0 Jan 25, 2011:
- Added DWG 2010 write support.
- Bug fix: DWG 21+ DIMSTYLE read/write failed in some circumstances.
- Bug fix: incorrect writing transparency to DWG.
- Fixed problem in CadLib that caused a compiler error in managed C++: error C2686: cannot overload static and non-static member functions with the same parameter types.
4.0.30.6 Jan 16, 2011:
- Bug fix: display attribute definition TagString.
- Bug fix: transparency writing/reading was incorrect (still need to test further).
- Supporting DXF reading of extended data for table records.
- Fixed two problems with HATCH: 1. If hatch type is outermost, but there are no boundaries marked outermost, then all boundaries are taken. 2. Elliptical hatch boundaries where rendered incorrectly.
- Bug fix in MLINE rendering. (broken in last change).
- MLINE rendering improvement when element has only 1 parameter: assume 2nd parameter zero (offset along the segment element).
- Bug fix: ATTDEF displays Text property when it is part of a block, otherwise it displays the Tag string.
- Bug fix: ATTDEF is displayed when part of a block and the Constant flag is set.
- Bug fix: text color ignored dimension style for diametric/radial dimension.
4.0.30.2 Dec 29, 2010:
- Added convenience methods for model to screen mapping to Transformation4D.
- Bug fix: block renaming during object cloning should be case insensitive when checking for duplicate block names.
- Improved MLINE rendering, different MLINESTYLE element colors are now supported.
4.0.30.0 Dec 17, 2010:
- Added partial support for the REGION entity.
- Fixed NRE with stacked text containing unicode escapes.
- Bug fix in DXF hatch writing: write group 47 when boundary path type has external flag set.
- Bug fix in DXF hatch writing: write spline weight between control points instead of after the control points.
- Bug fix: hatch spline knot count check was wrong.
- Bug fix: don't throw on resolving missing block reference during cloning.
- Fixed incorrect line breaking.
- Made some further refinements to anonymous block cloning. An anonymous block for dimensions/tables (e.g. non-layout blocks) is now cloned only once. So if a user wants to create 2 clones of a dimension, then he needs to create a CloneContext twice. Needed because when making an exact copy of a model, the blocks were cloned first, including the anonymous blocks. When then later a dimension was copied, a new block clone would be made, so there were in the clone 2 anonymous blocks, while ideally there should be just 1 anonymous block clone in the cloned model. Removed CloneContext.AnonymousBlockMode.
- Copy handles when making exact copy of a model.
- Fixed a few block cloning issue. This broke when DxfBlockBegin/DxfBlockEnd were introduced.
- Fixed cloning problems with anonymous blocks *Model_Space and *Paper_Space.
- Added check for duplicate handles in PrepareForWrite of DxfModel.
4.0.29.31 Dec 5, 2010:
- Updated the CadLib's OpenGL exteded example to have an export to bitmap function.
4.0.29.30 Dec 2, 2010:
- Bug fix: the model space layout was recognized by its name, which was incorrect, because sometimes the model space layout is different. The correct behavior is comparing the layout's owner block record name with the string "*Model_Space" (case insensitive).
- Bug fix: extended data wasn't read from the BLOCK_RECORD table.
- Not changing table entry names to uppercase anymore for version < 15. Reason for this uppercase change is unknown, so the change was undone..
4.0.29.29 Nov 27, 2010:
- Added check if FontFamily supports the requested FontStyle. Sometimes a corrupt font seems to not support e.g. the Regular FontStyle.
4.0.29.28 Nov 19, 2010:
- Bug fix: access to static font cache was not thread safe.
- Added a method DxfUtil.DisposeThreadStaticObjects() to dispose thread static objects (at the end of a thread).
- Added ToArgb() methods to WW.Cad.Model.Color and WW.Cad.Model.Entities.EntityColor.
4.0.29.26 Nov 12, 2010:
- Fixed bug in documentation of EntitySelector.
- Added Clear() method to DxfPatternStore.
- Added GDIGraphics3D option to draw text as text using Graphics.DrawString(). This looks better in 2D scenarios.
- Hatch opengl rendering crashed when boundary contained near duplicate points. Near duplicate points are now filtered out.
- Added image handling to PDF export. Images are always packed during export despite of the compress setting, because they are not readable anyway.
- Patched precision issue where a wide polyline with near parallel segments would produce extremely large coordinates. The parallelness check is now reduced to 1e-6.
- Bug fix in DXF ACAD_TABLE row reading.
- Improved robustness of hatch surface rendering (remove extremely close intersection points).
- Bug fix: entity transparency wasn't used during rendering.
- Bug fix: MLINE rendering should ignore value of the z-axis.
- Breaking change: extended EntitySelector api, returns RenderedEntityInfo objects, which contain an entity, transformation matrix and optional parent.
- Added methods to simply filter out entities during rendering.
- Added GetInverse(out bool couldInvert) method with parameter indicating whether inversion was possible.
- Bug fix: always update AlignmentPoint1 X and Y coordinates when alignment is not baseline/left, otherwise alignmentpoint x and/or y might remain uninitialized. This only pertains to DWG, as it doesn't matter to DXF.
- Fixed problem with XREFs containing relative paths.
- Fixed implementation not following documentation for LoadExternalReferences() methods. Added two more convenience LoadExternalReferences() methods. Move LoadExternalReferences() method call in WindowsApplication example to handle exceptions gracefully.
- Added new static convenience method to deeply load all available external references of a file.
- Bug fix in assigning null to DxfHatch.Pattern.
4.0.29.15 Oct 10, 2010:
- Bug fix: DWG 2010 reading of HATCH entity with fit points. Renamed elements to FrameworkElements (UIElement doesn't have the Tag property). Set the Image.Tag property to the source entity. Added DxfImage output for IWireframeGraphicsFactory2 interface. This breaks compatibility by adding another method to this interface. Furthermore some changes for WpfWireframeGraphics3D were necessary, because the basic WPF entity supported is no longer Path, but UIElement.
- Added some helper rectangles to ImageTest.cs.
- Bug fix: dimension decimal places wasn't handled correctly when using the <> construct.
- Added miter limit of 2 to GDI/WPF rendering.
- Added exclusive or boolean operation to Polygon2D.
4.0.29.12 Sep 17, 2010:
- Bug fix: DWG reading of an entity chain stopped at an unknown entity.
4.0.29.11 Sep 16, 2010:
- Bug fix: DWG writing problem of string stream larger than 0x7fff bytes.
- Bug fix: DWG writing of GROUP entity was incorrect.
- Bug fix: DWG/DXF writing of MTEXT contained a bug in case the BackgroundFillFlags had multiple bits set.
- Added 2D polygon convex hull algorithm (Melkman, 1987).
- Added 2D polygon minimum area enclosing rectangle calculation (Dennis S. Arnon, John P. Gieselmann, 1983).
- Added OrientedRectangle2D (needs some modification still, change 3 points to 1 point + 2 vectors).
- Added BasicEntityVisitor as a useful base class for visitors.
- Bug fix: DWG reading of IMAGE entity didn't read the x-axis and y-axis correctly. When assigning the IMAGEDEF these were overwritten with the IMAGEDEF's default pixel size.
- Added property PdfExporter.UseMultipleLayers. The default value is true, which retains the original behavior. By setting it to false, all entities are drawn in the order they appear in the drawing (same behavior as GDIGraphics3D).
4.0.29.8 Sep 8, 2010:
- Bug fix in PdfExporter: MTEXT background rectangles were not transformed correctly.
- Bug fix in PdfExporter: in some cases the text color was not corrected for the background color (e.g. white on white).
- PdfExporter: Added option to specify a clipping rectangle when drawing on a PDF page. See class PdfPageConfiguration.
- Added SimplifiedText property for DxfText/DxfMText
- Fixed internal NRE when using TextStyle with unset font.
- Bug fix: ignore illegal spline edge in hatch when rendering (need to verify that the spline is indeed illegal).
- Reset fallback font to SIMPLEX.SHX if available. Otherwise it stays Arial like in previous versions.
- Bug fix: BLOCK_RECORD clone didn't set the ownership of the block begin/end entities.
- Added public DxfModel.SetHandle(DxfHandledObject handledObject) method.
4.0.29.3 Aug 22, 2010:
- Bug fix in PolylineShape4D.Iterator (skip empty polylines and don't skip vertex when moving to next segment).
- Added closing segment
- Fixed the PDF export in DXF Sharp Viewer.
- Created IShape4DIterator to interate over the sub paths and points (so the GraphicsPath does not need to be cloned). It is not terrible to clone a GraphicsPath, but it does use some unmanaged resources of which it is possible to run out. By not cloning the GraphicsPath this problem happens not so easily.
- IShape4D now inherits from IDisposable.
- Call Dispose() for GraphicsPath/GraphicsPathIterator whenever possible. When not doing this, it might result in a system hangup (outside the debugger only!).
- Fixed missing shift operation in Color.CreateFromColorIndex(ColorType colorType, short colorIndex) when colorType is not ByColorIndex resulting in broken Color return
- Fixed problem with hatch lines crossing hatch area border under special circumstances.
- Minor bug fixes in the table entity area.
4.0.29.1 Aug 11, 2010:
- Initial release