CadLib 4.0 Version history

4.0.37.128 Mar 23, 2017:

  • Tweaked aligned dimension block generation to not flip text when text is rotated 90 degrees (counter clockwise).
  • Bug fix: Fixed problem with the drawing being transformed when setting the ViewControl.Model in the WinFormsExtendedViewExampleCS example.

4.0.37.127 Mar 22, 2017:

  • Added AddDrawables methods to WpfWireframeGraphics3D.

4.0.37.126 Mar 21, 2017:

  • Added support for the GEODATA object.
  • Hatch arc edge now hass an added center point as parameter.
  • Bug fix: fixed problem with creating default paper space layout when model space is empty (due to empty bounds).
  • Changed default DxfModel contructor to create a R27 file instead of R24.

4.0.37.125 Mar 17, 2017:

  • Improved performance of OpenGL rendering for raster image entity.

4.0.37.124 Mar 16, 2017:

  • Bug fix: fixed FIELD object clone problem that occurred under some circumstances (duplicate key exception).

4.0.37.123 Mar 14, 2017:

  • Bug fix: fixed OpenGL wide polyline rendering NullReferenceException problem that occurred under some circumstances.
  • Bug fix: don't included RAY and XLINE in bounds calculation.
  • Bug fix: fixed problem with HATCH and LWPOLYLINE OpenGL rendering in case of non-standard z-axis.

4.0.37.122 Mar 10, 2017:

  • Bug fix: fixed problem with color not being inversed when equal to background color in GDIGraphics3D (introduced in version *.*.37.52).

4.0.37.121 Mar 10, 2017:

  • Replaced DxfDimensionStyle.TextAboveDimensionLine property with property TextVerticalAlignment.
  • Made several dimension block generation improvements related to text alignment for aligned/radial/diametric dimensions.
  • Added convenience property DxfEllipse.MinorAxisEndPoint.
  • Added minor clarifications to the ellipse entity documentation.

4.0.37.120 Feb 17, 2017:

  • Improved SvgExporter performance when setting ExportCadLayersAsSvgGroups is true by using a cache internally.
  • Added property SvgExporter.EntityDrawFilter to allow filtering of what is exported to SVG.

4.0.37.119 Feb 14, 2017:

  • Bug fix: fixed text rendering for some Hebrew SHX fonts.

4.0.37.118 Feb 10, 2017:

  • Improved PDF export when large bitmaps are embedded.

4.0.37.117 Feb 8, 2017:

  • Improved dimension text vertical positioning.
  • Fixed problem with stacked text vertical positioning.

4.0.37.116 Feb 8, 2017:

  • Bug fix: mtext color codes didn't support correction for background color.
  • Improved stacked text layout with empty numerator.
  • Bug fix: fixed mtext paragraph settings in case of changing settings mid text.

4.0.37.115 Feb 8, 2017:

  • Bug fix: background color settings were ignored by OpenGL rendering.

4.0.37.114 Feb 2, 2017:

  • Bug fix: fixed PDF export multi-threading problem (.NET 3.5 only).

4.0.37.113 Feb 1, 2017:

  • Bug fix: fixed MTEXT layout problems in case of specific attachment point/text alignment (in escape codes)/reference rectangle width combinations.

4.0.37.112 Jan 31, 2017:

  • Bug fix: centered MTEXT was still incorrectly positioned in case the MTEXT had a non-zero ReferenceRectangleHeight (broken in version *.*.37.107).
  • Bug fix: fixed MTEXT layout when first line(s) are empty or contain low height characters.

4.0.37.111 Jan 31, 2017:

  • Added support for DxfDimension.HorizontalDirection and dimension style properties SuppressFirstDimensionLine and SuppressSecondDimensionLine in the dimension style block generation for aligned dimensions.
  • Bug fix: centered mtext was incorrection positioned (broken in version *.*.37.107).

4.0.37.110 Jan 31, 2017:

  • Bug fix: relaxed hatch spline edge knot check to a warning. Previous fix still raised an exception.

4.0.37.109 Jan 31, 2017:

  • Bug fix: relaxed hatch spline edge knot check to a warning.

4.0.37.108 Jan 27, 2017:

  • Bug fix: fixed sortents DXF parsing problem in case of references to non-existent entities.

4.0.37.107 Jan 20, 2017:

  • Bug fix: fixed MTEXT layout problem related to paragraph alignment.
  • Added documentation on the text entity control codes.

4.0.37.106 Jan 19, 2017:

  • Added property SvgExporter.EmbedImages, with default value true. When false the SVG image element references the image by filename.

4.0.37.105 Jan 19, 2017:

  • Bug fix: fixed problem with decoding text %%nnn code when followed by one or more digits.

4.0.37.104 Jan 17, 2017:

  • Added missing properties DxfDimensionStyle.DimensionLineLineType, FirstExtensionLineLineType, SecondExtensionLineLineType.

4.0.37.103 Jan 9, 2017:

  • Bug fix: fixed problem writing binary DXF int groups in some cases.

4.0.37.102 Jan 9, 2017:

  • Added multi leader style properties MLeaderStyles and DefaultMLeaderStyle to DxfModel.

4.0.37.101 Jan 6, 2017:

  • Bug fix: ignore illegal date time field values.
  • Added a multi leader example to the documentation.

4.0.37.100 Jan 4, 2017:

  • Bug fix: fixed crash when reading value format with unknown data type.
  • Added entity transform example to documentation.

4.0.37.99 Dec 22, 2016:

  • Bug fix: fixed problem writing 2D polyline vertex widths to DWG when read from DXF with zero vertex widths and non-zero default widths.

4.0.37.98 Dec 14, 2016:

  • Changed WpfWireframeGraphics3DUsingDrawingVisual API to be more aligned with WpfWireframeGraphics3D so they can be more easily interchanged.

4.0.37.97 Dec 14, 2016:

  • Bug fix: fixed problem with PDF font embedding for some Chinese true type fonts.

4.0.37.96 Dec 14, 2016:

  • Added encoding for HZTXT.SHX font.
  • Marked PdfExporter.UseMultipleLayers as obsolete.

4.0.37.95 Dec 14, 2016:

  • Bug fix: line type should not be applied to 3D polyline entity.

4.0.37.94 Dec 13, 2016:

  • Bug fix: fixed problem reading a proxy graphics shell object.
  • Bug fix: changed spline knot validation message from error to warning as regularly knots for periodic/closed splines are not valid.

4.0.37.93 Dec 12, 2016:

  • Bug fix: PolylineShape4D to GraphicsPath conversion was incorrect in case of multiple polylines: the polylines were connected. Fixed by adding a GraphicsPath.StartFigure() call at the start of each polyline. This manifested itself e.g. in SHX text rendering in paper space after clipping.
  • Bug fix: modelspace in a viewport should not be shown if the viewport is disabled.

4.0.37.92 Dec 8, 2016:

  • Bug fix: PdfExporter created invalid PDF files in some cases when trying to export text as PDF text in combinations with PDF layers.

4.0.37.91 Dec 8, 2016:

  • Bug fix: GDIGraphics3D ignored the GraphicsConfig.FixedForegroundColor setting.

4.0.37.90 Dec 2, 2016:

  • Added support for dimension style text background color.
  • Bug fix: properties dim style overrides text background color/fill flags were switched when reading and writing.

4.0.37.89 Dec 2, 2016:

  • Bug fix: removed front clipping from SvgExporter in case of a clip rectangle was specified.

4.0.37.88 Dec 1, 2016:

  • Bug fix: fixed problems with text viewport clipping when trying to export text as text to PDF/SVG.

4.0.37.87 Nov 30, 2016:

  • Bug fix: fixed problems with text clipping and transformation when trying to export text as text to PDF/SVG (probably paper space only).

4.0.37.86 Nov 24, 2016:

  • Bug fix: undid summary info time shift change from version *.*.37.82 when reading/writing R15 DWG/DXF because a zero time will run out of range.

4.0.37.85 Nov 20, 2016:

  • Bug fix: fixed line type scaling bug in paperspace layout viewports.

4.0.37.84 Nov 11, 2016:

  • Bug fix: dimension block text height was incorrectly scaled by dimension style scale factor.
  • Bug fix: rotated dimension text rotation should not be applied if zero.
  • Fixed problem in hatch example documentation and added a few convenience properties to the hatch ellipse edge.

4.0.37.83 Nov 10, 2016:

  • Bug fix: fixed rendering crash and problem for closed period splines.

4.0.37.82 Nov 9, 2016:

  • Added support for reading/writing summary info from R15 DWG/DXF files and earlier.
  • Added support for reading/writing the table entity from/to R15 DWG/DXF files.
  • Bug fix: fixed problem with DXF reading/writing of encrypted modeler geometry (REGION/3DSOLID entities).

4.0.37.81 Nov 8, 2016:

  • Also load bitmaps from secure urls.
  • Bug fix: fixed MLINE regressed rendering problem for filled MLINE.

4.0.37.80 Nov 4, 2016:

  • Bug fix: the web request for downloading an image now specifies a user agent, some servers return a 403 error when not specified.
  • Bug fix: 2D spline rendering should not be affected by SPLFRAME system variable.
  • Bug fix: 2D spline rendering crashed in some cases.
  • Added comment to property DxfMText.XAxis that it should always be of unit length.

4.0.37.79 Nov 3, 2016:

  • Bug fix: OLE image entity was not being clipped when rendered.
  • Removed Polygon2I.BooleanOperations17Bits.
  • Bug fix: fixed problem in Polygon2I.BooleanOperations20Bits snap rounding part in some cases when both segments of an intersection were sloping downwards.

4.0.37.78 Oct 31, 2016:

  • Don't intersect the image clip boundary with the image boundary if the image has no image definition (appliclable for wipeout entities).
  • Bug fix: fixed exception upon loading invalid annotation.
  • Bug fix: cubic spline interpolation for case with 2 interpolation points failed.
  • Bug fix: fixed problem in Polygon2I.BooleanOperations20Bits in case of very close together events.

4.0.37.77 Oct 27, 2016:

  • Bug fix: tolerance text was scaled even when the text style used a fixed text height. The field height was also not scaled properly in this case, because the field height is independent of the text style's fixed height, but depends on the tolerance dimension style text height times the scale factor.
  • Bug fix: mtext negative indentation was handled incorrectly.

4.0.37.76 Oct 26, 2016:

  • Added support for viewport layer overrides (color, line type, line weight, transparency).
  • Bug fix: not all xrecord value codes were correctly read from DXF.

4.0.37.75 Oct 22, 2016:

  • Bug fix: use dimension block associated with the viewport's annotation scale in paper space when rendering a dimension.
  • Bug fix: fixed problem getting the viewport annotation scale.
  • Bug fix: fixed reading problem with header variables ANNOALLVISIBLE, ANNOTATIVEDWG, MSLTSCALE, PSLTSCALE.

4.0.37.74 Oct 22, 2016:

  • Added method DxfLeader.GetEffectiveArrowSize().

4.0.37.73 Oct 17, 2016:

  • Bug fix: fixed image boundary calculation when image file cannot be found and therefore has zero size.

4.0.37.72 Oct 12, 2016:

  • Download image if image filename is an url.

4.0.37.71 Oct 4, 2016:

  • Fixed problem with trial block text scaling.

4.0.37.70 Sep 28, 2016:

  • Removed dependency on SharpZipLib. Replaced with .NET's compression (DeflateStream). From .NET 4.5 onwards DeflateStream uses zlib under the hood, which is a lot better than the previous implementation, which alleviates the need to use SharpZipLib. Also some customers were using the original unsigned version of SharpZipLib, which caused a clash with a signed version of SharpZipLib which CadLib used (we compiled a signed version to be able to sign all CadLib assemblies using a strong name key).

4.0.37.69 Sep 26, 2016:

  • Bug fix: fixed problem with GDI+ rendering of rotated images in some cases.

4.0.37.68 Sep 26, 2016:

  • Made image loading more tolerant of inaccurate image locations.

4.0.37.67 Sep 26, 2016:

  • Refined setting up of empty paper layout.
  • Added example code demonstrating ability to convert a specific view to a PDF page.
  • Guard against adding duplicate shx lookup directories.
  • Bug fix: forgot to implement DxfMLeader.TransformMe overload with 2 parameters.

4.0.37.66 Sep 14, 2016:

  • Bold/italic text now correctly exported to SVG using the SvgExporter when retaining text in SVG.

4.0.37.65 Sep 13, 2016:

  • Added property GraphicsConfig.Plot. When set to true, then a layer is not visible if its PlotEnabled property has value false.

4.0.37.64 Sep 12, 2016:

  • Bug fix: fixed proxy graphics polyline/polygon with line type rendering problems.

4.0.37.63 Sep 9, 2016:

  • Bug fix: fixed clipping problem in SvgExporter in paper mode. Problem was introduced in version *.*.37.46.

4.0.37.62 Sep 7, 2016:

  • Recalculate table column width when a block is displayed in a table cell and auto scale is false.
  • Bug fix: table content format auto scale property wasn't handled correctly.

4.0.37.61 Sep 6, 2016:

  • Bug fix: when reading files with duplicate text styles, use the first one and discard the duplicates. References to the duplicates are redirected to the first text style.
  • Bug fix: when reading a DXF/DWG file, use 2005 table data when both 2005 table data and table content are present.
  • Bug fix: fixed problem writing table entity to DWG R24/R27 causing the table borders to not be shown in AutoCAD.
  • Bug fix: fixed problem with not correctly setting the active layout when no paper space layouts have viewports.
  • Bug fix: cell style horizontal and vertical margins were swapped when writing to DXF.

4.0.37.60 Sep 6, 2016:

  • Added support for MTEXT font code italic flag.

4.0.37.59 Sep 5, 2016:

  • Bug fix: fixed problem with incorrect layout viewport order for some layouts (all layouts in R13-R15).
  • Bug fix: set active layout to null when it is removed from the model's layouts.

4.0.37.58 Aug 31, 2016:

  • Bug fix: dimension property UseTextMiddlePoint was not correctly read from DWG files.

4.0.37.57 Aug 24, 2016:

  • Bug fix: fixed crash when rendering an image with illegal area boundary vertices.
  • Bug fix: entity true color wasn't used when entity color was by block/by layer.
  • Bug fix: fixed hatch rendering crash with boundaries containing empty polylines.
  • Bug fix: fixed index out of range problem in PolygonClipper.
  • Bug fix: fixed problem with drawing polylines in PdfExporter after recent polyline width patch.

4.0.37.56 Aug 23, 2016:

  • Bug fix: don't crash when reading DXF file with illegal layout reference from a block record.
  • Bug fix: PdfExporter didn't handle polyline filling/closing correctly after the previous patch.

4.0.37.55 Aug 23, 2016:

  • Improved wide polyline (LWPOLYLINE) rendering. Use the entity's line weight for sections that have zero width.

4.0.37.54 Aug 23, 2016:

  • Fixed incorrect spline interpolation for special 2 point case.
  • Added spline interpolation for missing 3 point case.
  • Made DxfSpline.UpdateSplineFromFitPoints) method public to allow user update.
  • Bug fix: fixed transformation of insert in case the transformation contains a mirroring component.
  • Bug fix: fixed DXF parsing problem with xrecord value for code 5.
  • Bug fix: fixed line width calculation when GDIGraphics3D.To2DTransform property is set in the constructor instead of setting the property.
  • Improved 2D spline polyline rendering, make use of GraphicsConfig.ShapeFlattenEpsilon.
  • Added property GraphicsConfig.NoOfArcLineSegmentsMinimum to avoid arcs being represented by single line segments when the arc's included angle is relatively small.
  • Bug fix: fixed crash when encountering illegal MTEXT \C code.
  • Bug fix: fixed problem with parsing unknown groups in proxy entity when reading from DXF.
  • Bug fix: accept empty block name in DXF file.

4.0.37.53 Aug 18, 2016:

  • Bug fix: fixed problem with some cell style property override flags not being used.
  • Bug fix: fixed problem with property overrides when writing a table entity to DXF.

4.0.37.52 Aug 16, 2016:

  • Bug fix: display viewport frames instead of layout frame.
  • Bug fix: calculate the correct layout plot area bounds in case the plot paper units is set to inches.
  • Bug fix: ignore viewport line weight for paper space layouts.
  • GDIGraphics3D now correctly displays line weight for paper space layouts.
  • Added new example code for PdfExporter that shows how to export a paper space layout using the layouts plot area bounds.

4.0.37.51 Aug 8, 2016:

  • Bug fix: Polygon2I.BooleanOperations20Bits: fixed problem with removing self overlapping segments in some cases.

4.0.37.50 Aug 8, 2016:

  • Bug fix: fixed table style default cell style reading from R24+ DWG files.
  • Bug fix: fixed use of table cell margins, use the table row/column/cell values if present, never fall back all the way to the table style level.
  • Bug fix: recalculate the table row height when the cell content plus the vertical margin times two doesn't fit the row height.
  • Bug fix: don't write cell style map to R21 DWG files and later (writing it in R21 DWG and later caused duplicate cell styles in AutoCAD).
  • Bug fix: write correct cell style id to DWG files for non-default cell styles. The incorrect cell style id numbering seemed to cause AutoCAD instability.

4.0.37.49 Aug 1, 2016:

  • Bug fix: fixed crash when reading DXF file containing layouts with incorrect block references.

4.0.37.48 Aug 1, 2016:

  • Bug fix: fixed problem in extracting annotative data. Bug was introduced in previous release.

4.0.37.47 Jul 29, 2016:

  • Add support for table/row/column/cell background color.

4.0.37.46 Jul 28, 2016:

  • Added property SvgExporter.ClipRectangle.
  • Bug fix: use MTEXT box with when ReferenceRectangleWidth is zero.

4.0.37.45 Jul 26, 2016:

  • Bug fix: adapt attribute angle when block's match orientation to layout is set to true.
  • Bug fix: attribute of an annotative insert should be rendered as annotative.

4.0.37.44 Jul 7, 2016:

  • Bug fix: when rendering use text styles true type font descriptor font file name if present.

4.0.37.43 Jul 5, 2016:

  • Bug fix: adjust table row height for multi-line text and cells containing blocks.
  • Bug fix: table cell block auto scale value wasn't written correctly to DXF/DWG.

4.0.37.42 Jun 27, 2016:

  • Bug fix: fixed problem with line type scaling on PDF export for paper space entities on paper space layouts.

4.0.37.41 Jun 21, 2016:

  • Allow DxfLineCreator and DxfLwPolylineCreator to work in paper space.
  • Fixed possible FormatException for MText escape.

4.0.37.40 Jun 3, 2016:

  • Bug fix: fixed y-axis inversion problem in method DxfWipeout.SetWipeoutPolygon().

4.0.37.39 Jun 1, 2016:

  • Bug fix: fixed floating point precision problem in Polygon2D.OverlapTester.

4.0.37.38 May 26, 2016:

  • Bug fix: fixed entity ordering not used in CadEditControl.
  • Bug fix: fixed incorrect rotation value written for dimension rotation (DXF).

4.0.37.37 May 20, 2016:

  • Bug fix: field DxfAttributeBase.primaryMultiLineAttribute was not cloned.

4.0.37.36 May 19, 2016:

  • Bug fix: Object reference not set to an instance of an object error when opening a file containing corrupt annotation scale data.

4.0.37.35 May 19, 2016:

  • Bug fix: fixed problem rendering MTEXT containing color codes with 32-bit unsigned int values exceeding Int32.MaxValue.

4.0.37.34 May 19, 2016:

  • Bug fix: fixed problem reading non-unique data store records.
  • Bug fix: fixed problem writing proxy entity binary/string data.

4.0.37.33 May 17, 2016:

  • Bug fix: DxfOle.TransformMe was not implemented.
  • Bug fix: SelectInteractor sometimes incorrectly collected a single entity twice in case an entity consisted of some geometry plus sub geometry from a block (e.g. leader entity).

4.0.37.32 May 17, 2016:

  • Added property CadEditControl.ShowGridLines.
  • Changed BlinnClipper4D to no longer treat non-filled closed polylines as filled. Previous behavior was an over simplification, but faster.
  • Switched to exact triangulation in hatch surface rendering. Previous floating point based code crashed in some cases due to floating point issues with polygons containing points that were very close together.

4.0.37.30 May 10, 2016:

  • Bug fix: fixed proxy entity cloning crash.
  • Added method DxfLayout.GetPlotAreaBounds() for getting the layout's plot area bounds.
  • Renamed PlotType more appropriately to PlotArea.
  • Improved layout example code and the layout documentation.
  • Bug fix: layout bounds for PlotType.LayoutInformation was incorrect.

4.0.37.29 Apr 27, 2016:

  • Bug fix: fixed problem with layout frame not being drawn (PlotLayoutFlags.PlotViewportBorders should be ignored).

4.0.37.28 Apr 27, 2016:

  • Added new SnapMode.PointOnArcAtDiscreteAngles for snapping only at 0/90/180/270 degrees.

4.0.37.27 Apr 19, 2016:

  • Bug fix: string stream length reading from DWG for R24+ was incorrect for string stream lengths larger than 31 bits.

4.0.37.26 Apr 18, 2016:

  • Bug fix: line weight wasn't correctly applied in paper space by the ImageExporter.

4.0.37.25 Apr 13, 2016:

  • Bug fix: SvgExporter didn't put text in the correct SVG group.

4.0.37.24 Apr 7, 2016:

  • Bug fix: don't crash upon reading illegal dimension style extended data, but give a warning message.
  • Bug fix: dimension extended data sometimes contains value of unexpected type. Allow for some flexibility in the value types.
  • Bug fix: fixed a few problems in PolygonClipper.

4.0.37.23 Apr 5, 2016:

  • Bug fix: fixed problem of WPF rendering of OLE image.

4.0.37.22 Apr 4, 2016:

  • Bug fix: fixed accuracy problem with approximating quadratic splines with a polyline.

4.0.37.21 Apr 4, 2016:

  • Bug fix: fixed accuracy problem with approximating cubic splines with a polyline.
  • Fixed calculation problema with cubic bezier curves.
  • Fixed FormatException during handling of broken MTEXT escape.

4.0.37.20 Apr 1, 2016:

  • Bug fix: fixed problem in transformation of 2D polyline arcs and hatch boundary polyline arcs in case of mirror transforms.

4.0.37.19 Apr 1, 2016:

  • Bug fix: fixed problem in transformation of LWPOLYLINE arcs in case of mirror transforms.

4.0.37.18 Mar 29, 2016:

  • Bug fix: fixed problem in transformation of hatch arc edges in case of rotation/mirror transforms.
  • Updated outdated rotation code in extended view example.

4.0.37.17 Mar 23, 2016:

  • Added support for MSLTSCALE and PSLTSCALE system variables.

4.0.37.16 Mar 16, 2016:

  • Bug fix: fixed problem reading multiple plot settings objects (DxfPlotSettings) with identical PageSetupName.
  • Bug fix: fixed problem in 20-bits polygon boolean operations in case of self-crossing/self-overlapping polygons.

4.0.37.15 Mar 14, 2016:

  • Added ability to export text to SVG text in the SvgExporter.

4.0.37.14 Mar 11, 2016:

  • Bug fix: fixed problem DXF writing of extended data binary value.

4.0.37.13 Mar 9, 2016:

  • Bug fix: fixed DWG reading problem with objects larger than 30 bits.
  • Clarified documentation on usage of the ImageDisplayFlags.ShowUnalignedImage flag for rotated images and updated example code.

4.0.37.12 Feb 16, 2016:

  • Bug fix: fixed problem with reading double values from DXF when the double string contains extra characters after the double value.

4.0.37.11 Feb 15, 2016:

  • Bug fix: some DWG files written by the ODA don't contain header checksum values.

4.0.37.10 Feb 11, 2016:

  • Bug fix: fixed problem with writing table cell background color to DXF.

4.0.37.9 Feb 11, 2016:

  • Bug fix: fixed problem with writing 7-byte handle values to a DWG file.

4.0.37.8 Feb 9, 2016:

  • Bug fix: fixed problem with getting polygons from a triangulation in case of touching polygons (caused hatch rendering problem in some cases).

4.0.37.7 Feb 4, 2016:

  • Bug fix: Improved dimension block generation in case DxfDimension.UseTextMiddlePoint is true.
  • Bug fix: in the editor the delete menu item always was active, even when the PropertyGrid had focus.

4.0.37.6 Feb 3, 2016:

  • Bug fix: fixed problem with WIPEOUT boundary rendering in case it has a line type.
  • Bug fix: fixed some problems with mleader text underlining/overlining.
  • Streamlineded SPLINE handling for DxfMLeader, DxfLeader, and DxfSpline with only fixpoints.
  • Bug fix: fixed problem with reading a MULTILEADER entity with XDATA from DXF.
  • Added spline interpolation for DxfSpline, DxfLeader and DxfMLeader.
  • Fixed BackColor support in CadEditControl.

4.0.37.5 Jan 28, 2016:

  • Bug fix: discard null GROUP object references when reading non-existent references from DXF.

4.0.37.4 Jan 27, 2016:

  • Set extremely large coordinates to zero after reading (implemented in arc and circle entities).

4.0.37.3 Jan 27, 2016:

  • Repair invalid insert coordinates (e.g. NaN) after reading.

4.0.37.2 Jan 26, 2016:

  • Added properties SimpleTransformationProviderBase.ModelBoundsFitType and SimpleTransformationProviderBase.Margin to have more control over fitting the model in the view window.

4.0.37.1 Jan 22, 2016:

  • Added option to integrate documentation with Visual Studio 2015 help in the installer.
  • Bug fix: DxfEllipse.TransformMe didn't always normalize the z-axis after transformation.
  • Bug fix: fixed writing problem of separate DxfMLeaderAnnotationContext object.

4.0.37.0 Jan 22, 2016:

  • Implemented MULTILEADER entity.
  • Bug fix: fixed rendering in wrong color for mtext with sub selection in true color.

