I saw your question from a few years ago while figuring out how to model this and decided to see how you had answered it. Here is a more elegant solution. It has the advantage of being more exact where, in the model you are currently using, the corners of the square join the circle - it is possible to have small (probably irrelevent) errors due to the approximation of the square root of two. This is avoided in this model with the use of the hull method, while not sacrificing the accuracy of the truncation.
I saw your question from a few years ago while figuring out how to model this and decided to see how you had answered it. Here is a more elegant solution. It has the advantage of being more exact where, in the model you are currently using, the corners of the square join the circle - it is possible to have small (probably irrelevent) errors due to the approximation of the square root of two. This is avoided in this model with the use of the hull method, while not sacrificing the accuracy of the truncation.