public static function add($objects)
 {
     //Prepare arrays
     self::$commonMemberLoadArray = array();
     self::$notFoundObjects = array();
     //Get TABLES
     self::$hashTable = \Classes\Factory\Model\Model::getHashTable();
     self::$loadTable = \Classes\Factory\Model\Model::getLoadTable();
     self::$commonMemberLoadTable = new \Classes\Factory\Model\Table\LoadTable();
     self::$emptyConnection = new \Classes\Factory\Connection\LoadConnection\GlobalCoordinateSystem();
     // Distribute objects to arrays
     foreach ($objects as $object) {
         self::prepareObject($object);
     }
     // DELETE DOUBLE NODES
     $tableArray = array(self::$hashTable, self::$commonMemberLoadTable);
     \Classes\Utils\Node\DoubleNodes::combineAll($tableArray);
     // SORT NODES
     \Classes\Factory\Model\Model::sortNodes();
     // Get NODES, MEMBERS
     self::$nodes = \Classes\Factory\Model\Model::getNodes();
     self::$members = \Classes\Factory\Model\Model::getMembers();
     // Find destination for all Common Member Loads
     self::distribute();
     // Return all not found loads
     $notFoundObjects = array();
     foreach (self::$notFoundObjects as $uin) {
         $notFoundObjects[] = self::$commonMemberLoadArray[$uin];
     }
     return $notFoundObjects;
 }
 function doExecute(\Classes\Controller\Controller\Request $request)
 {
     \Classes\Utils\Timer\Timer::start('COMBINE_DOUBLE_NODES');
     \Classes\Utils\Node\DoubleNodes::combineAll(array(\Classes\Factory\Model\Model::getHashTable()));
     \Classes\Utils\Timer\Timer::stop('COMBINE_DOUBLE_NODES');
     $request->addFeedback(\Classes\Utils\Timer\Timer::show('COMBINE_DOUBLE_NODES'));
     include \Classes\Controller\Util\Utils::createViewName('combineDoubleNodes');
 }
Example #3
0
include 'Classes/PHPExcel/IOFactory.php';
set_time_limit(36000);
\Classes\Factory\Model\Model::$coordinateTolerance = 0.01;
\Classes\Utils\Math\Constant::$epsilon = 0.01;
try {
    // UPLOAD STEEL MEMBERS
    Classes\Utils\Timer\Timer::start('STEEL_MEMBER_UPLOAD');
    $uploadFactory = new \Classes\Factory\Import\Instance\InstanceUploaderFromExcel();
    $steelMemberArray = $uploadFactory->upload('./Source/Excel/Small_Model/Members.xlsx', new \Classes\Instance\Member\SteelMember());
    foreach ($steelMemberArray as &$object) {
        Classes\Factory\Model\Addition\SteelMemberAddition::add($object);
    }
    Classes\Utils\Timer\Timer::stop('STEEL_MEMBER_UPLOAD');
    // DELETE DOUBLE NODES
    \Classes\Utils\Timer\Timer::start('COMBINE_DOUBLE_NODES');
    \Classes\Utils\Node\DoubleNodes::combineAll(array(Classes\Factory\Model\Model::getHashTable()));
    \Classes\Utils\Timer\Timer::stop('COMBINE_DOUBLE_NODES');
    // DIVIDE MEMBERS BY NODES
    \Classes\Utils\Timer\Timer::start('DIVIDE_ALL_MEMBERS');
    \Classes\Utils\Member\DivideMember::divideAllMembersByExistingNodes();
    \Classes\Utils\Timer\Timer::stop('DIVIDE_ALL_MEMBERS');
    // UPLOAD LOAD CASES
    Classes\Utils\Timer\Timer::start('LOAD_CASES_UPLOAD');
    $loadCaseArray = $uploadFactory->upload('./Source/Excel/Small_Model/Load Cases.xlsx', new \Classes\Instance\LoadCase\LoadCase());
    foreach ($loadCaseArray as $object) {
        Classes\Factory\Model\Addition\LoadCaseAddition::add($object);
    }
    Classes\Utils\Timer\Timer::stop('LOAD_CASES_UPLOAD');
    // UPLOAD LOADS
    Classes\Utils\Timer\Timer::start('LOADS_UPLOAD');
    $memberLoadArray = $uploadFactory->upload('./Source/Excel/Small_Model/Loads.xlsx', new \Classes\Instance\Load\Member\CommonMemberLoad());