Skip to content

create3000/x3d-tidy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

x3d-tidy

NPM Version NPM Downloads DeepScan grade

X3D converter, beautifier and minimizer

Synopsis

You can run x3d-tidy without installing it using npx:

npx x3d-tidy [options] -i input-file -o output-file [-i input-file -o output-file ...]

Overview

x3d-tidy is a command-line tool designed for processing X3D (Extensible 3D) files. It provides both conversion and data mining capabilities to enhance and streamline working with X3D content.

  • Run x3d-tidy with npx x3d-tidy ... directly from npm without installing it.
  • Format Conversion: Transforms X3D files between different encodings, such as XML, Classic VRML, and JSON.
  • Syntax Cleanup: Ensures well-formed and standardized X3D output by fixing structural inconsistencies and formatting issues.
  • Data Extraction: Mines relevant data from X3D scenes, allowing analysis and reuse of geometries, metadata, and structure.
  • Validation & Optimization: Helps identify errors, redundant elements, and inefficiencies in X3D models.
  • Command-line Usability: Easily integrates into automation workflows and scripts for batch processing.

This tool is particularly useful for developers, 3D artists, and researchers working with X3D-based applications, ensuring clean, efficient, and interoperable files.

Options

x3d-tidy interprets the following options when it is invoked:

-i file(s) ...

Set input file(s). This can be either a local file path or a URL. If there are less input files than output files, the last input file is used for the remaining output files.

-o file(s) ...

Set output file(s). To output it to stdout use only the extension, e.g. ".x3dv".

-s [TIDY, COMPACT, SMALL, CLEAN]

Set output style, default is "TIDY". "TIDY" results in a good readable file, but with larger size, whereas "CLEAN" result in the smallest size possible by removing all redundant whitespaces. The other values are somewhere in between.

-d integer

Set double precision, default is 15.

-f integer

Set float precision, default is 7.

-r

If set, infer profile and components from used nodes.

-m

If set, remove metadata nodes.

-v

Show version.

-h

Show help.

Supported Input File Types

Encoding File Extension MIME Type
X3D XML .x3d, .x3dz model/x3d+xml
X3D JSON .x3dj, .x3djz model/x3d+json
X3D Classic VRML .x3dv, .x3dvz model/x3d+vrml
VRML .wrl, .wrz model/vrml
glTF .gltf, .glb model/gltf+json
Wavefront OBJ .obj model/obj
STL .stl model/stl
PLY .ply model/ply
SVG Document .svg, .svgz image/svg+xml

Supported Output File Types

X3D Encoding File Extension MIME Type
XML .x3d, .x3dz model/x3d+xml
JSON .x3dj, .x3djz model/x3d+json
Classic VRML .x3dv, .x3dvz model/x3d+vrml
HTML .html text/html

Examples

Convert an XML encoded file to a VRML encoded file.

$ npx x3d-tidy -i file.x3d -o file.x3dv

Convert an XML encoded file to a VRML encoded file and a JSON encoded file with smallest size possible by removing redundant whitespaces.

$ npx x3d-tidy -s CLEAN -i file.x3d -o file.x3dv file.x3dj

Online Converter

Online X3D File Format Converter powered by X_ITE.