somemさんのブログで外部変形「引出線」のお話がありましたので、うちの「Script!」で書く場合にはどんな感じなのかを書いてみます。
クリップボード経由で貼付になりますので、2点指定が出来ませんから、第2点を角度+長さでの指定にしていますけれども、まぁ、仕方が無いですね。
Script!には引出注釈の命令がありますが、この命令の仕様は古いものなので、Jw_cad の半角全角の幅の違いに対応していなかったと思いますので使っていません。また、曲線属性の指定は、この Script!では出来ませんので、やっていないです。
縮尺が1/100の場合には、Jw_cad側で倍率を 100倍 として貼り付けて下さい。Script!側で 100倍値で入力するパターンもありますが面倒だと思いますので〜
// 引出注記こんな感じかな?
//
// ==================================================
// (C)Copyright 2008-2009 AFsoft All Rights Reserved.
// ==================================================
#LIST
dir = "右出し","左出し"
#VAR
s1 ;*文字(上段
s2 ;*文字(下段
dir = 右出し ;*引出の向き
mh = 5 ;*文字高[mm]
mw = 5 ;*文字幅[mm]
ms = 1 ;*文字と引出線のすき間[mm]
md = 5 ;*文字前後のはみ出し長[mm]
ya = 60 ;*矢印線角度[°]
yl = 20 ;*矢印線長さ[mm]
ii1 // 上段文字数
ii2 // 下段文字数
ii // 長いほうの文字数
idir // 向き 0:右 1:左
yan // 矢印線角度[rad]
kx // 記号位置
ky
w1 // 作業用
w2
w3
w4
w5
#DRAW
CAL w1 = 100000
#IF ((mh <= 0)||(mh > w1))
BEEP
MESSAGE "入力エラー","文字高の値が異常です。","文字高の値を再入力して下さい。",0,w1
#EXIT
#END
CAL w1 = mh*0.1
CAL w2 = mh*10
#IF ((mw < w1)||(mw > w2))
BEEP
MESSAGE "入力エラー","文字幅の値が異常です。","文字幅の値を再入力して下さい。",w1,w2
#EXIT
#END
CAL w1 = 0
CAL w2 = mh
#IF ((ms < w1)||(ms > w2))
BEEP
MESSAGE "入力エラー","すき間の値が異常です。","すき間の値を再入力して下さい。",w1,w2
#EXIT
#END
CAL w1 = 0
CAL w2 = mh*100
#IF ((md < w1)||(md > w2))
BEEP
MESSAGE "入力エラー","はみ出し長の値が異常です。","はみ出し長の値を再入力して下さい。",w1,w2
#EXIT
#END
CHKITEM idir,dir,dir
CAL yan = ya/180*PI
CAL ii1 = LENGTH(s1)
CAL ii2 = LENGTH(s2)
#IF (SetMojiWid == 0)
STRLEN ii1,s1
STRLEN ii2,s2
CAL ii1 = ii1 + ii1
CAL ii2 = ii2 + ii2
#END
CAL ii = ii1
#IF (ii < ii2)
CAL ii = ii2
#END
LAYER SetLineLay2 // 寸法線
PEN SetLineCol2,SetLineLtp2,SetLineWid2
// 矢印線
#IF (yl <> 0)
CAL w1 = 0
CAL w2 = 0
CAL w3 = yl*Cos(yan)
CAL w4 = yl*Sin(yan)
LINE w1,w2,w3,w4
#END
CAL w5 = 2*md + mw*0.5*ii
#IF (idir == 1)
CAL w5 = - w5
#END
CAL w1 = yl*Cos(yan)
CAL w2 = yl*Sin(yan)
CAL w3 = w1 + w5
CAL w4 = w2
LINE w1,w2,w3,w4
#IF (yl == 0)
CAL yan = 0
#END
#IF ( (yl == 0)&&(idir == 1) )
CAL yan = PI
#END
CAL kx = yl*Cos(yan)
CAL ky = yl*Sin(yan)
#IF (idir == 1)
CAL kx = kx - 2*md - mw*0.5*ii
#END
#IF (yl < 0)
CAL yan = yan + PI
#END
// 矢印
CAL w1 = 0
CAL w2 = 0
CAL w3 = SetAL*Cos(yan+SetAA)
CAL w4 = SetAL*Sin(yan+SetAA)
LINE w1,w2,w3,w4
CAL w3 = SetAL*Cos(yan-SetAA)
CAL w4 = SetAL*Sin(yan-SetAA)
LINE w1,w2,w3,w4
// 文字
#IF (ii1 > 0)
CAL w1 = kx + md
CAL w2 = ky + ms
TEXT w1,w2,mh,mw,0,7,s1
#END
#IF (ii2 > 0)
CAL w1 = kx + md
CAL w2 = ky - ms - mh
TEXT w1,w2,mh,mw,0,7,s2
#END
クリップボード経由で貼付になりますので、2点指定が出来ませんから、第2点を角度+長さでの指定にしていますけれども、まぁ、仕方が無いですね。
Script!には引出注釈の命令がありますが、この命令の仕様は古いものなので、Jw_cad の半角全角の幅の違いに対応していなかったと思いますので使っていません。また、曲線属性の指定は、この Script!では出来ませんので、やっていないです。
縮尺が1/100の場合には、Jw_cad側で倍率を 100倍 として貼り付けて下さい。Script!側で 100倍値で入力するパターンもありますが面倒だと思いますので〜
新年のあいさつが遅れてしまいました。m(__)m
本年もよろしくお願いいたします。
引出線にもいろいろあると思うんですが、
自分の好みで作ってみました。(^^)v