Opened 12 years ago

Closed 7 years ago

#2117 closed defect (wontfix)

Modelica3d: Complete redesign needed

Reported by: Christian Schubert Owned by: Martin Sjölund
Priority: high Milestone:
Component: Third-Party Libraries Version: trunk
Keywords: modelica3d Cc: Martin Sjölund, Christoph Höger, Adeel Asghar, Volker Waurich

Description

Looking at the definition of Modelica.Utilities.Internal.PartialModelicaServices.Animation.PartialShape I noticed that all "parameters" are defined as inputs:

  input Real lengthDirection[3];
  input Real widthDirection[3];
  input SI.Length length;
  input SI.Length width;
  input SI.Length height;
  input Types.ShapeExtra extra;
  input Real color[3];
  input Types.SpecularCoefficient specularCoefficient; 

Thus, they can change their value during simulation (and do as in the case of prismatic joints!)

Currently, the Modelica3D implementation treats them as parameters, i.e. they are sent at the visualization engine only during initialization.
Clearly, they have to be sent either at every frame or whenever they change (difficult since they are continous in general).

Then one should reconsider the modbus library as, as far as I know, it sends all data encoded as text (Is this true?). If that is the case, we should swith to some binary protocol or even simple udp messages, where we simply serialize the information from PartialShape together with the id of the object and the current time.

Change History (6)

comment:1 by Christoph Höger, 12 years ago

  1. The idea of Modelica3D was always to keep the interface as simple and small as possible. So in case e.g. height changes, you should detect that in Modelica and commit that change to the visualisation only once. That was the main distinction to e.g. simviz.
  1. modbus was implemented as the simplest possible middleware. Yes, it is not as efficient as it could be and yes, udp would probably be a lot faster. Yet, writing an expandable middleware protocoll is quite a burden. dbus does a lot of codec magic. You should keep that in mind.

That being said, Modelica3D is currently basically unmaintained as I cannot invest any time in it. As it is free software, feel free to rewrite it partially!

comment:2 by Martin Sjölund, 11 years ago

Milestone: 1.9.0Future

comment:3 by Dietmar Winkler, 9 years ago

Component: User interfaceThird-Party Libraries
Owner: changed from Adeel Asghar to Martin Sjölund

comment:4 by Francesco Casella, 7 years ago

Cc: Volker Waurich added
Resolution: fixed
Status: newclosed

This ticket is now obsolete, as a completely new 3D animation engine was introduced in version 1.11.0

Feel free to reopen if relevant to the new 3D engine.

comment:5 by Martin Sjölund, 7 years ago

Milestone: Future
Resolution: fixed
Status: closedreopened

comment:6 by Martin Sjölund, 7 years ago

Resolution: wontfix
Status: reopenedclosed

Shouldn't ever have "fixed" tickets with future milestone. And this was not fixed either :)

Note: See TracTickets for help on using tickets.