4.0.36.98 Jan 8, 2016:

  • Bug fix: fixed problem with reading files containing dictionary entry where the value is an unsupported object.

4.0.36.97 Jan 7, 2016:

  • Bug fix: fixed problem with DWG reading of field value with 14 byte datetime values created by older CadLib versions.

4.0.36.96 Jan 7, 2016:

  • Open files such that other applications can still have a file opened in read/write mode.
  • Added DxfSpline constructor accepting a degree parameter.
  • Bug fix: fix precision issues with 2D polygon overlap tests.

4.0.36.95 Dec 9, 2015:

  • Bug fix: adjust line type rendering in model space when CANNOSCALE is set.

4.0.36.94 Dec 3, 2015:

  • Bug fix: Bounds3D.Overlaps always returned true. Fixed same issue with Bounds2D.Overlaps.

4.0.36.93 Dec 1, 2015:

  • Bug fix: fixed problem with drawing invisible table borders.

4.0.36.92 Dec 1, 2015:

  • Added option to tag DrawingVisual objects in WpfWireframeGraphics3DUsingDrawingVisual. Minor breaking change: refactored WpfWireframeGraphics3D to use the same object tagger delegates (moved to CadGraphicsHelper).

4.0.36.91 Nov 30, 2015:

  • Bug fix: fixed DWG read/write problem for color object.

4.0.36.90 Nov 27, 2015:

  • Bug fix: fixed problem with ellipse transformation in case of mirror transforms.

4.0.36.89 Nov 26, 2015:

  • Bug fix: fixed problem writing VPORT with zero height to DXF. Changed error message into a warning.

4.0.36.88 Nov 25, 2015:

  • Bug fix: fixed WPF image entity rendering rotation problem.
  • Draw image frame in WPF depending on GraphicsConfig.DrawImageFrame setting.

4.0.36.87 Nov 25, 2015:

  • Bug fix: remove invalid layout instead of crashing when reading file.
  • Added property GraphicsConfig.DrawImageFrame to mimic the IMAGEFRAME system variable.

4.0.36.86 Nov 24, 2015:

  • Bug fix: added work around for bug in System.Drawing.Graphics.DrawPath that throws OutOfMemoryException for small GraphicsPath objects with pen width greater than 1.
  • Bug fix: polygon clipper shouldn't return closed polyline if polyline has less than 3 vertices.

4.0.36.85 Nov 24, 2015:

  • Bug fix: improved clipping robustness in case of very close together points.
  • Bug fix: fixed crash in 2D polygon overlap test in case of self-intersecting/self-overlapping input polygons. This problem occurred during rendering of some hatch entities.
  • Bug fix: fixed problem creating a drawing with no entities in model space in evaluation mode.

4.0.36.84 Nov 13, 2015:

  • Added the R21 properties to DxfBlock: BlockUnits, Explodable and ScaleUniformly.

4.0.36.81 Oct 26, 2015:

  • Bug fix: fixed problems in dynamic block reading/writing.

4.0.36.80 Oct 23, 2015:

  • Improved shape clipping performance by reducing shape flattening precision for bounds calculation and clipping. Introduced new property GraphicsConfig.ShapeFlattenEpsilonForBoundsCalculation for controlling the accuracy of bounds calculation (used for clipping).
  • Bug fix: fixed incorrect MTEXT text block coloring for color 0 (should be by block color), and non-ACI color (should be by layer color).

4.0.36.79 Oct 23, 2015:

  • Bug fix: fixed problem in PDF exporter with incorrect line widths for all viewports after the first viewport.
  • Bug fix: fixed problem rendering OLE bitmap with zero width or height (when zoomed out very far).
  • Bug fix: fixed problem with ViewportTransformer.Clone(), where the modelToPaperSpaceTransform field was not copied. This caused paper space layout rendering issues in some cases.
  • Bug fix: fixed text alignment problem when text has indentation.

4.0.36.78 Oct 22, 2015:

  • Bug fix: fixed problem in Matrix4D.TransformTo3D(Vector2D). This caused a problem in spatial filtering in some cases.
  • Bug fix: fixed problem in spatial filter clip plane normal calculation.

4.0.36.77 Oct 19, 2015:

  • Bug fix: fixed problem with writing a DWG/DXF file containing a table style without cell styles.

4.0.36.76 Oct 19, 2015:

  • Bug fix: fixed problem with cell style synchronization between table style cell styles and cell style map.
  • Bug fix: fixed DWG read/write problem due to invalid DxfMTextObjectContextData dwgtype.

4.0.36.75 Oct 12, 2015:

  • Bug fix: fixed problem with writing to DWG containing objects with strings totaling more than 30 bits (R24 and later).
  • Bug fix: fixed problem with writing proxy entity data to DXF.
  • Added ImageExporter method allowing to plot layouts in their defined extent.

4.0.36.74 Oct 8, 2015:

  • Bug fix: fixed problem with reading from DWG containing objects with strings totaling more than 30 bits.
  • Fixed bugs with polygon viewport clipping.
  • Fixed colors sometimes wrong in PDF.
  • Added DotSize property for PdfExporter.
  • Bug fix: creation of DxfHatchScaleContextData failed for hatch with null Pattern.
  • Allow duplicate points in input polygons for all the exact triangulators. Is used to repair invalid self-intersecting regions.
  • Switched to new 20-bit polygon boolean operations in hatch rendering.
  • Bug fix: slow reading for dictionaries with many anonymous dictionary entries.

4.0.36.73 Sep 29, 2015:

  • Added property CloseStreamAfterReading to DxfReader and DwgReader, so the stream can be kept open after reading if needed. The default is to close the stream after reading.

4.0.36.72 Sep 21, 2015:

  • Bug fix: don't display points when PDMODE is 1 (none).
  • Added 3D hatch example.

4.0.36.70 Sep 16, 2015:

  • Bug fix: fixed problem writing an HATCH entity to an R14 DWG file.

4.0.36.69 Sep 7, 2015:

  • Bug fix: fixed problem writing an LWPOLYLINE entity to an R14 DWG file.
  • Fixed some potential OLE object release problems.

4.0.36.68 Sep 1, 2015:

  • Bug fix: fixed problem with PDF text scaling when exporting text as PDF text (bug introduced in version 4.0.36.20).

4.0.36.67 Aug 31, 2015:

  • Bug fix: fixed problem with disposing image bitmap too early in PdfExporter (bug introduced in version .65 as part of the improved OLE image rendering).

4.0.36.66 Aug 25, 2015:

  • Bug fix: table borders should be put on DEFPOINTS layer when border is invisible.
  • Bug fix: fixed minor border positioning problems when using a combinations of single/double and visible/invisible table borders.

4.0.36.65 Aug 25, 2015:

  • Breaking change: added method IWireframeGraphicsFactory.CreateScalableImage to support bitmaps of variable size depending on zoom level (used to render OLE object images).
  • Improved OLE object GDI+ and PDF rendering (create bitmap size depending on the displayed size). For GDI+ use property GraphicsConfig.MaxScalableImageSize to limit the maximum bitmap size created for rendering (useful when zooming in very far). For PDF use property PdfExporter.ScalableImagePixelsPerPdfPixel to configure how many pixels per PDF pixel to use when creating a bitmap from the OLE object.
  • Added support for image transparency to the PDF exporter (also used for images from OLE objects).

4.0.36.64 Aug 19, 2015:

  • Bug fix: fixed problem with writing table with content wider than the cell width to an R24 DWG file.
  • Bug fix: fixed problem with table style writing to DXF (title and header cell styles were switched).
  • Bug fix: cell style fill color was black by default instead of none.
  • Bug fix: not all table cell style properties were saved when writing to an R21 DWG file (problem with not synchronizing between table style and its cell style map).

4.0.36.63 Aug 18, 2015:

  • Bug fix: hatch name was not read correctly from DXF/DWG when the hatch had a pattern.
  • Added example code demonstrating how to print.

4.0.36.62 Aug 17, 2015:

  • Bug fix: fixed rendering crash when raster image entity had self-overlapping image boundary polygon.
  • Fixed writing of '\r'
  • Added convenience methods to RenderedEntityInfo

4.0.36.61 Jul 29, 2015:

  • Fixed NRE problem caused by text type ltype element w/o text.
  • Fixed incorrect R21+ DWG reading of line types containing more than one text element.

4.0.36.60 Jul 20, 2015:

  • Bug fix: fixed minor problem with incorrect proxy entity object reference reading from DXF.
  • Fixed incorrect initializeation of attribute's TagString.

4.0.36.59 Jul 16, 2015:

  • Bug fix: fixed problem with proxy entity reading from DXF.
  • Bug fix: fixed problem with proxy graphics 3-point arc rendering.
  • Improved proxy graphics text rendering.

4.0.36.58 Jul 14, 2015:

  • Added BeforeRead event to CadReader, DxfReader and DwgReader to allow custom initialization of a model.

4.0.36.57 Jul 6, 2015:

  • Fixed NRE in DxfImage Clone()

4.0.36.56 Jun 23, 2015:

  • Improved viewport clipping in the PDF exporter so images are now clipped by viewports they are displayed in.

4.0.36.55 Jun 23, 2015:

  • Fixed handling of multiline attributes.

4.0.36.54 Jun 1, 2015:

  • Reverted fix from version 4.0.36.44. Presence of MTEXT group 63 caused problem in opening DXF file in AutoCAD 2014.

4.0.36.53 Jun 1, 2015:

  • Bug fix: fixed problem with empty layout viewports initialization.

4.0.36.52 May 29, 2015:

  • Bug fix: fixed problem with polygon boolean operations in case input contained overlapping segments (polygon retracing itself).
  • Bug fix: incorrect overlapping segment intersection calculation in case of segment B contained segment A, and the segments shared their start point.

4.0.36.51 May 28, 2015:

  • Merge duplicate blocks upon reading.

4.0.36.50 May 28, 2015:

  • Added property GraphicsConfig.DrawHatchPatterns to control whether or not to draw hatch patterns. If set to false, then property HatchOverflowHandling determines how the hatch is drawn.

4.0.36.49 May 27, 2015:

  • Bug fix: fixed hatch rendering problem for self-intersecting hatch boundaries.
  • Improved performance on DWG/DXF reading with many dictionary entries with unsupported objects.

4.0.36.48 May 26, 2015:

  • Added LineType support for DxfLeader.
  • Added support for spline DxfLeader.
  • Fixed possible ArgumentOutOfRange exception during EntitySelector operation.
  • Added empty layout initialization.

4.0.36.47 May 6, 2015:

  • Bug fix: PDMODE should not apply to points on DEFPOINTS layer, the layer name comparison was case sensitive and is now case insensitive.

4.0.36.46 May 5, 2015:

  • Bug fix: improved stability of polygon boolean operations. Allow inputs with self-overlaps (will now be removed when segments are opposite).

4.0.36.45 May 4, 2015:

  • Bug fix: line edit interactor caused problem. Bug was introduced in version *.*.36.44.

4.0.36.44 Apr 29, 2015:

  • Bug fix: DXF writer now writes group 63 for MTEXT with window color as background.

4.0.36.43 Apr 29, 2015:

  • Bug fix: linear dimension alternate units were not calculated correctly when generating the dimension block.

4.0.36.42 Apr 27, 2015:

  • Bug fix: SimpleTransformationProviderBase.RectangleZoom was not correctly implemented.
  • Mouse position snapping now also displays indicators when snapping on the grid.

4.0.36.40 Apr 9, 2015:

  • Bug fix: fixed bug in creating OpenGL bitmap in OpenGL viewer example.

4.0.36.39 Apr 6, 2015:

  • Bug fix: fixed problem with graphics cache objects not finding the drawables for entities in some cases (e.g. when querying for attribute entity drawables).

4.0.36.38 Apr 2, 2015:

  • Bug fix: spline rendering did not apply line type.

4.0.36.37 Mar 16, 2015:

  • Support text sub string selection using the mouse.
  • Implemented selecting text sub string by use of the shift key in the text create/edit interactor.

4.0.36.35 Mar 12, 2015:

  • Added property CadEditControl.TransformationProvider and added a constructor allowing to specify a different transformation provider.

4.0.36.34 Mar 12, 2015:

  • Bug fix: don't crash when not possible to compose annotation data due to missing scale object.
  • Improved layout plotting.

4.0.36.33 Mar 12, 2015:

  • Added method CadEditControl.UpdateDrawables() to update all the drawables for a model. Useful when e.g. turning layers on/off.

4.0.36.32 Mar 12, 2015:

  • Bug fix: fixed NullReferenceException problem when reconstructing annotation scale related data when reading from DWG/DXF file.

4.0.36.31 Mar 6, 2015:

  • Bug fix: allow for white spaces and redundant trailing digits in double values when reading from DXF.
  • Introduced DxfVersion for AC1013 AutoCAD R14 preview.
  • Improved reliability of polygon clipping.

4.0.36.30 Feb 27, 2015:

  • Bug fix: entity WIPEOUT was written as image entity to DWG files.

