One recent project I've been working on is updating and improving my Plate FeatureScript. I also updated the motor mounting FeatureScript, since that's integrated heavily with the plate FeatureScript. Although there aren't any major changes to the core functionality, I've made numerous tweaks and improvements to streamline the user experience. You can see some of the changes I've made below.
Countersink Holes:
Countersink holes have been on the bucket list ever since initial release, but I didn't feel like going through the work of trying to draw cones on holes. That changed when I discovered primitives, which allow you to make simple 3D shapes like spheres, cylinders, and cones in FeatureScript. This allowed me to add them in without to much hassle, which was nice.
Disambiguations:
This is a bit technical, but basically, operations in FeatureScript aren't always the most robust in the face of changing inputs. The classic example of this is a user who makes three holes on three sketch points, then deletes one of them; Since the FeatureScript iterates through the list of selected holes, and adds a hole at each location, the remaining holes will get shuffled around as a result of the deletion. Fortunately, Onshape has a method to prevent this, and it's now been integrated into holes added through the hole tab, so changes will be less likely to affect where your stuff attaches to the plate.
Motor Options:
I also updated the motor mounting FeatureScript, adding some things that I didn't quite get around to the first time around. You can now add a mate connector to each motor location, simplifying assembly. You can also add sets of clocked holes, in case you want to figure out your exact motor rotation later on in the process. If you're using the motor FeatureScript through the motor tab in the plate FS, then you can only add one set of clocked holes, due to Onshape being unhappy with nested array parameters, but there's also an option to flip Mate Connectors to the other side of the plate, just like you can do with Counterbore and Countersink holes. Hopefully these features will prove useful to some users.
Debug Arrows:
There's also now a debug arrow pointing from your last outer geometry selection to your first. This arrow serves as a visual cue, telling you what part of the plate exterior will be broken to add in your next selection. This should hopefully make it easier for users to decide whether they need to rearrange their selection order, or if they can just click the geometry they want to include.
Rectangular Gearbox Support:
I've also added support for rectangular motors on the exterior of the plate, meaning you can now use VersaPlanetaries and AndyMark Sport gearboxes on the exterior of the plate, just like any other motor. These were tricky because there's usually more than one "best" way to connect to a rectangle on the exterior of the plate, so it just draws in every possible connection line (one for each corner of the rectangle), which results in a valid solution. If this doesn't work for you, you can always draw in the rectangle yourself in your sketch, then choose that instead of the point when selecting the exterior geometry.
Onshape Hole FS Voodoo:
Something you've probably used a thousand times, but never really realized the full implications of, was a pretty complicated function in the editing logic of Onshape's Hole FeatureScript. As near as I can tell, it uses a method to group points in the model into queries, and returns the top level one, which makes selecting and de-selecting points much more consistent, which is cool!