One aspect of the Plate FeatureScript that you probably aren't aware of is the way the option to fillet the exterior of the plate is handled. You see, one annoying aspect of FeatureScript's fillet tool is that it likes to warn users if it is being run without doing anything. Normally, it causes a nasty regen error, which stops the plate from getting made, but this can be easily prevented by placing it in a try statement. This stops the fillet from breaking the plate, but it doesn't stop the fillet feature from debugging the edges passed into it, which highlights them in red while the feature is open. This commonly occurs when the plate doesn't have any sharp corners, and although the debug is only cosmetic, and disappears when the plate FS dialog is closed, I still found it to be annoying. There was also a risk that it might confuse users by causing them to think that something was wrong with their plate. So I set out to try and remove this pesky behavior.
At first I thought the solution was super easy. Try statements can be augmented with the silent keyword, which is supposed to stop the reporting of all errors. I slapped it in, but the debugs didn't go away. It turns out that debugging isn't classified as an error by Onshape, so try silent doesn't work. Stuck for the moment, I eventually threw in the towel and made it so that the option to fillet the exterior of the plate was disabled by default; that way, the user would only see the debug if they actually decided to switch the option on, and would thus associate the debug with the option to fillet the plate and realize what was going on. To further augment this, I added a message warning the user that the fillet had no effect. Although this worked fine, and prevented users from becoming confused if the edges of the plate were highlighted in red, it ultimately bothered me that users had to manually flip on the fillet for every plate, rather than simply having it on all the time, which I thought would be preferred by most users. But since I couldn't think of a better solution, this was the version that ultimately shipped with the initial release of the plate FeatureScript.
Fortunately, it wasn't long after posting that I figured out a solution. The fillet feature only debugged when it couldn't find any valid edges to fillet; thus, if I could guarantee that the fillet function always had something to fillet, that would prevent the debugs from showing up. In order to implement this, I had plate FeatureScript create a cube with size equal to the fillet radius, pass one of the cube's edges into the fillet function (along with the outer edges of the plate), and then delete the cube afterwards. Since the fillet always has something to fillet, voila! No more annoying debugged edges. The option to fillet could be on by default once again.
Of course, it wasn't until I was writing this blog that I realized I could simply evaluate the convexity of each edge individually on the boundary of the plate, remove any edges which were between smooth faces, and then run the fillet operation if there were any edges remaining. This solution is obviously a lot less hacky than the cube implementation. There's probably a lesson you could take away from this - maybe something along the lines of "the simplest solutions are the hardest to find", or "Alex spends way to much time worrying about his FeatureScripts" - but I think it's mostly just an interesting story. And now you know!