Skip to main content

CLI Commands Guide

info

Download the latest CLI packages for win/macOS/Linux here: https://app.rapidpipeline.com/cli.

The RapidPipeline 3D Processor CLI requires an Enterprise or Custom Plan: https://rapidpipeline.com/en/pricing/.

caution

Make sure to download only the CLI installers with version number 7.x.x and newer = 3D Processor. For version 6.x.x and older please refer to the Legacy Documentation.

Introduction

The RapidPipeline 3D Processor CLI utilizes commands in combination with configuration settings JSON files (= 3D Processor Presets) to steer the processing of 3D data.

RapidPipeline 3D Processor CLI v7 = rpdx

tip

Get started with using the 3D Processor CLI in the 3D Processor CLI Tutorials here.

Configuration Settings

For an overview of available Settings please refer to the general 3D Processing Schema & Settings Documentation.

Overview

Launching the CLI

ExecutableDescription
rpdxName of the 3D Processor Executable

calling the executable:

rpdx 

return:

=========================================================================f
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (5c23466, Aug 15 2024, 20:25:53)
=========================================================================
WARNING: Empty processing command pipeline. Not doing anything (use -h for help).

Available Commands

CommandArgumentDescription
-h [ --help ]Lists all available parameters
-i [ --import ]arg (directory/file)Imports an asset from a file
-p [ --print_info ]Prints information about the current 3D asset. This happens directly on file import
-r [ --run_processor ]Main command to run 3D processing. Requires an input configuration file or --export command to have any effect (the latter only from CLI v7.2.0 on).
--read_c [ --read_config ]arg(=config.json)Reads and applies the given configuration file. Multiple Configuration files can be read within the same commandline operation and will be combined if possible
--write_c [ --write_config ]arg(=config.json)Writes current settings to the given configuration file
--write_m [ --write_metrics ]arg(=rpd_metrics.json)Writes metrics to a file. This happens after all other outputs are generated
--write_i [ --write_info ]arg(=rpd_info.json)Writes information about the current 3D asset to a JSON file. This happens directly on file import
--renderarg(=rpd_render_config.json)Renders an image or turntable of the current asset. Render Settings are stored within the a respective rpd_rendering config
--system_configarg(=rpd_system_config.json)Reads and applies system configuration
--write_rp [ --write_rpdcache ]arg (directory/file)Writes rpdcache files. This happens directly on file import
-o [--output]arg (directory)Specifies directory name for file exports. The exported format(s) and settings can be configured in the Export Settings
tip

The --run_processor command is required for any 3D processing operation, including the --export command (from CLI v7.2.0 on). The following warnings might occure in different situations:

WARNING: --run_processor command is specified but no configuration setting or --export command found, doing nothing.
WARNING: No processing commands given. Add --run_processor command to apply settings and 3D file exports or --render to apply rendering settings and image file exports.
WARNING: --export is used without a processing command. Add --run_processor command to apply settings and 3D file exports

New Commands (since v7.2.0):

CommandArgumentDescription
-e [--export]arg (directory)Specifies directory and 3D format for a specific file export. If in addition Export Settings are defined within a JSON configuration file, the format(s) are ideally aligned between settings file and command line. If the export formats are not alligned, the formats specified with the --export command are auto-matched (per format) to the configuration and otherwise get written out with defaults.
caution

The --export command can not be used with CLI versions v7.0.0 - v7.1.1. It is only recognized from CLI v7.2.0 on.

Command Line Examples

example file

Model


help

input:

rpdx -h

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (5c23466, Aug 15 2024, 20:25:53)
=========================================================================

Usage: C:\Program Files\RapidPipeline 3D Processor 7.0.0\rpdx.exe -i <input-file> {[command]}

Example: C:\Program Files\RapidPipeline 3D Processor 7.0.0\rpdx.exe -i highres-mesh.ply

To explore a more detailed documentation, visit https://docs.rapidpipeline.com/

