#VRML V2.0 utf8
# X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xslt
# https://www.web3d.org/x3d/content/X3dToVrml97.xslt
# Generated using XSLT processor: Saxonica
# [X3D] VRML V3.1 utf8
# PROFILE CADInterchange
# [X3D] version=3.1
# [X3D] noNamespaceSchemaLocation=https://www.web3d.org/specifications/x3d-3.1.xsd
# [head]
# COMPONENT CADGeometry:2
# COMPONENT EnvironmentalEffects:1
# META "title" "CADPartChildTransformationAlternativeC.x3d"
# META "description" "Developer scene to explore Mantis Issue 528 Alternative C for transformation of of CADFace children: allow Transform between CADPart and CADFace nodes."
# META "creator" "Vince Marchetti, Don Brutzman, Hyokwang Lee, Dick Puk"
# META "translator" "Vince Marchetti bushing generation using python scripts"
# META "reference" "https://www.web3d.org/member-only/mantis/view.php?id=528"
# META "warning" "This scene is intended for specification development only, and is not expected to validate or work."
# META "created" "29 June 2012"
# META "modified" "27 October 2019"
# META "error" "The alternative structure in this scene fails validation."
### Error:
# META "specificationSection" "32.4.4 CADPart"
# META "specificationUrl" "https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof/Part01/components/CADGeometry.html#CADPart"
# META "identifier" "https://www.web3d.org/x3d/content/examples/Basic/CAD/CADPartChildTransformationAlternativeC.x3d"
# META "generator" "X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit"
# META "license" "../license.html"
EXTERNPROTO CADAssembly [
# [appinfo] The CADAssembly node holds a set of assemblies or parts grouped together.
eventIn MFNode addChildren
eventIn MFNode removeChildren
exposedField MFNode children # [appinfo] The children field can contain X3DProductStructureChildNode types. Each child will be either a sub-assembly or a part.
# Specification initialization: NULL node
exposedField SFString name # [appinfo] The name field documents the name of this CADAssembly.
field SFVec3f bboxCenter # [appinfo] Bounding box center: position offset from origin of local coordinate system.
field SFVec3f bboxSize # [appinfo] Bounding box size: automatically calculated, can be specified as an optimization or constraint.
exposedField SFNode metadata # [appinfo] [X3DMetadataObject]
# Specification initialization: NULL node
][
# "CadGeometryPrototypes.wrl#CADAssembly"
"https://www.web3d.org/x3d/content/examples/Basic/CAD/CadGeometryPrototypes.wrl#CADAssembly"
# "CadGeometryPrototypes.x3d#CADAssembly"
"https://www.web3d.org/x3d/content/examples/Basic/CAD/CadGeometryPrototypes.x3d#CADAssembly"
]
EXTERNPROTO CADFace [
# [appinfo] The CADFace node holds the geometry representing a face of a part.
# documentation: https://www.web3d.org/x3d/specifications/ISO-IEC-19775-Amendment1-PDAM-X3DAbstractSpecification/Part01/components/CADGeometry.html#CADPart
exposedField SFString name # [appinfo] The name field documents the name of this CADFace.
exposedField SFNode shape # [appinfo] [X3DShapeNode | LOD]
# Specification initialization: NULL node
exposedField SFNode metadata # [appinfo] [X3DMetadataObject]
# Specification initialization: NULL node
][
# "CadGeometryPrototypes.wrl#CADFace"
"https://www.web3d.org/x3d/content/examples/Basic/CAD/CadGeometryPrototypes.wrl#CADFace"
# "CadGeometryPrototypes.x3d#CADFace"
"https://www.web3d.org/x3d/content/examples/Basic/CAD/CadGeometryPrototypes.x3d#CADFace"
]
EXTERNPROTO CADPart [
# [appinfo] Representing the location and faces that constitute apart
# documentation: https://www.web3d.org/x3d/specifications/ISO-IEC-19775-Amendment1-PDAM-X3DAbstractSpecification/Part01/components/CADGeometry.html#CADPart
eventIn MFNode addChildren
eventIn MFNode removeChildren
exposedField MFNode children # [appinfo] The children field can only contain CADFace nodes.
# Specification initialization: NULL node
exposedField SFString name
exposedField SFVec3f translation
exposedField SFRotation rotation
exposedField SFVec3f center
exposedField SFVec3f scale
exposedField SFRotation scaleOrientation
field SFVec3f bboxCenter
field SFVec3f bboxSize
exposedField SFNode metadata # [appinfo] [X3DMetadataObject]
# Specification initialization: NULL node
][
# "CadGeometryPrototypes.wrl#CADPart"
"https://www.web3d.org/x3d/content/examples/Basic/CAD/CadGeometryPrototypes.wrl#CADPart"
# "CadGeometryPrototypes.x3d#CADPart"
"https://www.web3d.org/x3d/content/examples/Basic/CAD/CadGeometryPrototypes.x3d#CADPart"
]
EXTERNPROTO IndexedTriangleSet [
# [appinfo] IndexedTriangleSet represents a 3D shape composed of a collection of individual triangles.
field SFBool ccw
field SFBool colorPerVertex
field SFBool normalPerVertex
field SFBool solid
field MFInt32 index
eventIn MFInt32 set_index
exposedField SFNode color # [appinfo] Color, ColorRGBA node only
exposedField SFNode coord # [appinfo] Coordinate node only
exposedField SFNode normal # [appinfo] Normal node only
exposedField SFNode texCoord # [appinfo] TextureCoordinate node only
exposedField SFNode metadata # [appinfo] Metadata node only
][
# "RenderingComponentPrototypes.wrl#IndexedTriangleSet"
"https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.wrl#IndexedTriangleSet"
# "RenderingComponentPrototypes.x3d#IndexedTriangleSet"
"https://www.web3d.org/x3d/content/examples/Basic/development/RenderingComponentPrototypes.x3d#IndexedTriangleSet"
]
# [Scene] ========== ========== ==========
NavigationInfo { type [ "EXAMINE" "ANY" ] } ### Default X3D NavigationInfo
WorldInfo {
title "CADPartChildTransformationAlternativeC.x3d"
}
Background {
skyColor [ 0.9607843 1 0.9607843 ]
}
Viewpoint {
description "Hello CAD bushing"
orientation 1 0 0 -0.321751
position 0 5 15
}
CADAssembly {
name "DesignPatternAssembly"
children [
CADPart {
name "CADPartExample"
children [
# the rotation and translation attributes serve to position the bushing within the assembly
CADFace {
name "outerSurface"
shape Shape {
# note solid='true' and so one-sided external rendering only
geometry Cylinder {
bottom FALSE
height 3
radius 2
top FALSE
}
appearance DEF AppearanceGrey Appearance {
material Material {
}
}
}
}
CADFace {
name "innerSurface"
shape Shape {
# note solid='false' and so two-sided internal + external rendering
geometry Cylinder {
bottom FALSE
height 3
### Warning: (double-sided rendering of geometry primitive) not defined in VRML97 encoding, solid field ignored
top FALSE
}
appearance USE AppearanceGrey
}
}
Transform {
rotation 1 0 0 1.5708
translation 0 1.5 0
children [
CADFace {
name "topCap"
shape Shape {
geometry IndexedTriangleSet {
ccw TRUE
colorPerVertex TRUE
index [ 0 1 2 2 1 3 2 3 4 4 3 5 4 5 6 6 5 7 6 7 8 8 7 9 8 9 10 10 9 11 10 11 12 12 11 13 12 13 14 14 13 15 14 15 16 16 15 17 16 17 18 18 17 19 18 19 20 20 19 21 20 21 22 22 21 23 22 23 24 24 23 25 24 25 26 26 25 27 26 27 28 28 27 29 28 29 30 30 29 31 30 31 32 32 31 33 32 33 34 34 33 35 34 35 36 36 35 37 36 37 38 38 37 39 38 39 40 40 39 41 40 41 42 42 41 43 42 43 44 44 43 45 44 45 46 46 45 47 46 47 48 48 47 49 48 49 50 50 49 51 50 51 52 52 51 53 52 53 54 54 53 55 54 55 56 56 55 57 56 57 58 58 57 59 58 59 60 60 59 61 60 61 62 62 61 63 62 63 64 64 63 65 ]
normalPerVertex TRUE
solid TRUE
coord DEF HollowCircleCoordinates Coordinate {
point [ 2.0000 0.0000 0.0000 1.0000 0.0000 0.0000 1.9616 0.3902 0.0000 0.9808 0.1951 0.0000 1.8478 0.7654 0.0000 0.9239 0.3827 0.0000 1.6629 1.1111 0.0000 0.8315 0.5556 0.0000 1.4142 1.4142 0.0000 0.7071 0.7071 0.0000 1.1111 1.6629 0.0000 0.5556 0.8315 0.0000 0.7654 1.8478 0.0000 0.3827 0.9239 0.0000 0.3902 1.9616 0.0000 0.1951 0.9808 0.0000 0.0000 2.0000 0.0000 0.0000 1.0000 0.0000 -0.3902 1.9616 0.0000 -0.1951 0.9808 0.0000 -0.7654 1.8478 0.0000 -0.3827 0.9239 0.0000 -1.1111 1.6629 0.0000 -0.5556 0.8315 0.0000 -1.4142 1.4142 0.0000 -0.7071 0.7071 0.0000 -1.6629 1.1111 0.0000 -0.8315 0.5556 0.0000 -1.8478 0.7654 0.0000 -0.9239 0.3827 0.0000 -1.9616 0.3902 0.0000 -0.9808 0.1951 0.0000 -2.0000 0.0000 0.0000 -1.0000 0.0000 0.0000 -1.9616 -0.3902 0.0000 -0.9808 -0.1951 0.0000 -1.8478 -0.7654 0.0000 -0.9239 -0.3827 0.0000 -1.6629 -1.1111 0.0000 -0.8315 -0.5556 0.0000 -1.4142 -1.4142 0.0000 -0.7071 -0.7071 0.0000 -1.1111 -1.6629 0.0000 -0.5556 -0.8315 0.0000 -0.7654 -1.8478 0.0000 -0.3827 -0.9239 0.0000 -0.3902 -1.9616 0.0000 -0.1951 -0.9808 0.0000 -0.0000 -2.0000 0.0000 -0.0000 -1.0000 0.0000 0.3902 -1.9616 0.0000 0.1951 -0.9808 0.0000 0.7654 -1.8478 0.0000 0.3827 -0.9239 0.0000 1.1111 -1.6629 0.0000 0.5556 -0.8315 0.0000 1.4142 -1.4142 0.0000 0.7071 -0.7071 0.0000 1.6629 -1.1111 0.0000 0.8315 -0.5556 0.0000 1.8478 -0.7654 0.0000 0.9239 -0.3827 0.0000 1.9616 -0.3902 0.0000 0.9808 -0.1951 0.0000 2.0000 -0.0000 0.0000 1.0000 -0.0000 0.0000 ]
}
}
appearance USE AppearanceGrey
}
}
### Error: CADFace has improper parent Transform, note that normal CAD hierarchy is CADAssembly/CADPart/CADFace
]
}
Transform {
rotation -1 0 0 1.5708
translation 0 -1.5 0
children [
CADFace {
name "bottomCap"
shape Shape {
geometry IndexedTriangleSet {
ccw TRUE
colorPerVertex TRUE
index [ 0 1 2 2 1 3 2 3 4 4 3 5 4 5 6 6 5 7 6 7 8 8 7 9 8 9 10 10 9 11 10 11 12 12 11 13 12 13 14 14 13 15 14 15 16 16 15 17 16 17 18 18 17 19 18 19 20 20 19 21 20 21 22 22 21 23 22 23 24 24 23 25 24 25 26 26 25 27 26 27 28 28 27 29 28 29 30 30 29 31 30 31 32 32 31 33 32 33 34 34 33 35 34 35 36 36 35 37 36 37 38 38 37 39 38 39 40 40 39 41 40 41 42 42 41 43 42 43 44 44 43 45 44 45 46 46 45 47 46 47 48 48 47 49 48 49 50 50 49 51 50 51 52 52 51 53 52 53 54 54 53 55 54 55 56 56 55 57 56 57 58 58 57 59 58 59 60 60 59 61 60 61 62 62 61 63 62 63 64 64 63 65 ]
normalPerVertex TRUE
solid TRUE
coord USE HollowCircleCoordinates
}
appearance USE AppearanceGrey
}
}
### Error: CADFace has improper parent Transform, note that normal CAD hierarchy is CADAssembly/CADPart/CADFace
]
}
]
}
]
}