EBV Text
EBV Text フォーマットの書式
neoEBV はレイアウトデータやマスクデータとは別に以下の形式のテキストファイルを表示することができます。
エレメント
EBV テキストフォーマットでは、以下のエレメントが使用できます。
- 全体への属性 (ファイル全体に影響します)
- unit
- size
上記のエレメントはファイルの途中に書くことも可能です。途中に記述した場合、以降の unit, size が変わります。
- 領域への属性 (次に同じエレメントが出るまで影響します。)
- field
- layno
- 図形
- rect
- xtrap
- ytrap
- poly
- lines
- multigon
- 図形に対する属性 (直前の図形に対してかかります。複数の属性をかけることも可能です。)
- mirrorX
- mirrorY
- rotate
- scale
mirror -> rotate -> scale の順でかかります。
mirror, rotate の原点は図形によって異なります。(rect, xtrap, ytrap の時は x, y が原点になります。poly, lines の時は外接矩形の左下点が原点になります。)
エレメントと書式
ヘッダ
ファイルの先頭行は EBV Text であることを表すヘッダを記述する必要があります。
#EBV
でなければなりません。
コメント
# から行末まではコメントとして扱います。
アドレスユニット
unit <au[um]>
- アドレスユニットのサイズ(単位は um)を表します。
- 省略時は 0.001[um] になります。
チップサイズ
size <sx>,<sy>,<ex>,<ey>
- チップサイズを表します。
- 省略時は図形の外接矩形がチップサイズになります。
- 図形の外接矩形が領域外にあるときはチップサイズは拡大されます。
(ex, ey)
+-----------+
| |
| |
| |
| |
| |
*-----------+
(sx, sy)
フィールド
field <sx>,<sy>,<ex>,<ey> [<option>]
- フィールド内の図形座標は、フィールド原点からの相対座標になります。
(ex, ey)
+-----------+
| |
| |
| |
| |
| |
*-----------+
(sx, sy)
option には以下が指定可能です。同一 option が指定された場合は、後ろの option が優先されます。
オプション | 説明 |
---|---|
name=<str> |
フィールド名を設定します。 |
レイヤ、データタイプ
layno <layer>[:<datatype>]
- 指定がないときのデフォルトは 0:0 です。
- datatype のみ省略可能です。(省略時は 0)
矩形
rect <x>,<y>,<w>,<h>[,<nx>,<ny>,<dx>,<dy>]
- nx 以降があれば repeat として扱います。
nx 個
+---+ +---+
| | ~ ~ ~ ~ ~ | |
o---+ o---+
: :
+---+ XXX : ny 個
| |
o---+ :
^
dy: +---+ +---+ +---+
: | | | | ~ ~ ~ | |
v *---+ o---+ o---+
(x,y)
<- - - ->
dx
X 台形
xtrap <x>,<y>,<w>,<h>,<left-x>,<right-x>[,<nx>,<ny>,<dx>,<dy>]
left-x
--> +----------+
^ / /
h : / /
:/ /
*----------+ -->
(x,y) w right-x
Y 台形
ytrap <x>,<y>,<w>,<h>,<lower-y>,<upper-y>[,<nx>,<ny>,<dx>,<dy>]
^ +
: /|
upper-y : / |
: / |
:/ |
+ |
| |
| +
| /^
w | / :
| / : lower-y
|/ :
* --->
(x,y) h
ポリゴン
poly
xy <x0>,<y0>
xy <x1>,<y1>
...
xy <xn>,<yn>
xy <x0>,<y0>
end[,<nx>,<ny>,<dx>,<dy>]
p5 p4
+----------------+
| |
| p2 |
| +-------+ p3
| |
| |
*--------+
p0 p1
polygon の点数に制限はありません。
線分
lines
xy <x0>,<y0>
xy <x1>,<y1>
...
xy <xn>,<yn>
end[,<nx>,<ny>,<dx>,<dy>]
p2
+
/
/
/
*-------+
p0 p1
マルチゴン
multigon
section <type>:<degree> [<option>]
xy <x0>,<y0>
xy <x1>,<y1>
...
xy <xn>,<yn>
end # section end
section <type>:<degree> [<option>]
xy <x3>,<y3>
xy <x4>,<y4>
...
xy <xn>,<yn>
end # section end
... <複数の section>
hole
section <type>:<degree> [<option>]
xy <xa>, <ya>
xy <xb>, <yb>
...
end # section end
... <複数の section> ...
end[,<nx>,<ny>,<dx>,<dy>] # hole end
end[,<nx>,<ny>,<dx>,<dy>] # multigon end
p1 p2
+----------------------------+
| |
| p5 p6 |
| +------+ +-+ +-+ |
| | | | | .. | | |
| *------+ +-+ +-+ |
| p4 p7 . . |
| . . |
| p9 p10 |
| +-+ +-+ |
| | | .. | | |
| +-+ +-+ |
| p8 p11 |
| |
| |
| |
*----------------------------+
p0 p3
multigon レコード
曲線表現された 1 つの outer と 複数の hole を表現するレコードです。
- 1 つ以上の section レコードを書く必要があります。section レコードの記述上限はありません。
- このレコード直下に掛かれた section の点列は outer として記述されたとみなします。
- multigon レコードは hole レコードを複数記述することができます。hole レコードの記述上限はありません。
- hole レコードの後に outer に所属する section レコードを書くことはできません(hole レコードを記述する前に outer の section レコードを全て書く必要があります)。
hole レコード
multigon 内の hole を表現するレコードです。
- multigon レコードの中でのみ使用可能です。
- 1 つ以上の section レコードを書く必要があります。section レコードの記述上限はありません。
section レコード
multigon の各点、hole の各点を表現するレコードです。
- multigon または hole レコードの中でのみ使用可能です。
- xy レコードを中に 1 つ以上書く必要があります。xy の記述上限数はありません。
- 同じ階層にある section の点は次の section の始点とつながります(最後の section の点は最初の section の始点とつながります)。
section には指定可能なパラメータがあります。
項目 | 説明 |
---|---|
type | linear (各点を直線で結びます。) bezier (各点を Bezier 曲線で結びます。Explicit として読み込みます。) bspline (各点を B-Spline 曲線で結びます。後述のオプションで clamped を指定することができます。) |
degree | 1 (type = linear の時は 1 を指定する必要があります。), 2 or 3 (Bezier 曲線、B-Spline 曲線のための次数を指定します。) |
また、option には以下が指定可能です。
項目 | 説明 |
---|---|
clamped | B-Spline における設定値を指定します。 0 (section の始点、終点を通りません。) 1 (section の始点、終点を通ります。) |
ratio | Bezier 曲線の中間制御点の計算に用います。 このオプションの指定がある場合、Bezier 曲線を Implicit Bezier として読み込みます。 |
- type = linear のときは degree は 1, type = bspline または bezier のときは、degree は 2 か 3 を指定します。
- type = bspline かつ clamped = 0 のときは, 同じ type, 同じ degree の section のみ繋ぐことができます。
- clamped は bspline でのみ有効です。
- type = bspline のとき、section には指定した次数 (degree) 以上の xy レコードが必要です。
- type = bezier のとき、section には指定した次数の倍数(degree x N, N = 1, 2, …)の xy レコードが必要です。
- ratio の指定は type = bezier かつ degree = 3 のときのみ有効です。それ以外の指定はエラーとなります。
- ratio に指定できるのは正の実数のみです。0 以下の値が指定された場合はエラーとなります。
X 軸ミラー
mirrorX
+....+
/ :
/ :
*.......+
\ |
\ |
+----+
Y 軸ミラー
mirrorY
+----+ +....+
| \ / :
| \ / :
+-------*.......+
回転
rotate <deg>
rotate 90
+.........+
: +......+
+-+ : :
| | : +....+
| | +-+ + +....+
| | | | : :
| +---+ +------+ :
+--------------* +
スケール
scale <scale>
+---------------+
| |
| |
| |
| |
| |
+...+ |
: : |
*...+-----------+
EBV Text サンプル
#EBV
unit 0.001
size 500,500,1500,2500
# この部分はコメント
layno 0:0
field 500,500,4500,4500 name=field_1
rect 0,0,100,60,2,3,2000,3000
xtrap 1000,0,80,60,-20,-40,2,3,2000,3000
ytrap 0,1000,80,60,-20,-40,2,3,2000,3000
poly
xy 1000,1061.8
xy 1082.9,1000
xy 1050,1100
xy 1017.1,1000
xy 1100,1061.8
xy 1000,1061.8
end
lines
xy 1000,1061.8
xy 1017.1,1000
xy 1082.9,1000
xy 1100,1061.8
xy 1050,1100
xy 1000,1061.8
end
layno 1:1
rect 0,0,100,60,2,3,2000,3000
mirrorX
xtrap 1000,0,80,60,-20,-40,2,3,2000,3000
mirrorX
ytrap 0,1000,80,60,-20,-40,2,3,2000,3000
mirrorX
poly
xy 1000,1061.8
xy 1082.9,1000
xy 1050,1100
xy 1017.1,1000
xy 1100,1061.8
xy 1000,1061.8
end
mirrorX
lines
xy 1000,1061.8
xy 1017.1,1000
xy 1082.9,1000
xy 1100,1061.8
xy 1050,1100
xy 1000,1061.8
end
mirrorX
layno 2:2
rect 0,0,100,60,2,3,2000,3000
mirrorY
xtrap 1000,0,80,60,-20,-40,2,3,2000,3000
mirrorY
ytrap 0,1000,80,60,-20,-40,2,3,2000,3000
mirrorY
poly
xy 1000,1061.8
xy 1082.9,1000
xy 1050,1100
xy 1017.1,1000
xy 1100,1061.8
xy 1000,1061.8
end
mirrorY
lines
xy 1000,1061.8
xy 1017.1,1000
xy 1082.9,1000
xy 1100,1061.8
xy 1050,1100
xy 1000,1061.8
end
mirrorY
layno 3:3
rect 0,0,100,60,2,3,2000,3000
rotate 180.0
xtrap 1000,0,80,60,-20,-40,2,3,2000,3000
rotate 180.0
ytrap 0,1000,80,60,-20,-40,2,3,2000,3000
rotate 180.0
poly
xy 1000,1061.8
xy 1082.9,1000
xy 1050,1100
xy 1017.1,1000
xy 1100,1061.8
xy 1000,1061.8
end
rotate 180.0
lines
xy 1000,1061.8
xy 1017.1,1000
xy 1082.9,1000
xy 1100,1061.8
xy 1050,1100
xy 1000,1061.8
end
rotate 180.0
multigon
section bspline:3 clamped=0
xy 0,0
xy 0,100
xy 100,50
end
hole
section bspline:3 clamped=0
xy 10,35
xy 10,45
xy 20,45
xy 20,35
end
end,2,2,20,20
end
multigon
section bspline:3 clamped=1
xy 1000,0
xy 950,50
xy 1000,100
end
section bspline:3 clamped=1
xy 1000,100
xy 1100,75
xy 1100,50
end
section bspline:3 clamped=1
xy 1100,50
xy 1100,25
xy 1000,0
end
end,2,2,200,200
multigon
section bezier:3 ratio=0.3
xy 540,540
end
section bezier:3 ratio=0.5
xy 560,560
xy 580,540
xy 560,520
end
hole
section bezier:3 ratio=0.3
xy 550,540
xy 560,550
xy 570,540
xy 560,530
end
end
end
最終更新 10.12.2024