続きです。
今度は、ソリッド図形を追加したものです。
先にソリッド図形を作図してから線等を作図していますので、作図タイミングの問題で面取り・丸め共有部分というのはバラしています。

面取りします。

丸めします。

今度は、ソリッド図形を追加したものです。
先にソリッド図形を作図してから線等を作図していますので、作図タイミングの問題で面取り・丸め共有部分というのはバラしています。
// 面取り/丸め付き四角形の作図05実行します。
// 面取り/丸め付き四角形の作図01改 ソリッド付
#LIST
base = "左上","中上","右上","左中","中中","右中","左下","中下","右下"
marume = "なし","面取り","丸め"
#VAR
scol = 0 ;*ソリッド任意色
col = 1 ;*線色
typ = 1 ;*線種
wid = 0 ;*線幅
sx =100 ;*幅
sy =100 ;*高さ
base = 中中 ;*基準点
marume = なし ;*面取り/丸め指定
mm = 10 ;*面取量/丸めR
ib
kx
ky
im
w1
w2
w3
w4
w5
w6
w7
w8
#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 == 1)
#GOTO *N1
#END
#IF (im == 2)
#GOTO *N2
#END
// ----- 四角 -----
CAL w1 = kx - sx/2
CAL w2 = ky - sy/2
CAL w3 = kx + sx/2
CAL w4 = ky + sy/2
4SOLID scol,w1,w2,w1,w4,w3,w4,w3,w2
BOX w1,w2,w3,w4
#EXIT
// ----- 面取り付き四角 -----
*N1
CAL w1 = kx - sx/2
CAL w2 = ky + sy/2 - mm
CAL w3 = kx - sx/2 + mm
CAL w4 = ky + sy/2
CAL w5 = kx + sx/2 - mm
CAL w6 = ky + sy/2
CAL w7 = kx + sx/2
CAL w8 = ky + sy/2 - mm
4SOLID scol,w1,w2,w3,w4,w5,w6,w7,w8 // 上部台形
CAL w1 = kx - sx/2
CAL w2 = ky - sy/2 + mm
CAL w3 = kx + sx/2
CAL w4 = ky + sy/2 - mm
4SOLID scol,w1,w2,w1,w4,w3,w4,w3,w2 // 中央長方形
CAL w1 = kx - sx/2 + mm
CAL w2 = ky - sy/2
CAL w3 = kx - sx/2
CAL w4 = ky - sy/2 + mm
CAL w5 = kx + sx/2
CAL w6 = ky - sy/2 + mm
CAL w7 = kx + sx/2 - mm
CAL w8 = ky - sy/2
4SOLID scol,w1,w2,w3,w4,w5,w6,w7,w8 // 下部台形
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 // 右線
// --- 面取り部 ---
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 = kx - sx/2 + mm
CAL w4 = ky + sy/2
CAL w5 = kx + sx/2 - mm
CAL w6 = ky + sy/2
CAL w7 = kx + sx/2 - mm
CAL w8 = ky + sy/2 - mm
4SOLID scol,w1,w2,w3,w4,w5,w6,w7,w8 // 上部長方形
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
PSOLID scol,w1,w2,w3,w3,0,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
PSOLID scol,w1,w2,w3,w3,0,w4,w5 // 右上
CAL w1 = kx - sx/2
CAL w2 = ky - sy/2 + mm
CAL w3 = kx + sx/2
CAL w4 = ky + sy/2 - mm
4SOLID scol,w1,w2,w1,w4,w3,w4,w3,w2 // 中央長方形
CAL w1 = kx - sx/2 + mm
CAL w2 = ky - sy/2
CAL w3 = kx - sx/2 + mm
CAL w4 = ky - sy/2 + mm
CAL w5 = kx + sx/2 - mm
CAL w6 = ky - sy/2 + mm
CAL w7 = kx + sx/2 - mm
CAL w8 = ky - sy/2
4SOLID scol,w1,w2,w3,w4,w5,w6,w7,w8 // 下部長方形
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
PSOLID scol,w1,w2,w3,w3,0,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
PSOLID scol,w1,w2,w3,w3,0,w4,w5 // 右下
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 // 右線
// --- 丸め部 ---
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 // 右下

面取りします。

丸めします。
