建築資料館の掲示板で以下のような質問がありました。
DOSjwcでは単独柱4角など一括面取可能だったような気がするのですが、jwwではできないでしょうか?
http://www.ath-j.com/cbbs2/cbbs.cgi?mode=all&namber=38775&type=0&space=0&no=1
DOS版のJW_CADは知りませんけれども、まぁ、端点を共有する線を検索して面取りや丸めを施す、というのは外部変形で出来そうな気はします。重複していたらどうするのかとか、T字十字の時の考慮するしないとかあるかもしれませんけれど。でもまぁ、単純な四角を描いてから面取り・丸め、という手法と、面取り・丸め付きの四角を描くって手法があるとして、後者のほうは、marusanさんのサイトのブログで見たのが一番早かったような(私の場合)。

全然関係無いですけれど、昔作ったツール「fg」(ドローソフトみたいなソフト)では、R付き四角形みたいなコマンドを用意していて、結構多用していたような気はします。

そういう訳で取りあえず、Script! で面取り/丸め付きの四角形の作図を考えてみます。まずは単純な1つの四角状態から。
// 面取り/丸め付き四角形の作図01
#LIST
 base = "左上","中上","右上","左中","中中","右中","左下","中下","右下"
 marume = "なし","面取り","丸め"
#VAR
 col = 1     ;*線色
 typ = 1     ;*線種
 wid = 0     ;*線幅
 sx =100     ;*幅
 sy =100     ;*高さ
 base = 中中   ;*基準点
 marume = なし  ;*面取り/丸め指定
 mm = 10     ;*面取量/丸めR
 ib
 kx
 ky
 im
 w1
 w2
 w3
 w4
 w5
#DRAW
 PEN col,typ,wid
 CHKITEM ib,base,base
 #IF (ib == 0)
  CAL kx = sx/2
  CAL ky =-sy/2
 #END
 #IF (ib == 1)
  CAL kx = 0
  CAL ky =-sy/2
 #END
 #IF (ib == 2)
  CAL kx =-sx/2
  CAL ky =-sy/2
 #END
 #IF (ib == 3)
  CAL kx = sx/2
  CAL ky = 0
 #END
 #IF (ib == 4)
  CAL kx = 0
  CAL ky = 0
 #END
 #IF (ib == 5)
  CAL kx =-sx/2
  CAL ky = 0
 #END
 #IF (ib == 6)
  CAL kx = sx/2
  CAL ky = sy/2
 #END
 #IF (ib == 7)
  CAL kx = 0
  CAL ky = sy/2
 #END
 #IF (ib == 8)
  CAL kx =-sx/2
  CAL ky = sy/2
 #END
 CHKITEM im,marume,marume
 #IF (im != 0)
  #GOTO *N1
 #END
// ----- 四角 -----
 CAL w1 = kx - sx/2
 CAL w2 = ky - sy/2
 CAL w3 = kx + sx/2
 CAL w4 = ky + sy/2
 BOX w1,w2,w3,w4

 #EXIT

// ----- 面取り・丸め付き四角 -----
*N1
 // --- 共通部分 ---
 CAL w1 = kx - sx/2 + mm
 CAL w2 = ky + sy/2
 CAL w3 = kx + sx/2 - mm
 CAL w4 = w2
 LINE w1,w2,w3,w4  // 上線

 CAL w2 = ky - sy/2
 CAL w4 = w2
 LINE w1,w2,w3,w4  // 下線

 CAL w1 = kx - sx/2
 CAL w2 = ky + sy/2 - mm
 CAL w3 = w1
 CAL w4 = ky - sy/2 + mm
 LINE w1,w2,w3,w4  // 左線

 CAL w1 = kx + sx/2
 CAL w3 = w1
 LINE w1,w2,w3,w4  // 右線

 #IF (im == 2)
  #GOTO *N2
 #END

 // --- 面取り部 ---
 CAL w1 = kx - sx/2
 CAL w2 = ky + sy/2 - mm
 CAL w3 = kx - sx/2 + mm
 CAL w4 = ky + sy/2
 LINE w1,w2,w3,w4  // 左上

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky + sy/2
 CAL w3 = kx + sx/2
 CAL w4 = ky + sy/2 - mm
 LINE w1,w2,w3,w4  // 右上

 CAL w1 = kx - sx/2
 CAL w2 = ky - sy/2 + mm
 CAL w3 = kx - sx/2 + mm
 CAL w4 = ky - sy/2
 LINE w1,w2,w3,w4  // 左下

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky - sy/2
 CAL w3 = kx + sx/2
 CAL w4 = ky - sy/2 + mm
 LINE w1,w2,w3,w4  // 右下

 #EXIT

 // --- 丸め部 ---
