DSTV.Net 1.2.1

Requires NuGet 2.14 or higher.

dotnet add package DSTV.Net --version 1.2.1                
NuGet\Install-Package DSTV.Net -Version 1.2.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DSTV.Net" Version="1.2.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DSTV.Net --version 1.2.1                
#r "nuget: DSTV.Net, 1.2.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DSTV.Net as a Cake Addin
#addin nuget:?package=DSTV.Net&version=1.2.1

// Install DSTV.Net as a Cake Tool
#tool nuget:?package=DSTV.Net&version=1.2.1                

DSTV.Net

Build and Test Publish NuGet version (DSTV.Net)

DSTV.Net is an open-source library tailored for .NET platforms, providing a powerful utility for interacting with DSTV (also known as NC1 or Tekla) files. These files serve as a key industry standard in the steel industry, defining geometry and project information for steel plates. Introduction

DSTV.Net is a precision-oriented, high-performance library designed to simplify the process of working with DSTV files. It equips developers and software applications with the ability to read and interpret DSTV file content effortlessly, making it ideal for CAD, CAM, CNC, and other software applications associated with steel fabrication and structural engineering. Features

Getting started

Installation via Package Manager Console in Visual Studio:

PM> Install-Package DSTV.Net

Installation via .NET CLI:

> dotnet add <TARGET PROJECT> package DSTV.Net

Header Information Parsing

DSTV.Net offers robust parsing capabilities, adept at extracting header information from DSTV files. This function allows access to crucial metadata such as part name, material type, thickness, and more. Such data can be instrumental in areas like material management and manufacturing planning.

Usage

// Open a stream to the dstv file.
using var streamReader = new StreamReader("[filename]");
// Create a new dstv reader
var dstvReader = new DstvReader();
// Parse the dstv file.
var parsedDstv = await dstvReader.ParseAsync(streamReader))
// Access the header information
var dstvHeader = parsedDstv.Header;
// Print the order identification
Console.WriteLine(dstvHeader.OrderIdentification);

The header information contains the following properties:

Property Type Description
OrderIdentification string The order identification of the project
DrawingIdentification string The drawing identification of the piece within the project
PhaseIdentification string The phase identification of the piece within the project
PieceIdentification string The piece identification of the piece
SteelQuality string The steel quality of the piece
QuanityOfPieces int The quantity of pieces in the project
Profile string The profile of the piece
CodeProfile CodeProfile The code profile of the piece
Length double The length of the piece
SawLength double The saw length of the piece
ProfileHeight double The profile height of the piece
FlangeWidth double The flange width of the piece
WebThickness double The web thickness of the piece
Radius double The radius of the piece
WeightByMeter double The weight by meter of the piece
PaintingSurfaceByMeter double The painting surface by meter of the piece
WebStartCut double The web start cut of the piece
WebEndCut double The web end cut of the piece
FlangeStartCut double The flange start cut of the piece
FlangeEndCut double The flange end cut of the piece
Text1InfoOnPiece string The text 1 info on the piece
Text2InfoOnPiece string The text 2 info on the piece
Text3InfoOnPiece string The text 3 info on the piece
Text4InfoOnPiece string The text 4 info on the piece

The CodeProfile contains the following values:

Code Description
I Profile I
L Profile L
U Profile U
B Sheets, Plate, teared sheets, etc.
RU Round
RO Rouned Tube
M Rectangular Tube
C Profile C
T Profile T
SO Special Profile

Geometry Visualization

In addition to parsing, DSTV.Net also facilitates the visualization of the geometry of steel plates as defined in DSTV files. It achieves this by converting the geometric data into an SVG (Scalable Vector Graphics) format. This immediate visual representation aids better understanding and verification of the data extracted.

image image

We support this by providing a SVG generator that can be used to generate SVG files from the parsed DSTV data.

SVG's are lightweight and can be used in a variety of applications, including web applications, and are scalable to any size without losing quality.

Usage

// Open a stream to the dstv file.
using var streamReader = new StreamReader("[filename]");
// Create a new dstv reader
var dstvReader = new DstvReader();
// Parse the dstv file.
var parsedDstv = await dstvReader.ParseAsync(streamReader));
// Generate the SVG content
var svg = parsedDstv.ToSvg();
// Save the svg to a file
await File.WriteAllTextAsync("/tmp/dstv.svg",  @"<!DOCTYPE svg PUBLIC ""-//W3C//DTD SVG 1.1//EN"" ""http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"">" + Environment.NewLine + svg).ConfigureAwait(false);

Feedback is highly appreciated. Thank you for choosing DSTV.Net - happy coding!

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.1 2,022 9/21/2023
1.2.0 166 9/1/2023
1.1.1 757 7/31/2023
1.1.0 376 7/11/2023
1.0.1 244 5/25/2023
1.0.0 164 5/25/2023