Forum Replies Created
28 November 2019 at 9 h 55 min #14659
sorry I wanted to reply and the SOFA week happened.
As Hugo told, the main principals are in SOFA but some parts are missing like the tetra refinement and “split on path”.
The main issue I see with your question is how will you control the depth of cut using a mouse?
best regards,28 November 2019 at 9 h 53 min #14658
sorry not time yet to work on it and Santa Claus didn’t deliver yet the 2nd device at my office…
Let you know as soon as possible.9 November 2019 at 11 h 04 min #14574
sorry I didn’t read the whole conversation but did you give a try with SubsetTopologyEngine ?
You can split the mesh using a boxROI and then use tetra FEM on the ROI you want to simulate with accuracy and use a Grid + HexaFEM for the rest of the mesh.
It is more a trick than an accurate solution. Otherwise I would recommand to generate a better mesh with CGal for example and putting more seeds where you need finer mesh
See example : examples/Components/engine/SubsetTopoloy_refiningMesh.scn
regards,29 October 2019 at 9 h 45 min #14484
stl in ascii and binary is supported using the MeshSTLLoader but I don’t know URDF/stl, could you share a small mesh to see the format?
From which software do you export this format?
regards,15 October 2019 at 9 h 25 min #14402
could you do a simple test and try to launch runSofa with another scene. To check if it is the scene or the app.
You Can do this by launching from shell:
Regards11 October 2019 at 18 h 36 min #14392
could you just specify which version of SOFA you are using.
Erik31 July 2019 at 6 h 57 min #14051
Looking only at the numbers. I think you are trying to incisé outside of the mesh.
Do you confirm that you Can see the mesh when you start thé simulation before cutting?
The numbers in the .txt are 3d coords. So your first incision point is on (5,6,0) while your points are between (0,0,0) and (2,2,0).
Let me know if changing thé coords in the txt works.
Regards,11 July 2019 at 15 h 26 min #13931
ok, but were you able to run the OpenHaptics example? Sofa is using this lib to control the geomagic. So if there example do not work, maybe you need to update your version of OH.
best,10 July 2019 at 15 h 26 min #13926
any update on your problem?
regards,4 July 2019 at 10 h 43 min #13902
ok I don’t think it is a problem from SOFA.
As it is using OpenHaptics to communicate with the touch, be sure to have an up to date version and if you can try to run the example from the lib as well.3 July 2019 at 9 h 16 min #13896
sorry my hexadecimal is a bit rusty.
771 correspond to:
#define HD_COMM_CONFIG_ERROR 0x0303
in openHaptics: hdDefines.h
Just to be sure, when you are using the touch setup, is the device well detected?
Are you able to run touch demo ? (I’m on windows, so not sure it exists on linux)
best,2 July 2019 at 14 h 51 min #13889
the driver error 771 if I well remember means that your device is busy.
Be sure before starting the scene that you have closed all touch app. like the demo or Touch Setup.
If none, also check in your task manager that there is no zombie task like an old exec of runSofa or touch app.
best regards,4 June 2019 at 23 h 59 min #13573
the normal you see in the window are coming from the OglModel of your scene.
Each OglModel has a Data
normal. I’m not used to create scene in python but I’m quite sure you can access directly Data values of component.
Be sure to have
updateNormalsset to true in the OglModel
Erik9 May 2019 at 15 h 55 min #13468
And be sure to work on a nearly up to date version of SOFA from github because several bugs on the topology operation have been fixed in the past months.9 May 2019 at 15 h 52 min #13467
Did someone say topology? Did I saw the bat-topology-signal?
yes sorry, all those components are still a bit messy. It is on the todo list to have a clearer api.
Until then, for basic suppression/add of topological elements, I would suggest to have a look at those scenes:
they use a component called
<TopologicalChangeProcessor listening="1" filename="RemovingTetra2TriangleProcess.txt" />
which is used to script the topological operation (mainly for tests).
This will give you a good starting point in the code on how to use the modifiers.
Do not hesitate if you need more help.
best regards,11 April 2019 at 17 h 09 min #13398
no sorry, I didn’t had time to check that and I have other deadlines for the moment.
I let you know if I make progress on that topic.
Erik20 March 2019 at 12 h 18 min #13234
@outtt I see the delay in your video but I tested the liver18.12.scn on my computer and I don’t have the delay.
Could you tell me exactly which version of SOFA you are using. Is it the 18.12 from github that you compiled or a package?
Are you able to test on an up to date version of SOFA? There might have been additional fixes not included in the 18.12.
@Hugo, this is not link to change in the plugin. The scene have been update and the position data link has been removed to follow change in the constraint resolution API.
If indeed we lost some performances we will need to come back and understand what has been broken by the lambda function changes.
Erik13 March 2019 at 11 h 28 min #13201
ok I understand, the data binding has not been canceled. The code from the Geomagic didn’t changed.
But the API on how to solve the constraint changed to be more accurate. The delay is due to tool position computation regarding the constraint.
When you speak about the 50 FPS, is it using the demo scene of the plugin or your scene?
Erik11 March 2019 at 11 h 45 min #13193
Ok, yes it is because the omni position is now gathered inside the Omni node where there is mechanicalStateController.
To link to the Instrument model, it uses VectorSpringForceField.
Letting the first Data link was creating inconsistencies between the collision and controllerState nodes communicating using the VectorSpringForceField and the direct link inside the
<MechanicalObject name="instrumentState" template="Rigid" />
Anyway, normally the old method is still working, did you try running it, what is the result?
Also did you try using the other rigid skull scene using RestShapeSpringsForceField?
regards,8 March 2019 at 10 h 40 min #13189
could you just post the old scene with the data binding you are highlighting.
I will check if this is still possible or with another mechanism.
The change in the scene were a consequence of changes in the constraint resolution API inside SOFA.
regards,8 March 2019 at 10 h 36 min #13188
just going quickly through the scene example, I think the tag “CarvingSurface” is missing on the target collision Model.
Then the class
TopologicalChangeManagercan give you which combination of collision model can be used for carving.
And yes only one collision model at a time can be used for your tool.
regards,7 March 2019 at 23 h 37 min #13187
You are welcome. Could you set the field as resolved. Thanks.7 March 2019 at 17 h 14 min #13185
I had the same problem, it was because the cgal dll files were not found by CGALPlugin.dll
So you should add the cgal bin directory to your env path or look at this PR I try to fix that problem:
best regards,21 February 2019 at 18 h 31 min #13097
could you describe what is the result you obtain. Is it crashing, nothing happen?
Do you have any output log?
like this I could see 2 options. Either attachConstraint work only with defaultAnimationLoop or you have to specify indices1=”@../M1/np1.indices1″
Regards,10 September 2018 at 11 h 48 min #11918
yes you need a tetrahedron topology. I checked and only triangle model collision is working well at the moment. So you will need something like (code not tested):
<CarvingManager active="true" /> <Node name="Grid" > <RegularGrid name="HexaTop" n="12 12 12" min="-10 -6 -10" max="10 14 10" /> <MechanicalObject name="ms" position="@HexaTop.position" /> <TetrahedronSetTopologyContainer name="Container" position="@HexaTop.position" /> <TetrahedronSetTopologyModifier name="Modifier"/> <Hexa2TetraTopologicalMapping input="@HexaTop" output="@Container" swapping="false" /> </Node> <Node name="Surface" > <TriangleSetTopologyContainer name="Container"/> <TriangleSetTopologyModifier name="Modifier"/> <Tetra2TriangleTopologicalMapping input="@../Grid/Container" output="@Container" flipNormals="true"/> <TriangleSet name="triangleCol" tags="CarvingSurface"/> </Node> <Node name="carvingElement"> <MechanicalObject name="Particles" template="Vec3d" position="0 0 1.4" velocity="0 0 0"/> <UniformMass name="Mass" totalMass="1.0" /> <SphereModel radius="0.02" tags="CarvingTool"/> </Node>