← Back to team overview

yade-dev team mailing list archive

[Bug 1796883] [NEW] STL import breaks serialization; O.load; Facet must have exactly 3 vertices (not 6)

 

Public bug reported:

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

** Affects: yade
     Importance: Undecided
         Status: New


** Tags: runtimeerror

** Attachment added: "baraban.stl"
   https://bugs.launchpad.net/bugs/1796883/+attachment/5199087/+files/baraban.stl

-- 
You received this bug notification because you are a member of Yade
developers, which is subscribed to Yade.
https://bugs.launchpad.net/bugs/1796883

Title:
  STL import breaks serialization; O.load; Facet must have exactly 3
  vertices (not 6)

Status in Yade:
  New

Bug description:
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/yade/+bug/1796883/+subscriptions


Follow ups