_______________________General_______________________:
-h [ --help ] lists all available parameters
-i [ --import ] arg imports an asset from a file
-p [ --print_info ] prints information about the current 3D
asset
--read_config arg reads and applies the given config file
--system_config arg reads and applies the given system
config file
-o [ --output ] arg defines the output directory for
exporting
--write_config [=arg(=rpd_config.json)]
writes current settings to the given
config file
--write_rpdcache [=arg(=input.rpdcache)]
writes input to cache file
--write_metrics [=arg(=rpd_metrics.json)]
writes metrics to a file using this ID
--write_info [=arg(=rpd_info.json)] writes information about the current 3D
asset to a JSON file
-r [ --run_processor ] process 3d asset

______________________Rendering______________________:
--render arg renders images according to a configuration file

import and print info

input:

rpdx -i BoomBox.glb -p

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (5c23466, Aug 15 2024, 20:25:53)
=========================================================================
Unlocked via RapidPipeline account.
Loading asset from file "BoomBox.glb".
//ASSET INFO BEGIN
{
"bbMin": [-0.00992115, -0.00977163, -0.0100762],
"bbMax": [0.00992115, 0.00977163, 0.0100762],
"bbCenter": [0, 0, 0],
"bbSize": [0.0198423, 0.0195433, 0.0201525],
"area3D": 0.00134651,
"numVertices": 3133,
"numVerticesSingleIndexed": 3575,
"numTriangles": 6036,
"numQuads": 0,
"numMeshes": 1,
"numSubMeshes": 1,
"numDrawCalls": 1,
"numMaterials": 1,
"numNodes": 2,
"numLights": 0,
"hasRigidAnimations": false,
"numRigidAnimations": 0,
"hasSkinnedAnimations": false,
"hasMorphTargets": false,
"animations": [],
"extensionsUsed": [],
"extensionsUnsupported": [],
"numTexels": 25165824,
"hasUVs": true,
"hasVertexColors": false,
"hasVertexNormals": true,
"hasVertexTangents": true,
"hasVertexBitangents": true,
"numOpaqueMaterials": 1,
"numAlphaBlendMaterials": 0,
"numAlphaMaskMaterials": 0,
"hasBaseColorMap": true,
"hasMetallicMap": true,
"hasRoughnessMap": true,
"hasEmissiveMap": true,
"hasTSNormalMap": true,
"hasOSNormalMap": false,
"hasOcclusionMap": true,
"hasDisplacmentMap": false,
"hasClearcoatMap": false,
"hasClearcoatColorMap": false,
"hasClearcoatRoughnessMap": false,
"hasClearcoatNormalMap": false,
"hasTransmissionMap": false,
"hasSheenColorMap": false,
"hasSheenRoughnessMap": false,
"hasSpecularColorMap": false,
"hasSpecularValueMap": false,
"hasThicknessMap": false,
"hasIridescenceMap": false,
"hasIridescenceThicknessMap": false,
"numBaseColorMaps": 1,
"numMetallicMaps": 1,
"numRoughnessMaps": 1,
"numEmissiveMaps": 1,
"numTSNormalMaps": 1,
"numOSNormalMaps": 0,
"numOcclusionMaps": 1,
"numDisplacmentMaps": 0,
"numClearcoatMaps": 0,
"numClearcoatColorMaps": 0,
"numClearcoatRoughnessMaps": 0,
"numClearcoatNormalMaps": 0,
"numTransmissionMaps": 0,
"numSheenColorMaps": 0,
"numSheenRoughnessMaps": 0,
"numSpecularColorMaps": 0,
"numSpecularValueMaps": 0,
"numThicknessMaps": 0,
"numIridescenceMaps": 0,
"numIridescenceThicknessMaps": 0,
"maxResBaseColorMapUV0": 2048,
"maxResMetallicMapUV0": 2048,
"maxResRoughnessMapUV0": 2048,
"maxResEmissiveMapUV0": 2048,
"maxResTSNormalMapUV0": 2048,
"maxResOcclusionMapUV0": 2048,
"avgAngleDistortion": 0.0750853,
"maxAngleDistortion": 0.952134,
"displacementReferenceMin": 0,
"displacementReferenceMax": 0
}
//ASSET INFO END

