NATIONAL STANDARD OF THE RUSSIAN FEDERATION

ADDITIVE TECHNOLOGICAL PROCESSES.
BASIC PRINCIPLES - Part 4

Data processing

Date of introduction - 2017-12-01

  • Application area

This International Standard contains requirements for the file format for additive manufacturing (AMP), which are used for communication (for data exchange) electronic geometric model of additive manufacturing, including the spatial description of surface geometry, with built-in support for colors, materials, grids, groups of elements. and metadata.

To maintain compatibility with additive manufacturing standards, AMP files may only be used if this standard is adhered to and the Extensible Markup Language (XML) is used.

Combining XML and AMP is possible according to ISO and ASTM standards. Guidance on how to do this is provided in Appendix A.

This International Standard does not establish any clear mechanisms for ensuring the integrity of data, electronic signatures and encryption.

  • Normative references

This standard uses normative references to the following documents:

GOST R 57558 Additive technological processes. Basic principles. Part 1. Terms and definitions.

GOST 2.511 Unified system for design documentation (ESKD). Rules for the transfer of electronic design documents. General Provisions.

GOST 20886 Data organization in data processing systems. Terms and Definitions.

  • Terms, definitions and abbreviations
    • Terms and definitions

The following terms are used in this standard with the corresponding definitions:

  • AMP consumer: Software for reading additive manufacturing (AMF) files used for fabrication, visualization, or analysis.

NOTE AMF files are also used for viewing, analyzing and verifying software.

  • AMF editor: Software for reading and overwriting Additive Manufacturing (AMF) files as they are converted.

Official edition

Note — The AMF Editor is used to convert AMFs from one shape to another (for example, when you want to convert all curved triangles to planar triangles).

  • AMF manufacturer: A software file for recording (generating) an additive manufacturing (AMF) file from original geometric data.

Note —AMF files are typically exported automatically from design software (CAD), scanning, or directly from computational geometry algorithms.

  • attribute: A characteristic of data representing one or more aspects or descriptors of data in an element.
  • editor: All text elements associated with additive manufacturing (AMF) files.

Note —AMF files are typically exported automatically from design software (CAD), scanning, or directly from computational geometry algorithms.

  • element: Information in an XML document. consisting of an opening tag, end of tag, content between tags and attributes;
  • eXtensible Markup Language, XML; extensible Markup Language. Recommended by the World Wide Web Consortium (W3C): A World Wide Web Consortium standard designed to tag information contained in documents, offering a means of delivering content in an equally well-readable format for human and computer reading.

NOTE - Through the use of a custom table and schema style, information can be presented in a unified way, allowing both information (data) and format (metadata) to be exchanged.

  • Abbreviations

AMF is a computer data format that is an alternative to the Stl format in use since 1987.

as a base for transferring data from a computer ZO-model to an additive machine for building a physical model. AMF is based on Extensible Markup Language (EML) and supports dimension, color, texture, triangulation, meshes, which the Stt format does not support; more compact than the Stl file;

XML - a text file containing a list of elements and attributes;

Bit - A unit of information measurement in the binary number system;

ID - a unique feature of an object that allows you to distinguish it from other objects;

RGBA - image of material color (red / green / blue) with the technique of creating the effect translucent ™ alpha compositing;

SRGB is a standard for representing the color spectrum using the RGB model;

RGB is an additive color model that describes a color coding method for color reproduction,

2D - two-dimensional design:

3D - three-dimensional design:

ZIP - lossless file archiving and data compression format;

PRSM - code for a pseudo-random spatial map;

STL is a file format that has been used since 1987 as a base for transferring data from a XNUMXD computer model to an additive machine for building a physical model.

  • General provisions
    • Formatting principles
      • There is a natural trade-off between file format and usefulness for specific purposes. Functions designed to meet some goals may interfere with others. The file requirements described in this standard are intended to solve the problems specified in 4.1.2-4.1.7.
      • Independence technology

AMF describes an object in such a way that any machine can build it according to its characteristics. The resolution and thickness of the construction layer are independent and do not contain information. related to any particular manufacturing process or method. This does not override the features supported by the hardware (such as color, materials, etc.). These functions are defined to avoid exclusivity.

  • Availability

AMF is easy to recognize and understand. The files can be read and debugged in a simple text editor. Identical information is not stored in multiple locations.

  • Scalability

