GNU PIC で オブジェクト図

GNU PIC でオブジェクト図 を書く。

GNU PIC でオブジェクト図

.ps 14 # font size
.PS
scale = 2.54; # inch -> cm

lineht=3;
linewid=3;

define object {[
    box "<<object>>" $1 ht $2 wid $3;
    box $4 ht $5 wid last box.wid with .ne at last box.se;
]}

Object1: object("xxx : member", 1, 6, "name=xxx" "birthday=2000/01/01" "number=1234" "address=yyy", 2);

line;
Object2: object("rental to xxx : retal", 1, 4, "date=2010/01/01" "due=2010/01/14" "fee=200yen", 2);

move to 1/2 <Object2.s, Object2.sw>;
line down left;
Object3: object("T1234-001 : rental substance", 1, 6, "rental number=T1234-001" "media=DVD", 2) with .n at last line.end;

move to 1/2 <Object2.s, Object2.se>;
line down right;
Object4: object("T1235-001 : rental substance", 1, 6, "rental number=T1235-001" "media=DVD", 2) with .n at last line.end;

down;
move to Object3.s;
line;
Object5: object("AAA : movie", 1, 6, "name=AAA" "time=2:00" "director=ABC", 2) with .n at last line.end;
"substance on the shelf" ljust at Object3.s + (0.5, -0.5);
"info" rjust at Object5.n + (-0.5, 0.5);

down;
move to Object4.s;
line;
Object6: object("BBB : movie", 1, 6, "name=BBB" "time=1:30" "director=DEF", 2) with .n at last line.end;

.PE