ETH Zuerich - Startseite
Professur für CAAD

 


caad d-arch


Caad Teaching
 

 
Bachelor of Architecture: CAAD II ss07

 
Master of Advanced Studies
in Architecture, CAAD


 
DWF-Processing
Programmieren statt Zeichnen


 
Graustufen - Ein Atlas
Schweizer Wohngebäude als XML Daten


 
DWF- Denken in Systemen:
In Collaboration with the Technical University Vienna


 
Seminarwoche:
BlowUp


 
Archiv

 
Caad Projects
 

 
Theory
 
Design
 
Building
 
Practice

 
Related pages
 

 
Swiss Federal Institute of Technology Zurich
 
Institute of Building Technology
 
Faculty of Architecture

 
Other pages

 










hbt d-arch

MAS ETH ARCH/CAAD - 2005/06 - STUDENT PAGES
Master of Advanced Studies in Architecture, Specialization in Computer Aided Architectural Design | 065-0005/6
Supervision: Prof. Dr. Ludger Hovestadt, Philipp Schaerer
Chair of CAAD, ETH Zurich





BACK

TRANSLATING IMAGES

__________________________________________________________________________________________________________________________

twiki_modul02_1.jpg

__________________________________________________________________________________________________________________________

twiki_modul02_2.jpg __________________________________________________________________________________________________________________________

twiki_modul02_3.jpg __________________________________________________________________________________________________________________________

CYAN LAYER

Maz_gelb.jpg __________________________________________________________________________________________________________________________

DETAIL

Bild12.jpg __________________________________________________________________________________________________________________________

FINAL TRANSLATION

Bild11.jpg

__________________________________________________________________________________________________________________________

PROCEDURE XML2VW_v1;


TYPE
        ImageData=STRUCTURE
                value: REAL;
                x:REAL;
                y:REAL;
END;
VAR
          currentCell:HANDLE;
          _tag,_data:STRING;
          _flag,id:INTEGER;
          r,x,y,v1,value:REAL;
         _fileName:ARRAY[0..4] OF STRING;
          objectHand, recordHand, wallHand        :       HANDLE;
          objectName      :       STRING;
          col             :       REAL;

           rot,gruen,blau:LONGINT;
         xmax,ymax: REAL;
           k,i,j:INTEGER;
      radius:REAL;
         ovalArray: ARRAY[0..2000] OF ImageData;
      Radi: ARRAY[0..5000,0..4]  OF REAL;
          Values: ARRAY[0..5000,0..4]  OF REAL;
           idmax: INTEGER;

        PROCEDURE readData(VAR _dData,_dTag:STRING;VAR _OCFlag:INTEGER);
        VAR
                _rString:STRING;
                _rChar:CHAR;
                _f1:INTEGER;
        BEGIN
                {setzen der Variablen in den Grundzustand}
                _f1:=0;
                _OCFlag:=0;
                _dData:=''; {Name/Art der Wertebezeichnung aus dem XML}
                _rString:='';
                _dTag:=''; {Wert/Daten aus dem XML}
                WHILE ((_f1=0) AND (NOT EOF(_fileName[k]))) DO BEGIN
                        Read(_rChar);

                        IF _rChar='/' THEN BEGIN
                                IF _OCFlag=1 THEN _OCFlag:=2;
                                _rString:='';
                        END
                        ELSE BEGIN
                                IF _rChar='<' THEN BEGIN
                                        _OCFLag:=1;
                                        _dData:=_rString;
                                        _rString:='';
                                END
                                ELSE BEGIN
                                        IF _rChar='>' THEN BEGIN
                                                _dTag:=_rString;
                                                _f1:=1;
                                        END
                                        ELSE BEGIN
                                                _rString:=Concat(_rString,_rChar);
                                        END;
                                END;
                        END;
                END;

                IF EOF(_fileName[k]) THEN _dTag:='xx';
        END;
BEGIN

GetFile(_fileName[1]);
GetFile(_fileName[2]);
GetFile(_fileName[3]);
GetFile(_fileName[4]);

FOR k:=1 TO 4 DO BEGIN
       
        Open(_fileName[k]);

        WHILE _tag<>'xx' DO BEGIN

                readData(_data,_tag,_flag);

                IF (_flag=2) THEN BEGIN

               IF _tag='CELL' THEN BEGIN
                  if (id > idmax) THEN idmax := id;
                  values[id,k]:=value;
                  ovalArray[id].x:=x;
                  ovalArray[id].y:=y;
               END;
               
                              IF _tag='ID' THEN BEGIN
                                        id := Str2Num(_data);
                              END;

                              IF _tag='VALUE' THEN BEGIN
                                        value := Str2Num(_data);
                              END;

                              IF _tag='X' THEN BEGIN
                                        x := Str2Num(_data)*5;
                              END;                            

                              IF _tag='Y' THEN BEGIN
                                        y := Str2Num(_data)*(-5);
               END;
         END;
         IF(_flag=1) THEN BEGIN  
      END;
message(id);
END;
_tag:='';
Close(_fileName[k]);  
END;
FOR i:= 0 TO idmax DO BEGIN

      Radius:=0;
      FOR j:= 4 DOWNTO 1 DO BEGIN
         Radius:= Radius + Values[i,j]*0.9;
         Radi[i,j]:=Radius;
      END;

      FOR j:= 1 TO 4 DO BEGIN
         oval(ovalArray[i].x-Radi[i,j],ovalArray[i].y-Radi[i,j],ovalArray[i].x+Radi[i,j],ovalArray[i].y+Radi[i,j]);
               objectHand:=LNewObj;
         CASE j of 
            1:ColorIndexToRGB(36,rot,gruen,blau); {cyan}
            2:ColorIndexToRGB(12,rot,gruen,blau); {magenta}
            3:ColorIndexToRGB(5,rot,gruen,blau); {gelb}
            4:ColorIndexToRGB(255,rot,gruen,blau);
         END;
         SetFillBack(objectHand,rot,gruen,blau);
                   
      END;  
END;
     
END;
RUN(XML2VW_v1);

DOWNLOAD: PowerPointrait.zip







-- NDSMatthiasZaeh - 21 Dec 2005

Revision r1.2 - 16 Jan 2006 - 09:55 - NDSMatthiasZaeh
Parents: WebHome > NDSMatthiasZaeh
Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

This website has been archived and is no longer maintained.