4.0.36.29 Feb 26, 2015:

  • Don't crash on XCLIPFRAME header variable with group 280 instead of group 290.

4.0.36.28 Feb 26, 2015:

  • Implemented non-rectangular viewport clipping. REGION clipping (multiple polygons, possibly with holes) not yet supported.

4.0.36.27 Feb 23, 2015:

  • Added helper method DxfWipeout.SetWipeoutPolygon() and example code for creating a WIPEOUT entity.

4.0.36.26 Feb 18, 2015:

  • SilverlightBitmap can now download an image from a URL (but has to be on a background thread).

4.0.36.25 Feb 17, 2015:

  • Bug fix: R12 DXF files cannot contain extended data for non-entity objects (like table records).

4.0.36.24 Feb 17, 2015:

  • Bug fix: XRECORD didn't read group 280 values from DXF files.
  • Bug fix: XRECORD writing to DXF did not include all group codes depending on the DXF version.
  • Bug fix: extension dictionary wasn't written for table records (layer, text style table etc).

4.0.36.23 Feb 17, 2015:

  • Bug fix: loading of bitmap locked the bitmap file due to use of Bitmap.FromFile.

4.0.36.21 Feb 16, 2015:

  • Bug fix: DXF R12 files sometimes contain group 5 values that are not a handle, these are now ignored.

4.0.36.20 Feb 14, 2015:

  • Bug fix: fixed problem of LEADER entity rendering in WPF/Silverlight in some cases.
  • Avoiding to write insane double values to PDF.

4.0.36.19 Feb 12, 2015:

  • Bug fix: proxy graphics text read/write padding calculation was incorrect.
  • Avoided writing zero height texts to PDF.

4.0.36.18 Feb 10, 2015:

  • Bug fix: DXF/DWG files may contain duplicate scale objects.

4.0.36.17 Feb 10, 2015:

  • Bug fix: reading/writing of 2 types of proxy graphics text was incorrect.

4.0.36.16 Jan 30, 2015:

  • Bug fix: fixed problem with shape filling (should be using even-odd rule). Broken in release 4.0.36.8.
  • Accepting quoted paths at some locations now.

4.0.36.15 Jan 21, 2015:

  • Added support for images to the SvgExporter.

4.0.36.14 Jan 13, 2015:

  • Reverted rename of LinearUnitFormat stacked values to their original names before version 36.11.

4.0.36.13 Jan 11, 2015:

  • Bug fix: alternate scale factor wasn't taken into account when displaying alternate dimension units.

4.0.36.12 Jan 11, 2015:

  • Bug fix: dimension unit postfix wasn't implemented correctly.

4.0.36.11 Jan 11, 2015:

  • Added support for alternate dimension units.
  • Relaxed handling of incorrectly typed references during read.
  • Added ConsolidatingEntityVisitor.
  • Fixed dot handling during SVG export of hatch.

4.0.36.9 Dec 5, 2014:

  • Bug fix: resolving annotation scale in dictionary variable CANNOSCALE was not always possible.
  • Fixed MTEXT parsing problems.

4.0.36.8 Nov 20, 2014:

  • Bug fix: PdfExporter didn't use the layout PlotLayoutFlags.DrawViewPortsFirst flag when determining whether to draw the view ports first or last.

4.0.36.7 Nov 11, 2014:

  • Bug fix: when FILLMODE is 0 hatch entities should not be displayed.

4.0.36.6 Nov 10, 2014:

  • Fixed precision problem with 2D polyline subdivision (Polyline2D.Subdivide1). This caused a problem in surface rendering of some hatches where first and closing points were very close together.
  • Changed Silverlight demo projects to load unknown objects so proxy graphics are displayed.

4.0.36.5 Nov 7, 2014:

  • Implemented RASTERVARIABLES object.
  • Implemented WIPEOUTVARIABLES object. The settings are used for determining whether or not the draw the WIPEOUT frame.
  • Bug fix: exact versions of polygon boolean operations contained a problem in the release version not filtering out zero length segments.

4.0.36.3 Oct 30, 2014:

  • Switched to using robust polygon boolean operations for the hatch entity rendering. No longer using double-precision boolean operations.
  • Fixed problem with DxfBlock.BaseTransformation using wrong base point when block is XREF
  • Bug fix: BigInteger.GetGcd returned incorrect result in some cases.
  • Bug fix: ignore duplicate dimension styles when reading from DXF. Only the first dimension style with a particular name is kept.
  • Bug fix: the dimension line weight should be assigned to dimension tick lines.
  • Improved accuracy of spline fit point calculation.
  • Bug fix: fixed problem in BigRational calculation (finding least significant one bit was incorrect).
  • Added LongRational struct for doing rational calculations based on longs.
  • Bug fix: fixed bug in handling the proxy graphics line types.
  • Changed approximation of hatch line count will draw hatch lines more often.
  • Different handling of hatch boundaries with TextBox flag set.
  • Infinite values in DXF files are allowed in some places now similar to acad.

4.0.36.2 Oct 2, 2014:

  • Renamed enum DrawCommand to DrawCommandCode and made it internal. Renamed class DrawCommandBase to DrawCommand.

4.0.36.1 Oct 1, 2014:

  • Implemented WPF rendering for proxy graphics.
  • Fixed bug in proxy graphics Text2Base rendering.

4.0.36.0 Sep 30, 2014:

  • Added support for the ACAD_PROXY_ENTITY entity (class DxfProxyEntity).
  • Bug fix: fixed crash when encountering duplicate table cell styles in R24+ DWG files.
  • Bug fix: fixed NullReferenceException when reading DXF file in which an insert references a non-existing block. Added an error message when this happens instead.
  • Improved error handling when reading DWG file with corrupt second header data address.
  • Bug fix: DxfLayout.TabOrder should be int instead of short.
  • Bug fix: ignore duplicate table cell styles (last duplicate is kept, previous table cell styles with the same name are discarded).

4.0.117 Sep 23, 2014:

  • Implemented TransformMe for proxy entity.
  • Bug fix: PagedMemoryStream length was incorrectly updated when writing while position was not at end of stream.
  • Bug fix: fixed NullReferenceException problem in DxfBlock.ExternalModel property when ExternalReference was null.
  • Fixed $INSBASE/BasePoint handling for XREF blocks.

4.0.116 Sep 8, 2014:

  • Implemented DWG read/write of plot settings object.

4.0.115 Aug 28, 2014:

  • Bug fix: Silverlight 2 byte text encoding byte array (used for e.g. the ANSI 950 code page) to string conversion contained a bug (incorrect string length calculation, and therefore the string was sometimes too short/too long).

4.0.114 Aug 26, 2014:

  • Repair drawing that contains a recursive block insertion. The insertion will be removed upon reading.

4.0.112 Aug 8, 2014:

  • Added simple example interactor to show mouse position.
  • Bug fix: getting entity drawables from WireframeGraphicsCache nd WireframeGraphics2Cache didn't work properly when entity was part of a block/insert.

4.0.111 Aug 8, 2014:

  • Bug fix: OpenGL RenderingContext.Dispose() could possibly be called by the GC thread and main thread simultaneously. Added a lock in the Dispose().

4.0.110 Aug 8, 2014:

  • Renamed DxfModel.DefaultDimensionStyle to CurrentDimensionStyle and it is now settable.
  • Added property LoadUnknownObjects to DxfReader and DwgReader, so unknown entities are not filtered out. Unknown entities may contain proxy graphics that CadLib can render.
  • Changed WpfApplication example to show how to set a different background color.
  • Added missing writing of $DIMASSOC to DXF.
  • Documented supported version for various header variables.
  • Fixed NRE when cloning null reference dictionary entry.
  • Fixed incorrect cloning of extended line types.

4.0.109 Jul 16, 2014:

  • Minor bug fix for MLINE rendering where some segment element parameters only contain 1 parameter.
  • Bug fix: hatch gradient color reading from DWG R21 failed when containing color book colors.
  • Took care of writing special names so they are accepted by ancient AutoCAD versions R13 and R14.
  • Fixed writing of unsupported objects to earlier formats.

4.0.108 Jul 4, 2014:

  • Added frame display to layout drawing.

4.0.107 Jun 20, 2014:

  • Fixed problems when GraphicsConfig.TryDrawingTextAsText is set during display rendering.
  • Added the possibility to set a spatial filter for DxfInsert objects.
  • Fixed DWG write of TEXT entity for special alignments.
  • Bug fix: When DXF writing a space has to be inserted after each '^' character.
  • Bug fix: extended data of root dictionary was not written to DXF.

4.0.106 May 7, 2014:

  • Bug fix: discard XRECORD objects with illegal value instead of throwing an exception.
  • Bug fix: dimension block generation failed when the Layer was set to null. (Was recently broken due to reworked dimension block generation).
  • Bug fix: GraphicsPath was not disposed when measuring text bounds.
  • Bug fix: '-' character should be treated as alphabetical with respect to line breaking.

4.0.105 Apr 30, 2014:

  • Bug fix: MTEXT codes were not decoded correctly if the MTEXT ended with a code.
  • Bug fix: treat characters "(){}[]" as normal alphabetic characters so there is no line break (in MTEXT) if any of these characters follow/precede an alphanumeric character.

4.0.104 Apr 28, 2014:

  • The radial dimension edit interactor now recalculates the TextMiddlePosition if UseTextMiddlePosition is true and Measurement if it is non-zero when a control point changes.
  • Improved radial dimension block generation.

4.0.103 Apr 24, 2014:

  • Bug fix: disabled writing class for proxy entity.

4.0.102 Apr 23, 2014:

  • Bug fix: aligned 4-point dimension didn't position the arc at the correct section for dimensionLineArcPoint values that fell outside the extension lines.
  • Bug fix: dimension points did not get the correct color upon regeneration.
  • Bug fix: Polygon2D.OverlapTester failed with segments that had near equal x-coordinates (equal within between 1 and 2 times the precision).
  • Bug fix: dynamic block DxfBlockRepresentationData cloning incorrectly assumed ownership of the referenced DynamicBlock.

4.0.101 Apr 14, 2014:

  • Place radial dimension arrow on inside of circle when text is inside circle.

4.0.100 Apr 14, 2014:

  • Bug fix: fixed exception when drawing radial dimension of zero length.
  • Added some ToString() implementations to several dynamic block classes to facilitate debugging.

4.0.35.99 Apr 12, 2014:

  • Bug fix: fixed minor issue with Point2DTextBoxesControl not focusing on the x-coordinate text box when used for second time by e.g. SelectInteractor.MoveInteractor.

4.0.35.98 Apr 11, 2014:

  • Bug fix: fixed rare problem with 2D polygon overlap test.
  • Bug fix: MLINE background fill didn't work correctly for segments with more than 2 elements.
  • Bug fix: added missing properties DxfDimension.InsertionScaling and InsertionRotation.
  • Bug fix: fixed problem in SelectInteractor with drawing selection rectangle for selected entity when selection rectangle was (much) larger than the window rectangle. For very large selection rectangles the drawing was slow and could cause an OutOfMemoryException being thrown (probably due to use of a dotted pen).
  • Bug fix: fixed DXF reading crash of SORTENTS table with duplicate entities.

4.0.35.97 Apr 7, 2014:

  • Bug fix: fixed memory leak in WW.Cad.UI.CadEditControl. When closing a docked window, the Control wouldn't receive the OnLeave event, and therefore the MessageForwarder wasn't removed from the application's message filters. The filter kept a reference to the CadEditControl, resulting in a memory leak. Now when the CadEditControl is disposed, the MessageForwarder is also disposed.
  • Added class DisposableComponentContainer to facilitate disposing objects owned by a Windows Forms Control.

4.0.35.96 Apr 2, 2014:

  • Bug fix: DxfLwPolyline.ExplodeIntoLinesAndArcs didn't explode arcs correctly if Bulge > 0.
  • Bug fix: CadEditControl.CalculateTo2DTransform should do nothing if Width or Height are 0.
  • Bug fix: SelectInteractor.Select(List<DxfEntity> entities, Matrix4D projectionTransform) didn't select inserts/dimensions.
  • Fixed missing codepage strings.

4.0.35.95 Mar 31, 2014:

  • Used latest Sandcastle version and give the option of installing VS 2010/2012/2013 help during installation.
  • Added DxfLeader annotation scale support.

4.0.35.94 Mar 29, 2014:

  • Bug fix: RedBlackTree.Remove failed in some cases.
  • Stability improvements in the Polygon2D.OverlapTester.

4.0.35.93 Mar 28, 2014:

  • Bug fix: LWPOLYLINE rendering sometimes crashed.

4.0.35.92 Mar 28, 2014:

  • Added method Polyline2D.Subdivide2.GetIntersections to calculate all intersections between polylines.
  • Improved hatching for speed and reliability. Duration for complete rendering of our regression test set is reduced by some 33%.