File size and turnaround time scale well with increasing part configuration complexity and improving resolution and accuracy of production equipment. For the case when production with very high resolution is required, it is possible to process large arrays of the same type of objects (for example, meshes and lattices) and curved surfaces, in the case where production with very high resolution is required.

  • Performance

AMF provides a reasonable read / write time, and a reasonable file size for large objects. The characteristics are presented in Appendix B.

  • backward compatibility

Any existing STL file can be converted directly to an AMF file without loss of information and the need to add any additional information. AMF files can be easily converted back to STL format for use on legacy systems, while additional functionality will be lost. This format supports triangular mesh surface geometry.

  • Compatibility Perspectives

To stay relevant in a rapidly changing industry, this format is easily expandable while maintaining backward compatibility.

  • Recommendations for the inclusion of new elements
    • Any new proposed element must be applied across all hardware platforms and technologies that can be used to achieve the desired result.
    • The new elements proposed in this International Standard are described by objects, not by how they are constructed. For example, in the future, the element can be used as a void if possible. However element ... which describes the creation of a hollow volume does not imply a specific manufacturing process.
  • Structure of this specification
    • Format

The information specified in the specification is saved in XML 1.0 format. XML is a text file containing a list of elements and attributes. Using this widely accepted data format, it is possible to use a variety of tools to create, view, manipulate, process, and store AMF files. XML is human readable. XML can be compressed or encrypted using standard procedures.

  • Flexibility

Another significant advantage of XML is its flexibility. The absence of a parameter or an optional parameter is not a problem for the parser, provided that the document conforms to the XML standard. Using XML names allows you to add — for example, to legacy software — new features without breaking the old version of the parser.

  • Accuracy

This file format does not consider the precision of numeric values. He is responsible for the program that generates the spelling of as many numbers as necessary to correctly represent the target. However, an AMP consumer must read and process double precision (64 bit) numbers.

  • Future changes and additions

While additional XML elements can be pre-added to any AMF file for internal purposes, such additions should not be considered part of this specification. An unofficial AMF element can be ignored by any AMF consumer and cannot be saved or reproduced by the editor app. An element only becomes official when it is adopted in this specification.

  • РћР ± С ‰ Р ° СЏ СЃС, СЂСѓРєС, СѓСЂР °
    • The AMF file must start with an XML declaration specifying the XML version and encoding, for example:

By default, the XML version should be 1.0. You only need to specify utf-8 and utf-16. An unrecognized encoding should be causing the download file to fail.

  • Spaces and XML standards can be embedded in the file and should be ignored by any interpreter:

  • The rest of the file must be enclosed between the beginning of "/ amf> and the end of" / amf> tags. The element indicates the type of file and fulfills the requirement for. so that all XML files have a single root element. The file version attribute must be compatible with the version of the standard. You can also use standard XML attributes. Product dimensions are measured in millimeters, inches, feet, meters and microns. By default, the dimensions of the product are determined in millimeters, for example:

<amfu p it=“ m il ti meter’ version=“1.0″ xml:lang=*en“ xmins:amf=“www.astm.org/Standards/F2915-14″”

  • The start element and end tags are enclosed in "amf /". There are five elements of the top
    level:
  • the <objeсt> element defines the volume or volumes of the material;
  • the material element defines one material to be crafted. This material must be identified. The identifier must be unique and not equal to 0:
  • the "texture" element is an optional texture element. Specifies one image or texture for a color. The texture has its own identifier. The texture ID must be unique:
  • constellation element - an optional constellation element. Organizes objects and other constellations hierarchically into a printable template. A constellation element can contain an object identifier, which must be unique. If no constellation element is specified, each element of the object must be imported. Consumer software can determine the relative position of objects if more than one object is specified in the file;
  • the "metadata" element is an optional metadata element. Specifies additional information about the objects and elements contained in the file.
    • Only one item is required for a fully functional AMP file.
  • Geometry characteristics
    • General
      • The top-level element "object" declares a unique identifier and must contain one child element ... The mesh element contains two children: vertices and volume. The "object" element can optionally refer to a material.
      • The "vertices" element describes the vertices of the triangles that are used to construct the object. Each vertex of the triangle is assigned an integer identification number in the order in which it is declared, starting from zero. The required child element "coordinates" gives the position in three-dimensional (3D) space using the children <x> <y> and ...
      • At least one “volume” element must be included after receiving information about the apex of the triangle. Each "volume" is contained within an enclosed volume of an object. Several volume elements can be included in one object. There should be no overlapping elements.
      • during the tessellation of the volume surface within each volume element, several triangle elements will be used to define the triangles. Each element
        "Triangle" should have three peaks. The indices of the three vertices of the triangle must be specified using elements
      • Geometry cannot be used to describe the support structure. Only the final target structure needs to be described.

 

