It appears that the cloth is divided into segments, and for an unknown reason, it thinks that 4 segments are not enough to reach the required dimension so it adds another segment. Strange, if you ask me, as the size of the segment should be calculated on the original dimensions.
Don't know if it is a bug, most probably it is.
An easy workaround is to set the dimensions at a slightly lower value than required:
REM Project: ClothSizeTest
REM Created: 12/26/2006 9:37:34 PM
REM
REM ***** Main Source File *****
REM
phy start
SET AMBIENT LIGHT 50
autocam off
SYNC ON : SYNC RATE 60
make object box 1, .1,.2,.3
position object 1, 0,1,0
color object 1, RGB(255,0,0)
Phy make rigid body static box 1
make object box 2, .1,.2,.3
position object 2, 4,1,0
color object 2, RGB(0,255,0)
Phy make rigid body static box 2
make object box 3, .1,.2,.3
position object 3, 0,1,2
color object 3, RGB(255,0,255)
Phy make rigid body static box 3
make object box 4, .1,.2,.3
position object 4, 4,1,2
color object 4, RGB(0,255,255)
Phy make rigid body static box 4
position camera 0, 0,2,-5
point camera 0,0,0,0
'Make Cloth
MyCloth =5
phy Make Cloth MyCloth
phy set cloth dimensions MyCloth,3.99,1.99,1
phy set cloth position MyCloth,0.0,1.0,0.0
phy build cloth MyCloth
phy attach cloth to shape MyCloth,1,1
phy attach cloth to shape MyCloth,2,1
phy attach cloth to shape MyCloth,3,1
phy attach cloth to shape MyCloth,4,1
texture object MyCloth,1
do
if shiftkey() then position camera 0, camera position x(), camera position y ()+.1, camera position z()
if controlkey() then position camera 0, camera position x(), camera position y ()-.1, camera position z()
CONTROL CAMERA USING ARROWKEYS 0, .1, 1
if scancode() = 0 and timer() < MyTimer
text 10,20, "FPS : "+ str$(screen FPS())
text 10,40, " Use arrow keys to move fwd,back, tuen left & right"
text 10,60, " Use shift, ctrl to move up & down"
endif
phy update
SYNC
loop
Home computers are being called upon to perform many new functions, including the consumption of homework formerly eaten by the dog.