続きです。
面取り/丸め付き四角形の作図04を参照しながら、面取り/丸め付き四角形の作図07を修正します。面取りの場合のみ dd値の計算分を座標計算に含みます。そのため、marume指定→何番目か?(0,1,2)を保持する変数imの取得のあとに dd 計算を移動しています。それ以外は前回の「07」と同じです。
// 面取り/丸め付き四角形の作図08
// 面取り/丸め付き四角形の作図04/07改 ソリッド付
//  ※追加した面取は複線(オフセット)パターン、
//   丸めRは間隔値分増減するバージョン
#LIST
 base = "左上","中上","右上","左中","中中","右中","左下","中下","右下"
 marume = "なし","面取り","丸め"
#VAR
 scol= 0     ;*ソリッド任意色
 col = 1     ;*線色
 typ = 1     ;*線種
 wid = 0     ;*線幅
 sx =100     ;*幅
 sy =100     ;*高さ
 ds = 10     ;*間隔
 base = 中中   ;*基準点
 marume = なし  ;*面取り/丸め指定
 mm = 10     ;*面取量/丸めR
 ib
 gx
 gy
 dd
 kx
 ky
 im
 w1
 w2
 w3
 w4
 w5
 w6
 px1
 py1
 px2
 py2
 px3
 py3
 px4
 py4
 px5
 py5
 px6
 py6
 px7
 py7
 px8
 py8
 qx1
 qy1
 qx2
 qy2
 qx3
 qy3
 qx4
 qy4
 qx5
 qy5
 qx6
 qy6
 qx7
 qy7
 qx8
 qy8
#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
 CAL dd = 0
 #IF (im == 1)
  CAL dd = ds/Tan(67.5/180*PI)
 #END
 #IF (im != 0)
  #GOTO *N1
 #END
// ----- 四角 -----
 CAL px1 = kx - sx/2
 CAL py1 = ky - sy/2
 CAL px2 = kx + sx/2
 CAL py2 = ky + sy/2
 CAL qx1 = kx - sx/2 - ds
 CAL qy1 = ky - sy/2 - ds
 CAL qx2 = kx + sx/2 + ds
 CAL qy2 = ky + sy/2 + ds
 #IF (ds == 0)
  4SOLID scol, px1,py1, px1,py2, px2,py2, px2,py1
  BOX px1,py1,px2,py2
 #ELSE
  4SOLID scol, px1,py1, px1,py2, qx1,qy2, qx1,qy1
  4SOLID scol, px1,py2, px2,py2, qx2,qy2, qx1,qy2
  4SOLID scol, px2,py2, px2,py1, qx2,qy1, qx2,qy2
  4SOLID scol, px2,py1, px1,py1, qx1,qy1, qx2,qy1
  BOX px1,py1,px2,py2
  BOX qx1,qy1,qx2,qy2
 #END

 #EXIT

// ----- 面取り・丸め付き四角 -----
*N1
 // --- 共通部分 ---
 CAL px1 = kx - sx/2 + mm
 CAL py1 = ky - sy/2
 CAL px2 = kx - sx/2
 CAL py2 = ky - sy/2 + mm
 CAL px3 = kx - sx/2
 CAL py3 = ky + sy/2 - mm
 CAL px4 = kx - sx/2 + mm
 CAL py4 = ky + sy/2
 CAL px5 = kx + sx/2 - mm
 CAL py5 = ky + sy/2
 CAL px6 = kx + sx/2
 CAL py6 = ky + sy/2 - mm
 CAL px7 = kx + sx/2
 CAL py7 = ky - sy/2 + mm
 CAL px8 = kx + sx/2 - mm
 CAL py8 = ky - sy/2

 CAL qx1 = kx - sx/2 + mm - dd
 CAL qy1 = ky - sy/2 - ds
 CAL qx2 = kx - sx/2 - ds
 CAL qy2 = ky - sy/2 + mm - dd
 CAL qx3 = kx - sx/2 - ds
 CAL qy3 = ky + sy/2 - mm + dd
 CAL qx4 = kx - sx/2 + mm - dd
 CAL qy4 = ky + sy/2 + ds
 CAL qx5 = kx + sx/2 - mm + dd
 CAL qy5 = ky + sy/2 + ds
 CAL qx6 = kx + sx/2 + ds
 CAL qy6 = ky + sy/2 - mm + dd
 CAL qx7 = kx + sx/2 + ds
 CAL qy7 = ky - sy/2 + mm - dd
 CAL qx8 = kx + sx/2 - mm + dd
 CAL qy8 = ky - sy/2 - ds

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