Note - Figure 1 shows a basic AMF file. containing only a list of triangular vertices
nicknames. This structure is compatible with the STL standard.

  • Smoothed geometry
    • By default, all triangles should be flat. In the case of curved treu-
      legs, it is necessary to reduce the number of mesh elements required to describe crooked
      linear surface. Some software (see section 14) may ignore
      information about the curvature of triangles.
    • During the transformation, the curved triangle must be recursively split into
      four triangles to form the final temporary set of flat triangles.
      The recursion depth must be five.
    • The software being created that generates the geometry of objects must
      automatically determine the number of curved triangles. Created software
      The nest should generate the target geometry of the object, replacing curved triangles with flat ones.
    • The vertex of a curved triangle can contain a child <mogta1>, which
      indicates the normal to the surface at this vertex. The normal must be of unit length, in the direction
      outward and perpendicular to the vertices of the triangle.
    • If the apex of the triangle refers to two “volume *. the normal is the identity
      specific for each element “volume *.
    • Element used to determine the curvature of one nonlinear edge, connect-
      pulling two vertices of triangles. Curvature is given by tangent vectors directed from
      start towards the end of the edge.
    • Normals are not defined for the vertices of flat triangles. Side elements not defined
      They are used for flat triangles chromos.
    • When interpreting normals and tangents, it is necessary to use the Hermitian inter-
      lation of the second degree. Formulas for interpolation are specified in clause A.Z (Appendix A).
  • Constraints in geometry

When constructing the geometry of an object, the following restrictions should be observed:

  • each triangle must have exactly three distinct non-collinear vertices:
  • triangles must not intersect. Triangles can only touch in their common
    edges or common vertices:
  • volumes should be described as continuous space;
  • volumes should not overlap;
  • each vertex must have a reference to at least three triangles;
  • each pair of vertices must refer to either zero or two triangles in one element
    those ;
  • any two vertices must not have the same coordinates. Tolerance can be used
    8-10 units;
  • the outer direction of triangles with a common edge in the volume must be consistent
    nym. The outer direction is determined by the order of the vertices.
  • Material specifications
    • General
      • Materials are introduced using the additional element “material *. Every material
        can only be defined with a single "material *" element. Each material is assigned
        have a unique identifier. Material can be specified through the value of the U attribute in the element
        "Volume *. Material ID “0” is reserved for representing voids in the product volume (Figure 2).

Material characteristics are contained within each material * element. Child element
“Color * is used to indicate the color of the material (red / green / blue / alpha (RGBA)) (item 9).
Additional material properties can be defined using the "metadata *" element. Description of AMP elements is contained in clause A.1 (Appendix A).

Note - The figure shows an AMF file. containing five materials. Material 3 is a homogeneous mixture of the first two materials in a 40/60% ratio. Material 4 is a vertical gradient material. Material 5 is a frame with a checkerboard structure.

8.2 Mixed and gradient materials and subconstructions.

  • New materials can be defined as compositions of other materials. The element "combo" is used to indicate the proportions of the composition as a constant or a formula for its dependence on the x coordinates. y and g. A constant mixing ratio will result in a homogeneous material. The change in composition depending on the coordinates leads to a gradient composition of the material. More complex coordinate-dependent aspect ratios can lead to non-linear gradient materials. The specific gravity formula can also refer to the texture function tex (textursid.xyz) described in A.1 (Appendix A).
  • Any number of materials can be used in the composite.
  • Any negative value of the proportion of material should be interpreted as zero proportion. The sum of the shares of different materials must be equal to 1.
  • Porous materials
  • The function reference materialid * 0 * (empty) is used to define the porous structure. The fraction of the void must be either 0 or 1. Any other number will be interpreted as 1.
  • The composite element can theoretically be used to fully describe the geometry of an object, as a stand-alone function, or as a texture with reference to a void. Intended use
    element "composite" with a reference to the void is necessary to describe the cellular meeostructures.
  • Stochastic materials
  • The rand function reference (xyd) can be used to define pseudo-random materials. For example, a composite material can combine two base materials in random proportions, in which the exact proportion can depend on coordinates in various ways. A Rand function (xyd) generates a random point in the range (0.1], which persists throughout all function calls, see A.4 (Appendix A).
  • Color characteristics
    • General
      • Colors can be entered using the colour element and specifying the format. By default, the color space should be SRGB, but alternative profiles can be set using the metadata tag in the root “amf” element see A.1 (Appendix A). The "color" element can be associated with the "material" element. To associate color and material, the "object" element is used; to color the entire object, the volume element is used. The triangle element is used to paint the triangle. The "vertex" element is used to associate color with a specific vertex of the triangle (see Figure 3).
      • If no color is specified, the default is white.
      • The color of the object can be determined by the color of the BOM material. The color overlaps the volume of the object.

 

