EBSILON®Professional Online Dokumentation
In diesem Thema
    Darstellung von Objekten
    In diesem Thema

    Darstellung von Objekten


    Allgemeines

    procedure onUpdateObject(obj:ebsobject);
    

    Es besteht die Möglichkeit, die Darstellung (Farbe und Dicke) von Objekten, gemäß eigenen Wünschen zu gestalten. Dazu muss


    Beispiel

    Beispiel für eine Implementierung von onUpdateObject, durch die die Leitungsfarbe abhängig vom Druck und die Leitungsdicke abhängig vom Massenstrom verändert wird:

    procedure onUpdateObject(obj:ebsobject);
    
    var
    pipe:ebspipe;
    mass:real;
    pressure:real;
    width:integer;
    color:integer;
    begin
    
    pipe := ebspipe(obj);
    
    if isKindOf( pipe, "ebspipewater" ) or isKindOf( pipe, "ebspipesteam" ) then
    begin
    pressure:=pipe.p;
    
    if isKindOf( pipe, "ebspipewater" ) then
    begin
    if pressure < 1 then color := $ffa0a0 else
    
    if pressure < 5 then color := $ff8080 else
    
    if pressure < 10 then color := $ff4040 else
    
    if pressure < 40 then color := $ff0000 else
    
    if pressure < 100 then color := $d00000 else
    
    color := $a00000;
    
    end else 
    begin
    if pressure < 1 then color := $a0a0ff else
    
    if pressure < 5 then color := $8080ff else
    
    if pressure < 10 then color := $4040ff else
    
    if pressure < 40 then color := $0000ff else
    
    if pressure < 100 then color := $0000d0 else
    
    color := $0000a0;
    
    end;
    
     
    
    pipe.color:=color;
    mass:=pipe.m;
    if mass < 10 then width := 1 else
    
    if mass < 30 then width := 2 else
    
    if mass < 60 then width := 3 else
    
    if mass < 100 then width := 4 else
    
    if mass < 150 then width := 5 else
    
    if mass < 200 then width := 6 else
    
    if mass < 300 then width := 7 else
    
    if mass < 400 then width := 8 else
    
    if mass < 500 then width := 9 else
    
    width := 10;
    
     
    
    pipe.width:=width;
    
    end;
    
    end;