// ----- 面取り付き四角 -----
 #IF (ds == 0)
  4SOLID scol, px1,py1, px2,py2, px3,py3, px4,py4
  4SOLID scol, px1,py1, px4,py4, px5,py5, px8,py8
  4SOLID scol, px5,py5, px6,py6, px7,py7, px8,py8
 #ELSE
  4SOLID scol, px1,py1, px2,py2, qx2,qy2, qx1,qy1
  4SOLID scol, px2,py2, px3,py3, qx3,qy3, qx2,qy2
  4SOLID scol, px3,py3, px4,py4, qx4,qy4, qx3,qy3
  4SOLID scol, px4,py4, px5,py5, qx5,qy5, qx4,qy4
  4SOLID scol, px5,py5, px6,py6, qx6,qy6, qx5,qy5
  4SOLID scol, px6,py6, px7,py7, qx7,qy7, qx6,qy6
  4SOLID scol, px7,py7, px8,py8, qx8,qy8, qx7,qy7
  4SOLID scol, px8,py8, px1,py1, qx1,qy1, qx8,qy8
 #END

 LINE px1,py1, px2,py2
 LINE px2,py2, px3,py3
 LINE px3,py3, px4,py4
 LINE px4,py4, px5,py5
 LINE px5,py5, px6,py6
 LINE px6,py6, px7,py7
 LINE px7,py7, px8,py8
 LINE px8,py8, px1,py1
 #IF (ds != 0)
  LINE qx1,qy1, qx2,qy2
  LINE qx2,qy2, qx3,qy3
  LINE qx3,qy3, qx4,qy4
  LINE qx4,qy4, qx5,qy5
  LINE qx5,qy5, qx6,qy6
  LINE qx6,qy6, qx7,qy7
  LINE qx7,qy7, qx8,qy8
  LINE qx8,qy8, qx1,qy1
 #END

 #EXIT

// ----- 丸め付き四角 -----
*N2
 CAL w1 = 0
 CAL w2 = 0.5*PI
 CAL w3 = PI
 CAL w4 = 1.5*PI
 CAL w5 = mm
 CAL w6 = mm + ds

 #IF (ds == 0)
  4SOLID scol, px1,py1, px2,py2, px3,py3, px4,py4
  4SOLID scol, px1,py1, px4,py4, px5,py5, px8,py8
  4SOLID scol, px5,py5, px6,py6, px7,py7, px8,py8
  YSOLID scol, px1,py2, w5,w5,0,w3,w4
  YSOLID scol, px4,py3, w5,w5,0,w2,w3
  YSOLID scol, px5,py6, w5,w5,0,w1,w2
  YSOLID scol, px8,py7, w5,w5,0,w4,w1
 #ELSE
  4SOLID scol, px2,py2, px3,py3, qx3,qy3, qx2,qy2
  4SOLID scol, px4,py4, px5,py5, qx5,qy5, qx4,qy4
  4SOLID scol, px6,py6, px7,py7, qx7,qy7, qx6,qy6
  4SOLID scol, px8,py8, px1,py1, qx1,qy1, qx8,qy8
  //
  #IF (ds > 0)
   BSOLID scol, px1,py2, w6,w6,0, w3,w4, w5
   BSOLID scol, px4,py3, w6,w6,0, w2,w3, w5
   BSOLID scol, px5,py6, w6,w6,0, w1,w2, w5
   BSOLID scol, px8,py7, w6,w6,0, w4,w1, w5
  #ELSE
   #IF (w6 > 0)
    BSOLID scol, px1,py2, w5,w5,0, w3,w4, w6
    BSOLID scol, px4,py3, w5,w5,0, w2,w3, w6
    BSOLID scol, px5,py6, w5,w5,0, w1,w2, w6
    BSOLID scol, px8,py7, w5,w5,0, w4,w1, w6
   #ELSE
    PSOLID scol, px1,py2, w5,w5,0, w3,w4
    PSOLID scol, px4,py3, w5,w5,0, w2,w3
    PSOLID scol, px5,py6, w5,w5,0, w1,w2
    PSOLID scol, px8,py7, w5,w5,0, w4,w1
   #END
  #END
 #END

 LINE px2,py2, px3,py3
 LINE px4,py4, px5,py5
 LINE px6,py6, px7,py7
 LINE px8,py8, px1,py1
 ARC px1,py2, w5,w3,w4
 ARC px4,py3, w5,w2,w3
 ARC px5,py6, w5,w1,w2
 ARC px8,py7, w5,w4,w1
 #IF (ds != 0)
  LINE qx2,qy2, qx3,qy3
  LINE qx4,qy4, qx5,qy5
  LINE qx6,qy6, qx7,qy7
  LINE qx8,qy8, qx1,qy1
  ARC px1,py2, w6,w3,w4
  ARC px4,py3, w6,w2,w3
  ARC px5,py6, w6,w1,w2
  ARC px8,py7, w6,w4,w1
 #END
面取りを指定して実行します。
20090225g

丸めの指定は、前回 07版と同じく、下記のようになります。
20090225f


という訳で、以上です。こんな感じでしょうか?

Rといえば、そういえば以前、建築フォーラムでの会議室でも何か質疑応答があったような記憶がありますが・・・まぁい〜か♪