the only way you can do this is using the mask engine.
Unfortunately you will need either Fablink or an Automation Pro license to use this feature.
The Keyword is Oversize (you can shrink it with a negative value)
The your code will look like:
# reset the collection first
# add Points array
MaskEngineObj.Masks.Item(1).Shapes AddByPointsArray Length,Points,1,Units
# oversize the shape by Size
MaskEngineObj.Masks.Item(1) Oversize Size,1,Units
Thank you, Andreas, for the interesting method. I first tried to manually calculate the new XY coordinates of the new geometry grown/shrinked on the specified value, but it seems to be very tedious. Then I tried to invoke the Properties dialog in Draw Mode (app.Gui.ProcessCommand("File->Propertes")), but failed to access the Grow/Shrink field of the dialog. Lastly, you have recommended another method. Thank you.