NOTE - A solid color can be associated with a thomas or vertex material. The top may
be also linked to a coordinate in the texture color file.

  • Color gradation and texture mapping
    • Color can also be defined with reference to formulas that can use various functions, including the texture map function.
    • When referring to a formula, the element indicates a color that depends on the coordinate. Any mathematical expressions that combine the functions described in A.2 (Appendix A) can be used in the files. For example, the rand function (function of random values) is allowed for pseudo-random color schemes. The tech function allows color to be dependent on a texture map or image. To define a full color image, typically three textures are required — one for each color channel. To create a monochrome image, one texture is usually sufficient.
    • When the vertices of one triangle have different colors, the inner color of the triangle will be linear interpolation between those colors, unless the color of the triangle has been explicitly specified (the color
      triangle takes precedence over vertex color). If all three vertices of the triangle contain the mapping of the same ID texture for any channel (rb or a), then the color of that channel of the triangle should be extracted from the texture map, while canceling the color of the triangle.
  • Transparency

Making partial transparency visible can be done through the "a" transparency channel with alpha compositing by combining the foreground color with the foreground color. The O * value indicates zero transparency, that is, a situation where only the foreground color is used. The G value indicates full transparency, that is, a situation when only the background color is used. The intermediate values ​​are linearly interpolated between the background color and the foreground color. Negative values ​​are rounded to 0. and values ​​greater than one are rounded to 1. The background color of the triangle must match the color of the vertex. The background color of the vertex must match the color of the volume, then the color of the object, and then the color of the material (in descending order of priority).

  • Texture characteristics
    • Element used to bind textureid to specific texture data. The size of the texture map must be specified. XNUMXD supported
      (20) and three-dimensional (30) textures. The data should be presented as a series of grayscale values ​​in the range [0-255]. Each value is stored in one byte and encoded.
    • Data ordering should start at the top-left corner and go from left to right and top to bottom. The 3D texture will point first to the original layer and then repeat to
      all subsequent layers in accordance with the rule of the right hand. The data will be optimized or appended with zero values ​​according to the specified texture size.
    • To texture the triangle, use the "texmap" element defining the U-. V- (optional) and W-coordinates for each vertex of this triangle. If the texture has
      property "tiles" and matches the value True, then any V. W values ​​outside the range [0.1]. will be determined modulo 1. If the texture has the "tile" property and is false, then values ​​that do not fall within the range [0.1]. will match 0 (transparent). Textures should be linearly interpolated for each triangle. The triangle must contain only one element ... Overlapping textures must be merged into a single texture before overlapping on the mesh.
  • Grouping elements (constellations)
    • Several objects can be placed together using the constellation element (see Figure 4). The constellation element can define the position and orientation of objects to improve packaging efficiency and describe large arrays of the same items. The instance element defines the movement and rotation of the object during the transformation. The displacement and rotation must be defined in relation to the original position and orientation of the object, which were defined initially. The angles of rotation must be indicated in degrees. First, rotations about the x-axis and the y-axis are applied. and then around the z-axis.
    • A constellation element can include other constellation elements with multiple levels of hierarchy. However, circular definitions of "constellation" elements are used
      should not.
    • When there are multiple objects and constellation elements defined in the same file. only top-level objects and constellations are printable.
    • In the "constellation" element, the print orientation will be specified by default.

Note - Elements can include multiple objects together.

  • Metadata

Element can optionally be used to provide additional information about certain objects, geometries and materials (see figure 5). A name can be specified using this element. text description, authorship, copyright information, and special instructions. The "metadata" element can be included as a child in for the purpose of specifying attributes for the entire file or as a child of objects, volumes and materials. The reserved metadata types and their meanings are listed in A.1 (Appendix A).

 

