diff --git a/3MF Volumetric Extension Template.md b/3MF Volumetric Extension Template.md index f8cb1fb..86a4e13 100644 --- a/3MF Volumetric Extension Template.md +++ b/3MF Volumetric Extension Template.md @@ -838,7 +838,7 @@ Overview of native nodes | [mesh](#mesh) | signed distance to mesh operation | | [unsignedmesh](#unsignedmesh) | unsigned distance to mesh operation | | [length](#length) | length operation | -| [resourceid](#resourceid) | constant resource ID | +| [constresourceid](#constresourceid) | constant resource ID | ## addition @@ -977,7 +977,7 @@ None ``` -# resourceid +# constresourceid **Description:** Defines a model resource id as a constant value. @@ -1000,11 +1000,11 @@ None **Example Usage:** ```xml - + - + ``` ## composevector diff --git a/3MF Volumetric Extension.md b/3MF Volumetric Extension.md index 3637e24..709ceef 100644 --- a/3MF Volumetric Extension.md +++ b/3MF Volumetric Extension.md @@ -128,7 +128,7 @@ The format of `ST_NodeOutputIdentifier` is "nodename.outputname". The identifier ## 2.2 ScalarReference Element \ -![Scalar XML Structure](images/element_scalarReference.png) +![Scalar XML Structure](images/element_scalarreference.png) | Name | Type | Use | Default | Annotation | | --------- | ---------------- | -------- | ------- | -------------------------------------------------------------------------- | | identifier| ST_Identifier | required | | Specifies an identifier for this scalar resource. | @@ -138,20 +138,19 @@ Element \ ## 2.3 VectorReference Element \ -![Vector XML Structure](images/element_vectorReference.png) +![Vector XML Structure](images/element_vectorreference.png) | Name | Type | Use | Default | Annotation | | --------- | ---------------- | -------- | ------- | -------------------------------------------------------------------------- | | identifier| ST_Identifier | required | | Specifies an identifier for this vector resource. | -| displayname| xs:string | optional | | The name to be displayed e.g. for annotation -| ref | ST_VectorID | required | | Reference to the scalar in the form "NodeIdentifier.VectorIdentifier". | - +| displayname| xs:string | optional | | The name to be displayed e.g. for annotation. | +| ref | ST_VectorID | required | | Reference to the scalar in the form "NodeIdentifier.VectorIdentifier". | ## 2.4 MatrixReference Element \ References to functions are only used for the implicit extension. -![Vector XML Structure](images/element_matrixReference.png) +![Vector XML Structure](images/element_matrixreference.png) | Name | Type | Use | Default | Annotation | | --------- | ---------------- | -------- | ------- | -------------------------------------------------------------------------- | | identifier| ST_Identifier | required | | Specifies an identifier for this matrix resource. | @@ -163,7 +162,7 @@ Element \ References to resources are used for the volumeData element and for the implicit extension to create a function reference. -![Function XML Structure](images/element_resourceReference.png) +![Function XML Structure](images/element_resourcereference.png) | Name | Type | Use | Default | Annotation | | --------- | ---------------- | -------- | ------- | -------------------------------------------------------------------------- | | identifier| ST_Identifier | required | | Specifies an identifier for this function resource. | @@ -174,16 +173,16 @@ References to resources are used for the volumeData element and for the implicit # Chapter 3. Functions and Function Types ## 3.1 Functions -Element **\** +Complex Type **CT_Function** -![Function XML Structure](images/element_function.png) +![Function XML Structure](images/CT_Function.png) | Name | Type | Use | Default | Annotation | | --- | --- | --- | --- | --- | | id | ST\_ResourceID | required | | Specifies an identifier for this function resource. | | displayname | xs:string | | | Function resource name used for annotations purposes. | -Volumetric data is created with functions that are evaluatable at a given model position. Each \ element is assumed to represent a method which can be evaluated within the model being described. Functions have input arguments and output arguments, each argument MUST be one of the supported datatypes enumerated in Chapter 2. +Volumetric data is created with functions that are evaluatable for at given model position. Each \ element is assumed to represent a method which can be evaluated within the model being described. Functions have input arguments and output arguments, each argument MUST be one of the supported datatypes enumerated in Chapter 2. \ is a container for one of three distinct function types: FunctionFromImage3d, PrivateExtensionFunction, FunctionImplicit. The only function type that MUST be supported for the volumetric extension is FunctionFromImage3D which requires an Image3d resource. @@ -298,17 +297,17 @@ Element **\ PrivateExtensionFunction is an OPTIONAL function type to support. This function can take either a or input and returns either a or . The intent of this function type is to allow users to extend the volumetric specification for custom functionality that is not possible with the existing functions. -## 3.4 FunctionImplicit -Element **\ +## 3.4 ImplicitFunction +Element **\ -![FunctionImplicit XML](images/element_functionImplict.png) +![ImplicitFunction XML](images/element_implicitfunction.png) | Name | Type | Use | Default | Annotation | | --- | --- | --- | --- | --- | | id | ST\_ResourceID | required | | Specifies an identifier for this function resource. | | displayname | xs:string | | | Function resource name used for annotations purposes. | | xmlns | ST\_namespace | required | implict | Specifies the namespace of the function. | -FunctionImplicit is an OPTIONAL function type to support for the Volumetric specification. The function requires an input DataType and an output DataType. +ImplicitFunction is an OPTIONAL function type to support for the Volumetric specification. The function requires an input DataType and an output DataType. # Chapter 4. 3D Image @@ -622,7 +621,7 @@ Since fields can be evaluated in an unbounded way, a closed mesh is required to Element **\** -![levelset XML structure](images/element_boundary.png) +![levelset XML structure](images/element_levelset.png) | Name | Type | Use | Default | Annotation | | -------------- | ------------ | -------- | ------- | -------------------------------------------------------------------- | @@ -678,7 +677,7 @@ _Figure 5-1: a) LevelSet A with a Mesh clipping surface. b) Mesh object B (recta ## 5.1. Evaluation Graph -The elements in this specification form an acyclic directed graph when evaluating the value of any volumedata-subelement which guarentees that it is evaluatable. +The elements in this specification form an acyclic directed graph when evaluating the value of any volumedata-subelement. It is RECOMMENDED that calculations during evaluation of the graph are performed in at least single-precision floating-point arithmethic, according to IEEE 754. @@ -717,7 +716,7 @@ This specification is limited in scope. Three noteworthy limitations are: The implicit namespace extension enriches the volumetric extension by facilitating the use of closed form functions. These provide an alternative to for generating volumetric data. -The functions are members of volumetric data that define a field with arbitrary precision. These functions can be integrated with the existing children of volumedata (materialMapping, property, color) and levelset, where they are defined at every point within the mesh or its bounding box. These functions are created via a connected node set. They link inputs and outputs, and allow interaction with other resources. +The functions are members of volumetric data that define a field with arbitrary precision. These functions can be integrated with the existing children of volumedata (materialMapping, property,boundary, color), where they are defined at every point within the mesh or its bounding box. These functions are created via a connected node set. They link inputs and outputs, and allow interaction with other resources. ## Chapter 1. Overview of Implicit Additions _Figure 1-1: Overview of model XML structure of 3MF with implicit additions_ @@ -839,7 +838,7 @@ Overview of native nodes | [mesh](#mesh) | signed distance to mesh operation | | [unsignedmesh](#unsignedmesh) | unsigned distance to mesh operation | | [length](#length) | length operation | -| [resourceid](#resourceid) | constant resource ID | +| [constresourceid](#constresourceid) | constant resource ID | ## addition @@ -978,7 +977,7 @@ None ``` -# resourceid +# constresourceid **Description:** Defines a model resource id as a constant value. @@ -1001,11 +1000,11 @@ None **Example Usage:** ```xml - + - + ``` ## composevector @@ -2697,7 +2696,7 @@ The native nodes provided are used to create abitrary graphs. In order for these ## 5.2 Undefined Results and Fallback Values -The native nodes provided can create graphs that have regions that will evaluate to an undefined value. This undefined value presents a problem when trying to evaluate a \ object or a a volume data element such as \. Such undefined results make the result of the function undefined and the volumetric data element MUST be evaluated to the volumetric data element's fallback value. +The native nodes provided can create graphs that have regions that will evaluate to an undefined value. This undefined value presents a problem when trying to evaluate a object or a a volume data element such as . Such undefined results make the result of the function undefined and the volumetric data element MUST be evaluated to the volumetric data element's fallback value. ## Chapter 6. Notes @@ -2744,7 +2743,7 @@ xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://schemas - + @@ -2779,159 +2778,7 @@ xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://schemas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3075,6 +2922,7 @@ xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://schemas + @@ -3088,80 +2936,6 @@ xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="http://schemas - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3213,7 +2987,7 @@ _sheet0.png_ - + @@ -3223,7 +2997,7 @@ _sheet0.png_ ]]> - + @@ -3266,13 +3040,16 @@ _sheet0.png_ - + - + - + @@ -3286,10 +3063,10 @@ _sheet0.png_ ]]> - - - - + + + + @@ -3319,7 +3096,7 @@ _sheet0.png_ - + @@ -3349,7 +3126,7 @@ _sheet0.png_ - + @@ -3386,7 +3163,7 @@ _sheet0.png_ - + @@ -3418,12 +3195,12 @@ _sheet0.png_ - + - + @@ -3455,14 +3232,15 @@ _sheet0.png_ - + - + @@ -3495,14 +3273,14 @@ _sheet0.png_ - + - + @@ -3537,14 +3315,15 @@ _sheet0.png_ - + - + @@ -3594,14 +3373,15 @@ _sheet0.png_ - + - + @@ -3638,14 +3418,15 @@ _sheet0.png_ - + - + @@ -3682,14 +3463,15 @@ _sheet0.png_ - + - + @@ -3737,13 +3519,16 @@ _sheet0.png_ - + - + - + @@ -3758,9 +3543,9 @@ _sheet0.png_ - - - + + + @@ -3807,13 +3592,16 @@ _sheet0.png_ - + - + - + @@ -3828,9 +3616,9 @@ _sheet0.png_ - - - + + + @@ -3877,13 +3665,16 @@ _sheet0.png_ - + - + - + @@ -3898,9 +3689,9 @@ _sheet0.png_ - - - + + + @@ -3944,8 +3735,8 @@ _sheet0.png_ - - + + @@ -3959,7 +3750,7 @@ _sheet0.png_ - + @@ -4003,8 +3794,8 @@ _sheet0.png_ - - + + @@ -4018,7 +3809,7 @@ _sheet0.png_ - + @@ -4061,8 +3852,8 @@ _sheet0.png_ - - + + @@ -4076,7 +3867,7 @@ _sheet0.png_ - + @@ -4117,7 +3908,7 @@ _sheet0.png_ - + @@ -4131,7 +3922,7 @@ _sheet0.png_ - + @@ -4172,7 +3963,7 @@ _sheet0.png_ - + @@ -4186,7 +3977,7 @@ _sheet0.png_ - + @@ -4230,8 +4021,8 @@ _sheet0.png_ - - + + @@ -4245,8 +4036,8 @@ _sheet0.png_ - - + + @@ -4290,8 +4081,8 @@ _sheet0.png_ - - + + @@ -4305,8 +4096,8 @@ _sheet0.png_ - - + + @@ -4350,8 +4141,8 @@ _sheet0.png_ - - + + @@ -4365,8 +4156,8 @@ _sheet0.png_ - - + + @@ -4410,8 +4201,8 @@ _sheet0.png_ - - + + @@ -4425,8 +4216,8 @@ _sheet0.png_ - - + + @@ -4470,8 +4261,8 @@ _sheet0.png_ - - + + @@ -4485,8 +4276,8 @@ _sheet0.png_ - - + + @@ -4530,8 +4321,8 @@ _sheet0.png_ - - + + @@ -4545,8 +4336,8 @@ _sheet0.png_ - - + + @@ -4593,10 +4384,12 @@ _sheet0.png_ - + - + @@ -4611,8 +4404,8 @@ _sheet0.png_ - - + + @@ -4660,13 +4453,16 @@ _sheet0.png_ - + - + - + @@ -4681,9 +4477,9 @@ _sheet0.png_ - - - + + + @@ -4730,13 +4526,16 @@ _sheet0.png_ - + - + - + @@ -4751,9 +4550,9 @@ _sheet0.png_ - - - + + + @@ -4799,13 +4598,16 @@ _sheet0.png_ - + - + - + @@ -4820,9 +4622,9 @@ _sheet0.png_ - - - + + + @@ -4869,13 +4671,16 @@ _sheet0.png_ - + - + - + @@ -4890,9 +4695,82 @@ _sheet0.png_ - - - + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4939,13 +4817,16 @@ _sheet0.png_ - + - + - + @@ -4960,9 +4841,9 @@ _sheet0.png_ - - - + + + @@ -5008,13 +4889,16 @@ _sheet0.png_ - + - + - + @@ -5029,9 +4913,9 @@ _sheet0.png_ - - - + + + @@ -5075,8 +4959,8 @@ _sheet0.png_ - - + + @@ -5090,7 +4974,7 @@ _sheet0.png_ - + @@ -5134,8 +5018,8 @@ _sheet0.png_ - - + + @@ -5149,7 +5033,7 @@ _sheet0.png_ - + @@ -5192,7 +5076,7 @@ _sheet0.png_ - + @@ -5206,7 +5090,7 @@ _sheet0.png_ - + @@ -5230,9 +5114,9 @@ _sheet0.png_ - - - + + + @@ -5246,9 +5130,9 @@ _sheet0.png_ - - - + + + @@ -5281,8 +5165,7 @@ _sheet0.png_ - - + @@ -5310,8 +5193,7 @@ _sheet0.png_ - - + @@ -5340,8 +5222,7 @@ _sheet0.png_ - - + @@ -5369,8 +5250,7 @@ _sheet0.png_ - - + @@ -5398,8 +5278,7 @@ _sheet0.png_ - - + @@ -5427,8 +5306,7 @@ _sheet0.png_ - - + @@ -5456,8 +5334,7 @@ _sheet0.png_ - - + @@ -5499,13 +5376,16 @@ _sheet0.png_ - + - + - + @@ -5520,9 +5400,9 @@ _sheet0.png_ - - - + + + @@ -5572,13 +5452,16 @@ _sheet0.png_ - + - + - + @@ -5593,9 +5476,9 @@ _sheet0.png_ - - - + + + @@ -5628,8 +5511,7 @@ _sheet0.png_ - - + @@ -5658,8 +5540,7 @@ _sheet0.png_ - - + @@ -5687,8 +5568,7 @@ _sheet0.png_ - - + @@ -5716,8 +5596,7 @@ _sheet0.png_ - - + @@ -5745,18 +5624,226 @@ _sheet0.png_ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5764,11 +5851,7 @@ _sheet0.png_ - - - - - + @@ -5776,7 +5859,7 @@ _sheet0.png_ - + @@ -5786,7 +5869,11 @@ _sheet0.png_ - + + + + + ]]> @@ -5794,59 +5881,14 @@ _sheet0.png_ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + @@ -5884,10 +5926,10 @@ _sheet0.png_ - - - - + + + + @@ -5901,10 +5943,10 @@ _sheet0.png_ - - - - + + + + @@ -5914,6 +5956,12 @@ _sheet0.png_ + + + + + + @@ -5928,10 +5976,146 @@ _sheet0.png_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - -``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` _sheet1.png_ ![sheet1.png](images/sheet1.png) diff --git a/implicit.xsd b/implicit.xsd index 9487190..fe40133 100644 --- a/implicit.xsd +++ b/implicit.xsd @@ -2719,7 +2719,7 @@ - + @@ -2731,7 +2731,7 @@ - + @@ -2746,7 +2746,7 @@ - + @@ -2761,7 +2761,7 @@ - + @@ -2776,7 +2776,7 @@ - + @@ -2822,6 +2822,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2868,60 +2926,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -2963,10 +2969,10 @@ - - - - + + + + @@ -2980,10 +2986,10 @@ - - - - + + + + @@ -2995,10 +3001,10 @@ - + - + @@ -3009,7 +3015,7 @@ + value="^(-?\d+(\.\d+)?((e|E)[+-]?\d+)?)((\s+-?\d+(\.\d+)?((e|E)[+-]?\d+)?) {15})$" /> @@ -3025,7 +3031,7 @@ - + @@ -3075,7 +3081,7 @@ - + @@ -3088,5 +3094,68 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file