diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b1d412..e4da2f6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,6 +278,7 @@ set(ONDSELSOLVER_SRC OndselSolver/PointInLineJoint.cpp OndselSolver/PointInPlaneJoint.cpp OndselSolver/Polynomial.cpp + OndselSolver/PosICDragNewtonRaphson.cpp OndselSolver/PosICKineNewtonRaphson.cpp OndselSolver/PosICNewtonRaphson.cpp OndselSolver/PosKineNewtonRaphson.cpp @@ -596,6 +597,7 @@ set(ONDSELSOLVER_HEADERS OndselSolver/PlanarJoint.h OndselSolver/PointInLineJoint.h OndselSolver/PointInPlaneJoint.h + OndselSolver/PosICDragNewtonRaphson.h OndselSolver/PosICKineNewtonRaphson.h OndselSolver/PosICNewtonRaphson.h OndselSolver/PosKineNewtonRaphson.h diff --git a/OndselSolver/ASMTAssembly.cpp b/OndselSolver/ASMTAssembly.cpp index 264d119..68194b7 100644 --- a/OndselSolver/ASMTAssembly.cpp +++ b/OndselSolver/ASMTAssembly.cpp @@ -65,6 +65,12 @@ MbD::ASMTAssembly::ASMTAssembly() : ASMTSpatialContainer() times = std::make_shared>(); } +std::shared_ptr MbD::ASMTAssembly::With() +{ + auto assembly = std::make_shared(); + return assembly; +} + void MbD::ASMTAssembly::runSinglePendulumSuperSimplified() { //In this version we skip declaration of variables that don't need as they use default values. @@ -383,6 +389,28 @@ void MbD::ASMTAssembly::runSinglePendulum() assembly->runKINEMATIC(); } +std::shared_ptr MbD::ASMTAssembly::assemblyFromFile(const char* fileName) +{ + std::ifstream stream(fileName); + if (stream.fail()) { + throw std::invalid_argument("File not found."); + } + std::string line; + std::vector lines; + while (std::getline(stream, line)) { + lines.push_back(line); + } + auto assembly = ASMTAssembly::With(); + auto str = assembly->popOffTop(lines); + bool bool1 = str == "freeCAD: 3D CAD with Motion Simulation by askoh.com"; + bool bool2 = str == "OndselSolver"; + assert(bool1 || bool2); + assert(assembly->readStringOffTop(lines) == "Assembly"); + assembly->setFilename(fileName); + assembly->parseASMT(lines); + return assembly; +} + void MbD::ASMTAssembly::runFile(const char* fileName) { std::ifstream stream(fileName); @@ -408,6 +436,25 @@ void MbD::ASMTAssembly::runFile(const char* fileName) } } +void MbD::ASMTAssembly::runDraggingTest() +{ + auto assembly = ASMTAssembly::assemblyFromFile("../testapp/dragCrankSlider.asmt"); + auto dragPart = assembly->parts->at(0); + auto dragParts = std::make_shared>>(); + dragParts->push_back(dragPart); + assembly->runPreDrag(); //Do this before first drag + FColDsptr pos3D, delta; + pos3D = dragPart->position3D; + delta = std::make_shared>(ListD{ 0.1, 0.2, 0.3 }); + dragPart->updateMbDFromPosition3D(pos3D->plusFullColumn(delta)); + assembly->runDragStep(dragParts); + pos3D = dragPart->position3D; + delta = std::make_shared>(ListD{ 0.3, 0.2, 0.1 }); + dragPart->updateMbDFromPosition3D(pos3D->plusFullColumn(delta)); + assembly->runDragStep(dragParts); + assembly->runPostDrag(); //Do this after last drag +} + void MbD::ASMTAssembly::readWriteFile(const char* fileName) { std::ifstream stream(fileName); @@ -1046,10 +1093,36 @@ void MbD::ASMTAssembly::solve() runKINEMATIC(); } +void MbD::ASMTAssembly::runPreDrag() +{ + mbdSystem = std::make_shared(); + mbdSystem->externalSystem->asmtAssembly = this; + try { + mbdSystem->runPreDrag(mbdSystem); + } + catch (SimulationStoppingError ex) { + + } +} + +void MbD::ASMTAssembly::runDragStep(std::shared_ptr>> dragParts) +{ + auto dragMbDParts = std::make_shared>>(); + for (auto& dragPart : *dragParts) { + auto dragMbDPart = std::static_pointer_cast(dragPart->mbdObject); + dragMbDParts->push_back(dragMbDPart); + } + mbdSystem->runDragStep(dragMbDParts); +} + +void MbD::ASMTAssembly::runPostDrag() +{ + runPreDrag(); +} + void MbD::ASMTAssembly::runKINEMATIC() { - auto mbdSystem = std::make_shared(); - mbdObject = mbdSystem; + mbdSystem = std::make_shared(); mbdSystem->externalSystem->asmtAssembly = this; try { mbdSystem->runKINEMATIC(mbdSystem); diff --git a/OndselSolver/ASMTAssembly.h b/OndselSolver/ASMTAssembly.h index 7f24a76..3cf4af5 100644 --- a/OndselSolver/ASMTAssembly.h +++ b/OndselSolver/ASMTAssembly.h @@ -33,11 +33,14 @@ namespace MbD { // public: ASMTAssembly(); + static std::shared_ptr With(); static void runSinglePendulumSuperSimplified(); static void runSinglePendulumSuperSimplified2(); static void runSinglePendulumSimplified(); static void runSinglePendulum(); + static std::shared_ptr assemblyFromFile(const char* chars); static void runFile(const char* chars); + static void runDraggingTest(); static void readWriteFile(const char* chars); void initialize() override; ASMTAssembly* root() override; @@ -83,6 +86,9 @@ namespace MbD { /* This function performs a one shot solve of the assembly.*/ void solve(); + void runPreDrag(); + void runDragStep(std::shared_ptr>> dragParts); + void runPostDrag(); void runKINEMATIC(); void initprincipalMassMarker(); std::shared_ptr spatialContainerAt(std::shared_ptr self, std::string& longname); @@ -128,6 +134,7 @@ namespace MbD { std::shared_ptr> times = std::make_shared>(); std::shared_ptr asmtTime = std::make_shared(); std::shared_ptr mbdUnits = std::make_shared(); + std::shared_ptr mbdSystem; MBDynSystem* mbdynItem = nullptr; }; } diff --git a/OndselSolver/ASMTItem.cpp b/OndselSolver/ASMTItem.cpp index 0f81a50..a56f3a6 100644 --- a/OndselSolver/ASMTItem.cpp +++ b/OndselSolver/ASMTItem.cpp @@ -56,6 +56,22 @@ void MbD::ASMTItem::parseASMT(std::vector&) assert(false); } +std::string MbD::ASMTItem::popOffTop(std::vector& args) +{ + auto str = args.at(0); //Must copy string + args.erase(args.begin()); + return str; +} + +std::string MbD::ASMTItem::readStringOffTop(std::vector& args) +{ + auto iss = std::istringstream(args.at(0)); + args.erase(args.begin()); + std::string str; + iss >> str; + return str; +} + FRowDsptr MbD::ASMTItem::readRowOfDoubles(std::string& line) { std::istringstream iss(line); diff --git a/OndselSolver/ASMTItem.h b/OndselSolver/ASMTItem.h index 6754b30..848cc7b 100644 --- a/OndselSolver/ASMTItem.h +++ b/OndselSolver/ASMTItem.h @@ -19,6 +19,7 @@ namespace MbD { { // public: + ASMTItem() {} virtual ~ASMTItem() {} virtual ASMTAssembly* root(); virtual ASMTSpatialContainer* partOrAssembly(); @@ -29,6 +30,8 @@ namespace MbD { virtual std::string classname(); void setName(std::string str); virtual void parseASMT(std::vector& lines); + std::string popOffTop(std::vector& args); + std::string readStringOffTop(std::vector& args); FRowDsptr readRowOfDoubles(std::string& line); FColDsptr readColumnOfDoubles(std::string& line); double readDouble(std::string& line); diff --git a/OndselSolver/ASMTMarker.cpp b/OndselSolver/ASMTMarker.cpp index e99bf74..3355652 100644 --- a/OndselSolver/ASMTMarker.cpp +++ b/OndselSolver/ASMTMarker.cpp @@ -15,57 +15,57 @@ #include "MarkerFrame.h" #include "ASMTPrincipalMassMarker.h" -namespace MbD { - void ASMTMarker::parseASMT(std::vector& lines) - { - readName(lines); - readPosition3D(lines); - readRotationMatrix(lines); - } +using namespace MbD; - FColDsptr ASMTMarker::rpmp() - { - //p is cm - auto refItem = static_cast(owner); - auto& rPrefP = refItem->position3D; - auto& aAPref = refItem->rotationMatrix; - auto& rrefmref = position3D; - auto rPmP = rPrefP->plusFullColumn(aAPref->timesFullColumn(rrefmref)); - auto& principalMassMarker = static_cast(refItem->owner)->principalMassMarker; - auto& rPcmP = principalMassMarker->position3D; - auto& aAPcm = principalMassMarker->rotationMatrix; - auto rpmp = aAPcm->transposeTimesFullColumn(rPmP->minusFullColumn(rPcmP)); - return rpmp; - } +void ASMTMarker::parseASMT(std::vector& lines) +{ + readName(lines); + readPosition3D(lines); + readRotationMatrix(lines); +} - FMatDsptr ASMTMarker::aApm() - { - //p is cm - auto refItem = static_cast(owner); - auto& aAPref = refItem->rotationMatrix; - auto& aArefm = rotationMatrix; - auto& principalMassMarker = static_cast(refItem->owner)->principalMassMarker; - auto& aAPcm = principalMassMarker->rotationMatrix; - auto aApm = aAPcm->transposeTimesFullMatrix(aAPref->timesFullMatrix(aArefm)); - return aApm; - } +FColDsptr ASMTMarker::rpmp() +{ + //p is cm + auto refItem = static_cast(owner); + auto& rPrefP = refItem->position3D; + auto& aAPref = refItem->rotationMatrix; + auto& rrefmref = position3D; + auto rPmP = rPrefP->plusFullColumn(aAPref->timesFullColumn(rrefmref)); + auto& principalMassMarker = static_cast(refItem->owner)->principalMassMarker; + auto& rPcmP = principalMassMarker->position3D; + auto& aAPcm = principalMassMarker->rotationMatrix; + auto rpmp = aAPcm->transposeTimesFullColumn(rPmP->minusFullColumn(rPcmP)); + return rpmp; +} - void ASMTMarker::createMbD(std::shared_ptr, std::shared_ptr mbdUnits) - { - auto mkr = CREATE::With(name.c_str()); - auto prt = std::static_pointer_cast(partOrAssembly()->mbdObject); - prt->partFrame->addMarkerFrame(mkr); +FMatDsptr ASMTMarker::aApm() +{ + //p is cm + auto refItem = static_cast(owner); + auto& aAPref = refItem->rotationMatrix; + auto& aArefm = rotationMatrix; + auto& principalMassMarker = static_cast(refItem->owner)->principalMassMarker; + auto& aAPcm = principalMassMarker->rotationMatrix; + auto aApm = aAPcm->transposeTimesFullMatrix(aAPref->timesFullMatrix(aArefm)); + return aApm; +} - mkr->rpmp = rpmp()->times(1.0 / mbdUnits->length); - mkr->aApm = aApm(); - mbdObject = mkr->endFrames->at(0); - } +void ASMTMarker::createMbD(std::shared_ptr, std::shared_ptr mbdUnits) +{ + auto mkr = CREATE::With(name.c_str()); + auto prt = std::static_pointer_cast(partOrAssembly()->mbdObject); + prt->partFrame->addMarkerFrame(mkr); + + mkr->rpmp = rpmp()->times(1.0 / mbdUnits->length); + mkr->aApm = aApm(); + mbdObject = mkr->endFrames->at(0); +} - void ASMTMarker::storeOnLevel(std::ofstream& os, int level) - { - storeOnLevelString(os, level, "Marker"); - storeOnLevelString(os, level + 1, "Name"); - storeOnLevelString(os, level + 2, name); - ASMTSpatialItem::storeOnLevel(os, level); - } +void ASMTMarker::storeOnLevel(std::ofstream& os, int level) +{ + storeOnLevelString(os, level, "Marker"); + storeOnLevelString(os, level + 1, "Name"); + storeOnLevelString(os, level + 2, name); + ASMTSpatialItem::storeOnLevel(os, level); } diff --git a/OndselSolver/ASMTMotion.cpp b/OndselSolver/ASMTMotion.cpp index c7d4da1..7967d99 100644 --- a/OndselSolver/ASMTMotion.cpp +++ b/OndselSolver/ASMTMotion.cpp @@ -9,36 +9,36 @@ #include "ASMTMotion.h" -namespace MbD { - void ASMTMotion::readMotionSeries(std::vector& lines) - { - std::string str = lines[0]; - std::string substr = "MotionSeries"; - auto pos = str.find(substr); - assert(pos != std::string::npos); - str.erase(0, pos + substr.length()); - auto seriesName = readString(str); - assert(fullName("") == seriesName); - lines.erase(lines.begin()); - readFXonIs(lines); - readFYonIs(lines); - readFZonIs(lines); - readTXonIs(lines); - readTYonIs(lines); - readTZonIs(lines); - } +using namespace MbD; - void ASMTMotion::initMarkers() - { - } +void ASMTMotion::readMotionSeries(std::vector& lines) +{ + std::string str = lines[0]; + std::string substr = "MotionSeries"; + auto pos = str.find(substr); + assert(pos != std::string::npos); + str.erase(0, pos + substr.length()); + auto seriesName = readString(str); + assert(fullName("") == seriesName); + lines.erase(lines.begin()); + readFXonIs(lines); + readFYonIs(lines); + readFZonIs(lines); + readTXonIs(lines); + readTYonIs(lines); + readTZonIs(lines); +} + +void ASMTMotion::initMarkers() +{ +} - void ASMTMotion::storeOnLevel(std::ofstream&, int) - { - assert(false); - } +void ASMTMotion::storeOnLevel(std::ofstream&, int) +{ + assert(false); +} - void ASMTMotion::storeOnTimeSeries(std::ofstream&) - { - assert(false); - } +void ASMTMotion::storeOnTimeSeries(std::ofstream&) +{ + assert(false); } diff --git a/OndselSolver/ASMTRotationalMotion.cpp b/OndselSolver/ASMTRotationalMotion.cpp index c43bd3b..34819c8 100644 --- a/OndselSolver/ASMTRotationalMotion.cpp +++ b/OndselSolver/ASMTRotationalMotion.cpp @@ -73,7 +73,7 @@ void MbD::ASMTRotationalMotion::createMbD(std::shared_ptr mbdSys, std::s geoPhi->createMbD(mbdSys, mbdUnits); //std::cout << *geoPhi << std::endl; auto simple = geoPhi->simplified(geoPhi); - //std::cout << *simple << std::endl; + std::cout << *simple << std::endl; std::static_pointer_cast(mbdObject)->phiBlk = simple; } diff --git a/OndselSolver/ASMTSpatialContainer.cpp b/OndselSolver/ASMTSpatialContainer.cpp index 6ff4abd..21bf372 100644 --- a/OndselSolver/ASMTSpatialContainer.cpp +++ b/OndselSolver/ASMTSpatialContainer.cpp @@ -20,7 +20,7 @@ using namespace MbD; -MbD::ASMTSpatialContainer::ASMTSpatialContainer() +MbD::ASMTSpatialContainer::ASMTSpatialContainer() : ASMTSpatialItem() { refPoints = std::make_shared>>(); refCurves = std::make_shared>>(); @@ -293,6 +293,14 @@ void MbD::ASMTSpatialContainer::createMbD(std::shared_ptr mbdSys, std::s } } +void MbD::ASMTSpatialContainer::updateMbDFromPosition3D(FColDsptr vec) +{ + position3D = vec; + auto mbdPart = std::static_pointer_cast(mbdObject); + auto mbdUnits = this->mbdUnits(); + mbdPart->qX(rOcmO()->times(1.0 / mbdUnits->length)); +} + FColDsptr MbD::ASMTSpatialContainer::rOcmO() { auto& rOPO = position3D; diff --git a/OndselSolver/ASMTSpatialContainer.h b/OndselSolver/ASMTSpatialContainer.h index 415ac21..3581726 100644 --- a/OndselSolver/ASMTSpatialContainer.h +++ b/OndselSolver/ASMTSpatialContainer.h @@ -61,6 +61,7 @@ namespace MbD { void readAlphaYs(std::vector& lines); void readAlphaZs(std::vector& lines); void createMbD(std::shared_ptr mbdSys, std::shared_ptr mbdUnits) override; + void updateMbDFromPosition3D(FColDsptr position3D); FColDsptr rOcmO(); std::shared_ptr> qEp(); virtual FColDsptr vOcmO(); diff --git a/OndselSolver/ASMTSpatialItem.cpp b/OndselSolver/ASMTSpatialItem.cpp index b64f8f8..91bf043 100644 --- a/OndselSolver/ASMTSpatialItem.cpp +++ b/OndselSolver/ASMTSpatialItem.cpp @@ -14,6 +14,10 @@ using namespace MbD; +MbD::ASMTSpatialItem::ASMTSpatialItem() : ASMTItem() +{ +} + void MbD::ASMTSpatialItem::setPosition3D(FColDsptr vec) { position3D = vec; diff --git a/OndselSolver/ASMTSpatialItem.h b/OndselSolver/ASMTSpatialItem.h index 16b81ea..acbf796 100644 --- a/OndselSolver/ASMTSpatialItem.h +++ b/OndselSolver/ASMTSpatialItem.h @@ -15,6 +15,7 @@ namespace MbD { { // public: + ASMTSpatialItem(); void setPosition3D(FColDsptr position3D); void setRotationMatrix(FMatDsptr rotationMatrix); void readPosition3D(std::vector& lines); diff --git a/OndselSolver/Array.h b/OndselSolver/Array.h index 39eccad..a3aca4c 100644 --- a/OndselSolver/Array.h +++ b/OndselSolver/Array.h @@ -116,7 +116,7 @@ namespace MbD { inline double Array::maxMagnitudeOfVector() { double answer = 0.0; - for (int i = 0; i < (int)this->size(); i++) + for (int i = 0; i < this->size(); i++) { double mag = std::abs(this->at(i)); if (answer < mag) answer = mag; diff --git a/OndselSolver/DirectionCosineIecJec.cpp b/OndselSolver/DirectionCosineIecJec.cpp index 942570f..1c3e89e 100644 --- a/OndselSolver/DirectionCosineIecJec.cpp +++ b/OndselSolver/DirectionCosineIecJec.cpp @@ -5,32 +5,31 @@ * * * See LICENSE file for details about copyright. * ***************************************************************************/ - + #include #include "DirectionCosineIecJec.h" #include "EndFramec.h" -namespace MbD { - DirectionCosineIecJec::DirectionCosineIecJec() - = default; +using namespace MbD; - DirectionCosineIecJec::DirectionCosineIecJec(EndFrmsptr frmi, EndFrmsptr frmj, int axisi, int axisj) : - KinematicIeJe(frmi, frmj), axisI(axisi), axisJ(axisj) - { +DirectionCosineIecJec::DirectionCosineIecJec() += default; - } +DirectionCosineIecJec::DirectionCosineIecJec(EndFrmsptr frmi, EndFrmsptr frmj, int axisi, int axisj) : + KinematicIeJe(frmi, frmj), axisI(axisi), axisJ(axisj) +{ - void DirectionCosineIecJec::calcPostDynCorrectorIteration() - { - aAjOIe = frmI->aAjOe(axisI); - aAjOJe = frmJ->aAjOe(axisJ); - aAijIeJe = aAjOIe->dot(aAjOJe); - } +} - double MbD::DirectionCosineIecJec::value() - { - return aAijIeJe; - } +void DirectionCosineIecJec::calcPostDynCorrectorIteration() +{ + aAjOIe = frmI->aAjOe(axisI); + aAjOJe = frmJ->aAjOe(axisJ); + aAijIeJe = aAjOIe->dot(aAjOJe); } +double MbD::DirectionCosineIecJec::value() +{ + return aAijIeJe; +} diff --git a/OndselSolver/ExternalSystem.cpp b/OndselSolver/ExternalSystem.cpp index e886be8..4982958 100644 --- a/OndselSolver/ExternalSystem.cpp +++ b/OndselSolver/ExternalSystem.cpp @@ -26,6 +26,19 @@ void MbD::ExternalSystem::preMbDrun(std::shared_ptr mbdSys) } } +void MbD::ExternalSystem::updateFromMbD() +{ + if (cadSystem) { + cadSystem->updateFromMbD(); + } + else if (asmtAssembly) { + asmtAssembly->updateFromMbD(); + } + else { + assert(false); + } +} + void MbD::ExternalSystem::outputFor(AnalysisType type) { if (cadSystem) { diff --git a/OndselSolver/ExternalSystem.h b/OndselSolver/ExternalSystem.h index 0b646df..743f044 100644 --- a/OndselSolver/ExternalSystem.h +++ b/OndselSolver/ExternalSystem.h @@ -25,6 +25,7 @@ namespace MbD { // public: void preMbDrun(std::shared_ptr mbdSys); + void updateFromMbD(); void outputFor(AnalysisType type); void logString(std::string& str); void logString(double value); diff --git a/OndselSolver/OndselSolver.vcxproj b/OndselSolver/OndselSolver.vcxproj index a319746..fc475b7 100644 --- a/OndselSolver/OndselSolver.vcxproj +++ b/OndselSolver/OndselSolver.vcxproj @@ -272,6 +272,7 @@ + @@ -596,6 +597,7 @@ + diff --git a/OndselSolver/OndselSolver.vcxproj.filters b/OndselSolver/OndselSolver.vcxproj.filters index 3acfe84..8f63dfa 100644 --- a/OndselSolver/OndselSolver.vcxproj.filters +++ b/OndselSolver/OndselSolver.vcxproj.filters @@ -975,6 +975,15 @@ Source Files + + Source Files + + + Source Files + + + Source Files + @@ -1943,6 +1952,15 @@ Header Files + + Header Files + + + Header Files + + + Header Files + diff --git a/OndselSolver/PosICDragNewtonRaphson.cpp b/OndselSolver/PosICDragNewtonRaphson.cpp new file mode 100644 index 0000000..e9b807b --- /dev/null +++ b/OndselSolver/PosICDragNewtonRaphson.cpp @@ -0,0 +1,81 @@ +/*************************************************************************** + * Copyright (c) 2023 Ondsel, Inc. * + * * + * This file is part of OndselSolver. * + * * + * See LICENSE file for details about copyright. * + ***************************************************************************/ + +#include "PosICDragNewtonRaphson.h" +#include "SystemSolver.h" +#include "Part.h" +#include "Constraint.h" + +using namespace MbD; + +std::shared_ptr MbD::PosICDragNewtonRaphson::With() +{ + auto newtonRaphson = std::make_shared(); + newtonRaphson->initialize(); + return newtonRaphson; +} + +void MbD::PosICDragNewtonRaphson::initializeGlobally() +{ + AnyPosICNewtonRaphson::initializeGlobally(); + iterMax = system->iterMaxPosKine; + dxTol = system->errorTolPosKine; + for (int i = 0; i < qsuWeights->size(); i++) + { + qsuWeights->at(i) = 1.0e3; //minimum weight + } + for (auto& part : *dragParts) { + auto iqX = part->iqX(); + for (int i = 0; i < 3; i++) + { + qsuWeights->at((size_t)iqX + i) = 1.0e6; //maximum weight + } + } +} + +void MbD::PosICDragNewtonRaphson::assignEquationNumbers() +{ + auto parts = system->parts(); + //auto contactEndFrames = system->contactEndFrames(); + //auto uHolders = system->uHolders(); + auto constraints = system->allConstraints(); + int eqnNo = 0; + for (auto& part : *parts) { + part->iqX(eqnNo); + eqnNo = eqnNo + 3; + part->iqE(eqnNo); + eqnNo = eqnNo + 4; + } + //for (auto& endFrm : *contactEndFrames) { + // endFrm->is(eqnNo); + // eqnNo = eqnNo + endFrm->sSize(); + //} + //for (auto& uHolder : *uHolders) { + // uHolder->iu(eqnNo); + // eqnNo += 1; + //} + auto nEqns = eqnNo; //C++ uses index 0. + nqsu = nEqns; + for (auto& con : *constraints) { + con->iG = eqnNo; + eqnNo += 1; + } + //auto lastEqnNo = eqnNo - 1; + nEqns = eqnNo; //C++ uses index 0. + n = nEqns; +} + +bool MbD::PosICDragNewtonRaphson::isConverged() +{ + return dxNorms->at(iterNo) < dxTol || isConvergedToNumericalLimit(); +} + +void MbD::PosICDragNewtonRaphson::setdragParts(std::shared_ptr>> _dragParts) +{ + dragParts = _dragParts; +} diff --git a/OndselSolver/PosICDragNewtonRaphson.h b/OndselSolver/PosICDragNewtonRaphson.h new file mode 100644 index 0000000..8e4debd --- /dev/null +++ b/OndselSolver/PosICDragNewtonRaphson.h @@ -0,0 +1,29 @@ +/*************************************************************************** + * Copyright (c) 2023 Ondsel, Inc. * + * * + * This file is part of OndselSolver. * + * * + * See LICENSE file for details about copyright. * + ***************************************************************************/ + +#pragma once + +#include "AnyPosICNewtonRaphson.h" + +namespace MbD { + class Part; + + class PosICDragNewtonRaphson : public AnyPosICNewtonRaphson + { + //Kinematics with under constrained system + public: + static std::shared_ptr With(); + void initializeGlobally() override; + void assignEquationNumbers() override; + bool isConverged() override; + void setdragParts(std::shared_ptr>> dragParts); + + std::shared_ptr>> dragParts; + }; +} + diff --git a/OndselSolver/System.cpp b/OndselSolver/System.cpp index 70c2a81..49ec1a4 100644 --- a/OndselSolver/System.cpp +++ b/OndselSolver/System.cpp @@ -104,6 +104,27 @@ void System::clear() forcesTorques->clear(); } +void MbD::System::runPreDrag(std::shared_ptr self) +{ + externalSystem->preMbDrun(self); + while (true) + { + initializeLocally(); + initializeGlobally(); + if (!hasChanged) break; + } + partsJointsMotionsForcesTorquesDo([](std::shared_ptr item) { item->postInput(); }); + systemSolver->runPreDrag(); + externalSystem->updateFromMbD(); +} + +void MbD::System::runDragStep(std::shared_ptr>> dragParts) +{ + partsJointsMotionsForcesTorquesDo([](std::shared_ptr item) { item->postInput(); }); + systemSolver->runDragStep(dragParts); + externalSystem->updateFromMbD(); +} + std::shared_ptr> System::discontinuitiesAtIC() { return std::make_shared>(); diff --git a/OndselSolver/System.h b/OndselSolver/System.h index cb4f58a..2a76f40 100644 --- a/OndselSolver/System.h +++ b/OndselSolver/System.h @@ -43,6 +43,8 @@ namespace MbD { void initializeLocally() override; void initializeGlobally() override; void clear(); + void runPreDrag(std::shared_ptr self); + void runDragStep(std::shared_ptr>> dragParts); void runKINEMATIC(std::shared_ptr self); std::shared_ptr> discontinuitiesAtIC(); void jointsMotionsDo(const std::function )>& f); diff --git a/OndselSolver/SystemSolver.cpp b/OndselSolver/SystemSolver.cpp index abda70e..a2f3b96 100644 --- a/OndselSolver/SystemSolver.cpp +++ b/OndselSolver/SystemSolver.cpp @@ -28,6 +28,7 @@ #include "AccKineNewtonRaphson.h" #include "VelICKineSolver.h" #include "AccICKineNewtonRaphson.h" +#include "PosICDragNewtonRaphson.h" using namespace MbD; @@ -164,6 +165,18 @@ void SystemSolver::runBasicKinematic() } } +void SystemSolver::runPreDrag() +{ + initializeLocally(); + initializeGlobally(); + runPosIC(); +} + +void MbD::SystemSolver::runDragStep(std::shared_ptr>> dragParts) +{ + runPosICDrag(dragParts); +} + void SystemSolver::runQuasiKinematic() { try { @@ -197,6 +210,15 @@ void SystemSolver::runAccKine() icTypeSolver->run(); } +void MbD::SystemSolver::runPosICDrag(std::shared_ptr>> dragParts) +{ + auto newtonRaphson = PosICDragNewtonRaphson::With(); + newtonRaphson->setdragParts(dragParts); + icTypeSolver = newtonRaphson; + icTypeSolver->setSystem(this); + icTypeSolver->run(); +} + void SystemSolver::runPosICKine() { icTypeSolver = CREATE::With(); diff --git a/OndselSolver/SystemSolver.h b/OndselSolver/SystemSolver.h index c19073e..d93c51b 100644 --- a/OndselSolver/SystemSolver.h +++ b/OndselSolver/SystemSolver.h @@ -48,10 +48,13 @@ namespace MbD { void runCollisionDerivativeIC(); void runBasicCollision(); void runBasicKinematic(); + void runPreDrag(); + void runDragStep(std::shared_ptr>> dragParts); void runQuasiKinematic(); void runPosKine(); void runVelKine(); void runAccKine(); + void runPosICDrag(std::shared_ptr>> dragParts); void runPosICKine(); void runVelICKine(); void runAccICKine(); diff --git a/testapp/OndselSolver.cpp b/testapp/OndselSolver.cpp index 01c0213..38861be 100644 --- a/testapp/OndselSolver.cpp +++ b/testapp/OndselSolver.cpp @@ -26,6 +26,8 @@ void sharedptrTest(); int main() { + ASMTAssembly::runDraggingTest(); + ASMTAssembly::runFile("../testapp/Schmidt_Coupling_Ass_1-1.asmt"); ASMTAssembly::runFile("../testapp/RevRevJt.asmt"); ASMTAssembly::runFile("../testapp/RevCylJt.asmt"); ASMTAssembly::runFile("../testapp/CylSphJt.asmt"); diff --git a/testapp/Schmidt_Coupling_Ass_1-1.asmt b/testapp/Schmidt_Coupling_Ass_1-1.asmt new file mode 100644 index 0000000..c0b7c04 --- /dev/null +++ b/testapp/Schmidt_Coupling_Ass_1-1.asmt @@ -0,0 +1,1135 @@ +OndselSolver +Assembly + Notes + (Text string: '' runs: (Core.RunArray runs: #() values: #())) + Name + OndselAssembly + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + marker-Schmidt_Coupling_Ass_1#Body + Position3D + -33.642333984375 16.1646728515625 -24.15144348144531 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + marker-Schmidt_Coupling_Ass_1#Body008 + Position3D + 45.34564379180044 89.60432303265266 -8.640919620684906 + RotationMatrix + 0.9999999999992258 8.883821076099601e-07 -8.712423113774724e-07 + -5.200314909321254e-07 0.9344900966637488 0.3559891279759916 + 1.130421683574225e-06 -0.3559891279752629 0.9344900966634874 + RefCurves + RefSurfaces + Parts + Part + Name + Schmidt_Coupling_Ass_1#Body + Position3D + -33.642333984375 16.1646728515625 -24.15144348144531 + RotationMatrix + 0.999999999999561 -0 -9.370090070654559e-07 + 0 1 -0 + 9.370090070654559e-07 0 0.999999999999561 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + FixingMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute + Position3D + 149.4299392700199 28.32449479912447 81.92236531460303 + RotationMatrix + -4.440892098500626e-16 -3.33066907387547e-16 1 + 1 2.220446049250313e-16 3.33066907387547e-16 + -3.33066907387547e-16 1 2.220446049250313e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body008 + Position3D + 45.34564379180044 89.60432303265266 -8.640919620684906 + RotationMatrix + 0.9999999999992258 8.883821076099601e-07 -8.712423113774723e-07 + -5.200314909321254e-07 0.9344900966637488 0.3559891279759917 + 1.130421683574225e-06 -0.3559891279752631 0.9344900966634874 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + FixingMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical004 + Position3D + -26.00000000000002 -1.4210854715202e-14 45 + RotationMatrix + -6.661338147750939e-16 -4.440892098500626e-16 1 + 1 2.220446049250313e-16 6.661338147750939e-16 + -2.220446049250313e-16 1 4.440892098500626e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003004 + Position3D + 111.7875285235874 44.48916973900747 57.77105810228479 + RotationMatrix + -0.9999999999994249 -1.008897623944377e-06 3.642514567776047e-07 + 5.220801274057174e-07 -0.1611559112616565 0.9869289600904175 + -9.370090073917365e-07 0.9869289600900398 0.1611559112620903 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute + Position3D + -4 0 -2.131628207280301e-14 + RotationMatrix + 4.440892098500626e-16 1.998401444325282e-15 -1 + 1 -1.110223024625157e-15 4.440892098500626e-16 + -1.110223024625157e-15 -1 -1.998401444325282e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute001 + Position3D + 23.00000000000014 -22.49996300000008 -38.97110000000008 + RotationMatrix + -2.220446049250313e-16 -2.220446049250313e-15 1 + 1 1.110223024625157e-15 2.220446049250313e-16 + -1.110223024625157e-15 1 2.220446049250313e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute002 + Position3D + 22.99999999999999 -22.50000000000006 38.97110000000009 + RotationMatrix + -2.220446049250313e-16 -2.220446049250313e-15 1 + 1 1.110223024625157e-15 2.220446049250313e-16 + -1.110223024625157e-15 1 2.220446049250313e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute004 + Position3D + 23.00000000000003 45.00000000000004 -7.105427357601002e-14 + RotationMatrix + -2.220446049250313e-16 -2.220446049250313e-15 1 + 1 1.110223024625157e-15 2.220446049250313e-16 + -1.110223024625157e-15 1 2.220446049250313e-15 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003001 + Position3D + 49.7880782799425 86.52213145845344 -11.31880202242305 + RotationMatrix + 0.9999999999746788 4.940531807958812e-06 -5.121863383527977e-06 + -7.114974757586754e-06 0.6800045362750435 -0.7332079040727399 + -1.395466369381168e-07 0.7332079040906161 0.6800045362929769 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute001 + Position3D + 38.99999999999994 -22.49999727520636 83.97110400507103 + RotationMatrix + -4.440892098500626e-16 -6.661338147750939e-16 1 + 0.3671876126425376 0.9301469008290432 7.771561172376096e-16 + -0.9301469008290432 0.3671876126425376 -2.220446049250313e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute003 + Position3D + 48.99999999999996 10.57189999999989 61.47110000000008 + RotationMatrix + -4.440892098500626e-16 -6.661338147750939e-16 1 + 0.3671876126425376 0.9301469008290432 7.771561172376096e-16 + -0.9301469008290432 0.3671876126425376 -2.220446049250313e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003003 + Position3D + 49.78749921089022 48.69472106294707 91.39751859744202 + RotationMatrix + 0.9999999999994247 3.320063734019203e-07 1.019963385949287e-06 + -5.22080129244172e-07 -0.6800039472481725 0.733208450392269 + 9.370090070565049e-07 -0.7332084503923798 -0.6800039472476078 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute002 + Position3D + 38.99999999999994 10.57189999999993 61.47110000000006 + RotationMatrix + -2.220446049250313e-16 -4.163336342344337e-16 1 + 0.3671876126425375 0.9301469008290432 4.163336342344337e-16 + -0.9301469008290432 0.3671876126425375 0 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical + Position3D + 48.99999999999992 -22.49999727520631 83.97110400507101 + RotationMatrix + -2.220446049250313e-16 -4.163336342344337e-16 1 + 0.3671876126425375 0.9301469008290432 4.163336342344337e-16 + -0.9301469008290432 0.3671876126425375 0 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body007 + Position3D + 75.78780715807186 83.47539566258759 66.71950986023575 + RotationMatrix + 0.9999999999994247 1.889972214875997e-07 1.055856805089272e-06 + -5.220801304134363e-07 -0.774127939223423 0.6330291728770671 + 9.370090074331446e-07 -0.6330291728772542 -0.774127939222879 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute003 + Position3D + 23.00000000000003 45.00000000000002 -1.77635683940025e-14 + RotationMatrix + 5.551115123125783e-16 -1.221245327087672e-15 1 + 1 1.110223024625157e-16 -6.106226635438361e-16 + -1.665334536937735e-16 1 1.110223024625157e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical + Position3D + 22.99999999999994 -22.50000000000004 38.97110000000002 + RotationMatrix + 5.551115123125783e-16 -1.221245327087672e-15 1 + 1 1.110223024625157e-16 -6.106226635438361e-16 + -1.665334536937735e-16 1 1.110223024625157e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute005 + Position3D + -13.00000000000003 45.00000000000006 -3.197442310920451e-14 + RotationMatrix + 0 1.665334536937735e-15 -1 + 1 -8.881784197001252e-16 0 + -8.326672684688674e-16 -1 -1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute006 + Position3D + -13.00000000000009 -22.50000000000004 38.97110000000009 + RotationMatrix + 0 1.665334536937735e-15 -1 + 1 -8.881784197001252e-16 0 + -8.326672684688674e-16 -1 -1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute007 + Position3D + -12.99999999999994 -22.49996300000011 -38.97110000000001 + RotationMatrix + 0 1.665334536937735e-15 -1 + 1 -8.881784197001252e-16 0 + -8.326672684688674e-16 -1 -1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical003 + Position3D + 23.00000000000006 -22.49996300000011 -38.97109999999999 + RotationMatrix + 5.551115123125783e-16 -1.221245327087672e-15 1 + 1 1.110223024625157e-16 -6.106226635438361e-16 + -1.665334536937735e-16 1 1.110223024625157e-15 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003002 + Position3D + 49.78741691500322 -0.6449206259353701 151.7348687058571 + RotationMatrix + 0.9999999999994247 3.320045312029598e-07 1.019963985016347e-06 + -5.220801284418608e-07 -0.6800052718194189 0.7332072219349218 + 9.370090068701867e-07 -0.7332072219350326 -0.6800052718188543 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute004 + Position3D + 38.99999999999991 10.57189999999986 61.47110000000006 + RotationMatrix + -2.220446049250313e-16 -3.885780586188048e-16 1 + 0.3671876126425379 0.9301469008290431 4.440892098500626e-16 + -0.9301469008290431 0.3671876126425379 0 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical003 + Position3D + 48.99999999999995 -22.4999972752064 83.971104005071 + RotationMatrix + -2.220446049250313e-16 -3.885780586188048e-16 1 + 0.3671876126425379 0.9301469008290431 4.440892098500626e-16 + -0.9301469008290431 0.3671876126425379 0 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link001001 + Position3D + 49.78782024048964 9.432448947757603 16.14715951086785 + RotationMatrix + 0.9999999999992258 1.124850840927574e-06 5.319741721680993e-07 + -5.200314889244795e-07 -0.01059060333030071 0.9999439179878189 + 1.130421684468408e-06 -0.9999439179873215 -0.01059060332970763 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute005 + Position3D + 12.99999999999995 -22.50000000000005 38.97110000000006 + RotationMatrix + -2.220446049250313e-16 -2.220446049250313e-16 1 + 1 1.110223024625157e-16 0 + -3.885780586188048e-16 1 0 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute008 + Position3D + 22.99999999999994 10.57189999999998 61.47110000000008 + RotationMatrix + -2.220446049250313e-16 -2.220446049250313e-16 1 + 1 1.110223024625157e-16 0 + -3.885780586188048e-16 1 0 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link002 + Position3D + 49.78784427899772 86.35590885250409 28.70804797915145 + RotationMatrix + 0.9999999999994247 9.314268501761176e-07 5.319751511463801e-07 + -5.220801292511213e-07 -0.01059147345183331 0.9999439087718106 + 9.370090059905242e-07 -0.9999439087715131 -0.01059147345134104 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute006 + Position3D + 12.99999999999999 -22.50000000000007 38.97110000000012 + RotationMatrix + 2.220446049250313e-16 -2.775557561562891e-16 1 + 1 5.551115123125783e-16 -1.110223024625157e-16 + -4.996003610813204e-16 0.9999999999999999 3.33066907387547e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical001 + Position3D + 22.99999999999995 10.57189999999998 61.47110000000016 + RotationMatrix + 2.220446049250313e-16 -2.775557561562891e-16 1 + 1 5.551115123125783e-16 -1.110223024625157e-16 + -4.996003610813204e-16 0.9999999999999999 3.33066907387547e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body006 + Position3D + 62.78791897390057 111.7558751513317 138.743573152173 + RotationMatrix + -0.9999999999665667 8.149639422983049e-06 6.710288962103263e-07 + 7.295250886647257e-06 0.9262055728305051 -0.3770188812307618 + -3.694078640887486e-06 -0.3770188812132614 -0.9262055728589926 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute007 + Position3D + -7.105427357601002e-15 -22.50000000000001 38.97110000000004 + RotationMatrix + -2.220446049250313e-16 -6.106226635438361e-16 1 + 1 0 1.665334536937735e-16 + 0 1 5.551115123125783e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical002 + Position3D + -4.263256414560601e-14 10.57190000000002 61.47110000000004 + RotationMatrix + -2.220446049250313e-16 -6.106226635438361e-16 1 + 1 0 1.665334536937735e-16 + 0 1 5.551115123125783e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body005 + Position3D + 49.78785074745979 105.6238314814644 33.41113975078343 + RotationMatrix + 0.9999999999992258 8.864324187491055e-07 -8.732259141409084e-07 + -5.200314896103746e-07 0.9352834963608092 0.3538993945104028 + 1.130421682360273e-06 -0.3538993945096747 0.9352834963605462 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute008 + Position3D + 23.0000000000001 -22.49996300000005 -38.97110000000004 + RotationMatrix + -4.440892098500626e-16 -1.998401444325282e-15 1 + 1 8.881784197001252e-16 2.220446049250313e-16 + -1.110223024625157e-15 1 1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical001 + Position3D + 23.00000000000003 45.00000000000006 -5.684341886080801e-14 + RotationMatrix + -4.440892098500626e-16 -1.998401444325282e-15 1 + 1 8.881784197001252e-16 2.220446049250313e-16 + -1.110223024625157e-15 1 1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical002 + Position3D + 22.99999999999996 -22.50000000000003 38.97110000000005 + RotationMatrix + -4.440892098500626e-16 -1.998401444325282e-15 1 + 1 8.881784197001252e-16 2.220446049250313e-16 + -1.110223024625157e-15 1 1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical004 + Position3D + -50.00000000000001 5.684341886080801e-14 -1.4210854715202e-14 + RotationMatrix + -1.332267629550188e-15 -7.216449660063518e-16 -1 + -1 3.33066907387547e-16 1.110223024625157e-15 + 4.996003610813204e-16 1 -8.881784197001252e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Fixed + Position3D + -50.00000000000001 5.684341886080801e-14 -1.4210854715202e-14 + RotationMatrix + -1.332267629550188e-15 -7.216449660063518e-16 -1 + -1 3.33066907387547e-16 1.110223024625157e-15 + 4.996003610813204e-16 1 -8.881784197001252e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link + Position3D + 9.787850747490719 105.623852282724 33.41109453391604 + RotationMatrix + 8.864324201329765e-07 0.999999999999226 8.732259154375921e-07 + 0.935283496360809 -5.200314905362546e-07 -0.3538993945104034 + -0.3538993945096753 1.130421684064631e-06 -0.9352834963605461 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Fixed + Position3D + 0 -10 0 + RotationMatrix + 1 -2.551400245361135e-16 -9.81307786677359e-17 + -9.813077866773604e-17 -6.661338147750939e-16 -1 + 2.551400245361135e-16 1 -6.661338147750939e-16 + RefCurves + RefSurfaces + KinematicIJs + ConstraintSets + Joints + FixedJoint + Name + Schmidt_Coupling_Ass_1#GroundedJoint + MarkerI + /OndselAssembly/marker-Schmidt_Coupling_Ass_1#Body + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body/FixingMarker + FixedJoint + Name + Schmidt_Coupling_Ass_1#GroundedJoint001 + MarkerI + /OndselAssembly/marker-Schmidt_Coupling_Ass_1#Body008 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body008/FixingMarker + RevoluteJoint + Name + r1 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body/Schmidt_Coupling_Ass_1#Revolute + RevoluteJoint + Name + r2 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003001/Schmidt_Coupling_Ass_1#Revolute001 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute001 + RevoluteJoint + Name + r3 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003003/Schmidt_Coupling_Ass_1#Revolute002 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute002 + RevoluteJoint + Name + r4 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute003 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003001/Schmidt_Coupling_Ass_1#Revolute003 + CylindricalJoint + Name + c5 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Cylindrical + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003003/Schmidt_Coupling_Ass_1#Cylindrical + RevoluteJoint + Name + r6 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute004 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003002/Schmidt_Coupling_Ass_1#Revolute004 + RevoluteJoint + Name + r7 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Link001001/Schmidt_Coupling_Ass_1#Revolute005 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute005 + RevoluteJoint + Name + r8 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute006 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link002/Schmidt_Coupling_Ass_1#Revolute006 + RevoluteJoint + Name + r9 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute007 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body006/Schmidt_Coupling_Ass_1#Revolute007 + RevoluteJoint + Name + r10 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Revolute008 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link001001/Schmidt_Coupling_Ass_1#Revolute008 + CylindricalJoint + Name + c11 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical001 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link002/Schmidt_Coupling_Ass_1#Cylindrical001 + CylindricalJoint + Name + c12 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body006/Schmidt_Coupling_Ass_1#Cylindrical002 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical002 + CylindricalJoint + Name + c13 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003002/Schmidt_Coupling_Ass_1#Cylindrical003 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Cylindrical003 + CylindricalJoint + Name + c14 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical004 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body008/Schmidt_Coupling_Ass_1#Cylindrical004 + FixedJoint + Name + c15 + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Fixed + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link/Schmidt_Coupling_Ass_1#Fixed + Motions + GeneralConstraintSets + ForceTorques + ConstantGravity + 0 0 0 + SimulationParameters + tstart + 0 + tend + 1 + hmin + 1e-09 + hmax + 1000000000 + hout + 0.1 + errorTol + 1e-06 + AnimationParameters + nframe + 1000000 + icurrent + 1 + istart + 1 + iend + 1000000 + isForward + true + framesPerSecond + 30 diff --git a/testapp/Schmidt_Coupling_Ass_1-2.asmt b/testapp/Schmidt_Coupling_Ass_1-2.asmt new file mode 100644 index 0000000..bd3cfdc --- /dev/null +++ b/testapp/Schmidt_Coupling_Ass_1-2.asmt @@ -0,0 +1,1135 @@ +OndselSolver +Assembly + Notes + (Text string: '' runs: (Core.RunArray runs: #() values: #())) + Name + OndselAssembly + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + marker-Schmidt_Coupling_Ass_1#Body + Position3D + -33.642333984375 16.1646728515625 -24.15144348144531 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + marker-Schmidt_Coupling_Ass_1#Body008 + Position3D + 45.34564379180044 89.60432303265266 -8.640919620684906 + RotationMatrix + 0.9999999999992258 8.883821076099601e-07 -8.712423113774724e-07 + -5.200314909321254e-07 0.9344900966637488 0.3559891279759916 + 1.130421683574225e-06 -0.3559891279752629 0.9344900966634874 + RefCurves + RefSurfaces + Parts + Part + Name + Schmidt_Coupling_Ass_1#Body + Position3D + -33.642333984375 16.1646728515625 -24.15144348144531 + RotationMatrix + 0.9999692827540513 0 0.00783795562300175 + 0 1 0 + -0.00783795562300175 0 0.9999692827540513 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + FixingMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute + Position3D + 149.4299392700199 28.32449479912445 81.922365314603 + RotationMatrix + 0 -5.551115123125783e-17 1 + 1 4.440892098500626e-16 5.551115123125783e-17 + -4.440892098500626e-16 1 1.110223024625157e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body008 + Position3D + 45.34564379180044 89.60432303265266 -8.640919620684906 + RotationMatrix + 0.9999999999992258 8.883821076099601e-07 -8.712423113774723e-07 + -5.200314909321254e-07 0.9344900966637488 0.3559891279759917 + 1.130421683574225e-06 -0.3559891279752631 0.9344900966634874 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + FixingMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical004 + Position3D + -26.00000000000002 -1.4210854715202e-14 45 + RotationMatrix + -6.661338147750939e-16 -4.440892098500626e-16 1 + 1 2.220446049250313e-16 6.661338147750939e-16 + -2.220446049250313e-16 1 4.440892098500626e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003004 + Position3D + 112.5984950537485 43.47722005436029 56.02019605059463 + RotationMatrix + -0.9566560048917285 0.1165863426940008 0.2668649714777756 + -0.2529868990816606 0.1211874172745215 -0.9598495917524665 + -0.1442460300931803 -0.9857592173505496 -0.08643985313956359 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute + Position3D + -3.999999999999986 -1.4210854715202e-14 -1.77635683940025e-14 + RotationMatrix + 2.220446049250313e-16 1.942890293094024e-15 -1 + 1 -8.881784197001252e-16 2.220446049250313e-16 + -8.326672684688674e-16 -1 -1.998401444325282e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute001 + Position3D + 23.00000000000013 -22.49996300000008 -38.97110000000008 + RotationMatrix + -2.220446049250313e-16 -2.164934898019055e-15 1 + 1 9.992007221626409e-16 1.665334536937735e-16 + -1.054711873393899e-15 1 2.109423746787797e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute002 + Position3D + 22.99999999999994 -22.50000000000007 38.97110000000007 + RotationMatrix + -2.220446049250313e-16 -2.164934898019055e-15 1 + 1 9.992007221626409e-16 1.665334536937735e-16 + -1.054711873393899e-15 1 2.109423746787797e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute004 + Position3D + 23.00000000000003 45.00000000000004 -4.973799150320701e-14 + RotationMatrix + -2.220446049250313e-16 -2.164934898019055e-15 1 + 1 9.992007221626409e-16 1.665334536937735e-16 + -1.054711873393899e-15 1 2.109423746787797e-15 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003001 + Position3D + 30.4619389593858 130.1411019189616 18.93931819422891 + RotationMatrix + 0.9566544260251378 -0.2885480947735366 0.0393993168605267 + 0.2529925778232056 0.7564121534352826 -0.6031877068556419 + 0.1442465414936639 0.5870099242244211 0.7966255608058005 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute001 + Position3D + 38.99999999999993 -22.49999727520634 83.97110400507103 + RotationMatrix + -6.661338147750939e-16 -5.273559366969494e-16 1 + 0.3671876126425377 0.9301469008290431 7.216449660063518e-16 + -0.9301469008290431 0.3671876126425377 -2.220446049250313e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute003 + Position3D + 48.9999999999999 10.57189999999991 61.47110000000009 + RotationMatrix + -6.661338147750939e-16 -5.273559366969494e-16 1 + 0.3671876126425377 0.9301469008290431 7.216449660063518e-16 + -0.9301469008290431 0.3671876126425377 -2.220446049250313e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003003 + Position3D + 60.43388826004568 -41.42286315095669 121.0631861962448 + RotationMatrix + 0.9566560048917279 0.2885433730774868 -0.03939556012629595 + 0.2529868990816628 -0.7564151247951396 0.6031863624736541 + 0.1442460300931812 -0.5870084163231565 -0.7966267645316327 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute002 + Position3D + 38.99999999999993 10.57189999999989 61.47110000000009 + RotationMatrix + -2.220446049250313e-16 -1.110223024625157e-16 1 + 0.367187612642538 0.9301469008290429 1.110223024625157e-16 + -0.9301469008290432 0.367187612642538 -2.220446049250313e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical + Position3D + 48.99999999999994 -22.49999727520636 83.97110400507101 + RotationMatrix + -2.220446049250313e-16 -1.110223024625157e-16 1 + 0.367187612642538 0.9301469008290429 1.110223024625157e-16 + -0.9301469008290432 0.367187612642538 -2.220446049250313e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body007 + Position3D + 67.72981736339193 72.95736285279202 52.31676130174417 + RotationMatrix + 0.9566544260251376 -0.2894099018627515 0.03246872141472669 + 0.2529925778232071 0.770658841946251 -0.5848758029671186 + 0.1442465414936631 0.5677383711128356 0.8104727492231069 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute003 + Position3D + 23.00000000000003 45.00000000000003 -1.4210854715202e-14 + RotationMatrix + 9.992007221626409e-16 -9.436895709313831e-16 1 + 1 6.661338147750939e-16 -1.165734175856414e-15 + -7.771561172376096e-16 1 7.771561172376096e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical + Position3D + 22.99999999999996 -22.50000000000003 38.97110000000003 + RotationMatrix + 9.992007221626409e-16 -9.436895709313831e-16 1 + 1 6.661338147750939e-16 -1.165734175856414e-15 + -7.771561172376096e-16 1 7.771561172376096e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute005 + Position3D + -13.00000000000001 45.00000000000007 -4.263256414560601e-14 + RotationMatrix + -2.220446049250313e-16 2.275957200481571e-15 -1 + 1 -1.332267629550188e-15 -1.110223024625157e-16 + -1.165734175856414e-15 -1 -2.442490654175344e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute006 + Position3D + -13.00000000000007 -22.50000000000001 38.97110000000007 + RotationMatrix + -2.220446049250313e-16 2.275957200481571e-15 -1 + 1 -1.332267629550188e-15 -1.110223024625157e-16 + -1.165734175856414e-15 -1 -2.442490654175344e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute007 + Position3D + -12.99999999999993 -22.49996300000007 -38.97110000000001 + RotationMatrix + -2.220446049250313e-16 2.275957200481571e-15 -1 + 1 -1.332267629550188e-15 -1.110223024625157e-16 + -1.165734175856414e-15 -1 -2.442490654175344e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical003 + Position3D + 23.00000000000004 -22.49996300000012 -38.97109999999999 + RotationMatrix + 9.992007221626409e-16 -9.436895709313831e-16 1 + 1 6.661338147750939e-16 -1.165734175856414e-15 + -7.771561172376096e-16 1 7.771561172376096e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003002 + Position3D + 57.90368749084323 4.163346416245773 57.89301718844648 + RotationMatrix + 0.9566544260251377 0.2885480947739147 -0.03939931685776173 + 0.252992577823206 -0.7564121534410626 0.603187706848394 + 0.1442465414936643 -0.5870099242167879 -0.7966255608114254 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute004 + Position3D + 38.99999999999993 10.57189999999988 61.47110000000006 + RotationMatrix + -2.220446049250313e-16 -5.551115123125783e-16 1 + 0.3671876126425375 0.9301469008290432 5.551115123125783e-16 + -0.9301469008290433 0.3671876126425375 0 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical003 + Position3D + 48.99999999999994 -22.49999727520635 83.97110400507097 + RotationMatrix + -2.220446049250313e-16 -5.551115123125783e-16 1 + 0.3671876126425375 0.9301469008290432 5.551115123125783e-16 + -0.9301469008290433 0.3671876126425375 0 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link001001 + Position3D + 28.54557245061408 83.99960996406617 36.09518296280424 + RotationMatrix + 0.9994718582861648 -0.0324962227645706 -1.893530280263483e-07 + 0.01791571156006045 0.5510207041013009 0.8342992334474504 + -0.02711146940498001 -0.8338586086128403 0.5513118800361196 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute005 + Position3D + 12.99999999999996 -22.50000000000004 38.97110000000005 + RotationMatrix + -8.881784197001252e-16 -4.440892098500626e-16 1 + 1 2.220446049250313e-16 6.661338147750939e-16 + -4.440892098500626e-16 1 2.220446049250313e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute008 + Position3D + 22.99999999999996 10.57189999999994 61.47110000000008 + RotationMatrix + -8.881784197001252e-16 -4.440892098500626e-16 1 + 1 2.220446049250313e-16 6.661338147750939e-16 + -4.440892098500626e-16 1 2.220446049250313e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link002 + Position3D + 45.14138538978877 8.568902123964561 31.39806921673125 + RotationMatrix + 0.9916083828923256 1.23959313769878e-06 0.1292780529561395 + -0.1123069160264637 0.4953051727551182 0.8614290118487115 + -0.0640310205313943 -0.8687190488532447 0.4911489006087891 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute006 + Position3D + 12.99999999999995 -22.50000000000005 38.97110000000009 + RotationMatrix + -8.881784197001252e-16 -2.220446049250313e-16 1 + 1 0 6.106226635438361e-16 + -2.220446049250313e-16 1 0 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical001 + Position3D + 22.99999999999993 10.57189999999997 61.47110000000009 + RotationMatrix + -8.881784197001252e-16 -2.220446049250313e-16 1 + 1 0 6.106226635438361e-16 + -2.220446049250313e-16 1 0 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body006 + Position3D + 60.53964132570489 91.57167441559513 47.96803311753291 + RotationMatrix + -0.9999999999992257 3.460109208286009e-07 1.195224822355779e-06 + 5.200314916077531e-07 0.9888642642798334 0.1488202500670969 + -1.130421682844183e-06 0.1488202500676032 -0.9888642642792478 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute007 + Position3D + -7.105427357601002e-15 -22.49999999999999 38.97110000000001 + RotationMatrix + -4.440892098500626e-16 -1.665334536937735e-16 1 + 1 1.110223024625157e-16 3.885780586188048e-16 + -1.665334536937735e-16 1 1.110223024625157e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical002 + Position3D + -7.105427357601002e-15 10.5719 61.47110000000001 + RotationMatrix + -4.440892098500626e-16 -1.665334536937735e-16 1 + 1 1.110223024625157e-16 3.885780586188048e-16 + -1.665334536937735e-16 1 1.110223024625157e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body005 + Position3D + 28.18987873941225 105.62384271309 33.41111533596755 + RotationMatrix + 0.9999999999992258 -9.191434136331474e-07 8.387260112057548e-07 + -5.200314907613818e-07 -0.9210815369624703 -0.3893697500661595 + 1.130421684733094e-06 0.3893697500654218 -0.9210815369622352 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute008 + Position3D + 23.00000000000014 -22.49996300000002 -38.97110000000004 + RotationMatrix + 0 -1.831867990631508e-15 0.9999999999999999 + 1 1.110223024625157e-15 1.110223024625157e-16 + -9.992007221626409e-16 0.9999999999999999 1.887379141862766e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical001 + Position3D + 23.00000000000004 45.00000000000006 -5.684341886080801e-14 + RotationMatrix + 0 -1.831867990631508e-15 0.9999999999999999 + 1 1.110223024625157e-15 1.110223024625157e-16 + -9.992007221626409e-16 0.9999999999999999 1.887379141862766e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical002 + Position3D + 22.99999999999998 -22.50000000000007 38.97110000000008 + RotationMatrix + 0 -1.831867990631508e-15 0.9999999999999999 + 1 1.110223024625157e-15 1.110223024625157e-16 + -9.992007221626409e-16 0.9999999999999999 1.887379141862766e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical004 + Position3D + -50.00000000000004 2.842170943040401e-14 0 + RotationMatrix + -1.110223024625157e-15 -1.165734175856414e-15 -1 + -1 3.33066907387547e-16 1.110223024625157e-15 + 2.775557561562891e-16 1 -1.332267629550188e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Fixed + Position3D + -50.00000000000004 2.842170943040401e-14 0 + RotationMatrix + -1.110223024625157e-15 -1.165734175856414e-15 -1 + -1 3.33066907387547e-16 1.110223024625157e-15 + 2.775557561562891e-16 1 -1.332267629550188e-15 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link + Position3D + -11.81012126055686 105.6238635143496 33.4110701191002 + RotationMatrix + -9.191434127142628e-07 0.999999999999226 -8.387260103659422e-07 + -0.9210815369624703 -5.2003149031421e-07 0.3893697500661593 + 0.3893697500654217 1.13042168356503e-06 0.921081536962235 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Fixed + Position3D + 0 -9.999999999999998 0 + RotationMatrix + 1 -2.465190328815662e-32 -1.570092458683775e-16 + -1.570092458683775e-16 -4.440892098500626e-16 -1 + -2.465190328815662e-32 1 -4.440892098500626e-16 + RefCurves + RefSurfaces + KinematicIJs + ConstraintSets + Joints + FixedJoint + Name + Schmidt_Coupling_Ass_1#GroundedJoint + MarkerI + /OndselAssembly/marker-Schmidt_Coupling_Ass_1#Body + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body/FixingMarker + FixedJoint + Name + Schmidt_Coupling_Ass_1#GroundedJoint001 + MarkerI + /OndselAssembly/marker-Schmidt_Coupling_Ass_1#Body008 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body008/FixingMarker + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body/Schmidt_Coupling_Ass_1#Revolute + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003001/Schmidt_Coupling_Ass_1#Revolute001 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute001 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003003/Schmidt_Coupling_Ass_1#Revolute002 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute002 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute003 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003001/Schmidt_Coupling_Ass_1#Revolute003 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Cylindrical + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003003/Schmidt_Coupling_Ass_1#Cylindrical + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute004 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003002/Schmidt_Coupling_Ass_1#Revolute004 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Link001001/Schmidt_Coupling_Ass_1#Revolute005 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute005 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute006 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link002/Schmidt_Coupling_Ass_1#Revolute006 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute007 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body006/Schmidt_Coupling_Ass_1#Revolute007 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Revolute008 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link001001/Schmidt_Coupling_Ass_1#Revolute008 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical001 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link002/Schmidt_Coupling_Ass_1#Cylindrical001 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body006/Schmidt_Coupling_Ass_1#Cylindrical002 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical002 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003002/Schmidt_Coupling_Ass_1#Cylindrical003 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Cylindrical003 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical004 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body008/Schmidt_Coupling_Ass_1#Cylindrical004 + FixedJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Fixed + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link/Schmidt_Coupling_Ass_1#Fixed + Motions + GeneralConstraintSets + ForceTorques + ConstantGravity + 0 0 0 + SimulationParameters + tstart + 0 + tend + 1 + hmin + 1e-09 + hmax + 1000000000 + hout + 0.1 + errorTol + 1e-06 + AnimationParameters + nframe + 1000000 + icurrent + 1 + istart + 1 + iend + 1000000 + isForward + true + framesPerSecond + 30 diff --git a/testapp/Schmidt_Coupling_Ass_1a.asmt b/testapp/Schmidt_Coupling_Ass_1a.asmt new file mode 100644 index 0000000..5ce0d3c --- /dev/null +++ b/testapp/Schmidt_Coupling_Ass_1a.asmt @@ -0,0 +1,1135 @@ +OndselSolver +Assembly + Notes + (Text string: '' runs: (Core.RunArray runs: #() values: #())) + Name + OndselAssembly + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + marker-Schmidt_Coupling_Ass_1#Body + Position3D + -33.642333984375 16.1646728515625 -24.15144348144531 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + marker-Schmidt_Coupling_Ass_1#Body008 + Position3D + 45.34564379180044 89.60432303265266 -8.640919620684906 + RotationMatrix + 0.9999999999992258 8.883821076099601e-07 -8.712423113774724e-07 + -5.200314909321254e-07 0.9344900966637488 0.3559891279759916 + 1.130421683574225e-06 -0.3559891279752629 0.9344900966634874 + RefCurves + RefSurfaces + Parts + Part + Name + Schmidt_Coupling_Ass_1#Body + Position3D + -33.642333984375 16.1646728515625 -24.15144348144531 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + FixingMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute + Position3D + 149.4299392700199 28.32449479912445 81.92236531460301 + RotationMatrix + -4.440892098500626e-16 -3.885780586188048e-16 1 + 1 1.110223024625157e-16 2.220446049250313e-16 + -3.885780586188048e-16 1 1.110223024625157e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body008 + Position3D + 45.34564379180044 89.60432303265266 -8.640919620684906 + RotationMatrix + 0.9999999999992258 8.883821076099601e-07 -8.712423113774723e-07 + -5.200314909321254e-07 0.9344900966637488 0.3559891279759917 + 1.130421683574225e-06 -0.3559891279752631 0.9344900966634874 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + FixingMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical004 + Position3D + -26.00000000000002 -1.4210854715202e-14 45 + RotationMatrix + -6.661338147750939e-16 -4.440892098500626e-16 1 + 1 2.220446049250313e-16 6.661338147750939e-16 + -2.220446049250313e-16 1 4.440892098500626e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003004 + Position3D + 111.8102901626733 44.35292334266349 58.17391302550956 + RotationMatrix + -0.9943287807428827 -0.000602172874394253 -0.1063480755547644 + -0.03406107700586539 0.9491129113035003 0.3130886849283993 + 0.1007477980879634 0.3149354203401442 -0.9437507945403827 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute + Position3D + -3.999999999999986 0 0 + RotationMatrix + -2.220446049250313e-16 2.220446049250313e-15 -1 + 1 -1.332267629550188e-15 0 + -1.110223024625157e-15 -1 -2.442490654175344e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute001 + Position3D + 23.00000000000017 -22.49996300000006 -38.97110000000004 + RotationMatrix + -4.440892098500626e-16 -1.887379141862766e-15 1 + 1 1.332267629550188e-15 3.33066907387547e-16 + -1.443289932012704e-15 1 1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute002 + Position3D + 22.99999999999997 -22.50000000000006 38.97110000000006 + RotationMatrix + -4.440892098500626e-16 -1.887379141862766e-15 1 + 1 1.332267629550188e-15 3.33066907387547e-16 + -1.443289932012704e-15 1 1.77635683940025e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute004 + Position3D + 23.00000000000007 45.00000000000004 -7.105427357601002e-14 + RotationMatrix + -4.440892098500626e-16 -1.887379141862766e-15 1 + 1 1.332267629550188e-15 3.33066907387547e-16 + -1.443289932012704e-15 1 1.77635683940025e-15 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003001 + Position3D + 46.62174040346753 77.34749481540763 41.35416709211887 + RotationMatrix + 0.9943283402188492 0.03397576212940087 0.1007809477299898 + 0.03406570902741844 0.7959308684020571 -0.6044283085637259 + -0.1007505796811504 0.6044333712763332 0.7902592108804797 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute001 + Position3D + 38.99999999999995 -22.49999727520635 83.971104005071 + RotationMatrix + -1.110223024625157e-15 -1.387778780781446e-16 1 + 0.3671876126425377 0.9301469008290431 4.718447854656915e-16 + -0.9301469008290433 0.3671876126425377 -8.881784197001252e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute003 + Position3D + 48.99999999999995 10.57189999999991 61.47110000000006 + RotationMatrix + -1.110223024625157e-15 -1.387778780781446e-16 1 + 0.3671876126425377 0.9301469008290431 4.718447854656915e-16 + -0.9301469008290433 0.3671876126425377 -8.881784197001252e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003003 + Position3D + 52.58497277123676 4.347277143978278 75.5234433020304 + RotationMatrix + 0.9943287807428828 -0.03397746458120512 -0.1007760273428413 + 0.03406107700586479 -0.7959325962171615 0.6044262943587164 + -0.1007477980879617 -0.6044310003463109 -0.790261378912563 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute002 + Position3D + 38.99999999999993 10.57189999999991 61.47110000000009 + RotationMatrix + -8.881784197001252e-16 -1.942890293094024e-16 1 + 0.3671876126425376 0.9301469008290431 4.163336342344337e-16 + -0.9301469008290432 0.3671876126425376 -6.661338147750939e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical + Position3D + 48.99999999999994 -22.49999727520633 83.97110400507103 + RotationMatrix + -8.881784197001252e-16 -1.942890293094024e-16 1 + 0.3671876126425376 0.9301469008290431 4.163336342344337e-16 + -0.9301469008290432 0.3671876126425376 -6.661338147750939e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body007 + Position3D + 74.87051201362823 83.04934958586583 64.00964025174645 + RotationMatrix + 0.9943287807428829 0.0924013150919382 -0.05265237654325035 + 0.03406107700586512 -0.7456980277809244 -0.665412875136062 + -0.1007477980879602 0.6598457761726753 -0.7446162990745688 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute003 + Position3D + 23.00000000000004 44.99999999999999 0 + RotationMatrix + 6.661338147750939e-16 -1.165734175856414e-15 1 + 1 7.771561172376096e-16 -6.661338147750939e-16 + -7.216449660063518e-16 1 1.221245327087672e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical + Position3D + 22.9999999999999 -22.50000000000002 38.97110000000005 + RotationMatrix + 6.661338147750939e-16 -1.165734175856414e-15 1 + 1 7.771561172376096e-16 -6.661338147750939e-16 + -7.216449660063518e-16 1 1.221245327087672e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute005 + Position3D + -13.00000000000004 45.00000000000004 -4.263256414560601e-14 + RotationMatrix + -4.440892098500626e-16 2.442490654175344e-15 -1 + 1 -1.77635683940025e-15 -1.110223024625157e-16 + -1.387778780781446e-15 -1 -2.664535259100376e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute006 + Position3D + -13.00000000000012 -22.50000000000002 38.97110000000008 + RotationMatrix + -4.440892098500626e-16 2.442490654175344e-15 -1 + 1 -1.77635683940025e-15 -1.110223024625157e-16 + -1.387778780781446e-15 -1 -2.664535259100376e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute007 + Position3D + -12.99999999999994 -22.49996300000005 -38.97109999999998 + RotationMatrix + -4.440892098500626e-16 2.442490654175344e-15 -1 + 1 -1.77635683940025e-15 -1.110223024625157e-16 + -1.387778780781446e-15 -1 -2.664535259100376e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical003 + Position3D + 23.00000000000004 -22.49996300000014 -38.97109999999998 + RotationMatrix + 6.661338147750939e-16 -1.165734175856414e-15 1 + 1 7.771561172376096e-16 -6.661338147750939e-16 + -7.216449660063518e-16 1 1.221245327087672e-15 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Part003002 + Position3D + 56.68882992104041 56.21111425480863 133.5606563898416 + RotationMatrix + 0.9943287807428828 -0.03397723494893859 -0.1007761047649526 + 0.03406107700586511 -0.7959339734843718 0.6044244807141581 + -0.1007477980879612 -0.6044291996244091 -0.7902627561905113 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute004 + Position3D + 38.99999999999993 10.57189999999991 61.4711000000001 + RotationMatrix + -6.661338147750939e-16 -3.608224830031759e-16 1 + 0.3671876126425382 0.9301469008290428 5.273559366969494e-16 + -0.9301469008290429 0.3671876126425382 -4.440892098500626e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical003 + Position3D + 48.99999999999997 -22.49999727520638 83.97110400507101 + RotationMatrix + -6.661338147750939e-16 -3.608224830031759e-16 1 + 0.3671876126425382 0.9301469008290428 5.273559366969494e-16 + -0.9301469008290429 0.3671876126425382 -4.440892098500626e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link001001 + Position3D + 50.0957778795001 11.40107026424094 72.20156446607058 + RotationMatrix + 0.9969401404989886 1.134666153271291e-06 0.0781687678076695 + -0.07816612613171937 0.008235669365340925 0.9969063298403041 + -0.000642640970489633 -0.9999660862993393 0.008210558066643836 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute005 + Position3D + 12.99999999999998 -22.50000000000009 38.97110000000009 + RotationMatrix + 0 -3.885780586188048e-16 1 + 1 3.33066907387547e-16 0 + -3.885780586188048e-16 1 3.33066907387547e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute008 + Position3D + 22.99999999999996 10.57189999999997 61.47110000000009 + RotationMatrix + 0 -3.885780586188048e-16 1 + 1 3.33066907387547e-16 0 + -3.885780586188048e-16 1 3.33066907387547e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link002 + Position3D + 42.56981505443607 35.91554563986046 -2.052726213616013 + RotationMatrix + 0.9947053269753952 -0.102768246489726 4.462733241700212e-07 + 0.006607193713093082 0.06395609886505726 0.99793084049407 + -0.1025556311374948 -0.9926471200438706 0.06429648194574999 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute006 + Position3D + 12.99999999999995 -22.50000000000006 38.97110000000007 + RotationMatrix + -6.661338147750939e-16 -3.885780586188048e-16 1 + 1 3.33066907387547e-16 3.885780586188048e-16 + -6.106226635438361e-16 1 1.110223024625157e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical001 + Position3D + 22.99999999999994 10.57189999999999 61.47110000000013 + RotationMatrix + -6.661338147750939e-16 -3.885780586188048e-16 1 + 1 3.33066907387547e-16 3.885780586188048e-16 + -6.106226635438361e-16 1 1.110223024625157e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body006 + Position3D + 68.61871282952441 86.13915520352278 58.39130451283367 + RotationMatrix + 0.9712939589482906 0.2351083921930618 -0.03622277227035055 + 0.0398381247078753 -0.01064431119428066 0.9991494495114127 + 0.2345228541748459 -0.9719108717159165 -0.01970503260822576 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute007 + Position3D + 0 -22.49999999999998 38.97110000000002 + RotationMatrix + -2.220446049250313e-16 -3.885780586188048e-16 1 + 1 5.551115123125783e-16 1.665334536937735e-16 + -6.106226635438361e-16 1 3.33066907387547e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical002 + Position3D + -2.842170943040401e-14 10.57190000000001 61.47109999999998 + RotationMatrix + -2.220446049250313e-16 -3.885780586188048e-16 1 + 1 5.551115123125783e-16 1.665334536937735e-16 + -6.106226635438361e-16 1 3.33066907387547e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Body005 + Position3D + 54.830583722813 105.6238288590844 33.41114545119819 + RotationMatrix + 0.9999999999992258 1.027365377989466e-06 7.020016473084388e-07 + -5.20031491232867e-07 -0.1674726408161493 0.9858767238239247 + 1.130421682754414e-06 -0.9858767238235265 -0.1674726408154854 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Revolute008 + Position3D + 23.00000000000011 -22.49996300000007 -38.9711000000001 + RotationMatrix + 2.220446049250313e-16 -1.998401444325282e-15 1 + 1 1.332267629550188e-15 -2.220446049250313e-16 + -1.332267629550188e-15 1 1.998401444325282e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical001 + Position3D + 23.00000000000003 45.00000000000009 -8.526512829121202e-14 + RotationMatrix + 2.220446049250313e-16 -1.998401444325282e-15 1 + 1 1.332267629550188e-15 -2.220446049250313e-16 + -1.332267629550188e-15 1 1.998401444325282e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical002 + Position3D + 23 -22.50000000000008 38.97110000000005 + RotationMatrix + 2.220446049250313e-16 -1.998401444325282e-15 1 + 1 1.332267629550188e-15 -2.220446049250313e-16 + -1.332267629550188e-15 1 1.998401444325282e-15 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Cylindrical004 + Position3D + -50.00000000000005 6.394884621840902e-14 -4.263256414560601e-14 + RotationMatrix + -1.110223024625157e-15 -6.661338147750939e-16 -1 + -1 1.110223024625157e-16 8.326672684688674e-16 + 3.885780586188048e-16 1 -8.881784197001252e-16 + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Fixed + Position3D + -50.00000000000005 6.394884621840902e-14 -4.263256414560601e-14 + RotationMatrix + -1.110223024625157e-15 -6.661338147750939e-16 -1 + -1 1.110223024625157e-16 8.326672684688674e-16 + 3.885780586188048e-16 1 -8.881784197001252e-16 + RefCurves + RefSurfaces + Part + Name + Schmidt_Coupling_Ass_1#Link + Position3D + 14.83058372284397 105.6238496603441 33.41110023433081 + RotationMatrix + 1.027365378769574e-06 0.999999999999226 -7.020016463132883e-07 + -0.16747264081615 -5.2003149031421e-07 -0.9858767238239244 + -0.9858767238235264 1.130421683592786e-06 0.167472640815486 + Velocity3D + 0 0 0 + Omega3D + 0 0 0 + FeatureOrder + PrincipalMassMarker + Name + MassMarker + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Mass + 1 + MomentOfInertias + 1 1 1 + Density + 1 + RefPoints + RefPoint + Position3D + 0 0 0 + RotationMatrix + 1 0 0 + 0 1 0 + 0 0 1 + Markers + Marker + Name + Schmidt_Coupling_Ass_1#Fixed + Position3D + -7.105427357601002e-15 -10 -1.4210854715202e-14 + RotationMatrix + 1 1.96261557335469e-17 -4.906538933386795e-16 + -4.906538933386795e-16 -6.661338147750939e-16 -1 + -1.96261557335473e-17 1 -6.661338147750939e-16 + RefCurves + RefSurfaces + KinematicIJs + ConstraintSets + Joints + FixedJoint + Name + Schmidt_Coupling_Ass_1#GroundedJoint + MarkerI + /OndselAssembly/marker-Schmidt_Coupling_Ass_1#Body + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body/FixingMarker + FixedJoint + Name + Schmidt_Coupling_Ass_1#GroundedJoint001 + MarkerI + /OndselAssembly/marker-Schmidt_Coupling_Ass_1#Body008 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body008/FixingMarker + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body/Schmidt_Coupling_Ass_1#Revolute + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003001/Schmidt_Coupling_Ass_1#Revolute001 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute001 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003003/Schmidt_Coupling_Ass_1#Revolute002 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute002 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute003 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003001/Schmidt_Coupling_Ass_1#Revolute003 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Cylindrical + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003003/Schmidt_Coupling_Ass_1#Cylindrical + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003004/Schmidt_Coupling_Ass_1#Revolute004 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003002/Schmidt_Coupling_Ass_1#Revolute004 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Link001001/Schmidt_Coupling_Ass_1#Revolute005 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute005 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute006 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link002/Schmidt_Coupling_Ass_1#Revolute006 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Revolute007 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body006/Schmidt_Coupling_Ass_1#Revolute007 + RevoluteJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Revolute008 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link001001/Schmidt_Coupling_Ass_1#Revolute008 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical001 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link002/Schmidt_Coupling_Ass_1#Cylindrical001 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body006/Schmidt_Coupling_Ass_1#Cylindrical002 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical002 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Part003002/Schmidt_Coupling_Ass_1#Cylindrical003 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body007/Schmidt_Coupling_Ass_1#Cylindrical003 + CylindricalJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Cylindrical004 + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Body008/Schmidt_Coupling_Ass_1#Cylindrical004 + FixedJoint + Name + + MarkerI + /OndselAssembly/Schmidt_Coupling_Ass_1#Body005/Schmidt_Coupling_Ass_1#Fixed + MarkerJ + /OndselAssembly/Schmidt_Coupling_Ass_1#Link/Schmidt_Coupling_Ass_1#Fixed + Motions + GeneralConstraintSets + ForceTorques + ConstantGravity + 0 0 0 + SimulationParameters + tstart + 0 + tend + 1 + hmin + 1e-09 + hmax + 1000000000 + hout + 0.1 + errorTol + 1e-06 + AnimationParameters + nframe + 1000000 + icurrent + 1 + istart + 1 + iend + 1000000 + isForward + true + framesPerSecond + 30 diff --git a/testapp/dragCrankSlider.asmt b/testapp/dragCrankSlider.asmt new file mode 100644 index 0000000..82f63b9 --- /dev/null +++ b/testapp/dragCrankSlider.asmt @@ -0,0 +1,384 @@ +freeCAD: 3D CAD with Motion Simulation by askoh.com +Assembly + Notes + (Text string: 'CAD: Copyright (C) 2000-2004, Aik-Siong Koh, All Rights Reserved.The piston crank is the most common mechanism to convert rotary motion to reciprocating motion or vice versa. A crank connects to the ground with a revolute joint. Its other end is connected to the connecting rod. And the connecting rod is connected to the piston which slides along an axis on the ground. The crank is given rotary motion causing the piston to slides back and forth is a straight line. Units are SI units. Angles are in radians.If the instructions below are too brief, refer to the Notes in projectile.asm and circular.asm.To load the example for a quick look:Click File/Open/Assembly/ to get a dialog. Enter *.asm for a list of assemblies. Select piston.asm. To create the assembly from scratch:To create crank, connection rod and piston:Create an empty assembly and populate it with two rods (Assembly1Part1, Assembly1Part2) and one cylinder (Assembly1Part3). The rods have dimensions (1.0d, 0.2d, 0.1d) and (1.5d, 0.2d, 0.1d). The cylinder has radius (0.5d) and height (1.0d). Arrange them from bottom up away from the origin. To mark joint attachment points:On the ground, create a marker (Assembly1Marker1) at (0.0d, 0.0d, 0.0d) and another (Assembly1Marker2) at (3.0d, 0.0d, 0.0d). On the first rod, create a marker (Assembly1Part1Marker1) at (0.1d, 0.1d, 0.0d) and another (Assembly1Part1Marker2) at (0.9d, 0.1d, 0.0d) relative to the z-face. On the second rod, create a marker (Assembly1Part2Marker1) at (0.1d, 0.1d, -0.1d) and another (Assembly1Part2Marker2) at (1.4d, 0.1d, -0.1d) relative to the z-face. On the cylinder, create a marker (Assembly1Part3Marker1) at (0.0d, 0.0d, 0.0d) and another (Assembly1Part3Marker2) at (0.0d, 0.0d, -1.0d) relative to the z-face. Tilt the cylinder a little to get a good view of (Assembly1Part3Marker2). RightClick/Rotate/ over it to rotate the marker (90.0d) degrees about the x-axis.Tilt the cylinder upright to help the solver assemble the system later.To create the joints:Connect (Assembly1Marker1) to (Assembly1Part1Marker1) with revolute joint (Assembly1Joint1).Connect (Assembly1Part1Marker2) to (Assembly1Part2Marker1) with revolute joint (Assembly1Joint2).Connect (Assembly1Part2Marker2) to (Assembly1Part3Marker2) with revolute joint (Assembly1Joint3).Connect (Assembly1Marker2) to (Assembly1Part3Marker1) with translational joint (Assembly1Joint3).The translational joint keeps the marker z-axes parallel and colinear. Only relative translation along the z-axis is permitted.To apply motion to the crank:Apply rotation motion (Assembly1Motion1) to (Assembly1Joint1). Enter 2.0d*pi*time.The assembly is now ready for simulation, animation and plotting.' runs: (Core.RunArray runs: #(514 63 14 5 12 1 2 37 89 10 4 36 1 43 295 32 848 21 517 29 151) values: #(nil #underline #(#underline #bold) #underline #(#underline #bold) #underline nil #(#bold #large) nil #bold nil #(#bold #large) nil #bold nil #bold nil #bold nil #bold nil))) + Name + Assembly1 + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Velocity3D + 0.0 0.0 0.0 + Omega3D + 0.0 0.0 0.0 + RefPoints + RefPoint + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Markers + Marker + Name + Marker1 + Position3D + 0.0 3.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 0.0 1.0 + 0.0 -1.0 0.0 + RefPoint + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Markers + Marker + Name + Marker2 + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + RefCurves + RefSurfaces + Parts + Part + Name + Part1 + Position3D + -0.1 -0.1 -0.1 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Velocity3D + 0.62831853071796 -0.62831853071796 0.0 + Omega3D + 0.0 0.0 6.2831853071796 + FeatureOrder + Extrusion + zStart + 0.0 + zEnd + 0.1 + Sketch + Name + Sketch1 + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Graphics + Rectangle + Position2D + 0.0 0.0 + Angle + 0.0 + xLength + 1.0 + yLength + 0.2 + PrincipalMassMarker + Name + MassMarker + Position3D + 0.5 0.1 0.05 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Mass + 0.2 + MomentOfInertias + 8.3333333333333e-4 0.016833333333333 0.017333333333333 + Density + 10.0 + RefPoints + RefPoint + Position3D + 0.0 0.0 0.1 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Markers + Marker + Name + Marker1 + Position3D + 0.1 0.1 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + RefPoint + Position3D + 0.0 0.0 0.1 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Markers + Marker + Name + Marker2 + Position3D + 0.9 0.1 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + RefCurves + RefSurfaces + Part + Name + Part2 + Position3D + 0.94036115973815 -0.017284236661228 -1.3877787807814e-17 + RotationMatrix + -0.61538461538462 -0.78822698199689 -1.6603807295334e-17 + 0.78822698199689 -0.61538461538462 2.1267299485346e-17 + -2.6981186854917e-17 -1.3258078974716e-33 1.0 + Velocity3D + -3.3164118402378e-34 5.0265482457437 -3.9748307264642e-33 + Omega3D + 4.1774251032926e-33 3.2613995704322e-33 -3.1828000786991e-34 + FeatureOrder + Extrusion + zStart + 0.0 + zEnd + 0.1 + Sketch + Name + Sketch1 + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Graphics + Rectangle + Position2D + 0.0 0.0 + Angle + 0.0 + xLength + 1.5 + yLength + 0.2 + PrincipalMassMarker + Name + MassMarker + Position3D + 0.75 0.1 0.05 + RotationMatrix + 1.0 -2.7755575615629e-16 0.0 + 2.7755575615629e-16 1.0 0.0 + 0.0 0.0 1.0 + Mass + 0.3 + MomentOfInertias + 0.00125 0.0565 0.05725 + Density + 10.0 + RefPoints + RefPoint + Position3D + 0.0 0.0 0.1 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Markers + Marker + Name + Marker1 + Position3D + 0.1 0.1 -0.1 + RotationMatrix + 1.0 3.5771870615405e-50 3.0814879110196e-33 + 3.5771870615405e-50 1.0 1.755680013548e-33 + 3.0814879110196e-33 1.755680013548e-33 1.0 + RefPoint + Position3D + -7.0256300777061e-17 -1.0408340855861e-17 0.1 + RotationMatrix + 1.0 1.7347234759768e-18 -6.9388939039072e-18 + 1.7347234759768e-18 1.0 0.0 + -6.9388939039072e-18 0.0 1.0 + Markers + Marker + Name + Marker2 + Position3D + 1.4 0.1 -0.1 + RotationMatrix + 1.0 -5.5511151231258e-17 2.1510571102112e-16 + 3.4181598826109e-49 1.0 4.1633363423443e-17 + -2.2898349882894e-16 -4.1633363423443e-17 1.0 + RefCurves + RefSurfaces + Part + Name + Part3 + Position3D + 6.5961808710108e-18 1.024695076596 -4.5972683339025e-17 + RotationMatrix + 1.0 1.8606318149699e-16 -9.2444637330587e-33 + 9.2444637330587e-33 5.137628796844e-17 1.0 + 1.8606318149699e-16 -1.0 5.137628796844e-17 + Velocity3D + -1.6491143091194e-30 5.0265482457437 -7.1214100282068e-33 + Omega3D + 4.1774251032926e-33 3.2613995704322e-33 4.7241180434735e-49 + FeatureOrder + Extrusion + zStart + 0.0 + zEnd + 1.0 + Sketch + Name + Sketch1 + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 1.0 0.0 + 0.0 0.0 1.0 + Graphics + Circle + Position2D + 0.0 0.0 + Angle + 0.0 + Radius + 0.5 + PrincipalMassMarker + Name + MassMarker + Position3D + -7.9328390680452e-18 2.9323172983667e-17 0.5 + RotationMatrix + 9.2444637330587e-33 1.0 -1.0785207688569e-32 + 9.9703461330478e-65 1.0785207688569e-32 1.0 + 1.0 -9.2444637330587e-33 0.0 + Mass + 7.6536686473018 + MomentOfInertias + 0.93243354610288 1.1040224936599 1.1040224936599 + Density + 10.0 + RefPoints + RefPoint + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 0.0 0.0 + 0.0 -1.0 0.0 + 0.0 0.0 -1.0 + Markers + Marker + Name + Marker1 + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 9.5592355929136e-33 0.0 + 0.0 -2.2204460492503e-16 1.0 + -9.5592355929136e-33 -1.0 -2.2204460492503e-16 + RefPoint + Position3D + 1.0408340855861e-17 5.5511151231258e-17 1.0 + RotationMatrix + 1.0 -6.9388939039072e-18 6.9388939039072e-18 + -6.9388939039072e-18 1.0 0.0 + 6.9388939039072e-18 0.0 1.0 + Markers + Marker + Name + Marker2 + Position3D + 0.0 0.0 0.0 + RotationMatrix + 1.0 -1.3877787807814e-17 1.3877787807814e-17 + -1.3877787807814e-17 1.0 0.0 + 1.3877787807814e-17 0.0 1.0 + RefCurves + RefSurfaces + KinematicIJs + ConstraintSets + Joints + RevoluteJoint + Name + Joint1 + MarkerI + /Assembly1/Marker2 + MarkerJ + /Assembly1/Part1/Marker1 + RevoluteJoint + Name + Joint2 + MarkerI + /Assembly1/Part1/Marker2 + MarkerJ + /Assembly1/Part2/Marker1 + RevoluteJoint + Name + Joint3 + MarkerI + /Assembly1/Part2/Marker2 + MarkerJ + /Assembly1/Part3/Marker1 + CylindricalJoint + Name + Joint4 + MarkerI + /Assembly1/Part3/Marker2 + MarkerJ + /Assembly1/Marker1 + Motions + GeneralConstraintSets + ForceTorques + ConstantGravity + 0.0 -9.81 0.0 + SimulationParameters + tstart + 0.0 + tend + 0.0 + hmin + 1.0e-9 + hmax + 1.0 + hout + 0.04 + errorTol + 1.0e-6 + AnimationParameters + nframe + 26 + icurrent + 1 + istart + 1 + iend + 26 + isForward + true + framesPerSecond + 30