Note — Additional information about an object can be stored using a metadata element.
Modified metadata types must use a different name. for example:
mydata

  • Archiving
    • AMF must be stored either in plain text or compressed. Compression should
      be done in ZIP-archive format [3] and can be done by the user during recording from the
      the power of the application and several open source compression libraries such as Reference (4).
    • Both versions of the file - compressed and uncompressed - will have the extension Used
      the software must determine if the file is archived or not. If the file is
      archived. then you need to decompress it while reading. Any file that is not
      starts with a tag ... should be interpreted as a compressed xml file.
    • In addition, other files - for example, electronic signatures - can be included in the ar-
      hiv However, only the AMF file with the same name as the archive file will be parsed
      software. The absence of a file with this name will cause an error.
  • Minimum requirements for implementation
    • A minimal AMF producer is to generate a compressed file from a single object.
      One object will contain a "grid containing only one volume."
    • The minimal consumer AMF is to unzip the file from one object and ignore
      Add any color, material, texture, constellation or metadata.

Appendix A (informative)

AMF XML Schema Implementation Guide

A.1 AMF elements

The list of AMF elements is presented in Table A.1.

Table A.1 - List of AM F elements

Element

Parental

element

(elements)

Attribute Allowed
whether several
elements?
Description

<nx>.

<nu>,

No Normalized x-. y- or z-components are normal
mali to the surface at the top.
Yes Determines the volume from the established list
peaks.
materialid Material ID applied to
this volume.
e> Yes Defines a triangle from sin vertices e 3D.
8 according to the right-hand rule (against
clockwise).

...

...

Index of vertices defining the triangle
or waste.
Yes Specifies the texture data to be used
enjoy. using the tex function in the formula.
Contains a Base64 sequence with the code
with the specified values ​​and with the indication of the value
pixel texture.
id Assigns a unique one to the new texture.
width Width (horizontal size, x) of the texture in
pixels.
height Height (side size, y) of the texture in pixels
lyakh.
depth Depth (vertical dimension, z) of the texture in
pixels.
Determines if the texture can be tiled.
True means “churning *. Any other
the meaning does not imply pthghu. Any text
ra. displayed outside the specified range
zone. should return to zero.
type Data encoding in texture. At present
time should be “grayscale”. In the mode
grayscale each pixel is represented by one
bytes in the range (0-255]. When the texture
set using the tex function. these values
converted to one point in the range [0-1]
(see A.2). Full color image, as a rule
lo. requires three textures - one for each
from color channels. Graphic display
transparency may require
fourth channel.

 

Continuation of table A. 1

Element

Parental

elenekt

(elements)

Attribute Allowed
whether several
elements?
Description
"Triangle" Here The map of the vertices of this triangle (uvw) with co-
the ordinates of the given texture. If the parameter
not uh azan, the w coordinate must be zero.
rtexid Red channel texture ID.
gtexid Green channel texture ID.
btexid Yu texture blue channel.
atexid Alpha channel texture ID.

...

...

"Texmap" Here Description: coordinates and. v and w (optional)
vertices of the triangle 1.2 and 3.

...

...

...

...

,

<material " "Amf" Yes Available material.
id Unthesal material ID. Value * 0 'ID ma-
material is reserved for designation
stot or consumable mat-pa.
"Composite" "Material" Yes Composite material. Numeric value
constants or mathematical functions of coordinates
nat x. at. z. the determining ratio of the mother
alov (materialid). If the value is negative,
it is considered to be zero. Fractional value
numbers must be rounded to 1. If it is
equals zero, then there is no material (void).
Material voids should not be mixed.
See A. 2 for a list of valid mathematical
functions.
materialid Link to existing material. Link
should not be recursive or looping.
Constellation "Amf" Yes A collection of objects with a specific location
position.
id Specifies the ID of the new constellation.
"Instance" Constellation Yes A collection of objects to be printed.
objectid Reference to the ID of an existing or newly created
th object or constellation. Recursive or ci-
clical links should not be used.

Dellax.

...

"Deltaz"

"Instance" No Transfer distance in x-. y- or z-direction,
respectively, in the object coordinate system for
instantiating an object in the current constellation.

"GC",

"Iy>,

"Instance" Here Rotation of an object in degrees around its x-. y- and
z-axes. accordingly, to instantiate
object in the current constellation. The turns must
be executed in order x. and then y and g.

 

End of Table A. 1

Element

Parental

element

