/**
  * Read configuration file
  */
 private function getOptions($path)
 {
     \Classes\Controller\Util\Utils::ensure(file_exists($path), "Configuration file isn't found'");
     $options = parse_ini_file($path, true);
     \Classes\Controller\Util\Utils::ensure(is_array($options), "Configuration file is damaged");
     $coordinateTolerance = $options['coordinate_tolerance'];
     \Classes\Controller\Util\Utils::ensure($coordinateTolerance, "There is no [coordinate_tolerance] option in configuration file");
     \Classes\Factory\Model\Model::$coordinateTolerance = $coordinateTolerance;
     $epsilon = $options['epsilon'];
     \Classes\Controller\Util\Utils::ensure($epsilon, "There is no [epsilon] option in configuration file");
     \Classes\Utils\Math\Constant::$epsilon = $epsilon;
     $timeLimit = $options['time_limit'];
     \Classes\Controller\Util\Utils::ensure($timeLimit, "There is no [time_limit] option in configuration file");
     set_time_limit($timeLimit);
 }
    $memberLoadArray = $uploadFactory->upload('./Source/Excel/Small_Model/WO_Loads.xlsx', new \Classes\Instance\Load\Member\ConcentratedCommonMemberLoad());
    $notFoundObjects = Classes\Factory\Model\Addition\ConcentratedMemberLoadAddition::add($memberLoadArray);
    foreach ($notFoundObjects as $object) {
        $name = $object->getProperty('name')->get();
        echo "LOAD {$name} IS NOT FOUND<br/>";
    }
    echo "<br/>";
    Classes\Utils\Timer\Timer::stop('LOADS_UPLOAD');
    // UPLOAD CONSTRAINTS
    Classes\Utils\Timer\Timer::start('LOAD_CONSTRAINTS');
    $constraintArray = $uploadFactory->upload('./Source/Excel/Small_Model/Constraint.xlsx', new \Classes\Instance\Node\Constraint());
    foreach ($constraintArray as $object) {
        Classes\Factory\Model\Addition\ConstraintAddition::add($object);
    }
    Classes\Utils\Timer\Timer::stop('LOAD_CONSTRAINTS');
    // NUMERATION
    \Classes\Utils\Member\Numeration::numerateFromOne();
    \Classes\Utils\Node\Numeration::numerateFromOne();
    // Print
    Classes\Factory\Model\Model::servicePrint();
    Classes\Utils\Timer\Timer::servicePrint();
    echo '<hr />';
    // WRITE C++ FILE
    Classes\Factory\Export\Scad21ExportFactory::export("Model.cpp");
    // WRITE JSON FILE
    Classes\Factory\Export\JSONExportFactory::export("Model.json");
    // WRITE BINARY FILE
    Classes\Factory\Export\BinaryDataExportFactory::export("Model.bin");
} catch (Exception $e) {
    echo "Exception: " . $e->getMessage() . "</br>";
}