import and write info to file

input:

rpdx -i BoomBox.glb --write_i

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (5c23466, Aug 15 2024, 20:25:53)
=========================================================================
Unlocked via RapidPipeline account.
Loading asset from file "BoomBox.glb".
Writing info to default file name rpd_info.json

output info file

writing a configuration file

input:

rpdx --write_config

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (1012ed0, Aug 29 2024, 10:31:55)
=========================================================================
Writing config to file "rpd_config.json".
info

The default config written out by the 3D Processor CLI will write out a single file in the gltf format. Learn more about export settings and formats here: https://docs.rapidpipeline.com/docs/componentDocs/3dProcessingSchemaSettings/processor-schema-settings-v1.1#3d-processing-settings#format

reading a configuration file and running a 3d process

input:

rpdx --read_config example_default_config.json -i BoomBox.glb -r
caution

The 3D Processor CLI requires a configuration settings JSON file in order to perform a 3D process. Exception --export command, see section below.

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (1012ed0, Aug 29 2024, 10:31:55)
=========================================================================
Validated configuration file.
Unlocked via RapidPipeline account.
Loading asset from file "BoomBox.glb".
Skipping optimize
Saving asset to file "output\0_gltf\BoomBox.gltf".
Directory "output\0_gltf" does not exist, will be created.

As you can see by default a directory named "output" will be created containing sub-directories named after the respective chosen output format in addition to a numerical prefix.

tip

The Optimization process was not set in the example configuration file and thus was skipped. Learn more about Optimization settings here

export a 3D file

Exporting a 3D file with the RapidPipeline 3D Processor is done via a separate export section within the configuration settings JSON file. Read more about the export object and settings here.

Since CLI v7.2.0 there is an alternative --export command which can be used to specify a specfic 3D format and output path, while it simulates an export object with default settings for the respective specified 3D format.

export via configuration settings file

example config

input:

command:

rpdx --read_config example_export_config.json -i BoomBox.glb -r

settings file:

{
"export": [
{
"discard": {
"unusedUVs": false
},
"fileName": "",
"format": {
"gltf": {
"excludeTangents": true,
"geometryCompression": "draco"
}
},
"preserveTextureFilenames": false,
"reencodeTextures": "auto",
"textureMapFilePrefix": ""
},
{
"discard": {
"unusedUVs": false
},
"fileName": "",
"format": {
"fbx": {
"3dsMaxPhysicalMaterial": {},
"units": "m",
"unitConversion": true,
"axisSystem": "original",
"excludeTangents": true,
"flipNormalmapY": false,
"preferBinaryFormat": true
}
},
"preserveTextureFilenames": false,
"reencodeTextures": "auto",
"textureMapFilePrefix": ""
}
]
}
caution

To apply a 3D processing configuration, the 3D Processor CLI requires the --run_processor command (short: -r).

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.2.0 (ddc2b14, Feb 20 2025, 15:22:31)
=========================================================================
Validated configuration file.
Unlocked via RapidPipeline account.
Loading asset from file "BoomBox.glb".
Skipping optimize
Saving asset to file "output\0_gltf\BoomBox.gltf".
Directory output\0_gltf does not exist, will be created.
Saving asset to file "output\1_fbx\BoomBox.fbx".
Directory output\1_fbx does not exist, will be created.
FBX SDK Version: 7.7.0
FBX binary file version FBX201900

