Forum Replies Created
-
AuthorPosts
-
Hugo
KeymasterWhat do you mean by modifying the boundaries of the collision model ?
You want to edit the mesh ?Hugo
KeymasterHi Zahra,
You are using v16.08, right ?
There has been changes with CImg since then.Did you activate the image plugin as well?
Cheers,
Hugo
Hugo
KeymasterHi Sen,
You can have a look at the SofaCarving plugin.
I never used it personally (I never worked on cutting) but it could help.
Otherwise you can have a look at the follow discussion:Hope this helps.
Cheers,Hugo
Hugo
KeymasterHi Sen,
Sorry I did not notice this thread.
Geomagic deals with the latest version of Geomagic omnis.
Did you succeed to use it ?Hugo
Hugo
KeymasterHi Bruno,
As far as I know, it works this way:
- runSofa reads the scene file, and create the components (in the order 1,2,3,4)
- then, all the steps of the simulation (init(), step(), handleEvent()) are launched through visitors and follow the scene graph (3,4,1,2), i.e. the components in the root node, then in its first child and so on.
To change this behavior, you need to write your own AnimationLoop (see below in the SceneGraph page). Using the tag mechanism, you can define a custom order.
About the DataTracker, it is the right mechanism to use. It has been recently introduced in SOFA V16.12. You can use this DataTracker and the build-in callback function.
Let us know about your progress.
Cheers,Hugo
Hugo
KeymasterIf you wish, you can try to pull-request it.
Hugo
KeymasterHi Elek,
The scene examples/Components/forcefield/TetrahedralCorotationalFEMForceField.scn produces a warning, but works fine for me. A TetrahedronSetGeometryAlgorithms should indeed be added to remove the warning.
Cheers
Hugo
16 February 2017 at 09:22 in reply to: [SOLVED] Rigid flexible body collision/deformation (anatomy modeling) #8592Hugo
KeymasterDear Jason and octotod,
About the LM Constraint, to my best knowledge, it is not intensively used anymore. There was a discussion about constraints here (reply #6800).
The difference between the intersection methods is given in the documentation here.
When collision is working, but interpenetration persists:
- you can check the time step of your simulation, it could be due to a fast collision not detected due to a too-large time step,
- you can tune the proximity alarm distance and contact distance (increase it a bit),
- refine and smooth your mesh used for collision
About the DefaultCollisionGroupManager, I am no expert but from the code it looks responsible for gathering colliding objects in the same group, for consistent time integration.
Hope this helps. Best regards,
Hugo
Hugo
KeymasterHi Luigi,
Then, it can be due to the fact no BoundingBox is computed in the scene.
Two solutions:- set the option showObject=”1″ in any of your MechanicalObject(s)
- or simply create an OglModel allowing for visualization of your object: it will compute the Bbox and should solve the problem
Let us know if it solves your issue.
Best,Hugo
15 February 2017 at 00:14 in reply to: [SOLVED] How to achieve simulation of liver deformation using SOFA framework? #8584Hugo
KeymasterHi Lujain,
Here are my advices for such a pipeline:
- segment your organ (liver) from the medical images: you can do this using the image plugin in SOFA or any external tool like itkSnap. As output you can get either a labeled image or a surface mesh (using itkSnap)
- if you have a labeled image, use the CGAL plugin of SOFA to mesh this segmented image (see this reply from Alex in a forum discussion for detail); if you have a surface mesh, you can use the MeshTetraStuffing or the CGAL plugin to mesh it in the volume
- finally, create your SOFA scene in which you will load the above created mesh
To load and visualise medical images in SOFA, just use the image plugin.
These are the basic steps for generating a mesh from medical images.
Hope this helps,Hugo
Hugo
KeymasterHey Juan,
Can you tell us more about how you solved this error?
Cheers,Hugo
Hugo
KeymasterHi Toan,
Did my previous reply help?
If yes, I would close this topic.Best regards,
Hugo
Hugo
KeymasterHey Luigi,
Do you have any OglModel in your scene ?
If not then, it’s normal that no visual model appears.
Did you activate the Collision>Collision Models in the SOFA gui ?Best,
Hugo
Hugo
KeymasterHi Elek,
Would you not rather use one single mesh with heterogeneous material properties?
This would be more coherent and easy to simulate.About the xml file you wrote: be careful with the quote you use. Only the regular one (“) are recognized. Another user recently got an issue due to this.
Hope this helps.
Hugo
14 February 2017 at 09:10 in reply to: [SOLVED] Error while building SOFA on Windows 7, QGLViewer/Qt conflict #8573Hugo
Keymasteryes, nice to hear!
Good job Erik, and thank you for always sharing it with us.H
13 February 2017 at 19:26 in reply to: [SOLVED] End simulation from a python script controller #8571Hugo
KeymasterHi Max(s),
The PR #168 has just been merged. Checkout the latest version of SOFA master branch. It should work now. Using
sys.exit(0)
you will get the following exception message from SOFA:[FATAL] [SofaPython] SP_CALL_MODULEFUNC_BOOL
Thank you max !
13 February 2017 at 13:29 in reply to: [SOLVED] Error while building SOFA on Windows 7, QGLViewer/Qt conflict #8569Hugo
KeymasterHi Erik,
Did you try to clean the build dir between your x86 and x64 builds ?
10 February 2017 at 15:53 in reply to: [SOLVED] Using a Novint Falcon with SOFA on a 64 bits architecture #8560Hugo
KeymasterIf you bring new fixes, do not hesitate to pull-request them on GitHub, right?
We are warmly welcoming external contributions!Check out the contribution guidelines.
Best,
Hugo
Hugo
KeymasterHi Sen,
This is no real SOFA specific question.
To answer you point by point:- to generate msh files you can use Gmsh or Blender
- look here, there is discussions about how to generate a ,msh file from .obj
- for topological changes, I advise you to get inspiration from the examples available in sofa/examples/Components/topology/TopologicalModifiers/
Hope this helps.
Cheers,Hugo
10 February 2017 at 11:04 in reply to: [SOLVED] Using a Novint Falcon with SOFA on a 64 bits architecture #8555Hugo
KeymasterHi Ahmet,
After discussions the freePosition vector is initialized by the FreeMotionAnimationLoop (used for simulation involving collisions). So if you’re not using this, this explains the crash (accessor on a non-existing vector). However, this shows the problem of vector initialization depending on the animation loop.
We will discuss this at the dev meeting. It this appears to be a real problem, we will create an issue on Github.
Shall I close the forum topic ?
Hugo
Hugo
KeymasterHi Juan,
All you messages are always welcome !
Flexible is a plugin of SOFA. This plugin is a specific implementation of the physics (especially mechanics): Flexible decomposes the modeling approach.Let’s take an example: the TetrahedronFEMForceField. In SOFA, this component defines:
- the mechanical constitutive law (linear elasticity),
- the finite element type : tetrahedron,
- the order of the tetrahedron (linear tetra), i.e. shape function,
All in one.
Flexible decomposes each of these modeling choices: you will have one component for the mechanical law, one for the shape function, one for the quadrature etc.It is still maintained and used.
It is (a bit) slower than the all-in-one implementation but more intelligible.
Reusable yes and very flexible.
However, everyone is not expert of this plugin.Hope this helps.
Hugo
10 February 2017 at 10:38 in reply to: [SOLVED] Using a Novint Falcon with SOFA on a 64 bits architecture #8553Hugo
KeymasterHi Ahmet,
Nice to hear that it fixes your issue!
But, strange indeed. I will see if freePosition makes sense for rigid bodies and let you know if I find anything about it.Cheers,
Hugo
10 February 2017 at 10:37 in reply to: [SOLVED] End simulation from a python script controller #8552Hugo
KeymasterHi Maxime (Moge),
The hint of Max (Tournier) was good for pausing the animation. But if you want to end it, then you need to send an exit command in python.
At each step of the simulation, you can check with a step counter how many steps have been computed. And when you want to quit, just do something like:
sys.exit(0)
(need to import sys)Hope this helps.
Hugo
9 February 2017 at 17:22 in reply to: [SOLVED] Using a Novint Falcon with SOFA on a 64 bits architecture #8544Hugo
KeymasterHi Erdermir,
I doubt the problem is caused by the timer, it would be weird.
Don’t you think it comes from the the lines just below the Timer ?Hugo
KeymasterHi pun,
I just looked at your file cube.scn
The only trouble with your file is located line 1.
When you write the scene file yourself, make sure of using the right quotes !Line 1:
<Node name="root" dt="0.01" gravity="0 0 -9.81”> |--> here
You should use the following quotes everywhere: mydata=”value”
Best,
Hugo
-
AuthorPosts