4.0.35.91 Mar 26, 2014:

  • Bug fix: RedBlackTree.Remove was not correctly implemented.
  • Added RedBlackTree.Remove(Node node) method that removes the node without first having to search for it. Useful when the caller already knowns the node.
  • Annotative dimensions support.
  • Added Polygon2D.Overlap method to test if polygons overlap.
  • Made RedBlackTree<T>.Node public and added a Parent property to the node so iterating is more efficient.
  • Added MovePrevious() method to RedBlackTree<T> iterators.
  • Added CurrentNode property to the RedBlackTree<T> iterators so their state can be easily retrieved/restored.
  • Added method Polyline2D.HasIntersections.
  • Added method Segment2d.IntersectsInclusive that also includes the segment end points in the intersection tests.

4.0.35.90 Mar 19, 2014:

  • Bug fix: fixed rare problem with getting true type font due to recursion (probably as a result of the application Exception handling).
  • Fixed sometimes incorrect positioning of LTYPE shapes/texts

4.0.35.89 Mar 14, 2014:

  • Bug fix: layer transparency was not read from/written to DWG files.

4.0.35.88 Mar 12, 2014:

  • Bug fix: PdfExporter did not create images of multiple OLE objects correctly.

4.0.35.87 Mar 11, 2014:

  • Bug fix: the dimension's text style wasn't set.
  • Bug fix: place the radial dimension's dimension line outside the arc if the text is placed outside the arc with the use text middle point setting.

4.0.35.86 Feb 24, 2014:

  • UndoRedoPropertyDescriptor: support nested property descriptor.

4.0.35.85 Feb 19, 2014:

  • Bug fix: fixed problem with line type element text reading/writing from/to DWG R21 and later.
  • Bug fix: line type with text using SHX font was not rendered.

4.0.35.84 Feb 18, 2014:

  • Bug fix: fixed line type element symbol/text scaling bug when used in (nested) inserts with non-uniform scaling.
  • Bug fix: QuaternionD constructor with from/to vector was incorrect.
  • Bug fix: rendering of DxfLine with line type symbols had incorrectly position symbols when part of a block/insert (OCS to WCS transform applied twice).

4.0.35.83 Feb 18, 2014:

  • Bug fix: fixed another line type element text/symbol scaling bug for LWPOLYLINE entity.
  • Bug fix: fixed line type element text/symbol scaling bug for LWPOLYLINE entity.
  • Bug fix: line type scaling fix broke the scaling of polyline with width.

4.0.35.82 Feb 14, 2014:

  • Fixed problem with open hatch boundaries which were not always connected.

4.0.35.81 Feb 14, 2014:

  • Bug fix: triangulation of chinese characters with overlapping outer contours sometimes failed (used in OpenGL rendering).
  • Breaking change: allow cloning within the same model. When cloning an object within the same model, only its owned objects are cloned.

4.0.35.80 Feb 7, 2014:

  • DxfEllipse.TransformMe now also handles non-uniform scaling.
  • Bug fix: fixed problem in DxfEllipse.TransformMe().

4.0.35.79 Feb 6, 2014:

  • Bug fix: accept illegal entity line weight in DWG files and convert it to standard line weight.

4.0.35.78 Feb 4, 2014:

  • Changed CadEditControl.TransformationProvider type to ModelTransformationProvider3D.
  • Added EntitySelector.GetEntitiesPartiallyInRectangle methods that allow for selecting entities that are partially in a given rectangle.
  • Added WW.Cad.UI.Actions.ModelTransformationProvider3D that allows a model transformation as first transformation, which is treated separately from the subsequent transformations which are affected by ResetTransforms().
  • Added convenience methods for view transformation access.
  • Provided convenience methods for VIEW, VPORT, and VIEWPORT mapping.
  • Added ImageExporter method allowing to create VPORT configuration bitmaps.
  • Bug fix: table entity reading failed in some circumstances.
  • Bug fix: line type was applied in the OCS instead of in the WCS.
  • Fixed incorrect handling of DxfText mirroring when text is aligned.

4.0.35.77 Dec 19, 2013:

  • Bug fix: cloning of complete model failed in some cases where objects were indirectly cloned. Improved cloning to do a better exact model clone with preserved table record order.
  • Bug fix: fixed problem writing field date time value to DWG (R21 and later).
  • Bug fix: cloning of complete model failed when line type had a reference to a text style. Improved cloning to do a better exact model clone with preserved table record order.
  • First steps for a more unified handling of view-related classes.
  • Write OSMODE heaver variable to DWG R13/14.
  • Added possibility to map DXF line styles to WPF dashes, giving the possibility to reduce WPF memory footprint and drawing duration. See ScaledLinetypeDashStrokePreparer and WpfApplicationExample.

4.0.35.76 Dec 3, 2013:

  • Bug fix: PdfExporter with property UseMultipleLayers set to false wrote corrupt a Pdf file in case of a drawing with empty texts.
  • Bug fix: writing of table cell boolean value to DXF failed.

4.0.35.75 Dec 2, 2013:

  • Bug fix: SelectInteractor.MoveInteractor activated when clicking on grid line. Added property StartInteractionOnMouseDownAtSelectionRectangle to make behavior configurable.
  • Bug fix: fixed NullReferenceException during snap points calculation for overlapping arcs.
  • Small improvements: better drawing speed, less memory footprint.

4.0.35.74 Nov 27, 2013:

  • Bug fix: bounds calculation of OLE objects failed when they were clipped away.
  • Removed public Repair() method from DxfHandledObject as it shouldn't be used by library users.
  • Added basic support for snap related header variables.
  • Added DXF i/o support for snap related header variables.

4.0.35.73 Nov 26, 2013:

  • Bug fix: fixed problem with reading of extended data from DWG files for polyline entities.
  • Fixed possible null Layer reference.

4.0.35.72 Nov 25, 2013:

  • CadEditControl: Remove zoom rectangle interactor upon deactivation.

4.0.35.71 Nov 18, 2013:

  • Added property GraphicsConfig.DisplayLineTypeElementShapes (default value is false). CadLib's current rendering of line type element shapes is too slow when drawing many shapes.
  • Bug fix: renamed anonymous with no name (illegal) upon reading.
  • Bug fix: fixed issue with selection move interactor and snapping.
  • Replaced exception for missing handle in block stretch action with warning.

4.0.35.70 Nov 15, 2013:

  • Relaxed type casting of various internal references, instead of throwing an exception for wrong types and stop reading now only a warning is issued.

4.0.35.69 Nov 12, 2013:

  • Bug fix: snap points were not updated when entity was changed through property grid.
  • Allow moving selection by using snap points for base and target point.
  • Bug fix: snap points were not always updated when moving selection.
  • Entity edit interactors are no longer removed upon deactivation.
  • Bug fix: spline rendering crashed when knot vector was invalid.

4.0.35.68 Nov 7, 2013:

  • Improved stability of hatching triangulation used by the surface rendering.

4.0.35.67 Nov 7, 2013:

  • Bug fix: fixed OLE image rendering problem when image boundary was clipped away.

4.0.35.66 Nov 6, 2013:

  • Bug fix: snap points were not updated when performing a do/undo.
  • Refactored WpfWireframeGraphics3D to be closer in line with GDIGraphics3D. Because of this some methods and properties have been renamed/removed. WpfWireframeGraphics3D methods CreateFrameworkElements, UpdateFrameworkElements and RemoveFrameworkElements have been renamed to CreateDrawables, UpdateDrawables and RemoveDrawables. Property FrameworkElements has been removed, instead call method Draw(UIElementCollection) to e.g. draw onto Canvas.Children.
  • Refactored WireframeGraphics2Cache to be in line with WireframeGraphicsCache.
  • Added WireframeGraphicsFactory2ColorChanger, analogous to WireframeGraphicsFactoryColorChanger.

4.0.35.65 Nov 1, 2013:

  • Bug fix: snap points were not updated when performing a do/undo.

4.0.35.64 Oct 30, 2013:

  • Bug fix: closest point on arc snap points were not calculated.
  • Added method accepting DxfMessageCollection return value to CadReader.

4.0.35.63 Oct 30, 2013:

  • Bug fix: introduced DxfTimeSpan to replace System.TimeSpan because some DWG files contain time spans that cannot be contained by System.TimeSpan.

4.0.35.62 Oct 29, 2013:

  • Added parameter Action<IWireframeGraphicsFactory> graphicsFactoryWrapper to method void UpdateDrawables(RenderedEntityInfo renderedEntityInfo, System.Action updateDrawables, Action<IWireframeGraphicsFactory> graphicsFactoryWrapper), so the user can possibly wrap the graphics factory to change the drawable color.

4.0.35.61 Oct 29, 2013:

  • Updated extended Win forms viewing example with entity highlighting.
  • Bug fix: GDIGraphics3D didn't properly update existing entity drawables.
  • Bug fix: WireframeGraphicsCache.GetDrawables(RenderedEntityInfo renderedEntityInfo) didn't return the entity geometry object that included the begin/end entity calls, but just the drawables themselves. The begin/end entity calls were therefore missing, which broke updating GDIGraphics3D drawables.

4.0.35.60 Oct 29, 2013:

  • Fixed Silverlight concurrency problem with font access.
  • Added possibility to decide what happens when hatch line creation overflows limit.

4.0.35.59 Oct 24, 2013:

  • Bug fix in DxfText.TransformMe when mirroring for certain horizontal/vertical alignment cases.
  • DxfMText.TransformMe refinement for mirroring: if the text is mirrored, update the x-axis (optional) and attachment point such that text doesn't get upside down when it was not upside down before the transformation.

4.0.35.58 Oct 23, 2013:

  • Fixed NPE when broken hatch boundary is drawn to ISurfaceGraphicsFactory.
  • Fixed NRE when drawing zero length polylines to ISurfaceGraphicsFactory.
  • DxfText.TransformMe refinement for mirroring: mirroring of DxfText now adjusts AlignmentPoint1/AlignmentPoint2 and horizontal/vertical alignment accordingly. E.g. mirroring text such that the x-axis is flipped, will swap AlignmentPoint1 and AlignmentPoint2 and make left aligned text into right aligned text. If there was no AlignmentPoint2 and it is needed, it is calculated.
  • Implemented DXF read/write for the DxfScale class.

4.0.35.57 Oct 17, 2013:

  • Bug fix: reading of 2 text styles with the same name from a DXF file resulted in a crash.

4.0.35.56 Oct 14, 2013:

  • Bug fix: generation of dimension block for angular 4 point dimension generated incorrected angle when one of the extension lines were reversed.
  • Refactored GDIGraphics3D updateable graphics creation to no longer need the use of null drawables as markers. Instead using nested linked lists of drawables, which is a bit easier to manage and debug.
  • Added support for exchanging line weights during rendering.
  • Bug fix: updating WireframeGraphicsCache when entity visibility changes didn't work properly.
  • Bug fix: Point2DTextBoxesControl didn't use InteractionContext.LengthFormatString.
  • Fixed bug with polygon spline mesh reading.
  • Implemented possibility to add a rectangle in background color to the SvgExporter.
  • Added radius text box to default arc create interactor.
  • Bug fix: rectangle zoom interactor was not displaying the rectangle.
  • Made some changes to SelectInteractor.MoveInteractor so it deactivates at a double click.
  • Added angle check when adding angular 4 point dimension between 2 lines.
  • Turned InvalidCastExceptions for broken non-critical internal references into warnings, making CadLib accept more files.

4.0.35.55 Sep 25, 2013:

  • Bug fix: ignore illegal text style reference from line type element and generate an error message when this is encountered.

4.0.35.54 Sep 25, 2013:

  • Bug fix: ignore illegal text style reference from MTEXT entity and generate an error message when this is encountered.

4.0.35.53 Sep 24, 2013:

  • Bug fix: reading some polygon meshes from DWG where the polygon had more vertices than m * n caused an IndexOutOfRangeException. This change is a minor breaking change, as the vertex 2D arrays are replaced by lists. Vertices now have to be added to the list.

4.0.35.52 Sep 18, 2013:

  • Added support for read/write of a hatch color gradient.
  • Moved clipping related classes from WW.Cad.* to WW.Math.Geometry.
  • Added Box3D class and IInsideTester4D interface to test whether points/polylines are inside a box/rectangle.

4.0.35.51 Sep 5, 2013:

  • Improved DWG reading performance by roughly 30% by caching memory pages. See new class WW.IO.MemoryPageCache.
  • Improved EntityCounter to allow for better fine-tuning.
  • Added EntityCounter for simple statistics creation.

4.0.35.50 Sep 2, 2013:

  • Bug fix: snap point calculation crashed for an lwpolyline without vertexes.

4.0.35.49 Sep 2, 2013:

  • Bug fix: CadEditControl snap points were not updating when an entity was added by an external command.
  • Bug fix: deactivating a entity creation didn't rollback the transaction when deactivating the interactor externally.

4.0.35.48 Aug 29, 2013:

  • Allow DXF writing of ACI color index greater than 255, this is used by some CNC machine software interfaces.

4.0.35.47 Aug 28, 2013:

  • Show selection in original position (in gray) while dragging around the selection.
  • Redesigned the snapping calculation. Added a SnapInfoCache for better efficiency and finer control over when the snap points are updated. E.g. while dragging a selection or when editing a line, the snap points should not be updated. The snap points are calculated in 2 stages, first collection of all snap points. And then while moving the mouse around from these snap points only the close ones are highlighted, and some extra snap points are calculated on the fly (like tangent points).
  • Added copy & paste feature to CadEditControl.