As you can see by default the 3d formats specified within the configuration file's export section are getting written out in a standardized way:

  • an output folder is created (this can be customized with the -o command, more about this command here
  • the formats are written out within format specific subfolders (e.g. 0_gltf), and are indexed according to their order, e.g. gltf as 0_gltf as it is the first format specified in the configuration file

export via command

input:

rpdx -i BoomBox.glb -e BoomBox_output.glb -r
caution

In order to export a 3D file, the 3D Processor CLI requires the --run_processor command (short from: -r). The export command requires CLI v 7.2.0 or newer.

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.2.0 (f4697d5, Feb 12 2025, 18:52:58)
=========================================================================
Unlocked via RapidPipeline account.
Loading asset from file "BoomBox.glb".
Skipping optimize
Saving asset to file "BoomBox_output.glb".

As you can see the return is similar to the export via configuration settings file above, only the validation of the configuration file is missing, as the --export command automatically triggered an implicit export section with glb format.

tip

The --export command also supports an output file path.

example:

rpdx -i BoomBox.glb -e output/BoomBox.glb -r

export via combined settings and command

input :

rpdx -i BoomBox.glb --read_config example_export_config.json -e gltf/BoomBox_output.gltf -e usdz/Boombox_output.usdz -r
info

If both a configuration settings file and the --export commands are given, the export formats are automatically matched between the specified settings formats and the ones in the commandline. If multiple of the same formats ares specified in a configuration file, the first export slot of the given format type get matched with the first occurance of the format in the command and so on.

Any unmatched formats from the command line are written out with default settings for the respective formats. Any unmatched formats from the settings file are written out with the default output directory and format specific sub-directories as seen above.

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.2.0 (ddc2b14, Feb 20 2025, 15:22:31)
=========================================================================
Validated configuration file.
Unlocked via RapidPipeline account.
Loading asset from file "BoomBox.glb".
Skipping optimize
Saving asset to file "gltf/BoomBox_output.gltf".
Directory gltf does not exist, will be created.
Saving asset to file "output\0_fbx\BoomBox.fbx".
Directory output\0_fbx does not exist, will be created.
FBX SDK Version: 7.7.0
FBX binary file version FBX201900
Saving asset to file "usdz/Boombox_output.usdz".
Directory usdz does not exist, will be created.

As you can see the gltf format was specified in the configurations settings file as well as the command and therefore got matched.

The fbx was not specified in the command and thus was written out in the default path (output/0_fbx/).

Finally the usdz file was only specified via the command and therefore is written out with default settings as well but within the path and name specified with the --export command.

rendering an image

input:

rpdx -i BoomBox.glb --render

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (1012ed0, Aug 29 2024, 10:31:55)
=========================================================================
Unlocked via RapidPipeline account.
Loading asset from file ".\BoomBox.glb".
Rendering image to file "output/renderings".
100% [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
Done.

output image:

Example banner

reading and applying rendering settings

example single image render config

This example render configuration differs from the default render settings in exactly one setting category:

intead of

[...]
"shadingMode": "pbr",
[...]

we are using

[...]
"shadingMode": "roughness",
[...]
info

Check out all the available rendering settings here.

input:

rpdx -i BoomBox.glb --render render-image_config.json

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (1012ed0, Aug 29 2024, 10:31:55)
=========================================================================
Unlocked via RapidPipeline account.
Loading asset from file ".\BoomBox.glb".
Reading renderer configuration file '.\render-image_config.json'.
Validated configuration file.
Rendering image to file "output/renderings".
100% [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
Done.

output image:

Example banner

rendering a turntable view

example turntable render config

input:

rpdx -i BoomBox.glb --render render-turntable_config.json

return:

=========================================================================
rpdx - The RapidPipeline 3D Processor CLI
v7.0.0 (1012ed0, Aug 29 2024, 10:31:55)
=========================================================================
Unlocked via RapidPipeline account.
Loading asset from file ".\BoomBox.glb".
Reading renderer configuration file '.\render-turntable_config.json'.
Validated configuration file.
Rendering image series to directory "output/renderings".
100% [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
Done.

output image series:

Example banner

Batch Processing

The 3D Processor CLI can be easily called within a larger environment such as a wrapper script. To get started please see a simplistic python based CLI wrapper script here