### Associative Hatches Example Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This release introduces support for associative hatches. See the AssociativeHatches() sample for implementation details. ```C# AssociativeHatches() ``` -------------------------------- ### Trace Entity Example Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The Trace entity has been added, with functionality identical to the Solid entity. See the TraceEntity() sample for implementation. ```C# TraceEntity() ``` -------------------------------- ### Solid Entity Example Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The SOLID entity now uses Vector2 for vertexes and are stored in OCS (object coordinate system). See the SolidEntity() sample for usage. ```C# SolidEntity() ``` -------------------------------- ### Arc Constructor with Bulge Value Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds an Arc constructor that takes a start point, an end point, and a bulge value to build the arc. -------------------------------- ### Assign Annotation to Leader Entity Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This example demonstrates how to assign a text annotation to a Leader entity. It highlights that a hook line is not automatically added and requires manual creation if desired. Also, the Update method needs to be called manually to reflect the actual properties and style of the Leader. ```C# // See "AssignAnnotationToLeader()" sample. ``` -------------------------------- ### Defining Column Header Cell Data in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md Defines a simple string array containing the text values for the column header cells. These cells are not merged in this example. ```C# var headerRowCellsData = new[] { "Заголовок", "Заголовок", "Заголовок", "Заголовок", "Заголовок" }; ``` -------------------------------- ### Manage DXF Document netDxf C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/README.md This snippet demonstrates the basic usage of the netDxf library to create, populate, save, and load a DXF file. It shows how to create a new DxfDocument, add an entity like a Line, save the document to a file, check the DXF version of an existing file, and load a DXF document. ```c# public static void Main() { // your DXF file name string file = "sample.dxf"; // create a new document, by default it will create an AutoCad2000 DXF version DxfDocument doc = new DxfDocument(); // an entity Line entity = new Line(new Vector2(5, 5), new Vector2(10, 5)); // add your entities here doc.Entities.Add(entity); // save to file doc.Save(file); // this check is optional but recommended before loading a DXF file DxfVersion dxfVersion = DxfDocument.CheckDxfFileVersion(file); // netDxf is only compatible with AutoCad2000 and higher DXF versions if (dxfVersion < DxfVersion.AutoCad2000) return; // load file DxfDocument loaded = DxfDocument.Load(file); } ``` -------------------------------- ### Creating Image Definition (Net 4.5) Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Demonstrates creating an ImageDefinition object using constructors that are only available when targeting the .NET Framework 4.5 to avoid the use of the System.Drawing.Common.dll library. ```C# // Example usage (Net 4.5 only) public ImageDefinition(string file) public ImageDefinition(string name, string file) ``` -------------------------------- ### Initializing Table Cell List and Builder in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md Initializes an empty list to hold `Cell` objects and creates a `CellBuilder` instance. The builder is reused to efficiently construct multiple cells with varying properties. ```C# var cells = new List(); var cellBuilder = CellBuilder.Empty(); ``` -------------------------------- ### MathHelper Arc Methods Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the methods MathHelper.ArcFromBulge and MathHelper.ArcToBulge. -------------------------------- ### Creating a Table using TableBuilder in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md This snippet shows how to use the TableBuilder to configure and add a table to a document. It specifies layer, position, row/column counts, individual row heights, uniform column widths, cell data, and text style. It requires pre-defined 'cells' and 'textStyle' variables. ```C# document.Add(() => TableBuilder .Empty() .WithLayer(new Layer("Пример таблицы")) .WithPosition(new netDxf.Vector2(0, 0)) .WithRowsCount(4) .WithColumnsCount(5) .WithRowHeights([500, 1000, 1500, 2000]) .WithColumnWidths([3000]) .WithCells(cells) .WithTextStyle(textStyle) .Build()); ``` -------------------------------- ### HatchBoundaryPath Initialization Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Now it is posible to initialize a HatchBoundaryPath directly form a list of HatchBoundaryPath.Edges. -------------------------------- ### Block Creation from DXFDocument Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This method creates a block from the content of a DXFDocument. It uses entities in the "Model" layout and is similar to the Load method but doesn't require loading an external DXF file first. It adds a method to generate a block from the content of a DXFDocument (only entities in the "Model" layout will be used). ```C# Block.Create(DXFDocument doc, string name) ``` -------------------------------- ### AttributeDefinition Constructor with Tag, Height, and Style - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows the addition of a constructor to the AttributeDefinition class that takes a tag, a text height, and a text style as arguments. This simplifies the creation of attribute definitions with specific formatting properties. ```C# Added constructor to the AttributeDefinition that takes a tag, a text height, and a text style as arguments. ``` -------------------------------- ### Spline Constructor from Fit Points - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet demonstrates the addition of a constructor to the Spline class to create a curve from a set of fit points. This allows for the creation of splines based on a series of points. ```C# Added a constructor to the Spline class to create a curve from a set of fit points. See SplineFitPoints() sample. ``` -------------------------------- ### Saving DXF as Binary Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet demonstrates how to save a DXF document as a binary file using the Save method with the isBinary parameter set to true. This allows for more compact file sizes compared to text-based DXF files. ```C# DXFDocument doc = new DXFDocument(); doc.Save("output.dxf", true); ``` -------------------------------- ### Adding Reflection Matrix Method with Arbitrary Point Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the Matrix4.Reflection method that builds a reflection matrix for a mirror plane that passes through an arbitrary point. See sample ReflectionMatrix(). -------------------------------- ### DxfDocument WorkingFolder Property Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the WorkingFolder property to DxfDocument.SupportFolders. When a file is loaded or saved, it holds the full path where the file resides. By default, it points to the current System.Environment.CurrentDirectory when the DxfDocument was created. -------------------------------- ### Block Constructor for External Reference - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet illustrates the addition of a constructor to the Block class to create an external reference. This allows for the inclusion of external drawings or parts into the current drawing. ```C# Added a constructor to the Block class to create an external reference. ``` -------------------------------- ### Adding Reflection Matrix Method Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the Matrix3.Reflection method that builds a reflection matrix for a mirror plane that passes through the origin. See sample ReflectionMatrix(). -------------------------------- ### Extract Custom Hatches netDxf C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/README.md This snippet illustrates how to use the netDxf library to find custom hatch definitions within a DXF file and convert them into a PAT file format. It requires specifying the input DXF file path, the desired output PAT file path, the name of the hatch as seen in a DXF viewer, and the desired name for the hatch in the generated PAT file. ```c# public static void Main() { // your DXF file name var dxfFilePath = "sample.dxf"; // your PAT file name that will be created var patFilePath = "custom_hatch.pat"; // The displayed name of the hatch that can be seen in any DXF viewer // (such as AutoCAD) when viewing hatch properties. var dxfHatchName = "FP_1"; // The name of the hatch that will be generated in the PAT file. var patHatchName = "MYHATCH"; var patFetcher = new PatFromDxfFetcher(); patFetcher.FetchPat(dxfFilePath, patFilePath, dxfHatchName, patHatchName); } ``` -------------------------------- ### Adding Column Header Cells to List in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md Iterates through the `headerRowCellsData` array, uses the `cellBuilder` to create `Cell` objects with the specified text and height, and adds them to the `cells` list. ```C# cells.AddRange( headerRowCellsData.Select( data => cellBuilder .WithText(data) .WithTextHeight(250) .Build())); ``` -------------------------------- ### Adding Data Cells to List in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md Iterates through the `cellsData` array, uses the `cellBuilder` to create `Cell` objects with detailed properties including type, merge status, vertical merge count, text, insert, and rotation, and adds them to the `cells` list. ```C# cells.AddRange( cellsData.Select( data => cellBuilder .WithType(data.Type) .IsMerged(data.IsMerged) .WithVerticalMergedCellsCount(data.MergedCellsCount) .WithText(data.Text) .WithTextHeight(250) .WithInsert(data.Insert) .WithRotation(data.Rotation) .Build())); ``` -------------------------------- ### Spline Constructor Update Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Deletes the SplineVertex class. Now the Spline constructors take two lists: a Vector3 to define the controls points and a double array to define the weights. -------------------------------- ### Vector3 RotateAroundAxis Method Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Moves method MathHelper.RotateAboutAxis to Vector3.RotateAroundAxis. -------------------------------- ### Checking DXF File Version and Binary Format Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows how to check the DXF file version and determine if it is a binary file using the CheckDXFFileVersion method. The isBinary output parameter will be set to true if the file is in binary format. ```C# DXFDocument doc = new DXFDocument(); bool isBinary; doc.CheckDXFFileVersion("input.dxf", out isBinary); ``` -------------------------------- ### Method Renaming: MLine.CalculateVertexesInfo to MLine.Update - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the MLine.CalculateVertexesInfo method has been renamed to MLine.Update for clarity. ```C# Renamed MLine.CalculateVertexesInfo method to MLine.Update. ``` -------------------------------- ### Defining Record Types for Cell Information in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md These C# record definitions provide structured ways to store data associated with table cells. HeaderCellInformation stores text and merged cell count for headers, while CellInformation stores type, insert data, text, merge status, merged cell count, and rotation for general cells. ```C# private record HeaderCellInformation(string Text, int MergedCellsCount); private record CellInformation(CellType Type, Insert Insert, string Text, bool IsMerged, int MergedCellsCount, double Rotation); ``` -------------------------------- ### AciColor.IndexRgb() as Public Static Readonly Field - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the AciColor.IndexRgb() method is now a public static readonly field instead of a public static method. This provides direct access to the color index. ```C# The AciColor.IndexRgb() method is now a public static readonly field instead of a public static method. ``` -------------------------------- ### Method Renaming: HatchBoundaryPath.UpdateEdges to HatchBoundaryPath.Update - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the HatchBoundaryPath.UpdateEdges method has been renamed to HatchBoundaryPath.Update for clarity. ```C# Renamed HatchBoundaryPath.UpdateEdges method to HatchBoundaryPath.Update. ``` -------------------------------- ### Accessing Model and Paper Space Blocks in DXFDocument Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This update allows direct access to entities within the *Model_Space and *Paper_Space# blocks of a DXF document. This simplifies the process of retrieving and manipulating entities in these commonly used blocks. ```C# // Now is allowed to access directly the entities in the *Model_Space and *Paper_Space# blocks, see AccessModelBlock() sample. ``` -------------------------------- ### Class Renaming: ImageDef to ImageDefinition - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the ImageDef class has been renamed to ImageDefinition for clarity. ```C# Renamed ImageDef class to ImageDefinition. ``` -------------------------------- ### Polyline Explode Method Update Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The Polyline2D and Polyline3D Explode method will preserve the smooth type. -------------------------------- ### Layer Description Property Addition Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the property Description to the Layer class. In the DXF, this information is stored as extended data. -------------------------------- ### Layer State Management Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Illustrates the usage of LayerStates accessible through the Layers.StateManager. This feature allows managing the states of layers within a DXF document. ```C# // Example usage Layers.StateManager ``` -------------------------------- ### LinetypeShapeSegment Name and Style Properties Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Enables changing the Name and Style properties of LinetypeShapeSegment classes. -------------------------------- ### UCS Transform Method Addition Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the method Transform to the UCS class to transform points from world coordinates (WCS) to local/object coordinates (OCS), and vice versa. -------------------------------- ### MathHelper.NormalizeAngle Method Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The MathHelper.NormalizeAngle method will check if the normalized angle is very close to 360 or -360 and return 0 in these cases. ```C# The MathHelper.NormalizeAngle method will check if the normalized angle is very close to 360 or -360 and return 0 in these cases. ``` -------------------------------- ### Adding Merged Header Cells to List in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md Iterates through the `titleCellsData` array, uses the `cellBuilder` to create `Cell` objects with merged properties and text, and adds them to the `cells` list. Sets `IsMerged` to true and specifies horizontal merge count. ```C# cells.AddRange( titleCellsData.Select( data => cellBuilder .IsMerged(true) .WithHorizontalMergedCellsCount(data.MergedCellsCount) .WithText(data.Text) .WithTextHeight(250) .Build())); ``` -------------------------------- ### Property Renaming: Block.Position to Block.Origin - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the Block.Position property has been renamed to Block.Origin for clarity. ```C# Renamed Block.Position property to Block.Origin. ``` -------------------------------- ### DrawingVariables CurrentUCS Property Addition Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the property CurrentUCS to the DrawingVariables, that represents the current/active UCS. It encapsulates the the DrawingVariables UcsOrg, UcsXDir, and UcsYDir. -------------------------------- ### Method Renaming: Dimension.RebuildBlock to Dimension.Update - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the Dimension.RebuildBlock method has been renamed to Dimension.Update for clarity. ```C# Renamed Dimension.RebuildBlock method to Dimension.Update. ``` -------------------------------- ### Dimension Linear and Angular Units Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This update enhances dimension drawing to support all linear (DIMLUNIT) and angular (DIMAUNIT) unit types. This ensures that dimensions can be displayed in a variety of unit formats, as specified in the DXF file. The dimension drawing now supports all linear (DIMLUNIT) and angular (DIMAUNIT) unit types. ```C# DimensionsLinearAndAngularUnits() ``` -------------------------------- ### Property Renaming: Point.Location to Point.Position - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the Point.Location property has been renamed to Point.Position for consistency. ```C# Renamed Point.Location property to Point.Position. ``` -------------------------------- ### Defining Data Cell Information in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md Defines an array of `CellInformation` objects containing detailed data for the table's main content cells. Includes cell type (Text or Block), text, insert data, merge status, merge counts (vertical), and rotation. ```C# var cellsData = new CellInformation[] { new(CellType.Text, null!, "Вертикальные данные на 2 ячейки", true, 2, 90), new(CellType.Text, null!, "Данные", false, 1, 0), new(CellType.Text, null!, string.Empty, false, 1, 0), new(CellType.Text, null!, "Данные", false, 1, 90), new(CellType.Block, new Insert(), string.Empty, false, 1, 0), new(CellType.Text, null!, string.Empty, true, 1, 0), new(CellType.Text, null!, string.Empty, false, 1, 0), new(CellType.Text, null!, "Данные", false, 1, 0), new(CellType.Block, new Insert(), string.Empty, false, 1, 0), new(CellType.Text, null!, "Данные", false, 1, 90) }; ``` -------------------------------- ### Class Renaming: ImageDefReactor to ImageDefinitionReactor - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the ImageDefReactor class has been renamed to ImageDefinitionReactor for clarity. ```C# Renamed ImageDefReactor class to ImageDefinitionReactor. ``` -------------------------------- ### GetReferences Method for TableObject Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the GetReferences method to classes that inherit from TableObject. It returns the same list as the GetReferences method of its respective collection. See the sample TableObjectReferences(). -------------------------------- ### TableObject References Rework Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Reworks how references to a TableObject are tracked, using a dictionary instead of a list for internal storage. This change makes removing entities from the document faster, although adding them might be slightly slower. See the sample TableObjectReferences(). -------------------------------- ### Setting Dimension Line Position in Dimension Entities - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet demonstrates how to set the offset from a point along the dimension line in dimension entities using the SetDimensionLinePosition method. This allows for precise control over the placement of dimension lines in drawings. ```C# Added the method SetDimensionLinePosition to dimension entities to set the offset from a point along the dimension line. ``` -------------------------------- ### Property Renaming: PolylineVertex.Location to PolylineVertex.Position - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the PolylineVertex.Location property has been renamed to PolylineVertex.Position for consistency. ```C# Renamed PolylineVertex.Location property to PolylineVertex.Position. ``` -------------------------------- ### Polyline SmoothType Update Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The SmoothType (None, Quadratic, or Cubic) can now be set for Polyline2D entity (formerly LwPolyline) and Polyline3D (formerly Polyline). -------------------------------- ### Property Renaming: SplineVertex.Location to SplineVertex.Position - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the SplineVertex.Location property has been renamed to SplineVertex.Position for consistency. ```C# Renamed SplineVertex.Location property to SplineVertex.Position. ``` -------------------------------- ### Spline Knot Vector as List - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the Spline knot vector is now stored as a List instead of a double[]. This provides more flexibility and easier manipulation of the knot vector. ```C# The Spline knot vector is now stored as a List instead of a double[](). ``` -------------------------------- ### Property Renaming: LwPolylineVertex.Location to Polyline2DVertex.Position - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the LwPolylineVertex.Location property has been renamed to Polyline2DVertex.Position for consistency. ```C# Renamed LwPolylineVertex.Location property to Polyline2DVertex.Position. ``` -------------------------------- ### Defining Header Cell Data for Merged Cells in C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/RxBim.NetDxf/Entities/Table/NetDxfTableCreationReadMe.md Defines an array of `HeaderCellInformation` objects containing text and horizontal merged cell counts for the table's header row. This data is used to create merged header cells. ```C# var titleCellsData = new HeaderCellInformation[] { new("Название таблицы", 5), new(string.Empty, 1), new(string.Empty, 1), new(string.Empty, 1), new(string.Empty, 1) }; ``` -------------------------------- ### AlignedDimension Offset Value Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The offset value for the AlignedDimension entity can now be positive or negative. The first and second reference point will not be swapped depending on the placement of the definition point, instead the sign of the offset will be changed. -------------------------------- ### Modifying Table and Entity Properties Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This update enables modification of all properties of tables and entities, even when they already belong to a document. This provides greater flexibility in manipulating DXF elements after they have been initially created or loaded. It allows modification of all properties of tables and entities even when they already belong to a document. ```C# Modifying...() ``` -------------------------------- ### Ellipse SetAxis Method Correction Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Corrects the comments in the Ellipse.Center property. In the Ellipse.SetAxis method the validity checks must be performed with the arguments of the method not the actual major and minor axis of the ellipse. -------------------------------- ### Setting Dimension Block Property to Null Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This update adds a setter to the Block property of the dimension. Setting the dimension Block property to null deletes the reference to the block associated with the dimension, and also deletes the block from the document. ```C# // Added setter to the Block property of the dimension. Set the dimension Block property to null to delete the reference to the block associated with the dimension, this also deletes the block from the document. ``` -------------------------------- ### Ellipse SetAxis Method Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The Ellipse SetAxis method will automatically assign the larger axis value as the major axis and the lower as the minor axis. -------------------------------- ### Ellipse Axis Properties Update Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The ellipse properties MajorAxis and MinorAxis are now write only, if you need to change its axis use the new method SetAxis. The major axis must always be greater or equal to the minor axis, given write access independently to them might lead to errors. -------------------------------- ### Controlling Dimension Block Generation in DXFDocument Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This update introduces the BuildDimensionBlocks property to the DXFDocument. It controls whether blocks representing dimension entities are automatically created when added to the document. By default, this is set to false, preventing automatic dimension block generation. ```C# // Added property BuildDimensionBlocks to the DXFDocument. It controls if the block that represent dimension entities will be automatically created when added to the document. IMPORTANT: by default it is set to false, no dimension blocks will be generated. See DimensionBlockGeneration() sample. ``` -------------------------------- ### LinearDimension Offset Value Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The offset value for the LinearDimension entity can now be positive or negative. A negative offset is like adding 180 to the dimension rotation. The first and second reference point will not be swapped depending on the placement of the definition point, instead the sign of the offset will be changed. -------------------------------- ### Enum Value Renaming: ImageUnits.None to ImageUnits.Unitless - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the ImageUnits.None enum value has been renamed to ImageUnits.Unitless for clarity. ```C# Renamed ImageUnits.None to ImageUnits.Unitless. ``` -------------------------------- ### Angular3PointDimension Offset Value Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt The offset value for the Angular3PointDimension can now be positive or negative. A negative offset will measure the oposite arc angle. The first and second reference point will not be swapped depending on the placement of the definition point, instead the sign of the offset will be changed. -------------------------------- ### Enum Value Renaming: ImageResolutionUnits.NoUnits to ImageResolutionUnits.Unitless - C# Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This code snippet shows that the ImageResolutionUnits.NoUnits enum value has been renamed to ImageResolutionUnits.Unitless for clarity. ```C# Renamed ImageResolutionUnits.NoUnits to ImageResolutionUnits.Unitless. ``` -------------------------------- ### Dimension User Text Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt This update adds a UserText property to the Dimension class, allowing users to store custom text data associated with dimension objects. This can be useful for adding annotations or metadata to dimensions. It adds request "Added UserText property to Dimension". ```C# DimensionUserText() ``` -------------------------------- ### HasReferences Method for TableObjects Source: https://github.com/reactivebim/rxbim.netdxf/blob/develop/doc/Changelog.txt Adds the HasReferences method to TableObjects and TableObject collections. It indicates if the actual table object has been referenced by other DxfObjects. TableObjects in use cannot be removed. === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.