4.0.35.46 Aug 23, 2013:

  • Added SelectInteractor.MirrorInteractor.
  • Changed control points to be defined in the OCS instead of in the WCS. Because the DxfLwPolyline control points are defined in the OCS. Transformation the control points on a higher level is more efficient, so the projection matrix can be reused for multiple control points. So transformation from OCS to WCS and vice versa now happens at the DxfEnity.Interactor level.
  • Added SelectInteractor.RotateInteractor.

4.0.35.45 Aug 22, 2013:

  • Bug fix: fixed problem with writing files in the CadLib evaluation version.

4.0.35.44 Aug 22, 2013:

  • Bug fix: fixed rare problem reading DWG R18 (2004) file containing pages filled with zero bytes.

4.0.35.43 Aug 20, 2013:

  • Repair broken DXF files that have missing AcDbBlockBegin/AcDbBlockEnd entities upon reading.
  • Use snap points when moving selection.
  • Added property Interactor.IsEnabled.
  • Snapping now works in SelectInteractor.MoveInteractor.

4.0.35.42 Aug 15, 2013:

  • Bug fix: LWDISPLAY (DxfHeader.DisplayLineWeight) was not checked when rendering model space.

4.0.35.41 Aug 9, 2013:

  • Repair model upon reading.
  • If dimension does not have a dimension style, assign the default dimension style upon reading.
  • Merged DrawableContext and InteractorDrawableContext into InteractionContext for simplicity.
  • Interactor text boxes now use InteractionContext.LengthFormatString for formatting lengths.
  • Allow entering length when editing a line entity.
  • Allow user to edit circle radius when creating a circle.
  • Replaced property SelectInteractor.ScaleInteractor.KeepAspectRatio by KeepAspectRatioDiagonal and KeepAspectRatioNonDiagonal for finer control of scaling behavior.
  • Used 2 color circles in CadColorEditor instead of the enumeration of the 255 colors.

4.0.35.40 Aug 8, 2013:

  • Bug fix: fixed issue with arc snap points also including the whole circle.
  • Fixed block renaming not handling case correctly during cloning resulting in name clash.
  • Bug fix: mouse sometimes ended up on the tool window, created a FloatingForm that works better (mouse never ends up on that).
  • Bug fix: when pressing Esc on a tool window, the window control was removed from the parent, but was still receiving mouse events. Therefore pressing esc twice resulted the transaction in being rolled back twice. Solved as well by using the new FloatingForm. (Otherwise making the control invisible or not enabled also seemed to solve the issue). Rolling back/committing a transaction twice should also be impossible, so that has been changed as well on the Transaction level.
  • Bug fix: snapping did not work for first point of polyline/spline when creating polyline/spline.

4.0.35.39 Aug 6, 2013:

  • Bug fix: fixed issue with the trial version of CadLib with read/write of a DXF/DWG file previously written by the CadLib trial version.
  • Display line type graphic in UITypeEditor for DxfLineType.
  • Added UndoRedoPropertyDescriptor custom type descriptor that supports undo/redo.
  • Bug fix: editing entity color did not work when selecting multiple entities with different colors.
  • Added UITypeEditor classes for WW.Cad.Model.Color and EntityColor so they can be changed in a property grid.
  • Added a control to edit WW.Cad.Model.Color.
  • Added ColorRgbEditor, ColorWheel and ColorListPicker Windows Forms controls. Will serve as base for replacing System.Drawing.Design.ColorEditor which is not present in the .NET Client Profile.

4.0.35.37 Jul 26, 2013:

  • Bug fix: renamed anonymous blocks with duplicate names upon reading and report the renamed block.
  • Bug fix: table cell reading from DXF sometimes failed for empty string cells.
  • Speed up model writing by disregarding line type in the bounds calculation.
  • Bug fix: table style was not read correctly when cell style map object did not contain any cell styles.

4.0.35.36 Jul 25, 2013:

  • Implemented DXF reading and writing of summary info.
  • Bug fix: time spans were not written correctly to DWG.
  • Fixed internal exception thrown when Silverlight 5 accesses line break info.
  • Made handling of all rendering pipelines for DxfIDBlockReference consistent

4.0.35.35 Jul 17, 2013:

  • Minor bug fixes in WW.Cad.UI snap point handling.

4.0.35.34 Jul 17, 2013:

  • WW.Cad.UI. Created string resources for some hard coded error messages.
  • Refined snap mode handling.
  • Added special snap mode for tangent points with a new symbol, and gave it higher priority in the snap mode order.
  • Bug fix: only show tangent snap point if mouse position is close.
  • Bug fix: spline creation by interactor was not correct (no knots where calculated).
  • Bug fix: BSplineD.CreateDefaultKnotValues created an incorrect knot vector in some cases (for control point count greater than degree + 1).

4.0.35.33 Jul 17, 2013:

  • Bug fix: discard 3D polylines that reference vertices with invalid type upon reading from file.
  • Fixed bug in SHX rendering which resulted in missing lines under rare circumstances (eg "parallelism" in gdt.shx).
  • Fixed hatch creation to mimick AutoCAD's behavior (hatch lines might be rendered slightly dislocated compared to earlier versions).
  • Added pattern transformation to DxfHatch.TransformMe().
  • Added setting for pattern transformation handling to TransformConfig.
  • Added PatternOffset property to DxfHatch allowing to move pattern.

4.0.35.32 Jul 11, 2013:

  • Bug fix: SelectInteractor.MoveInteractor behavior upon enter/esc key didn't properly add a translation command/undo the translation.

4.0.35.31 Jul 11, 2013:

  • Used transaction in SelectInteractor.ScaleFromBasePointInteractor, so undo/redo works properly and the action can be cancelled.
  • Moved Transaction from WW.Cad.UI.Actions to WW.Actions.
  • Removed AssociatedInteractor property from Transaction class and promoted Committed/RolledBack/Completed events to ITransaction interface.
  • Bug fix: CadEditControl did not highlight the correct snap point.
  • Bug fix: Scale from base point interactor was broken.
  • Fixed problem with hatch pattern not obeying hatch angle.

4.0.35.30 Jul 10, 2013:

  • Bug fix: selection move interactor didn't work properly when using two clicks for interaction.

4.0.35.29 Jul 8, 2013:

  • Bug fix: arc with start and end point and radius creation should allow a radius of at least half the distance between start and end point.
  • Bug fix: LWPOLYLINE creation with length when next vertex has not been provided yet resulted in an overflow exception.

4.0.35.28 Jul 8, 2013:

  • Exposed CadEditControl.MinorGridLinePen and MajorGridLinePen properties.

4.0.35.27 Jul 8, 2013:

  • Improved error messages when trying to create arc with start point, end point and radius and not all inputs were provided/correct.
  • CadEditControl now allows moving a single selected entity. Before only the control points could be moved with the mouse.
  • Bug fix: several interactors always returned true in their ProcessMouse* methods, but should only return true if it actually consumed the event.
  • Changed interactors with text box controls such that the text boxes follow the mouse position even when other interactors consume the mouse events.
  • Added a Windows message forwarder so the scroll wheel works in the CadEditControl even when there is a TextBox control on it that has focus.
  • Fixed issue with zoom/pan not working during editing of an entity by changing the order of the interactors.
  • CadEditControl: Added option to add external snap points.
  • Added setting that allows users to draw non-diagonal lines by default. Introduced CadInteractionContext for this.
  • Added Vector3D.GetAngleAroundAxis() method.

4.0.35.26 Jul 1, 2013:

  • Added new create interactor for LWPOLYLINE entity that allows entering a length (distance between two consecutive vertices).
  • Implemented extended line type fitting
  • Refactored CadEditControl to allow any layout/block to be displayed.

4.0.35.25 Jun 24, 2013:

  • Shows intersection points of entity currently being edited.
  • Added convenience ImageExporter.Create[AutoSized]Bitmap methods w/o backColor parameter
  • Added snap to tangent point filter.
  • Special line/arc create interactors that have text boxes now accept the Esc key.
  • Added option to add a angular dimension between two selected lines.
  • Added interactor to create an arc from a start/end point and a radius (and a mid point hint).
  • Bug fix: using shift key to force line to be horizontal/vertical didn't work properly.
  • Added new interactor to create a line by entering a length in a text box.
  • Breaking change: DxfEntity.CreateInteractor.CreateWinFormsDrawable method parameters, added parameters InteractorDrawableContext context, System.Windows.Forms.Control hostControl.
  • Fixed issue with flicker of child controls on the CadEditControl by using the WS_EX_COMPOSITED flag on CreateParams.ExStyle.

4.0.35.23 Jun 12, 2013:

  • Bug fix: CtbFile should accept line weights that have extra text after the line weight (seems encoded, meaning unknown at the moment).

4.0.35.22 Jun 12, 2013:

  • Silverlight: Extended ICadView interface with convenience properties Model, Layout and ModelTransform.
  • Bug fix: don't show spatial filter when insert's layer is disabled.
  • Updated incorrect documentation on the DxfSpatialFilter class.

4.0.35.21 May 28, 2013:

  • Bug fix: conversion to GraphicsPath of wide polyline that represents a circle failed. Improved wide polyline rendering to recognize when one side of the wide polyline is compressed into a dot.
  • Bug fix: reading Int64 from DWG was incorrect for values larger than max Int32.

4.0.35.20 May 24, 2013:

  • Bug fix: fixed problem reading/writing TEXT entity zero second alignment point from/to a DWG file.
  • Fixed rare XCLIP (DxfSpatialFilter) problems.

4.0.35.19 May 21, 2013:

  • Bug fix: fixed problem writing DXF file containing LWPOLYLINE vertices with start/end width.

4.0.35.18 May 15, 2013:

  • Bug fix: SimpleTransformationProvider2D did not scale the view correctly when the view became width constrained (and first was height constrained).

4.0.35.17 May 13, 2013:

  • Bug fix: ToGraphicsPathConverter sometimes caused GraphicsPath to throw an ArgumentException("parameter is not valid") when adding a polyline containing a dot. The dot is now handled separately (a rectangle is created for it).

4.0.35.16 May 13, 2013:

  • Added ToPolygon2D() and ToPolygon3D() convenience methods to Polygon4D().
  • Fixed initialization problem in Silverlight door builder demo.

4.0.35.15 May 8, 2013:

  • SelectInteractor.MoveInteractor: allow user to enter the coordinates for moving the selection using 2 text boxees.
  • SelectInteractor.ScaleFromBasePointInteractor allows user to enter scale factor in a text box.
  • DxfArc.ThreePointOnArcCreateInteractor shows the points entered so far.

4.0.35.14 May 2, 2013:

  • Based DoorBuilder examples on 2D instead of 3D
  • Ficed possible stack overflow when using BitmapCadview, caused by invalid matrix
  • Breaking change: split SelectAndTransformInteractor into a SelectInteractor and a SelectInteractor.TransformInteractor that has several subclasses. The user can decide which transform interactors he wants to use on the selection. This replaces the SelectAndTransformInteractor.Mode property (enum InteractionMode has been removed).
  • WW.Cad.UI.Snapping.Filters.EntityArcPointCollector: snap to closest point on circle.
  • WW.Cad.UI.Snapping.Filters.EntityArcPointCollector: Added option to snap to closest point on arc.
  • Bug fix: arc snap point calculation did not take the arc's z-axis into account.
  • Bug fix: try to keep a positive z-axis z-coordinate when creating an arc using the 3-point on arc interactor.

4.0.35.13 Apr 29, 2013:

  • Fixed problem with vertical MTEXT.

4.0.35.12 Apr 24, 2013:

  • Bug fix: fixed problem with .pat (hatch pattern) files containing lines with only a 0x1a character. CadLib now trim 0x1a characters from each line.

4.0.35.11 Apr 23, 2013:

  • Bug fix: swap arc start angle and end angle when TransformMe mirrors the arc.

4.0.35.10 Apr 23, 2013:

  • Implemented DXF 2013 read/write support.

4.0.35.9 Apr 18, 2013:

  • Clear z-coordinate in DxfArc.ThreePointOnArcCreateInteractor when creating arcs, because otherwise the z-axis might become something else than (0, 0, 1) in case of snapping to 3D points (this would be unexpected).

4.0.35.8 Apr 18, 2013:

  • Added property DxfReader.ThrowExceptionOnInvalidGroupCode. If false it will ignore invalid DXF group codes and create a warning message.
  • Added a DxfArc.ThreePointOnArcCreateInteractor that allows creating an arc by letting the user specify 3 points on the arc.
  • Added optional entity snap filter to CadEditControl/SnapPointHelper.
  • Fixed adding to/removing from selection using the Ctrl key in .NET 3.5.

