### General usage ```sh osr-cad sw --src=(FOLDER||FILE)/GLOB --dst=EXPRESSION||FILE||FOLDER/GLOB ``` ### Parameters **src** : The source directory or file. This can be a glob pattern. **dst** : The source directory or file. This can be a glob pattern with expressions. **configuration** : The model configuration ### Variables **SRC_DIR** : The directory of the current file being converted **SRC_NAME** : The file name of the current file being converted **SRC_FILE_EXT** : The file extension of the current file being converted ## Basics ### Convert all assembly files to PDF files in the current directory ```sh osr-cad sw --src='../plastichub/products/elena/cad/*.SLDASM' --dst='${SRC_NAME}.pdf' ``` ### Convert all assembly files to PDF files in the source directory ```sh osr-cad sw --src='../plastichub/products/elena/cad/*.SLDASM' --dst='${SRC_DIR}/${SRC_NAME}.pdf' ``` ### Convert all assembly files to PDF files in the source directory, recursively **Note** : Recursion can be added by using `**/`. ```sh osr-cad sw --src='../plastichub/products/elena/cad/**/*.SLDASM' --dst='${SRC_DIR}/${SRC_NAME}.pdf' ``` ### Convert all assembly and part files to PDF files in the source directory, recursively **Note** : Recursion can be added by using `**/`. **Note** : To select or use multiple file extensions, write ```*.+(SLDASM|SLDPRT)``` instead of ```*.SLDASM``` ```sh osr-cad sw --src='../plastichub/products/elena/cad/**/*.+(SLDASM|SLDPRT)' --dst='${SRC_DIR}/${SRC_NAME}.pdf' ``` ### Convert all assembly and part files to PDF and JPG files in the source directory, recursively **Note** : Recursion can be added by using `**/`. **Note** : To select or use multiple file extensions, write ```*.+(SLDASM|SLDPRT)``` instead of ```*.SLDASM``` ```sh osr-cad sw --src='../plastichub/products/elena/cad/**/*.+(SLDASM|SLDPRT)' --dst='${SRC_DIR}/${SRC_NAME}.+(pdf|jpg)' ``` ### Convert all assembly files to STEP and PDF files in the source directory ```sh osr-cad sw --src='./products/asterix-pp/cad/*.+(SLDASM)' --dst='${SRC_DIR}/${SRC_NAME}.+(step|pdf)' ``` ### Extra all custom properties and depending parts from assembly files to JSON files in the source directory ```sh osr-cad sw --src='./products/asterix-pp/cad/*.+(SLDASM)' --dst='${SRC_DIR}/${SRC_NAME}.+(json)' ``` ### Convert parts or assemblies to HTML files (all incl. view and data) - using eDrawings interop API ```sh osr-cad sw --src='./products/asterix-pp/cad/*.+(SLDASM)' --dst='${SRC_DIR}/${SRC_NAME}.+(html)' ``` ### Extract all configurations and their custom properties to a JSON file **Note** : append the destination path with `-configs.json` ! It accepts only `SLDASM` as source! ```sh osr-cad sw --src='./products/asterix-pp/cad/*.+(SLDASM)' --dst='${SRC_DIR}/${SRC_NAME}-configs.+(json)' ``` ### Convert all assembly configurations to step & HTML **Note** : append the destination path with `${CONFIGURATION}` to enumerate through all configurations ! It accepts only `SLDASM` as source! ```sh osr-cad sw --src='./products/asterix-pp/cad/*.+(SLDASM)' --dst='${SRC_DIR}/${SRC_NAME}-${CONFIGURATION}.+(step|html)' ``` ### Export drawio files to png, pdf or jpg **Remarks** - make sure that draw.io.exe is being found globally (add the path to Draw.io to your Environment path variable! ) - Draw.io can be downloaded here [https://github.com/jgraph/drawio-desktop/releases/tag/v14.6.13](https://github.com/jgraph/drawio-desktop/releases/tag/v14.6.13) - to see more options, please run ```draw.io.exe --help```: (forward the arguments using ```--args='-t'```) ```bash Usage: draw.io [options] [input file/folder] Options: -V, --version output the version number -c, --create creates a new empty file if no file is passed -k, --check does not overwrite existing files -x, --export export the input file/folder based on the given options -r, --recursive for a folder input, recursively convert all files in sub-folders also -o, --output specify the output file/folder. If omitted, the input file name is used for output with the specified format as extension -f, --format if output file name extension is specified, this option is ignored (file type is determined from output extension, possible export formats are pdf, png, jpg, svg, vsdx, and xml) (default: "pdf") -q, --quality output image quality for JPEG (default: 90) -t, --transparent set transparent background for PNG -e, --embed-diagram includes a copy of the diagram (for PNG format only) -b, --border sets the border width around the diagram (default: 0) -s, --scale scales the diagram size --width fits the generated image/pdf into the specified width, preserves aspect ratio. --height fits the generated image/pdf into the specified height, preserves aspect ratio. --crop crops PDF to diagram size -a, --all-pages export all pages (for PDF format only) -p, --page-index selects a specific page, if not specified and the format is an image, the first page is selected -g, --page-range .. selects a page range (for PDF format only) -u, --uncompressed Uncompressed XML output (for XML format only) -h, --help display help for command ``` ```sh osr-cad sw --src='./products/extrusion/**/*.+(drawio)' --dst='${SRC_DIR}/${SRC_NAME}.+(png)' ``` ### Create & export BOMs from assembly files **Remarks** - it's using by default osr-cad/sw/bom-all.sldbomtbt as table template - run osr-cad --help to see the BOM options ```sh osr-cad sw --src='./products/extrusion/**/*.+(SLDASM)' --dst='${SRC_DIR}/${SRC_NAME}.+(xlsx)' ``` ### Pack Assembly (aka 'pack and go') ```sh osr-cad pack --src=../../ph3/products/products/injection/elena/cad/Global*.SLDASM --dst="../test" ```