(elements}

Attribute Allowed
whether several
elements?
Description
...
,
...
,
number Indicates additional information about
object.
type Attribute type. Values ​​must be one of
the following: Pate - an alphanumeric object label, which
toraya can be used by the interpreter
when interacting with the user;
description - description of the entity;
url - link to an external source related to
to the object; author - specifies the name (s) of the author (s);
company - defines the company generating
source object: producer - specifies the name of the source program
revision and revision - defines the revision of the entity:
tolerance - sets the required performance
natural admission of an object in the enterprise system ^
subdivisions:volume - defines the total volume of the object
e unit of the system of the subject, which will be used
use for verification (applies only to
object and volume);

etasticmoduius - sets the modulus of elasticity of the volume
ect. in SI units (only for material);

poissonratio - defines the Poiss ratio
sona material, in SI units (only for ma-
Terial);

cokxjrprofile - ICC space color used
used for the interpretation of three color channels
catch <r>, <d> and <b>. Can be one of 9sRGB9.
9AdobeRGB9. 9WIDE-Gamut-RGB9. 9CIERGB9.
9CIELAB9 or 9CIEXYZ9 (upper level only
)

A.2 Mathematical operations and functions

The list of mathematical operations and functions is presented in Table A.2.

Formulas containing characters that are restricted to XML. such as “<” and *> '. must be contained in the COATA clause (ie start with “[CDATAJ * and end with“]]> ■).

Table A.2 - List of mathematical operations and functions

Seniority Operator Definition
1 0 Block brackets
2 А Power
3 Multiplication
3 / Division
Boolean operators return a boolean value of 1 or 0. representing TRUE and FALSE, respectively
naturally. A null value represents FALSE and a nonzero value represents TRUE.

 

End of Table A.2

Sergeant Major Operator Definition
4 + Add
4 - Subtraction
5 = Equally
5 <. <= Smaller. than (or equal)
5 >,> = More. than (or equal)
6 and Intersection point (logical AND)
6 Of Union (logical OR)
6 hot Difference (exclusive OR)
6 1 Negation (logical NOT)
6 mod (ab) The module is partial. Returns the remainder after division of a by b.
6 sin (x) Sine, radians
6 cos (x) Cosines, radians
6 tan (x) Tangent, radians
6 asin (x) Arcsine, radians
6 acos (x) Arccosine, radians
6 atan (x) Arc tangent, radians
6 fioor (x) Round to the nearest integer
6 ced (x) Round to the nearest integer
6 sqrt (x) Square root
6 ln (x) Natural logarithm
6 Iog10 (x) Base decimal logarithm
6 exp (x) Exhibitor
6 abs {x) Absolute value
6 max (xy) Maximum value
6 min (x, y) The minimum value
6 rand (xy) 2D or 3D coordinates interval [0.1] (excluding 1). Returned number
lo must be persistent (the same number must always be returned to
the same coordinates). See example implementation in clause A.4.
6 tex (textured.uvw)
tex (textureid.uv)
Returns a scalar floating point value in a range
[0.1], which interpolates the texture with texture "d to the origin (and, v. W) for
20-textures and (u. V) for XNUMX-hectours. If the texture is of the “grades of gray” type,
rogo *. the range [0,1] corresponds to the range [0-255] in these textures.
Integer coordinate values ​​refer to the center of the texture from the first pixel,
with index 1. If the values ​​are fractional, it is necessary to use the
tod linear interpolation. If the coordinates go beyond the limits of
exact texture, zero should be returned. If the text
If 2D and z coordinates are given, the z coordinate should be ignored.
Boolean operators return a boolean value of 1 or 0. representing FALSE and TRUE, respectively
naturally. A null value represents FALSE and a nonzero value represents TRUE.

 

A.XNUMX Formulas for the transition from curved triangles to rectilinear triangles

A.3.1 Non-linear triangular sections with fixed surface normals or tangent edges shall be interpolated from their three vertices and six tangent vectors and / or three surface normals using second-order Hermite interpolation curves as described in clauses A.3.2-A.3.4.

A.3.2 For each of the three edges of the triangle (see Figure A.1 (a)), follow the steps in A.3.2.1 through A.3.2.6.

a) - notation used to split the curve:
b) - triangles are separated recursively in depth up to five