4.0.35.7 Apr 16, 2013:

  • Added property SelectAndTransformInteractor.MoveSelectionWhenMouseDownAtArea so user can click inside the selection rectangle to move the selection.
  • Bug fix: circle interacting/drawing was incorrect when circle had negative z-axis.
  • Bug fix: CanonicalMouseEventArgs returned a Z component in the WCS position when the projection transform contained a Z-translation. Explicitly set the Z-coordinate to zero.
  • Line edit interactor supports pressing the shift key for snapping horizontally/vertically.
  • Changed edit arc interactor to guess if user wants to create a clockwise/counter clockwise arc. Before it was always counter clockwise.

4.0.35.6 Apr 10, 2013:

  • Bug fix: DxfLineCreator was broken in recent IInteractor redesign.

4.0.35.5 Apr 10, 2013:

  • Bug fix: allow reading duplicate handles in DWG handle table.

4.0.35.4 Apr 9, 2013:

  • Bug fix: reject polyface mesh entities with an illegal vertex index and return an error message.
  • Enabled reading of packed DXF files in Silverlight versions

4.0.35.3 Apr 8, 2013:

  • Bug fix: header variable DIMFXLON wasn't read from/written to DXF.
  • Bug fix: fixed crash when XRECORD reading from DWG containing group code 5014.
  • DxfPolyline2D lost Plinegen flag on read
  • Fixed documentation bug concerning PdfExporter line weight handling (GraphicsConfig.DotsPerInch is not used).

4.0.35.1 Apr 2, 2013:

  • Added DxfLwPolyline.ExplodeIntoLinesAndArcs() method and incorporated into WW.Cad.UI.

4.0.35.1 Apr 1, 2013:

  • Disabled R27 DXF writing, not yet functional.

4.0.35.0 Apr 1, 2013:

  • Bug fix: fixed NullReferenceException in CadEditControl.OnPaint when used in the VS Windows Forms designer.
  • Bug fix: take into account circle/arc z-axis when getting/setting values from the control points (editor functionality).
  • Fixed incorrect DWG writing of spline polyline w/o control points.
  • Fixed missing writing of DxfText's oblique angle for old DXF versions.
  • Fixed NRE in cloning of dynamic blocks.
  • Bug fix: fixed problem reading an R27 DWG file containing an extension dictionary that has no owner handle.
  • Fixed DxfLeader sometimes using wrong arrow when read from DXF.
  • Fixed potential lost of EED during DXF read.
  • Bug fix: dimension block base point transformation should not be applied by rendering.
  • Completed DWG R27 read/write support.

4.0.111 Mar 12, 2013:

  • Fixed incorrect initialization of DxfMLineStyle.Element objects during DXF read, possibly resulting in incorrect color.
  • Fixed lineweight not written for DXF versions 15 to 17.
  • Added missing reading of DxfTextStyle for DxfDimensionStyle table entry.
  • Fixed cloning of DxfUnknownEntity loses handle.
  • Fixed possible NRE during DXF write of DxfPolygonSplineMesh.

4.0.110 Mar 1, 2013:

  • Bug fix: merge broke a few things in last release (DWG R13 color writing and polygon spline mesh cloning).

4.0.109 Mar 1, 2013:

  • Bug fix: dimension style cannot contain rgb colors in the DXF format.
  • DxfText.BoxWidth and BoxHeight now return 0 when the text is empty instead of -infinity.
  • Fixed sometimes incorrect cloning of DxfImage entity.
  • Fixed incorrect cloning of DxfText.ObliqueAngle.
  • Fixed possible NRE in DxfPolygonSplineMesh cloning.
  • Fixed possible NRE in DxfImage cloning.
  • Fixed sometimes incorrect writing of ACI colors (both DXF and DWG).
  • Added documentation and example code for Color/EntityColor classes.
  • Moved DxfIndexedColor to WW.Cad.Model.DxfIndexedColorSet.

4.0.108 Feb 26, 2013:

  • Bug fix: problem with reading from a DXF file with an empty dynamic block without nodes or edges.
  • Fixed incorrect position of DxfText on special circumstances.
  • Fixed InvalidCastException in DxfWriter.
  • Fixed misplaced DxfText when DWG file is saved as DXF.
  • Bug fix: ChunkedMemoryStream didn't read correctly when reading from more than 1 full chunks. Problem was infrequent because reading from multiple chunks for an object is not very common. Added extra unit test.
  • Bug fix: fixed issue with reading the DWG header that popped up occasionally, introduced in version 4.0.34.99.

4.0.106 Feb 19, 2013:

  • Bug fix: recent bug fix with reading multiple blocks with the same name in a DXF file wasn't correct.
  • Fixed incorrect DXF reading of MTEXT rectangle height.
  • Bug fix: PDMODE does not apply to points on the DEFPOINTS layer.
  • Ignore PDSIZE <= 0, just draw points in that case.
  • Bug fix: point cross shape (PDMODE) was factor 2 too large.
  • Set default encoding for SHX 1.1 fonts to ANSI1252.

4.0.105 Feb 15, 2013:

  • Allow multiple AcDbBlockBegin objects with the same name to be present in a DXF file. Only the last one is relevant for non-anonymous blocks.

4.0.104 Feb 15, 2013:

  • Added support for point display mode/size (system variables PDMODE/PDSIZE). When size is equal or less than zero, the value GraphicsConfig.defaultPointDisplaySize is used (default value is 1).

4.0.103 Feb 13, 2013:

  • Added support for R21 dimension style properties: DIMFXL, DIMJOGANG, DIMTFILL, DIMTFILLCLR, DIMARCSYM.
  • When generating the dimension block, respect the SuppressFirstExtensionLine/SuppressSecondExtensionLine settings.
  • Finetuning of PDF output
  • Added a ICommand.Target property, which is the target object being modified.
  • Added a CommandInvoker that can be used to subscribe to commands being executed (useful when commands are nested).
  • Added r/w support for DxfMText ReferenceRectangleHeight property

4.0.102 Feb 1, 2013:

  • Shrinked included fonts for Silverlight
  • Embedded Silverlight fonts contain more glyphs
  • Silverlight: allowed interception during WWF loading

4.0.101 Jan 23, 2013:

  • Changed CadLib's obfuscation settings to fix the following C++/CLI error: error C2686: cannot overload static and non-static member functions with the same parameter types.
  • Allowed to set encoding of old non.Unicode SHX files
  • SHX rendering now additionally tries 'char as index' char selection when default char based selection failed

4.0.100 Jan 21, 2013:

  • Bug fix: WPF image drawing problem in WireframeGraphics2Cache.
  • Implemented WPF drawing of OLE entity.
  • Added property GraphicsConfig.OleImageSize that determines the image size when an OLE entity is drawn (should possibly be adaptive in the future).

4.0.34.99 Jan 21, 2013:

  • Added property SvgExporter.WriteSvgXmlElementAttributes so users can add their own XML attributes to the created XML elements.
  • Bug fix: in some cases a text style's font filename is stored in its extended data.
  • Bug fix: fixed problem with dynamic block reading of extended data.

4.0.34.98 Jan 10, 2013:

  • Added validation on hatch spline edge knots as these are mandatory. Improved the documentation/example code on spline/hatch spline edge.

4.0.34.97 Jan 10, 2013:

  • Bug fix: rendering of some OLE objects crashed due to a NullReferenceException.
  • Made WPF graphics (wpfWireframeGraphics3D) and WireframeGraphics2Cache updateable.

4.0.34.96 Jan 2, 2013:

  • Implemented audit for reading LWPOLYLINE double values from DWG.
  • Bug fix: attribute definition rendering crashed for attdef with MTEXT groups in extension dictionary, and text style was not set. In that case use the attdef's text style.
  • Bug fix: fixed issue with table writing to DXF. Made DxfTable.FlowDirection and DxfTableContent.FlowDirection nullable because it is an override property.
  • Bug fix: fixed DWG table entity read problem that caused the DxfTableContent.TableStyle not to be set.

4.0.34.95 Dec 4, 2012:

  • Minor rendering performance improvements by using a more direct GeneralShape2D to GraphicsPath conversion and slightly more efficient point drawing.
  • Bug fix: the DWG reading sometimes caused an OutOfMemoryException, caused by MemoryStream. Replaced with a chunked memory stream (ChunkedMemoryStream), allocating blocks of 64 KB instead.

4.0.34.94 Dec 3, 2012:

  • Bug fix: fixed rendering problem for OLE2FRAME entity without OLE data.

4.0.34.93 Nov 30, 2012:

  • Bug fix: the lower limit of the range check on the conversion from julian date to regular dates was too low. Changed the limit to match 0001-01-01.

4.0.34.92 Nov 30, 2012:

  • Bug fix: the PolylineShape4D iterator didn't iterate over multiple polylines. This caused a drawing issue in some cases where text was partially clipped and only the first letter would be rendered. The clipping was also slightly refined where it checks if actual clipping took place, if not, then the original shape is returned.

4.0.34.91 Nov 29, 2012:

  • Bug fix: don't crash on DXF files with block begin records with corrupt non block record owner.

4.0.34.90 Nov 28, 2012:

  • Bug fix: plot viewports before/after paper space entities depending on flags DxfPlotsettings.PlotLayoutFlags, bit PlotLayoutFlags.DrawViewportsFirst.
  • Fixed OutOfMemory exception resulting from explicit cast of an empty Shape2D to GraphicsPath
  • Fixed naming of SHX font version constants

4.0.34.89 Nov 7, 2012:

  • Bug fix: table left border overrides were not written correctly to DWG until R21.
  • Bug fix: cloning of nested blocks sometimes failed. Improved the block cloning approach by first creating new instances, and later copying the contents.
  • Bug fix: decoding table entity 2008 data was incorrect.
  • Bug fix: fixed problem in cloning a FIELD object.
  • Bug fix: fixed problem in cloning a whole drawing where table styles were indirectly cloned (can happen if in e.g. an extension dictionary of another object, before the table styles are cloned explicitly).
  • Bug fix: text rendering using IWireframeGraphicsFactory on GDI didn't use the proper GraphicsPath.FillMode. Added property GeneralShape2D.FillMode, similar to GraphicsPath.FillMode.
  • Changed line wrap algorithm to improve support for Eastern languages
  • Bug fix: fixed problem with the spatial filter Clone method (issue WW.Cad-61).
  • Refactored undoable actions. Simplified IUndoableAction interface, renamed UndoableActionStack to UndoableActionGroup, which contains do and undo stacks.
  • Added utility methods DxfEllipse.AngleToParameter and DxfEllipse.ParameterToAngle.
  • Show model/paper space layout depending on the drawing's active layout in the Silverlight 2D example and the 3D bitmap view example (not XNA).
  • Bug fix: rendering of LWPOLYLINE is incorrect in some cases with identical consecutive vertices with bulge.
  • Fixed incorrect handling of vertical texts (only for SHX, SHX files required)

4.0.34.87 Sep 18, 2012:

  • Fixed incorrect color correction with GraphicsConfig.WhiteBackground and GraphicsConfig.BlackBackground

4.0.34.86 Sep 14, 2012:

  • Bug fix: repair DWG files upon reading that contain broken block/layout references.

4.0.34.85 Sep 11, 2012:

  • Bug fix: writing very large handles (larger than uint.MaxValue) to a DWG file failed.
  • Added static methods to DxfReader/DwgReader allowing access to the messages issued during the read
  • Added r/w support for CTB files (WW.Cad.Drawing.CtbFile)
  • Implemented better ACI color handling
  • Fixed MTEST bug showing incorrect color

4.0.34.84 Aug 27, 2012:

  • Fixes entity drawing order for blocks which are not associated with a layout
  • Allows to use or not use SORTENTSTABLE reordering during drawing by setting GraphicsConfig.UseSortEntsTables
  • Fixed incorrect interpretation of MTEXT oblique angle.
  • Fixed concurrent modification exception during DxfModel's preparation for writing.
  • Bug fix: some DWG files may contain a block without a name. CadLib used to reject these.

4.0.34.82 Aug 20, 2012:

  • DxfBody entity supported (IO, Clone)
  • Made improvements to radial/diametric dimension block generation. Text is positioned on the inside of the circle unless there is not enough room.

4.0.34.80 Jul 31, 2012:

  • Bug fix: fixed some issues with table and table style reading/writing from/to DWG (until R21).
  • Bug fix: DIMENSION block generation generated MTEXT entities for R12 files, which doesn't support MTEXT yet. So for R12 generate TEXT entities.
  • Implemented DATATABLE object.
  • Implemented writing TABLECONTENT object to DXF (this is used in the table entity internally since the 2008 release).
  • Fixed a few issues with writing table style.
  • XRECORD now stores DxfHandledObject in the values instead of the handles.
  • Bug fix: DWG writing crashed in trial version when doing two consecutive read/write cycles of the same file.
  • Use faster segment sub division in 2D polygon boolean operations (using a sweep line).

4.0.34.79 Jun 30, 2012:

  • Bug fix: insert attributes weren't updated before writing to DXF/DWG.

4.0.34.78 Jun 29, 2012:

  • Bug fix: NullReferenceException was thrown in XNA text rendering.

4.0.34.77 Jun 28, 2012:

  • Bug fix: DWG reading failed when table cell contained a FIELD object.

