2012/12/04(Tue) 19:01:30 編集(投稿者)
2012/12/03(Mon) 11:30:21 編集(投稿者)
文字長さの出し方が判った気がするのでかいてみます。
何個か試しましたが層多い数を試したわけではないので判った気がしてるだけで勘違いでしたらすみません(汗
全角文字は文字幅サイズと同一
半角文字は文字幅サイズの半分
直前の文字が全角だったら文字間隔は文字間隔サイズと同一
直前の文字が半角だったら文字間隔は文字間隔サイズの半分
の文字で半角3文字の長さだと
半角文字 文字間隔 半角文字 文字間隔 半角文字
で半角文字が3個、文字間隔が2個でそれをたした数になります。
例えば
cn0 2 2 1 2 で半角3文字なら
文字幅
2/2 = 1 で半角文字1文字の長さは1
文字間隔
1/2 = 0.5 で半角の直後にある文字間隔は0.5
※全角の直後にある文字間隔は1
3文字分全部足すと
1 + 0.5 + 1 + 0.5 + 1 = 4
倍率が指定されているならならその倍率の分母をかけて文字長さをだします
1/30なら30をかけます
4 * 30 = 120
水平の寸法なら文字長さの半分を引けば位置補正ができるので
120 / 2 = 60
寸法線中点X座標から60ぶん引いてところが文字X座標です。
例)
寸法線(水平)
始点(30,20)、終点(130,20) 長さ100
寸法値
100
文字種
cn0 1 2 0.5 2
グループ倍率 1/30
なら
寸法線中点
X座標 130-(130-30)/2 = 80
Y座標 20-(20-20)/2) = 20
文字長さ
(1/2*3 + 0.5/2*2) * 30 = 60
文字X座標 80 - 60/2 = 50
文字Y座標 20
※文字と寸法線の距離をあけたい場合はY座標もあけたい数値分補正する
となり座標ファイルに書き込む文字列は
cn0 1 2 0.5 2
msg
30 20 130 20
cs 50 20 60 0 "100
例2)
寸法線(水平)
始点(50,100)、終点(1050,100) 長さ1000
寸法値
1000
cn0 4 2 1 2
グループ倍率 1/20
の場合は
寸法線中点
X座標 1050-(1050-50)/2 = 550
Y座標 100-(100-100)/2) = 100
文字長さ
(4*4 + 1*3) * 20 = 380
文字X座標 550 - 380/2 = 360
文字Y座標 100
となり座標ファイルに書き込む文字列は
cn0 4 2 1 2
msg
50 100 1050 100
cs 360 100 380 0 "1000
といった感じです。
補足
水平文字なので文字方向Xと文字長さが一致していますが、
角度文字ならそちらの補正も必要となってきます。