BimCT SDK / WebGL2 Viewer
    Preparing search index...

    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
    ifcxml
    ifczip
    dwg
    dxf
    dgn
    dwfx
    dwf
    bin
    rdf
    bct
    pdf
    obj
    dae
    3ds
    bmp
    png
    jpg
    jpeg
    tif
    tiff
    gltf
    rcp
    rcs
    pts
    ply
    rvt
    imodel
    i.dgn
    skp
    bimct

    **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] [--dynamic-all]
    [--shape-support] [--text-shape-support]
    [-c=<pointCloudSize>] -i=<inputFile>
    [-l=<logFile>] [--lod=<lodLevel>]
    [--model-id=<modelId>] -o=<outputFile>
    [--password=<password>]
    [--progress-file=<progressFile>]
    [--start-element-id=<elementId>]
    [-w=<pdfRasterDPI>] [-x=<upAxis>]
    [-Z=<scaleFactor>]
    [--dynamic-classes=<dynamicClasses>[,
    <dynamicClasses>...]]...
    [--dynamic-global-ids=<dynamicGlobalIds>[,
    <dynamicGlobalIds>...]]... [@<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
    --dynamic-all Mark all elements as dynamic
    --dynamic-classes=<dynamicClasses>[,<dynamicClasses>...]
    A comma seperated list of classes that are to be
    used as dynamic elements (have a transformation
    matrix while rendering) ie. wall, door
    --dynamic-global-ids=<dynamicGlobalIds>[,<dynamicGlobalIds>...]
    A comma seperated list of global ids that are to
    be used as dynamic elements (have a
    transformation matrix while rendering)
    -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>
    --lod=<lodLevel> Set LoD level -1 no LOD and values from 0-4
    Default: -1
    -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
    --password=<password> Password for encrypted files
    --progress-file=<progressFile>
    File to write conversion progress to
    -q, --compute-quantities
    -s, --create-snapshot
    --shape-support Enable shape support for measurements
    --start-element-id=<elementId>
    Default: -1
    -t, --extract-textures
    --text-shape-support Enable text shape support
    -v, --verbose
    -w, --pdf-raster-dpi=<pdfRasterDPI>
    Set dots per inch for PDF raster files
    Default: 180
    -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

    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.

    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.

    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.

    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.