4.0.34.76 Jun 28, 2012:

  • Implemented FIELDLIST object, added property DxfModel.FieldList.
  • Bug fix: fixed writing of empty DxfValue object to DWG 2004 and later.
  • Bug fix: writing of DxfValue string until DWG 2004 needs to be 0 terminated.
  • Bug fix: fixed DXF reading until DWG 2004 of value objects that contained an object reference.
  • Bug fix: fixed writing of table cell until DXF 2004.
  • Implemented DWG I/O for the FIELD object.
  • Bug fix: the new polygon boolean operations didn't handle very close points well. Close points are now merged before continuing with the actual boolean operations.
  • Fixed ugly SHX characters in PDF output when linewidth is large
  • Added red black tree.
  • Introduced TransformConfig as defining transformation settings for TransformMe() methods
  • Made GraphicsConfig extend TransformConfig so old code is still compilable
  • Added DXF i/o support for FIELD object
  • Fixed problem with TABLE datetime cell values not handled correctly for versions before 2005, resulting in System.ArgumentOutOfRangeException during read and incorrectly written values
  • Added ColorExchanger example

4.0.34.75 Jun 21, 2012:

  • Bug fix: added support for DXF group codes 5000-5020.

4.0.34.74 Jun 20, 2012:

  • Bug fix: VIEWPORT's were not added to the paper space layout when reading from DXF before R15 (WW.Cad-43).
  • Made DxfLwPolyline.Transform public.

4.0.34.73 Jun 20, 2012:

  • Bug fix: ignore short/ushort group values that are too large when reading DXF, and report an error message instead of throwing an exception.

4.0.34.72 Jun 20, 2012:

  • Reimplemented the 2D polygon boolean operations using a different algorithm for better robustness (issue WW.Cad-44).
  • Switched point inside 2d polygon test from counting ray crossings to counting winding number (basically the same principle, but faster. By only including odd winding numbers the result is the same).

4.0.34.71 Jun 12, 2012:

  • Bug fix: resolving text style/text height from table cell (style) now falls back on the row/column table cell style if there were no overrides.
  • Bug fix: error writing table value string to DWG 21.
  • Fixed bug with solid hatches resulting in missing holes

4.0.34.69 Jun 5, 2012:

  • Fixed bug parsing concatenated format escapes in DxfMText, resulting in incorrect rendering and return of SimplifiedText property
  • Bug fix: some MTEXT contain back slashes in the font specifiers, e.g. /FC:\Windows\...\SomeFont.ttf;.

4.0.34.68 May 31, 2012:

  • Fixed missing layers in PdfExporter with ExportLayers enabled

4.0.34.67 May 31, 2012:

  • Bug fix: fixed problem reading DXF files that don't have a BLOCKS section.

4.0.34.66 May 29, 2012:

  • Bug fix: line segment intersection for overlapping line segments didn't always work.

4.0.34.65 May 28, 2012:

  • Bug fix: introduced IDxfHandledObject interface that DxfModel implements. DxfModel no longer inherits from DxfHandledObject since the model itself cannot have an extension dictionary or xdata (issue WW.Cad-33).
  • Added new methods to EntitySelector to be able to do custom entity selections by implementing EntitySelector.IFilter.
  • Added XML documentation to the new surface rendering classes.

4.0.34.63 May 23, 2012:

  • Added WW.Math.ITransformer4D for allowing non-linear transformations to transform GDIGraphics3D drawables.
  • Fixed issues with SelectAndTransformInteractor, insert can no longer be independently transformed from attribute, but attribute can still be transformed separately.

4.0.34.62 May 20, 2012:

  • Added option to the SVG exporter to export the CAD layers as SVG groups.

4.0.34.61 May 19, 2012:

  • Added constructors to SvgExporter that take a XmlTextWriter as parameter so the caller can change the stream close behavior.
  • Added undo/redo to the SelectAndTransformInteractor.

4.0.34.59 May 12, 2012:

  • Implemented TransformMe for the shape, solid, spline, table and tolerance entity.
  • Bug fix: shape entity wasn't drawn correctly (shape should always start with pen down command).
  • Bug fix: table cell style overrides weren't handled properly.
  • Bug fix: fixed problem writing table cell value to DWG until version 18 (2004).
  • Implemented TransformMe for entities ellipse, hatch, leader, mline, ray and xline.
  • Fixed broken DXF when outputting strings containing linefeeds
  • Added DxfModel.FallbackShxFont and DxfModel.FallbackTrueTypeFont for user-defined fallbacks
  • Made integer group value reading more generous to allow reading of slightly broken DXF

4.0.34.59 May 9, 2012:

  • Implemented TransformMe for the dimension entity.
  • Bug fix: oblique angle wasn't applied properly when generating the aligned dimension block.
  • Bug fix: OCS/WCS transformations were not correct for angular dimensions.
  • Bug fix: angular dimension dimension line arc point is defined in WCS instead of OCS.
  • Bug fix: Extension directory is lost on saving for attribute with field

4.0.34.57 May 8, 2012:

  • Breaking change: DxfEntity.TransformMe method now takes a GraphicsConfig object as extra parameter.
  • Added property GraphicsConfig.TreatAttributesAsPartOfInsert.
  • Implemented TransformMe for arc, circle, mtext, point, all polyline types.
  • Implemented TransformMe for DxfMText.
  • Implemented TransformMe for DxfCircle and DxfArc.
  • Bug fix: SelectAndTransformInteractor didn't select multiple entities that were part of an insert correctly.
  • DxfInsert.TransformMe no longer transforms its attributes. The attributes have to be transformed separately. Reason is that SelectAndTransformInteractor selects inserts and attributes separately, and attributes would otherwise be transformed twice. The behavior might need to be configurable in the future though.

4.0.34.56 May 4, 2012:

  • Made another small performance improvement to the triangulator and solid hatch surface rendering (got rid of the remaining quadratic terms in the number of calculations).

4.0.34.55 May 4, 2012:

  • Improved surface rendering performance for solid hatches, uses faster segment-segment intersection and faster triangle filtering. This especially helps for displaying large GIS files.
  • Improved performance of the 2D triangulator.
  • Added pixel based output for SvgExporter.

4.0.34.54 Apr 30, 2012:

  • Bug fix: Silverlight license checking contained a problem when writing a DXF/DWG file.

4.0.34.53 Apr 28, 2012:

  • Further improved the performance of the 2D triangulator, by doing a faster triangle lookup (again roughly 50% faster).
  • Minor performance enhancements to spline drawing.

4.0.34.52 Apr 27, 2012:

  • Improved the performance of the 2D triangulator, roughly 50% faster for triangulating text.
  • Made triangulator more robust against very close points and points lying on an edge of a triangle.

4.0.34.51 Apr 27, 2012:

  • Made some further performance tweaks after profiling.

4.0.34.50 Apr 24, 2012:

  • Bug fix: getting to WCS transform from z-axis broke in release *.*.34.47.

4.0.34.49 Apr 24, 2012:

  • Bug fix: don't write groups 420/430 (true color/color book color) to DXF before version 18 (2004).

4.0.34.48 Apr 24, 2012:

  • Performance optimization of getting a unit length vector by replacing division by multiplication as much as possible.

4.0.34.47 Apr 24, 2012:

  • Performance optimization of getting a unit length vector by first checking if the length is one. This benefits the overall rendering speed (seems to give about 20-30% performance gain).

4.0.34.46 Apr 20, 2012:

  • Fixed not thread-safe access to SHX characters, resulting in possible NRE or ArgumentException.

4.0.34.45 Apr 18, 2012:

  • Fixed NRE when DxfAttribute/DxfAttributeDefinition is using MTEXT substitute and default style.
  • Fixed NRE when using DxfInsert.AddAttribute() with DxfAttributeDefinition using default style.
  • Fixed broken cloning of DxfSortEntsTable.
  • Fixed exception when evaluating broken DxfPolyline3DSpline.
  • Fixed exception when evaluating broken DxfSpline.

4.0.34.44 Apr 17, 2012:

  • Bug fix: OpenGL example code didn't pass the proper transform to the EntitySelector.
  • Bug fix: TEXT transformation failed on spatial rotation.
  • Added AddAttribute() method to DxfInsert which is taking care of transformation.
  • Enhanced spline calculation accuracy.
  • Added FrameworkElementTaggerDelegate to WpfWireframeGraphics3D to allow for more flexible tagging of WPF framework elements.
  • COMBATIBILITY BREAK: method CreateImage of IWireframeGraphicsFactory2 got additional parameter.

4.0.34.43 Apr 9, 2012:

  • Bug fix: OpenGL normal was inverted for textured triangles (this affected IMAGE entity rendering).

4.0.34.41 Apr 6, 2012:

  • Bug fix: creating drawables with GDIGraphics3D for passed entities argument ignored the entities parameter and drew all model entities.

4.0.34.40 Apr 6, 2012:

  • Bug fix: fixed problem with writing hatch entity to DXF (z-axis is mandatory, even if it has the default value).

4.0.34.39 Apr 6, 2012:

  • Tweaked the Segment2D.GetIntersectionParameters method a little further for more stable dealing with segments that overlap/are on a shared line.

4.0.34.38 Apr 5, 2012:

  • Bug fix: Segment2D.GetIntersectionParameters didn't always correctly detect overlapping line segments.
  • Bug fix: Drawing properties don't have to have a unique name.
  • Bug fix: Polygon debug visualizer mirrored the y-axis.

4.0.34.37 Apr 3, 2012:

  • ssue/WW.Cad-20 fixed (tried to add 3d vertex to 2d polyline)
  • Fixed incorrect vertical alignment for DxfText when vertical alignment is Bottom, Middle or Top
  • Fixed NullReferenceException on broken files referencing no longer available boundary path source objects
  • Fixed view placement problem.
  • Bug fix: DXF layer color reading was incorrect for disabled layers.
  • Improved Exception message when adding duplicate item to ActiveKeyedCollection.

4.0.34.36 Mar 22, 2012:

  • Added support to the PDF exporter for including all layers and customizing the PDF layer's enabled value based on the CAD layer.

4.0.34.35 Mar 14, 2012:

  • Added support to the PDF exporter for changing the layer order and layer formatting.
  • Fixed incorrect renderings of SHX fonts.
  • Bug fix: fixed problem with DWG 2004 decompression.

4.0.34.34 Feb 27, 2012:

  • Bug fix: anonymous block cloning didn't work for block names starting with (*U, *E, *X, *A).
  • Fixed hatch rendering bugs

4.0.34.33 Feb 27, 2012:

  • Bug fix: fixed crash when reading illegal polyface mesh from DXF (issue WW.Cad-22).
  • Fixed incorrect rendering of SHX characters with arcs

4.0.34.32 Feb 21, 2012:

  • Don't write 210, 220, 230 groups to DXF when z-axis is the default (0, 0, 1) vector.

4.0.34.31 Feb 15, 2012:

  • Adds correct rendering for DxfAttribute/DxfAttributeDefinition when based on DxfMText
  • Added support for layers to the PDF export.
  • Bug fix: fixed crash on rendering MLINE without MLINESTYLE. (issue WW.Cad-12).

4.0.34.29 Feb 9, 2012:

  • Bug fix: DWG read/write of LWDISPLAY/XEDIT system variables was inverted.
  • Disabled check on R21 maintenance version 1 DWG writing.

4.0.34.28 Feb 8, 2012:

  • Bug fix: allow reading Int16 values from DXF that are out of range. The illegal value is replaced with zero and an error message is added to the DxfReader.Messages.

4.0.34.27 Feb 7, 2012:

  • Bug fix: fixed issue with cloning of table records that were indirectly cloned as part of extended data.

4.0.34.26 Feb 7, 2012:

  • Bug fix: DWG writing of SPLINE entity: writing of control points/weights and fit points at the same time is not allowed, write one or the other.

4.0.34.25 Feb 3, 2012:

  • Bug fix: update SORTENTS entities cache when related block entities are updated.

4.0.34.24 Feb 2, 2012:

  • Bug fix: fixed DXF reading of 3DSOLID.
  • Exposed methods for getting shapes from a ShxFile.
  • Bug fix: 3DSOLID wasn't read from DWG/DXF.
  • ample file
  • Separated graphics factory from draw context. Removed DrawContext.Wireframe2 class (use DrawContext.Wireframe instead).
  • Added test code

4.0.34.23 Jan 14, 2012:

  • Bug fix: drawing dots (and also line types with dots) still failed in WpfWireframeGraphics3D.

4.0.34.22 Jan 12, 2012:

  • Bug fix: drawing dots (and also line types with dots) failed in WpfWireframeGraphics3D and WpfWireframeGraphics3DUsingDrawingVisual.
  • Fixed problem with Unicode escapes not evaluated in DxfText entity.

4.0.34.20 Jan 12, 2012:

  • Bug fix: also transform attributes when transforming an insert.
  • Added Transformation4D.Scaling overloads that accept an origin as a parameter.

4.0.34.19 Jan 10, 2012:

  • Bug fix: filling graphics caches failed when AreDrawablesUpdateable is false.

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