*N2
 CAL w1 = kx - sx/2 + mm
 CAL w2 = ky + sy/2 - mm
 CAL w3 = mm
 CAL w4 = 90/180*PI
 CAL w5 = 180/180*PI
 ARC w1,w2,w3,w4,w5  // 左上

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky + sy/2 - mm
 CAL w3 = mm
 CAL w4 = 0/180*PI
 CAL w5 = 90/180*PI
 ARC w1,w2,w3,w4,w5  // 右上

 CAL w1 = kx - sx/2 + mm
 CAL w2 = ky - sy/2 + mm
 CAL w3 = mm
 CAL w4 = 180/180*PI
 CAL w5 = 270/180*PI
 ARC w1,w2,w3,w4,w5  // 左下

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky - sy/2 + mm
 CAL w3 = mm
 CAL w4 = 270/180*PI
 CAL w5 = 0
 ARC w1,w2,w3,w4,w5  // 右下
実行します。標準状態。
20090224a

基準点を左下にして、面取り付き
20090224b

基準点を右上にして、丸め付き
20090224c


次に、2重で作図するようにします。間隔値を指定するようにします。
// 面取り/丸め付き四角形の作図02
//  ※外側と内側の面取量・丸めRは同じ値のバージョン
#LIST
 base = "左上","中上","右上","左中","中中","右中","左下","中下","右下"
 marume = "なし","面取り","丸め"
#VAR
 col = 1     ;*線色
 typ = 1     ;*線種
 wid = 0     ;*線幅
 sx =100     ;*幅
 sy =100     ;*高さ
 ds = 10     ;*間隔
 base = 中中   ;*基準点
 marume = なし  ;*面取り/丸め指定
 mm = 10     ;*面取量/丸めR
 ib
 gx
 gy
 kx
 ky
 im
 w1
 w2
 w3
 w4
 w5
#DRAW
 PEN col,typ,wid
 CAL gx = sx  // gx,gyは外側サイズ
 CAL gy = sy
 #IF (ds > 0)
  CAL gx = sx + ds*2
  CAL gy = sy + ds*2
 #END
 CHKITEM ib,base,base
 #IF (ib == 0)
  CAL kx = gx/2
  CAL ky =-gy/2
 #END
 #IF (ib == 1)
  CAL kx = 0
  CAL ky =-gy/2
 #END
 #IF (ib == 2)
  CAL kx =-gx/2
  CAL ky =-gy/2
 #END
 #IF (ib == 3)
  CAL kx = gx/2
  CAL ky = 0
 #END
 #IF (ib == 4)
  CAL kx = 0
  CAL ky = 0
 #END
 #IF (ib == 5)
  CAL kx =-gx/2
  CAL ky = 0
 #END
 #IF (ib == 6)
  CAL kx = gx/2
  CAL ky = gy/2
 #END
 #IF (ib == 7)
  CAL kx = 0
  CAL ky = gy/2
 #END
 #IF (ib == 8)
  CAL kx =-gx/2
  CAL ky = gy/2
 #END
 CHKITEM im,marume,marume
 #IF (im != 0)
  #GOTO *N1
 #END
// ----- 四角 -----
 CAL w1 = kx - sx/2
 CAL w2 = ky - sy/2
 CAL w3 = kx + sx/2
 CAL w4 = ky + sy/2
 BOX w1,w2,w3,w4

 #IF (ds <> 0)
  CAL w1 = kx - sx/2 - ds
  CAL w2 = ky - sy/2 - ds
  CAL w3 = kx + sx/2 + ds
  CAL w4 = ky + sy/2 + ds
  BOX w1,w2,w3,w4
 #END

 #EXIT

