Forum Replies Created
-
AuthorPosts
-
BineshBlocked
Hi @eunkyungbae
i saw the handleTopologyChanged() function for UncoupledConstraintCorrection class,
this run Time error is correct because the compliance Data size is zero in your scene and
when a point is removed , your last index set to -1 and it is out of array range
Now the size of compliance data should be as much as your mesh points OR disable handle topology change in UncoupledConstraintCorrectionBest Wishes,
Behnam Binesh16 August 2018 at 09:10 in reply to: [SOLVED] How to extract the surface of a volumeyric mesh #1168415 August 2018 at 11:05 in reply to: [SOLVED] How to extract the surface of a volumeyric mesh #1168014 August 2018 at 15:30 in reply to: [SOLVED] How to extract the surface of a volumeyric mesh #11675BineshBlocked14 August 2018 at 15:24 in reply to: [SOLVED] How to extract the surface of a volumeyric mesh #11674BineshBlockedHi @zahra
Try this scene :<?xml version="1.0"?> <Node name="root" gravity="0 0 0" dt="0.05" > <VisualStyle name="visualStyle1" displayFlags="showVisual showBehaviorModels" /> <DefaultPipeline name="defaultPipeline1" verbose="0" /> <BruteForceDetection name="N2" /> <DefaultContactManager name="defaultContactManager1" response="default" /> <MinProximityIntersection name="Proximity" alarmDistance="0.8" contactDistance="0.5" /> <DefaultCollisionGroupManager name="defaultCollisionGroupManager1" /> <Node name="TT" > <EulerImplicitSolver name="cg_odesolver" printLog="0" /> <CGLinearSolver template="GraphScattered" name="linear solver" iterations="25" tolerance="1e-09" threshold="1e-09" /> <MeshGmshLoader name="loader" filename="mesh/cylinder.msh" tetrahedraGroups=" -1 0 2430" /> <MechanicalObject template="Vec3d" name="Volume" position="@loader.position" velocity="0 0 0" force="0 0 0" externalForce="0 0 0" restScale="1" size="1" /> <TetrahedronSetTopologyContainer name="Container" position="@loader.position" edges="@loader.edges" triangles="@loader.triangles" tetrahedra="@loader.tetras" /> <TetrahedronSetTopologyModifier name="Modifier" /> <TetrahedronSetTopologyAlgorithms template="Vec3d" name="TopoAlgo" /> <TetrahedronSetGeometryAlgorithms template="Vec3d" name="GeomAlgo" /> <DiagonalMass template="Vec3d" name="diagonalMass1" massDensity="0.5" /> <FixedPlaneConstraint template="Vec3d" name="fixedPlaneConstraint1" direction="0 0 1" dmin="-0.1" dmax="0.1" /> <FixedConstraint template="Vec3d" name="fixedConstraint1" indices="0" /> <TetrahedralCorotationalFEMForceField template="Vec3d" name="FEM" method="large" poissonRatio="0.3" youngModulus="360" /> <Node name="T" > <TriangleSetTopologyContainer name="Container" position="@.position" nbPoints="@.nbPoints" edges="@.edges" checkConnexity="@.checkConnexity" triangles="@.triangles" /> <TriangleSetTopologyModifier name="Modifier" /> <TriangleSetTopologyAlgorithms template="Vec3d" name="TopoAlgo" /> <TriangleSetGeometryAlgorithms template="Vec3d" name="GeomAlgo" /> <Tetra2TriangleTopologicalMapping name="tetra2TriangleTopologicalMapping1" input="@../Container" output="@Container" /> <TriangularFEMForceField template="Vec3d" name="FEM" method="large" poissonRatio="0.3" youngModulus="60" /> <TriangularBendingSprings template="Vec3d" name="FEM-Bend" stiffness="300" damping="1" /> <TrianglePressureForceField template="Vec3d" name="trianglePressureFF1" pressure="0.4 0 0" normal="0 0 1" dmin="0.9" dmax="1.1" /> <TTriangleModel template="Vec3d" name="tTriangleModel1" /> <OBJExporter name="oBJExporter0" listening="1" filename="/home/behnam/Export/Surface" exportEveryNumberOfSteps="1" exportAtBegin="0" exportAtEnd="0" /> <Node name="Visu" > <OglModel template="ExtVec3f" name="Visual" material="Default Diffuse 1 0 0 1 1 Ambient 1 0 0 0.2 1 Specular 0 0 0 1 1 Emissive 0 0 0 1 1 Shininess 0 45 " primitiveType="DEFAULT" blendEquation="GL_FUNC_ADD" sfactor="GL_SRC_ALPHA" dfactor="GL_ONE_MINUS_SRC_ALPHA" /> <IdentityMapping template="Vec3d,ExtVec3f" name="identityMap1" input="@../../Volume" output="@Visual" /> </Node> </Node> </Node> </Node>
12 August 2018 at 11:24 in reply to: [SOLVED] How to extract the surface of a volumeyric mesh #116524 August 2018 at 07:18 in reply to: [SOLVED] How to set a FixedTranslationConstraint on a specific mesh index? #11644BineshBlocked@Noura
your bone can rotate only
Is this not true?
I checked your scene very much and look like every thing is OK
I do not know exactly what the problem is πBineshBlockedHello @eunkyungbae
UncoupledConstraintCorrection can handle topology change but that function implemented for points removed and points added So UncoupledConstraintCorrection has no problem with topology changeMy Idea is new scene with GmshLoader with all edgesettopology
1.GmshLoader
2.EdgeSetTopologyContainer
3.EdgeSetTopologyModifier
4.EdgeSetTopologyAlgorithms
5.EdgeSetGeometryAlgorithms
6.MechanicalObject
7.UnifornMassOR give us your scene with mesh to edit and test
2 August 2018 at 19:21 in reply to: [SOLVED] How to set a FixedTranslationConstraint on a specific mesh index? #11637BineshBlockedHi @Noura
in your scene , you loaded a mesh with mesh loader and mapped it to one point and apply fixedConstraint to MO_Radius mechanical object . so your fixedConstraint work with MO_Radius mechanical object and fix 1 point .you can use fixed constraint in your mesh topolgy node and give it a correct index
Or
you can use “PartialFixedConstraint” instead of “FixedTranslationConstraint”
BineshBlockedHi @redtree
first create a vector from removed edges
Then ::helper::vector<EdgeID> removedEdges; removedEdges.push_back(idx); topoMod->removeEdgesWarning(removedEdges); propagateTopologicalChanges(); topoMod->removeEdgesProcess(removedEdges,true);
Or you can use this Function ::
topoMod->removeEdges(removedEdges,true,true);
BineshBlockedHi @Noura
yes of course , your idea is good
i implemented and modified collision detection 1 years ago
This idea is “Reverse Grouping” in my codes
after reverse grouping i used new Data “Target” for apply collision to same target
This is very easy and you can change the canCollideWith FunctionGood Luck
Behnam Binesh
BineshBlockedHi @Hugo
No, i cannot update my cl version.
i updated my vs to update 3 but nothing and i have json error
unfortunately, i returned to linuxBineshBlockedπ
I got vs2015.3.exe file from visual studio website and automatically updated to update3
πBineshBlockedMy cl version is : 19.00.23506
BineshBlocked@guillaumeparan
I updated VS2015 to update 3 , But error still exist πBineshBlockedThanks @guillaumeparan
Another thing , How can i build sofa with all cpu core in qt(windows) ?BineshBlockedThanks Dear @guillaumeparan
I clean every thing and do it again, i used Qt cmake generator for cmake the project , after cmake i started the build process and every thing was good But Advanced Timer report a error
Error Text ::
G:\SofaSource\SofaKernel\extlibs\json\nlohmann_json.h:1259: error: C2100: illegal indirection
Compiler OutPut Error ::
NMAKE : fatal error U1077: ‘C:\PROGRA~2\MICROS~1.0\VC\BIN\amd64\cl.exe’ : return code ‘0x2’
Stop.
NMAKE : fatal error U1077: ‘”C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\nmake.exe”‘ : return code ‘0x2’
Stop.
NMAKE : fatal error U1077: ‘”C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\nmake.exe”‘ : return code ‘0x2’
Stop.What is it ? on other pc i build the sofa successfully but in my laptop i have advancedTimer error
BineshBlockedThanks Dear Hugo
i try it as soon as possibleBineshBlockedBineshBlockedThanks Dear Hugo
BineshBlockedHi Hugo
i checked BuoyantForceField component and it’s scene
Nice , this component was useful
But can you explain your second idea clearly?Best,
Binesh
BineshBlockedThanks dear hugo
i want to simulate air bubbles or liquid bubbles
Binesh -
AuthorPosts