続きです。

次は、面取り量・丸めRが変動するパターンです。
// 面取り/丸め付き四角形の作図03
//  ※追加した面取量・丸め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 + mm
  CAL w2 = ky + sy/2 + ds
  CAL w3 = kx + sx/2 - 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 - mm
  CAL w3 = w1
  CAL w4 = ky - sy/2 + 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 - mm
  CAL w3 = kx - sx/2 + mm
  CAL w4 = ky + sy/2 + ds
  LINE w1,w2,w3,w4  // 左上
  CAL w1 = kx + sx/2 - mm
  CAL w2 = ky + sy/2 + ds
  CAL w3 = kx + sx/2 + ds
  CAL w4 = ky + sy/2 - mm
  LINE w1,w2,w3,w4  // 右上
  CAL w1 = kx - sx/2 - ds
  CAL w2 = ky - sy/2 + mm
  CAL w3 = kx - sx/2 + mm
  CAL w4 = ky - sy/2 - ds
  LINE w1,w2,w3,w4  // 左下
  CAL w1 = kx + sx/2 - mm
  CAL w2 = ky - sy/2 - ds
  CAL w3 = kx + sx/2 + ds
  CAL w4 = ky - sy/2 + 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 + mm
  CAL w2 = ky + sy/2 - mm
  CAL w3 = mm + ds
  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 + ds
  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 + ds
  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 + ds
  CAL w4 = 270/180*PI
  CAL w5 = 0
  ARC w1,w2,w3,w4,w5  // 右下
 #END
これを実行します。
20090224g

面取りします。
20090224h

丸めします。
20090224i