Genesis icon indicating copy to clipboard operation
Genesis copied to clipboard

[Bug]: Tetrahedral meshing of obj file

Open bahadir14 opened this issue 6 months ago • 5 comments
trafficstars

Bug Description

Hi, the scripts run without problem. But, the meshed geometry does not appear in visualization. Is there any solution for this?

### Steps to Reproduce
import argparse

import numpy as np
import os
import torch

from dask.order import order
from mpmath import euler
from pygel3d.hmesh import minimize_dihedral_angle

#from samples.control_your_robot import jnt_names
from os import path

#from samples.gsmtm_11 import jnt_name

os.environ['PYOPENGL_PLATFORM'] = 'glx'
import genesis as gs


def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("-v", "--vis", action="store_true", default=False)
    args = parser.parse_args()

    ########################## init ##########################
    gs.init(seed=0, precision="32", logging_level="debug")

    ########################## create a scene ##########################

    scene = gs.Scene(
        sim_options=gs.options.SimOptions(
            dt=4e-3,
            substeps=10,
        ),

        fem_options=gs.options.FEMOptions(
            damping=0.1,
        ),
        viewer_options=gs.options.ViewerOptions(
            camera_pos=(9.6, 4.8, 14.0),
            camera_lookat=(0.0, 0.0, 0.0),
            camera_fov=35,
            max_FPS=30,
        ),
        show_viewer=True,
        vis_options=gs.options.VisOptions(
            #visualize_mpm_boundary=True,
        ),
    )
    cam = scene.add_camera(
        res=(1280, 800),
        pos=(5.5, 6.5, 3.2),
        lookat=(0.5, 1.5, 1.5),
        fov=30,
        GUI=True,
    )

    plane = scene.add_entity(
        material=gs.materials.Rigid(),

        morph=gs.morphs.URDF(file="urdf/plane/plane.urdf", fixed=True),
    )
    E, nu = 1.e7,0.3
    rho = 100.0

    obj1 = scene.add_entity(
        material=gs.materials.FEM.Elastic(
            E=E,
            nu=nu,
            rho=rho,
            model="linear",
        ),
        morph=gs.morphs.Mesh(
            file="/home/bahadir/Desktop/genesis/genesis/part_1/tensorflow_model/container_new.obj",
            # size=(1,1,1),
            scale=0.05,
            euler=(-225, -45, 90),
            pos=(0.0, 5.0, 5.0),
        ),
        surface=gs.surfaces.Iron(vis_mode="visual",),
    )

    scene.build()
    cam.start_recording()

    horizon = 1000
    for i in range(horizon):
            #if i < 400:
                #obj1.set_dofs_velocity([0.0, -2.0, 0.0,0.0,0.0,0.0])
            #else:
                #print(obj2.get_dofs_force(dofs_idx))
                #obj2.control_dofs_velocity([0, -5.0, -5.0, -2.0, 0, 0])

            scene.step()
            cam.render()
    cam.stop_recording(save_to_filename="missile_force.mp4", fps=60)

if __name__ == "__main__":
    main()

Expected Behavior

Meshed geometry appear in visual

Release version or Commit ID

0.2.1

bahadir14 avatar May 23 '25 06:05 bahadir14