STL import breaks serialization; O.load; Facet must have exactly 3 vertices (not 6)
Ubuntu 16.04 in virtual machine on windows host affects yade package and yadedaily 2018.02b-201447edfd~xenial
Hi, there is a problem when you import an stl file to your simulation, save the simulation via O.save and O.load afterwards. You will get a RuntimeError: Facet must have exactly 3 vertices (not 6)
Here is the example (stl file from some example is attached, I tried different stls):
#!/usr/bin/python
# -*- coding: utf-8 -*-
from yade import ymport
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom()], # collision geometry
[Ip2_FrictMat_FrictMat_FrictPhys()], # collision "physics"
[Law2_ScGeom_FrictPhys_CundallStrack()] # contact law -- apply forces
),
# Apply gravity force to particles. damping: numerical dissipation of energy.
NewtonIntegrator(gravity=(0,0,-9.81),damping=0.1)
]
O.save('before.xml.bz2')
O.bodies.append(ymport.stl('baraban.stl'))
O.save('after.xml.bz2')
O.load('before.xml.bz2')
print "loaded before successfully"
O.load('after.xml.bz2')
print "loaded after successfully"
Cheers Alex
Original bug by Alexander Eulitz [Eugen]: https://bugs.launchpad.net/yade/+bug/1796883
Edited by Janek Kozicki