I’m working with the RFEM6 Python API II and need to modify only the specific weight (γ) and mass density (ρ) of an existing concrete material. I understand that these properties live in the material’s temperature‐dependent row table, but I haven’t found a concise, reliable approach to update just those two fields without re‑defining the entire material.
Here’s what I’ve tried so far:
Create a brand‑new Material object matching the enums of the original (model, type, definition), then force is_temperature_dependent = True, add or reuse the first temperature row, and override its specific_weight and mass_density before pushing via create_object_list().
Deep‑copy the original Material, change its no and name, enable temperature dependence, update the first temperature row, and push the copy back.
In both cases, logging before and after showed that the new row values never “stick” once the model is reloaded. I also verified I’m targeting row 1 for both weight and density, but still end up with the original values.
thanks for bringing this up!
We are aware of this limitation and are currently working on a solution. Unfortunately, there is no straightforward workaround at the moment. However, we plan to make it possible to update an existing material—including specific weight and mass density—or to create a deep copy with modified properties in a future update.
I’ll keep you posted as soon as this becomes available.
Ok thanks very much for letting me know!
I work off a template model so I think in the mean time it will work to just use the UI to copy the most common concrete's I tend to use and manually change the values I need, note the corresponding material numbers in python and just assign materials rather than trying to modify :)
Just wanted to let you know that the issue has already been solved in version 6.11.0011/2.11.11, and no workaround is necessary anymore. You can directly update the material properties, such as mass density and specific weight, using the following approach: