/
├index
├drawing_1.pcdt
├drawing_2.pcdt
├drawing_3.pcdt
└media/
├ e87099e2-8962-4e33-9de5-87eda5b55270.jpg
└ 01ed77be-822f-474b-a297-6d4c025ba6be.jpg
\はエスケープ文字です。改行は\n、タブは\tです。\の後にその他の文字が来た場合はその文字が使われます(例えばダブルクォーテーションは\"を使います)。filetypeタグを記入してください。filetype("precad_archive")と記入します。これでファイルの種類を判別します。filetype("precad_archive")はタグパラメータ形式ですが、途中に空白や改行を入れず行の先頭から書いてください(ファイル種別の判別を簡略化するためです)。filetype("sample") //一行目はファイルタイプ。ここでは空白文字を使わないこと。
tag1(1) //単独の数値。整数とするか実数とするかはタグの種類による。
tag2("STRING") //単独の文字列。
tag3(10.0 15.5) //座標。数値を空白文字で区切る。
tag4(tag1(5.5)tag2("xyz")) //複数のタグパラメータ。
tag5(0xFF000000) //16進数は整数として解釈する。主に色で使われる。
byLayer() //パラメータなし。
//次の二つはどちらも同じ(順序は無関係)
tag6(tag1(5.5)tag2(123))
tag6(tag2(123)tag1(5.5))
インデックスファイルのファイル名はindexです。このファイルにページの情報と共通する設定を記入します。
filetype("precad_archive")を空白文字なしで記入してください。以下はindexファイルの例です。
filetype("precad_archive")
fileinfo(
version(2.0.0)appinfo("precad for windows version 2.0.0.0")
)
contents(
pages(
page(
title("Page1")drawing("drawing_1.pcdt")
)
page(
title("Page2")drawing("drawing_2.pcdt")
)
)
)
settings(
pageIndex(0)
paper(name("A3")size(297 210))
grid(p0(0 0)gridSizeOnPaper(10)div(5)isScaled(0)angle(0.0))
printInfo(printPaperSize(420.0 297.0)printCenter(0.0 0.0)printScale(2.0))
)
ファイルの情報です。
| 要素 | パラメータ | 説明 |
|---|---|---|
| version(version) | version : String | フォーマットのバージョン |
| appinfo(name) | name : String | 作成したアプリの情報 |
ページのリストです。1ページから順に並びます。
| 要素 | パラメータ | 説明 |
|---|---|---|
| title(title) | title : String | 図面のタイトル |
| drawing(file) | file : String | 図面のファイル名 |
pcdt(PreCad Drawing Text)です。設定を記述します。
settings(
pageIndex(0)
paper(name("A3")size(297 210))rotatePaper
grid(p0(0 0)gridSizeOnPaper(10)div(5)isScaled(0)angle(0.0))
printInfo(printPaperSize(420.0 297.0)printCenter(0.0 0.0)printScale(2.0))
)
選択されていたページのインデクス(0が1ページ目)。
用紙設定。画面上で表示される用紙のサイズで印刷用紙で無いことに注意。
| 要素 | パラメータ | 説明 |
|---|---|---|
| size(width height) | width : Double, height : Double | 用紙サイズ。 |
PreCadでは以下の用紙リストから用紙を選択する。
用紙名リスト(用紙は横向きが基準)
| 用紙名 | サイズ(幅 x 高さ)[mm] | 備考 |
|---|---|---|
| Letter | 279 x 216 | 11 x 8.5 in |
| A4 | 297 x 210 | |
| A3 | 420 x 297 | |
| A2 | 594 x 420 | |
| A1 | 841 x 594 | |
| A0 | 1189 x 841 | |
| 2A | 1682 x 1189 | |
| 3A | 2378 x 1682 | |
| 4A | 3364 x 2378 | |
| 5A | 4756 x 3364 |
グリッドの設定
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | グリッド原点 |
| s : Double | グリッド間隔(廃止) | |
| div(n) | n : Int | グリッド間隔をn分割 |
| isScaled(f) | f : Int | 0:グリッド間隔は用紙寸 1:グリッド間隔は実寸 |
| angle(s) | s : Double | グリッド角度(度) |
| gridSizeOnPaper(s) | s : Double | 用紙上のグリッド間隔 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| printPaperSize(width height) | width : Double, height : Double | 印刷する用紙のサイズ |
| printCenter(x y) | x : Double, y : Double | 印刷領域の中心座標 |
| printScale(scale) | scale : Double | 印刷倍率 |
図面ファイルは各ページの図面本体です。
1行目にfiletype("precad_document")を記入してください。これでファイルの種類を判別します。
2行目以降にfileinfo、contents、settingsのセクションが続きます。この出現順は守ってください。バージョンアップ等で新たにセクションが加わるかもしれませんので未知のセクションは読み飛ばせるようにしてください。
ファイルの情報です。インデックスファイルに準拠します。
| 要素 | パラメータ | 説明 |
|---|---|---|
| version(version) | version : Stgring | フォーマットのバージョン |
| appinfo(name) | name : String | 作成したアプリの情報 |
レイヤ、シート、図形を記述します。
drawingファイルでは基本的に使用する要素は事前に定義されていなければいけません。したがってshapesはsheet及びlayerが必要になるのでshapesの前にlayers及びsheetsが必要になります(layersとsheetsの出現順には制約がありません)。
contents(
layers(
layer(name("テスト1")color(0xFF000000)lineWidth(0))
layer(name("テスト2")color(0xFF000000)lineWidth(0))
)
sheets(
sheet(name("シート1")scale(0.3))
sheet(name("シート2")scale(0.3))
)
shapes(
sheet("シート2")
layer("テスト1")
ls(w(0.5))
Line(...)
Circle(...)
layer("テスト2")
ls(w(1.0))
Line(...)
...
)
)
レイヤのリストです。並びは表示されるときの重ね順で下から上になります。
シートのリストです。並びは表示されるときの重ね順で下から上になります。
図形のリストです。図形以外にsheet、layer及び属性値タグがあらわれます。
// カレント線種を幅0.5、実線、黒にする。
ls(w(0.5) t("solid") c(0xff000000))
// 線種は幅1.0、実線、黒。カレント線種は変更しない。
Line(ls(w(1.0)) pp(0 0 100 50))
// カレント線種の色のみ変更(幅0.5、実線、赤)。
ls(c(0xffff0000))
| マクロ文字列 | 値 |
|---|---|
| ${$} | $ |
| ${PageTitle} | ページのタイトル |
| ${PageNumber} | ページ番号 |
| ${PageCount} | 総ページ数 |
| ${SheetName} | シート名 |
| ${SheetScale} | シートの縮尺 |
線のスタイル。省略時は黒、実線、線幅0です。
lineStyle(width(w)color(c)lineType(name)flag(f))
| 要素 | パラメータ | 説明 |
|---|---|---|
| width(w) [ w ] |
w : Double | 線幅 |
| color(c) [ c ] |
c : Int | 線色 |
| lineType(name) [ t ] |
name : String | 線種名 |
| flag(f) [ f ] |
f : Int | フラグ |
| 線種名 | パターン | 説明 |
|---|---|---|
| solid | なし | 実線 |
| dashed | 12.0, 3.0 | 破線 |
| dash_space | 12.0, 12.0 | 跳び破線 |
| center | 24.0, 3.0, 7.0, 3.0 | 一点鎖線 |
| phantom | 24.0, 3.0, 7.0, 3.0, 7.0, 3.0 | 二点鎖線 |
| long-dash_dot | 24.0, 3.0, 0.5, 3.0 | 一点長鎖線 |
| long-dash_2dot | 24.0, 3.0, 0.5, 3.0, 0.5, 3.0 | 二点長鎖線 |
| long-dash_3dot | 24.0, 3.0, 0.5, 3.0, 0.5, 3.0, 0.5, 3.0 | 二点長鎖線 |
| dot | 0.5, 3.0 | 点線 |
| dash_dot | 12.0, 3.0, 0.5, 3.0 | 一点短鎖線 |
| 2dash_dot | 12.0, 3.0, 12.0, 3.0, 0.5, 3.0 | 一点二短鎖線 |
| dash_2dot | 12.0, 3.0, 0.5, 3.0, 0.5, 3.0 | 二点短鎖線 |
| 2dash_2dot | 12.0, 3.0, 12.0, 3.0, 0.5, 3.0, 0.5, 3.0 | 二点二短鎖線 |
| dash_3dot | 12.0, 3.0, 0.5, 3.0, 0.5, 3.0, 0.5, 3.0 | 三点短鎖線 |
| 2dash_3dot | 12.0, 3.0, 12.0, 3.0, 0.5, 3.0, 0.5, 3.0, 0.5, 3.0 | 三点二短鎖線 |
※パターンは線分長と空白のペアで、長さはこれに線幅を掛ける。
※パターンはSXF規格を参考にした。
円や多角形の塗りのスタイルです。solid(単色)とbyLayerがあります。fillStyleのパラメータにはどちらかを指定してください。
fillStyle(solid(0xFF00FF00))
fillStyle(byLayer())
| 要素 | パラメータ | 説明 |
|---|---|---|
| solid(c) | c : Int | 面色 |
| byLayer() | レイヤ色 |
矢印のスタイルです。
startArrow(size(3)type(1))
| 要素 | パラメータ | 説明 |
|---|---|---|
| size(size) [ s ] |
size : Double | 矢印の大きさ |
| type(id) [ t ] |
id : Int | 矢印の種類 |
| ID | 種類 |
|---|---|
| 0 | なし |
| 1 | 開いた矢印 |
| 2 | 三角形 |
| 3 | 塗りつぶした三角形 |
| 4 | 円 |
| 5 | 塗りつぶした円 |
| 6 | 四角形 |
| 7 | 塗りつぶした四角形 |
| 8 | 斜め線 |
| 9 | S字 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| color(c) [ c ] |
c : Int | 文字色 |
| textAlign(a) [ ta ] |
a : Int | 文字配置 |
| fontName(name) [ fn ] |
name : String | フォント名 |
| fontHeight(h) [ fh ] |
h : Double | フォントサイズ |
| fontWidthScale(w) [ fw ] |
w : Double | フォント横幅比 |
| fontSpace(s) [ fs ] |
s : Double | 文字間隔 |
| fontSkewAngle(a) [ fa ] |
a : Double | 傾斜角 |
| flag(f) [ f ] |
f : Int | フラグ |
文字配置
0:左 1:中央 2:右 3:両端揃え 4:均等揃え
フラグ
フラグは以下の値の組み合わせです。
0x0000_0001 : | ColorByLayer
0x0002_0000 : (予約:縦書き?)
0x0004_0000 : イタリック
0x0008_0000 : ボールド
0x0010_0000 : 下線
0x0020_0000 : 取り消し線
0x0040_0000 : (予約:未定)
0x0080_0000 : (予約:折り返しなし?)
0x0100_0000 : 文字のみ傾斜
0x0200_0000 : 枠線
「文字のみ傾斜」は、fontSkewAngleで文字のみを傾かせる(文字枠は長方形で文字のみ傾く)。フラグが立っていない場合は、文字枠を含め文字を歪ませる(文字枠は平行四辺形になる)。
枠線は、太さ0.13mmの実線(下線等と同じ扱い)。
| 要素 | パラメータ | 説明 |
|---|---|---|
| type(name) [ t ] |
name : String | マーカー名 |
| size(s) [ s ] |
s : Double | サイズ |
| 名称 | 種類 | 備考 |
|---|---|---|
| asterisk | ||
| circle | ||
| dot | オブジェクトのsizeを使わず、すべての点の大きさは共通の設定を使用する。 | |
| plus | ||
| square | ||
| triangle | ||
| x |
| 要素 | パラメータ | 説明 |
|---|---|---|
| textOffset(d) [ to ] |
d : Double | 文字の下線との縦方向の離れ |
| leaderOffset(d) [ lo ] |
d : Double | 引出線の終点から文字横方向の離れ |
| extendLine(i) [ el ] |
i : Int | 線を文字列まで延長。 0:延長なし 1:延長する |
| leaderOrientation(i) [ lr ] |
i : Int | 文字の配置方向。 0:水平 1:平行 |
| leaderBasis(i) [ lb ] |
i : Int | 文字の配置。 0:上 1:下 2:中 3:自由 |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル |
| arrowStyle(...) [ as ] |
矢印スタイル参照 | 矢印スタイル |
| textAngle(d) [ ta ] |
d:Double | 文字角度。leaderBasisが3の時有効 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| radius(r) [ r ] |
r : Double | 半径 |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル |
| arrowStyle(...) [ as ] |
矢印スタイル参照 | 矢印スタイル |
| 要素 | パラメータ | 説明 |
|---|---|---|
| extensionLineOffset(d) [ eo ] |
d : Double | 引出位置から引出線までの離れ |
| extensionLineOvershoot(d) [ ev ] |
d : Double | 寸法線からの引出線の延長長さ |
| dimensionLineExtension(d) [ de ] |
d : Double | 寸法線の延長長さ |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル |
| textOffset(d) [ to ] |
d : Double | 文字の寸法線との離れ。省略時0 |
| formatStyle(...) [ fs ] |
寸法値フォーマット参照 | 寸法値フォーマット |
| tolerance2LinesTextScale(s) [ tt ] |
s:Double | 2行の許容差の文字サイズの比率 |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点の矢印スタイル |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点の矢印スタイル |
| arrowMode(m) [ am ] |
m:Int | 矢印モード 0:自動, 1:内側, 2:外側 |
| ul(m) |
m:Int | 寸法値単位。寸法値自動の時に使用。 0:mm, 1:cm, 2:m, 3:inch |
| 要素 | パラメータ | 説明 |
|---|---|---|
| extensionLineOffset(d) [ eo ] |
d : Double | 引出位置から引出線までの離れ |
| extensionLineOvershoot(d) [ ev ] |
d : Double | 寸法線からの引出線の延長長さ |
| dimensionLineExtension(d) [ de ] |
d : Double | 寸法線の延長長さ |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル |
| textOffset(d) [ to ] |
d : Double | 文字の寸法線との離れ |
| formatStyle(...) [ fs ] |
寸法値フォーマット参照 | 寸法値フォーマット |
| tolerance2LinesTextScale(s) [ tt ] |
s:Double | 2行の許容差の文字サイズの比率 |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点の矢印スタイル |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点の矢印スタイル |
| arrowMode(m) [ am ] |
m:Int | 矢印モード 0:自動, 1:内側, 2:外側 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| dimensionLineExtension(d) [de(d)] |
d : Double | 寸法線の延長長さ |
| fromText(i) [ ft ] |
i:Int | 0:中心から円周に向けて線を引く。 1:文字から円周に向けての線のみ |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル |
| textOffset(d) [ to ] |
d : Double | 文字の寸法線との離れ |
| formatStyle(...) [ fs ] |
寸法値フォーマット参照 | 寸法値フォーマット |
| tolerance2LinesTextScale(s) [ tt ] |
s:Double | 2行の許容差の文字サイズの比率 |
| arrowStyle(...) [ as ] |
矢印スタイル参照 | 矢印スタイル |
| arrowMode(m) [ am ] |
m:Int | 矢印モード 0:自動, 1:内側, 2:外側 |
| ul(m) |
m:Int | 寸法値単位。寸法値自動の時に使用。 0:mm, 1:cm, 2:m, 3:inch |
| 要素 | パラメータ | 説明 |
|---|---|---|
| dimensionLineExtension(d) [de(d)] |
d : Double | 寸法線の延長長さ |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル |
| textOffset(d) [ to ] |
d : Double | 文字の寸法線との離れ |
| formatStyle(...) [ fs ] |
寸法値フォーマット参照 | 寸法値フォーマット |
| tolerance2LinesTextScale(s) [ tt ] |
s:Double | 2行の許容差の文字サイズの比率 |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点の矢印スタイル |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点の矢印スタイル |
| arrowMode(m) [ am ] |
m:Int | 矢印モード 0:自動, 1:内側, 2:外側 |
| ul(m) |
m:Int | 寸法値単位。寸法値自動の時に使用。 0:mm, 1:cm, 2:m, 3:inch |
| 要素 | パラメータ | 説明 |
|---|---|---|
| extensionLineOffset(d) [ eo ] |
d : Double | 引出位置から引出線までの離れ |
| extensionLineOvershoot(d) [ ev ] |
d : Double | 寸法線からの引出線の延長長さ |
| dimensionLineExtension(d) [ de ] |
d : Double | 寸法線の延長長さ |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル |
| textOffset(d) [ to ] |
d : Double | 文字の寸法線との離れ |
| formatStyle(...) [ fs ] |
寸法値フォーマット参照 | 寸法値フォーマット |
| tolerance2LinesTextScale(s) [ tt ] |
s:Double | 2行の許容差の文字サイズの比率 |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点の矢印スタイル |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点の矢印スタイル |
| arrowMode(m) [ am ] |
m:Int | 矢印モード 0:自動, 1:内側, 2:外側 |
| em(m) |
m : Int | 引出線モード 0:自動, 1:平行, 2:放射状 |
| ul(m) |
m:Int | 寸法値単位。寸法値自動の時に使用。 0:mm, 1:cm, 2:m, 3:inch |
| 要素 | パラメータ | 説明 |
|---|---|---|
| fractionDigits(d) [ fd ] |
d : Int | 小数点桁数。省略時1 |
| usesGroupingSeparator(f) [ gs ] |
f : Int | 0:区切りなし 1:桁区切り |
| prefix(s) [ p ] |
s : String | 前置文字 |
| suffix(s) [ s ] |
s : String | 後置文字 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| toleranceType(t) [ tt ] |
t : Int | 許容差タイプ 0:無し 1:一段 2:二段 |
| value0(v) [ v0 ] |
v : Double | 許容差上(一段の時はこちらを使用) |
| value1(v) [ v1 ] |
v : Double | 許容差下(一段の時は使われない) |
| fractionDigits(d) [ fd ] |
d : Int | 小数点桁数 |
| suffix(s) [ s ] |
s : String | 後置文字 |
| 属性 | 初期値 | 説明 |
|---|---|---|
| lineStyle [ls] |
lineStyle(w(0) c(0xff000000) t("solid") f(0)) | |
| fillStyle [fs] |
fillStyle(solid(0x00ffffff)) | |
| startArrow | startArrow(t(0) s(3.0)) | 線の始点矢印 |
| endArrow | endArrow(t(0) s(3.0)) | 線の終点矢印 |
| textStyle [ts] |
textStyle(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) | |
| markerStyle [ms] |
markerStyle(t("x") s(2.5)) | |
| leaderStyle | leaderStyle(to(0.0) lo(0.0) el(1) lr(0) lb(0) ts(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) as(t(1) s(3.0)) ta(0.0)) | |
| balloonStyle | balloonStyle(r(4.0) ts(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) as(t(1) s(3.0))) | |
| dimensionStyle | dimensionStyle(eo(1.0) ev(2.0) de(5.0) ts(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) to(0.0) fs(fd(1) gs(0) p("") s("")) tt(0.75) sa(t(1) s(3.0)) ea(t(1) s(3.0)) am(0) ul(0)) | |
| angleStyle | angleStyle(eo(1.0) ev(2.0) de(5.0) ts(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) to(0.0) fs(fd(1) gs(0) p("") s("°")) tt(0.75) sa(t(1) s(3.0)) ea(t(1) s(3.0)) am(0)) | |
| radiusStyle | radiusStyle(de(5.0) ft(0) ts(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) to(0) fs(fd(1) gs(0) p("R") s("")) tt(0.75) as(t(1) s(3.0)) am(0) ul(0)) | |
| diameterStyle | diameterStyle(de(5.0) ts(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) to(0) fs(fd(1) gs(0) p("Φ") s("")) tt(0.75) sa(t(1) s(3.0)) ea(t(1) s(3.0)) am(0) ul(0)) | |
| arcDimensionStyle | arcDimensionStyle(eo(1.0) ev(2.0) de(5.0) ts(c(0xff000000) ta(0) fn("") fh(4.0) fw(1.0) fs(0.0) fa(0.0) f(0)) to(0.0) fs(fd(1) gs(0) p("⌒") s("")) tt(0.75) sa(t(1) s(3.0)) ea(t(1) s(3.0)) am(0) em(0) ul(0)) |
※ カレント属性の文字スタイル及び矢印スタイルは、カレント属性のleaderStyle、balloonStyle、dimensionStyle、angleStyle、radiusStyle、diameterStyle及びarcDimensionStyleへ影響を与えません。
以下のコマンドが使えます。
| コマンド | パラメータ | 説明 |
|---|---|---|
| save() | 現在の属性をスタックに保存します。 | |
| restore() | saveコマンドで保存した属性をスタックから戻します。 | |
| clear() | 現在の属性を初期値に変更します(スタックは変更しません)。 |
※ このドキュメントを書いている時点でこれらのコマンドは未使用です。
| 要素 | パラメータ | 説明 |
|---|---|---|
| pp(x0 y0 x1 y1) | x0 : Double, y0 : Double, x1 : Double, y1 : Double |
始点と終点 |
| p0(x y) | x : Double, y : Double | 始点 |
| p1(x y) | x : Double, y : Double | 終点 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点の矢印スタイル |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点の矢印スタイル |
| 要素 | パラメータ | 説明 |
|---|---|---|
| vertices(x1 y1 x2 y2 x3 y3 ... xn yn) [ vs ] |
x1..xn : Double, y1..yn : Double | 頂点 |
| isClosed(flag) [ ic ] |
flag : Int | 0:Open 1:Close 省略時0 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 塗りスタイル |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点矢印 |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点矢印 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| vertices(x1 y1 x2 y2 x3 y3 ... xn yn) [ vs ] |
x1..xn : Double, y1..yn : Double | 頂点 |
| isClosed(flag) [ ic ] |
flag : Int | 0:Open 1:Close 省略時0 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 塗りスタイル |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点矢印 |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点矢印 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| vertices(x1 y1 x2 y2 x3 y3 ... xn yn) [ vs ] |
x1..xn : Double, y1..yn : Double | 頂点と制御点 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 塗りスタイル |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点矢印 |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点矢印 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 中心点 |
| radius(r) [ r ] |
r : Double | 半径 |
| flatness(f) [ f ] |
f : Double | 扁平率。省略時1 |
| angle(a) [ a ] |
a : Double | 角度(度)。省略時0 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 塗りスタイル |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 中心点 |
| radius(r) [ r ] |
r : Double | 半径 |
| flatness(f) [ f ] |
f : Double | 扁平率。省略時1 |
| angle(a) [ a ] |
a : Double | 角度(度)。省略時0 |
| startAngle(a) [ st ] |
a : Double | 開始角(度)。省略時0 |
| sweepAngle(a) [ sw ] |
a : Double | 角幅(度)。省略時90 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 塗りスタイル |
| startArrow(...) [ sa ] |
矢印スタイル参照 | 始点矢印 |
| endArrow(...) [ ea ] |
矢印スタイル参照 | 終点矢印 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 中心点 |
| angle(a) [ a ] |
a : Double | 角度(度)。省略時0 |
| markerStyle(...) [ ms ] |
点スタイル参照 | 点スタイル |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 基準点 |
| width(w) [ w ] |
w : Double | 文字枠幅。省略時0。 |
| height(h) [ h ] |
h : Double | 文字枠高さ。省略時0。 |
| text(t) [ t ] |
t : String | 文字列 |
| angle(a) [ a ] |
a : Double | 角度(度)。省略時0 |
| basis(b) [ b ] |
b : Int | 配置基準。省略時0(左下) |
| fm(m) | m : Int | 文字枠モード。省略時0(自動) |
| textStyle(...) [ ts ] |
文字スタイル参照 | 文字スタイル。 |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 寸法線始点 |
| p1(x y) | x : Double, y : Double | 寸法線終点 |
| direction(dx dy) [ d ] |
dx : Double, dy : Double | 寸法線から引出位置への方向単位ベクトル |
| extensionLine0(d) [ e0 ] |
d : Double | 始点側引き出し線の長さ |
| extensionLine1(d) [ e1 ] |
d : Double | 終点側引き出し線の長さ |
| text(t) [ t ] |
t : String | 文字列 |
| tp(d) | d : Double | 文字配置位置 0.0が始点、1.0が終点、0.5が寸法線の中央。省略時0.5 |
| enableAutoDimension(f) [ ed ] |
f : Int | 1で寸法値自動。省略時1 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| dimensionStyle(...) [ ds ] |
直線寸法スタイル参照 | 直線寸法スタイル |
| tolerance(...) [ to ] |
許容差参照 | 許容差。省略時、許容差なし |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 寸法線始点 |
| p1(x y) | x : Double, y : Double | 寸法線終点 |
| text(t) [ t ] |
t : String | 文字列 |
| tp(d) | d : Double | 文字配置位置 0.0が中心、1.0が終点、0.5が寸法線の中央。省略時0.5 |
| enableAutoDimension(f) [ ed ] |
f : Int | 1で寸法値自動。省略時1 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| dimensionStyle(...) [ ds ] |
半径寸法スタイル参照 | 半径寸法スタイル |
| tolerance(...) [ to ] |
許容差参照 | 許容差。省略時、許容差なし |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 寸法線始点 |
| p1(x y) | x : Double, y : Double | 寸法線終点 |
| text(t) [ t ] |
t : String | 文字列 |
| tp(d) | d : Double | 文字配置位置 0.0が始点、1.0が終点、0.5が寸法線の中央。省略時0.5 |
| enableAutoDimension(f) [ ed ] |
f : Int | 1で寸法値自動。省略時1 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| dimensionStyle(...) [ ds ] |
直径寸法スタイル参照 | 直径寸法スタイル |
| tolerance(...) [ to ] |
許容差参照 | 許容差。省略時、許容差なし |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 中心 |
| radius(r) [ r ] |
r : Double | 半径 |
| startAngle(a) [ st ] |
a : Double | 開始角(度)。省略時0 |
| sweepAngle(a) [ sw ] |
a : Double | 角幅(度)。省略時90 |
| extensionLine0(d) [ e0 ] |
d : Double | 始点側引き出し線の長さ |
| extensionLine1(d) [ e1 ] |
d : Double | 終点側引き出し線の長さ |
| text(t) [ t ] |
t : String | 文字列 |
| tp(d) | d : Double | 文字配置位置 0.0が始点、1.0が終点、0.5が寸法線の中央。省略時0.5 |
| enableAutoDimension(f) [ ed ] |
f : Int | 1で寸法値自動。省略時1 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| dimensionStyle(...) [ ds ] |
角度寸法スタイル参照 | 角度寸法スタイル |
| tolerance(...) [ to ] |
許容差参照 | 許容差。省略時、許容差なし |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 中心 |
| radius(r) [ r ] |
r : Double | 寸法線の半径 |
| startAngle(a) [ st ] |
a : Double | 開始角(度)。省略時0 |
| sweepAngle(a) [ sw ] |
a : Double | 角幅(度)。省略時90 |
| ar(r) |
r : Double | 弧長の半径 |
| text(t) [ t ] |
t : String | 文字列 |
| tp(d) | d : Double | 文字配置位置 0.0が始点、1.0が終点、0.5が寸法線の中央。省略時0.5 |
| enableAutoDimension(f) [ ed ] |
f : Int | 1で寸法値自動。省略時1 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| dimensionStyle(...) [ ds ] |
弧長寸法スタイル参照 | 弧長寸法スタイル |
| tolerance(...) [ to ] |
許容差参照 | 許容差。省略時、許容差なし |
| 要素 | パラメータ | 説明 |
|---|---|---|
| vertices(x1 y1 x2 y2 x3 y3 ... xn yn) [ vs ] |
x1..xn : Double, y1..yn : Double | 頂点 |
| text(t) [ t ] |
t : String | 文字列 |
| leaderStyle.leaderBasisが3の時のみ有効。 | ||
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| leaderStyle(...) [ lt ] |
引出線スタイル参照 | 引出線スタイル |
| 要素 | パラメータ | 説明 |
|---|---|---|
| vertices(x1 y1 x2 y2 x3 y3 ... xn yn) [ vs ] |
x1..xn : Double, y1..yn : Double | 頂点 |
| text(t) [ t ] |
t : String | 文字列 |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 文字背景塗りスタイル |
| balloonStyle(...) [ bs ] |
バルーンスタイル参照 | バルーンスタイル |
| 要素 | パラメータ | 説明 |
|---|---|---|
| shapes(S1()S2()...Sn()) [ ss ] |
S1..Sn:図形 | 図形のリスト |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p(...) |
パスリスト | |
| lineStyle(...) [ ls ] |
線スタイル参照 | 線スタイル |
| fillStyle(...) [ fs ] |
塗りスタイル参照 | 塗りスタイル |
パス要素
| 要素 | パラメータ | 説明 |
|---|---|---|
| s(x,y) |
x:Double, y:Double | 始点 |
| e(flag) |
flag:Int | 0:閉じない, 1:閉じる |
| l(x1 y1 x2 y2 ... xn yn) |
x1..xn : Double, y1..yn : Double | 直線 |
| b(x1 y1 x2 y2 ... xn yn) |
x1..xn : Double, y1..yn : Double | 3次ベジェ曲線。2つの制御点と1つの頂点の組 |
| 要素 | パラメータ | 説明 |
|---|---|---|
| p0(x y) | x : Double, y : Double | 中心 |
| width(w) [ w ] |
w : Double | 幅 |
| height(h) [ h ] |
h : Double | 高さ |
| angle(a) [ a ] |
a : Double | 角度(度)。省略時0 |
| image(bytes) [ im ] |
bytes : Bytes | 画像データ |
| src(file) |
file : String | 画像データファイルへのパス(フォルダ名含む)。例:src("media\\e1ed77be-822f-4743-a295-6d4c025ba6b0.png") フォルダの区切りの'\'は文字列では2つ必要なことに注意。ファイルに拡張子は無くてもよいが、あったほうがデバッグが楽になると思います。 |
| type(name) [ t ] |
name : String | 画像の種類(jpg, png, bmp) 参考値。省略可。 |
設定を記述します。
settings(
currentLayer("Lyer1")
currentSheet("Sheet2")
)
選択中のレイヤ名
選択中のシート名
fileversion(versionNumber)を使いメジャーバージョン(整数値)のみでした。drawingでした。filetype("precad_archive")
fileinfo(
fileversion(1)appinfo("precad for windows version 1.0.0.0")
)
contents(
drawing("drawing")
)
p0(x0,y0)p1(x1,y1)
points(P(x0,y0)P(x1,y1)...) //Pは大文字
points(P(x0 y0)P(x1 y1)...)
controlPoints(cp(s(sx0 sy0)e(ex0 ey0)cp(s(sx1 sy1)e(ex1 ey1))...))
バージョン2.1.0以前の直径寸法スタイルと直線寸法スタイルの矢印は始点終点同じものでした。そのため矢印スタイルのタグはarrowStyleでした。
バージョン2.3.0からImageのsrcタグにファイル名を追加、圧縮ファイル内のmediaフォルダ内に画像を保存します。それ以前はimageタグを使用し文字列として同梱していました(この方式はクリップボード経由のコピーのために現在も使われています)。
バージョン2.9.0からカレント属性を定義しました。
もともとタグ名は内部で使っている変数名を元に決めました(kotlinで作っていたため最初が小文字から始まります)。そのため比較的文字数が多くなってしまいました。
タグ名が多少長くてもCPUは十分速くファイルは圧縮するため、それほど問題にならないと思っていました。実際、ファイルサイズの増加はそれほどでもなく速度も(普通のファイルなら)問題になりませんでした。
しかし、Androidでサイズの大きなファイルを読み込むと速度は大きく落ちました。Androidのディスクアクセスは遅かったのです。
そのためバージョン2.2.0で短縮形を設けました。
2025/12/22 2.9.0 Rev.0
2025/12/05 2.8.0 Rev.0
2025/1/14 2.7.0 Rev.0
2024/10/20 2.6.0 Rev.0
2024/10/20 2.5.1 Rev.0
2024/08/28 2.5.0 Rev.1
2024/08/25 2.5.0 Rev.0
2024/02/08 2.4.1 Rev.1
2024/02/08 2.4.1 Rev.0
2023/04/28 2.4.0 Rev.2
2023/04/14 2.4.0 rev1
2023/04/12 2.4 rev0
2023/04/10 rev5
2023/04/9 rev4
2023/03/23 rev3
2023/03/23 rev2
2023/03/09