By using the Command Line Converter you can convert all supported file formats to the .bimct binary format without having to use the Web Service provided. This also means that you have to manage model id uniqueness and file storage that is already managed from web service apis.

The converted executable is located on the bin folder of the BimCT Converter distribution. To see all the file formats that are available for conversion use the following command (in Windows):

C:\BimCT_Converter\bin> BimEngineCore.exe list-extensions

This will give all the file format extensions that are provided by the conversion tool. You can use this output in your application to allow only specified file formats to be used or downloaded.

This is a sample output using the list-extensions command:

ifc
ifczip
ifcxml
dwg
dxf
dgn
dwfx
dwf
bin
rdf
bct
pdf
obj
dae
3ds
bmp
png
jpg
jpeg
tif
tiff
gltf
rvt
imodel
i.dgn
skp
rcs
rcp
pts
ply

**NOTE:** Some file formats like the obj, rvt or rcp may require companion files to be available as well using relative paths, so you need to have them in place as well before conversion begins.

To see all the available parameters for the conversion command use the following command (in Windows):

C:\BimCT_Converter\bin> BimEngineCore.exe convert

This will give you the Usage Guide of the converter:

Usage: BIMCT Converter convert [-adefghmnpqstvz] [-c=<pointCloudSize>]
-i=<inputFile> [-l=<logFile>]
[--model-id=<modelId>] -o=<outputFile>
[--start-element-id=<elementId>]
[-w=<pdfRasterDPI>] [-x=<upAxis>]
[-Z=<scaleFactor>] [@<filename>...]
[@<filename>...] One or more argument files containing options.
-a, --extract-spaces
-c, --point-cloud-size=<pointCloudSize>
Set point cloud point size in pixels, default is 3
Default: 3
-d, --2d-drawing
-e, --pdf-to-vector Choose PDF type between raster and vector
-f, --include-faces
-g, --gpu-snapshot
-h, --extract-hatches
-i, --input=<inputFile>
-l, --log-file=<logFile>
-m, --include-metadata
--model-id=<modelId> Set model id of the serialized model
Default: 1
-n, --ifc-lines-on
-o, --output=<outputFile>
-p, --show-progress
-q, --compute-quantities
-s, --create-snapshot
--start-element-id=<elementId>
Default: -1
-t, --extract-textures
-v, --verbose
-w, --pdf-raster-dpi=<pdfRasterDPI>
Set dots per inch for PDF raster files
Default: 300
-x, --point-cloud-up-axis=<upAxis>
The up axis for point cloud files either Y or Z
Default: Default
-z, --remove-lines
-Z, --scale-factor=<scaleFactor>
Set scale factor for the file, to measure
correctly if required
--version=<version> Serialization Version format. Supports versions 5, 6, 7.
Default: 7

2D Conversion Sample

To Convert a PDF file to BimCT file format you can use the following command:

BimEngineCore.exe convert --input=C:\PDF\MyPdf.pdf --output=C:\PDF\MyPdf.bimct --model-id=50 --2d-drawing -t -r

The model-id parameter will add a model id of your choice to the file so that it is then available from the visualization APIs.

The --2d-drawing parameter specifies that this is a 2D drawing (PDF) so only 2 axis will be used on model creation and the viewer will also know that it has to be initially renderered on a 2D Paper Space.

The -t or --extract-textures parameter is required in the case where images exist on the file, it mainly asks the converter to store the images as 3D textures so that they are visualized on the Realistic view, in the case of PDF this parameter is important to use.

**NOTE:** Always provide a unique model-id so that you make sure that no duplicate ids exist in your application.

3D Conversion Sample (minimum size / lowest quality)

To following example will only keep primitive information for rendering the file. It will exclude space elements, normals, textures, hatches, quantities and properties to lower the file size but it will also loose quality while viewing the file. This is essential for rendering Huge files in low end machines without GPU enabled.

BimEngineCore.exe convert --input=C:\PDF\MyRVT.pdf --output=C:\PDF\MyRVT.bimct --model-id=51 -r --remove-normals

The -r or --optimize-geometry parameter will try to optimize the geometry by removing duplicated vertices and apply geometry healing if applicable.

The --remove-normals parameter will remove the normals from the file, and they will be calculated be the rendering engine on loading time. When used with sun lights enabled the quality of the models will drop significantly.

3D Conversion Sample (maximum size / highest quality)

To following example will create a highest quality model that additionally includes properties and quantities.

BimEngineCore.exe convert --input=C:\PDF\MyRVT.pdf --output=C:\PDF\MyRVT.bimct --model-id=52 -r -f -m -t -a -q --normals-as-map

The -f or --include-faces parameter will calculate conceptual faces and add face index information to the file. This will allow fast face area and perimeter quanitity takeoffs.

The -m or --include-metadata parameter will add text metadata (properties, connections, compositions etc) information to the file. This will allow fast filtering of elements and fast data aggregations while viewing the model.

The -n or --normals-as-map parameter will store normals as a map to decrease file size. It is strongly recommended to always use this property.

The -t or --extract-textures parameter will compress and store all texure images and billboards in the file.

The -a or --extract-spaces parameter will extract Spaces in case of IFC and will extrude 2D Rooms and Areas to 3D in case of Revit files.

The -q or --compute-quantities parameter will compute quantitites individually for every element based on the Geometry of the element.

**QUANTITIES NOTE 1**: Quantity types are specified according to the classification of the element. So thickness for example has a different meaning in case of Floor (that is also height) and in case of Wall that is (thickness of wall). So it is crucial for the classification to be correct by the authoring tool.

**QUANTITIES NOTE 2**: In the case where errors exist in the geometry like missing triangles that could not be healed from the optimize geometry parameter, quantities may be wrong. The only way to check quantities are 100% correct is to use the methods provide in the Viewer Measurement Line and Face APIs.

Getting an Image Snapshot

By using -s or --create-snapshot parameters a png image of the converted model is created at the output location using the .bimct.png file extension.