// ----- 面取り・丸め付き四角 -----
*N1
 // --- 共通部分 ---
 CAL w1 = kx - sx/2 + mm
 CAL w2 = ky + sy/2
 CAL w3 = kx + sx/2 - mm
 CAL w4 = w2
 LINE w1,w2,w3,w4  // 上線

 CAL w2 = ky - sy/2
 CAL w4 = w2
 LINE w1,w2,w3,w4  // 下線

 CAL w1 = kx - sx/2
 CAL w2 = ky + sy/2 - mm
 CAL w3 = w1
 CAL w4 = ky - sy/2 + mm
 LINE w1,w2,w3,w4  // 左線

 CAL w1 = kx + sx/2
 CAL w3 = w1
 LINE w1,w2,w3,w4  // 右線

 #IF (ds <> 0)
  CAL w1 = kx - sx/2 - ds + mm
  CAL w2 = ky + sy/2 + ds
  CAL w3 = kx + sx/2 + ds - mm
  CAL w4 = w2
  LINE w1,w2,w3,w4  // 上線
  CAL w2 = ky - sy/2 - ds
  CAL w4 = w2
  LINE w1,w2,w3,w4  // 下線
  CAL w1 = kx - sx/2 - ds
  CAL w2 = ky + sy/2 + ds - mm
  CAL w3 = w1
  CAL w4 = ky - sy/2 - ds + mm
  LINE w1,w2,w3,w4  // 左線
  CAL w1 = kx + sx/2 + ds
  CAL w3 = w1
  LINE w1,w2,w3,w4  // 右線
 #END

 #IF (im == 2)
  #GOTO *N2
 #END

 // --- 面取り部 ---
 CAL w1 = kx - sx/2
 CAL w2 = ky + sy/2 - mm
 CAL w3 = kx - sx/2 + mm
 CAL w4 = ky + sy/2
 LINE w1,w2,w3,w4  // 左上

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky + sy/2
 CAL w3 = kx + sx/2
 CAL w4 = ky + sy/2 - mm
 LINE w1,w2,w3,w4  // 右上

 CAL w1 = kx - sx/2
 CAL w2 = ky - sy/2 + mm
 CAL w3 = kx - sx/2 + mm
 CAL w4 = ky - sy/2
 LINE w1,w2,w3,w4  // 左下

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky - sy/2
 CAL w3 = kx + sx/2
 CAL w4 = ky - sy/2 + mm
 LINE w1,w2,w3,w4  // 右下

 #IF (ds <> 0)
  CAL w1 = kx - sx/2 - ds
  CAL w2 = ky + sy/2 + ds - mm
  CAL w3 = kx - sx/2 - ds + mm
  CAL w4 = ky + sy/2 + ds
  LINE w1,w2,w3,w4  // 左上
  CAL w1 = kx + sx/2 + ds - mm
  CAL w2 = ky + sy/2 + ds
  CAL w3 = kx + sx/2 + ds
  CAL w4 = ky + sy/2 + ds - mm
  LINE w1,w2,w3,w4  // 右上
  CAL w1 = kx - sx/2 - ds
  CAL w2 = ky - sy/2 - ds + mm
  CAL w3 = kx - sx/2 - ds + mm
  CAL w4 = ky - sy/2 - ds
  LINE w1,w2,w3,w4  // 左下
  CAL w1 = kx + sx/2 + ds - mm
  CAL w2 = ky - sy/2 - ds
  CAL w3 = kx + sx/2 + ds
  CAL w4 = ky - sy/2 - ds + mm
  LINE w1,w2,w3,w4  // 右下
 #END

 #EXIT

 // --- 丸め部 ---
*N2
 CAL w1 = kx - sx/2 + mm
 CAL w2 = ky + sy/2 - mm
 CAL w3 = mm
 CAL w4 = 90/180*PI
 CAL w5 = 180/180*PI
 ARC w1,w2,w3,w4,w5  // 左上

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky + sy/2 - mm
 CAL w3 = mm
 CAL w4 = 0/180*PI
 CAL w5 = 90/180*PI
 ARC w1,w2,w3,w4,w5  // 右上

 CAL w1 = kx - sx/2 + mm
 CAL w2 = ky - sy/2 + mm
 CAL w3 = mm
 CAL w4 = 180/180*PI
 CAL w5 = 270/180*PI
 ARC w1,w2,w3,w4,w5  // 左下

 CAL w1 = kx + sx/2 - mm
 CAL w2 = ky - sy/2 + mm
 CAL w3 = mm
 CAL w4 = 270/180*PI
 CAL w5 = 0
 ARC w1,w2,w3,w4,w5  // 右下

 #IF (ds <> 0)
  CAL w1 = kx - sx/2 - ds + mm
  CAL w2 = ky + sy/2 + ds - mm
  CAL w3 = mm
  CAL w4 = 90/180*PI
  CAL w5 = 180/180*PI
  ARC w1,w2,w3,w4,w5  // 左上
  CAL w1 = kx + sx/2 + ds - mm
  CAL w2 = ky + sy/2 + ds - mm
  CAL w3 = mm
  CAL w4 = 0/180*PI
  CAL w5 = 90/180*PI
  ARC w1,w2,w3,w4,w5  // 右上
  CAL w1 = kx - sx/2 - ds + mm
  CAL w2 = ky - sy/2 - ds + mm
  CAL w3 = mm
  CAL w4 = 180/180*PI
  CAL w5 = 270/180*PI
  ARC w1,w2,w3,w4,w5  // 左下
  CAL w1 = kx + sx/2 + ds - mm
  CAL w2 = ky - sy/2 - ds + mm
  CAL w3 = mm
  CAL w4 = 270/180*PI
  CAL w5 = 0
  ARC w1,w2,w3,w4,w5  // 右下
 #END
これを実行しますと以下のようになります。
20090224d

面取りしました。
20090224e

丸めしました。
20090224f