A.3.2.1 If normal l0 at the point has not been set explicitly with the element , it is possible to calculate the normal Лф by calculating the Cartesian product between two edge tangents converging at this point. For this calculation, the edge tangents indicated by the element ... if any, from A.3.2.6. executed in the previous level of recursion or. if none of these options are available. use straight lines connecting the end points.

A.3.2.2 Repeat the actions of paragraph A.3.2.1 for the normal n, at the point

A.3.2.3 If the tangent is not explicitly specified in the element or the previous recursion, compute the tangent vector so that it is perpendicular to the normal l0 and was in the plane defined by the normal and the vector connecting two vertices v0 and to ,. To calculate Jq, formula (A.1) is used, while

A.3.2.4 Repeat paragraph A.3.2.1 for the tangent (, at point V ,.

A.3.2.5 Center point k0i = calculated using the second order Hermite interpolation curve, in accordance with formula (A.2):

fo (s) = (2s3 - 3s2 + 1) v0 + (s3 - 2s * + sKo + (-2s3* Sv2) "/, * (S3 -s2)!,. (A.2)

A.3.2.6 The central tangent Iq, = is calculated by interpolating the second order Hermite curve, in accordance with formula (A.XNUMX):

Us) = (6s2 - 6s) v0 + (3s34S2+ U + (-6s2+ 6s) v, + (3s2 - 2s) tf (A.3)

A.3.3 Using the obtained three new vertices and normals, divide the triangle into four subgroups of triangles.

A.3.4 Repeat A.3.3 recursively for each triangle to a depth of five (see Figure A.1 (b)).

A.4 Code for pseudo-random spatial map (PRSM)

The purpose of the random function (rand) is to build pseudo-random textures that will be used in the construction of the object. Random (x.y), random (x.y. z) and random (x.y. z. (C) return a constant random number depending on the set coordinate. These functions allow you to get 2D or 0.1D coordinates in the interval [ 1] (excluding 1) The number returned must be constant at all times. If k is 2. then a second number can be returned for that coordinate. A third number can be returned for the coordinate with k "XNUMX, and so on.

Appendix B (reference)

Performance data and future opportunities

The purpose of this specification is to define the requirements for AMF in terms of the optimal time for reading and parsing files, as well as its size, depending on the amount of data contained. Table B.1 shows statistics on the effective file size depending on the number of triangles describing the object. File processing time is defined as the time it takes to read and analyze the data contained in the file.

NOTE - The time required to read and parse a file is short compared to the total time required to process a file during the manufacture of an object.

Table B.1 - File sizes

Quantity

triangles

Binary STL Format
(uncompressed}
Binary Forayag STL
(compressed}
AMF (uncompressed) AMF (compressed)
1 016386 49.6m 25.3m 205.9Mb 12.2Mb
100536 4.9m 2.3 Mb 20.1Mb 1.2Mb
10592 By 518 249K 2.1Mb 129K
1036 By 51 20K 203K 12K

 

Table B.2 - Recording time (seconds)

Quantity

triangles

Binary STL Format
(uncompressed}
Binary STL Format
(compressed)
AMF (uncompressed) AMF (compressed)
1016 388 0.372 -3.4 6.8 15.5
100 536 0.038 0.038 0.79 1.78
10 592 0.005 0.005 0.11 0,21
1 036 0.001 0.001 0.06 0.06

 

Table B.XNUMX - Time of reading and analysis (in seconds)

Quantity

triangles

Binary STL Format
(uncompressed)
Binary STL Format
(compressed)
AMF (uncompressed) AMF (compressed)
1 016386 0.364 -1.3 6.447 6.447
100536 0.043 0.043 0.669 0.687
10592 0.005 0.005 0.107 0.107
1036 0.001 0.001 0.056 0.056

 

Table B.4 - Accuracy (the error is calculated on the unit sphere)

Number of triangles STL AMF (with normal)
20 0.102673 0.006777
80 0.032914 0.000786

 

End of Table B.4

Number of triangles STL AMF {with normals!
320 0.008877 8.28E-05
1280 0,001693 1.01E-05
5120 0.000455 1.95E-06
20480 1.13E-04 4.51E-07
81920 2.81 E '05 1.11E *07
327680 7, OZE 's 2,75E * 0v
1 310 720 1>76Е-0v b ^ E *09

UDC 774: 002: 006.354

OKS 71.020

71.100.01

77.160

Key words: additive technologies, additive manufacturing processes, basic principles

 

Published and printed by FGUP STANDARTINFORM. 123001 Moscow. Pomegranate Lehr .. 4.