Basically, as far as I can tell, when you start a project for a mchine, three things are checked - the capacity of where you are building it, if a particular type of resource is at that location (as in the harvesters and drills etc.) and, for some machines, simply if it is inside a building or not.
My suggestion would be not to change anything with the current programming, but just to add an extra layer. Every machine should have a list associated with it. That list should be of every building type (stone / cottage / shack etc.) every vehicle type, every boat type, and even every terrain type, that it can be built on/in.
When a new machine project is started, the usual checks would be made, as well as checking the list associated with that machine. If the terrain, the boat type, the vehicle type, the building type is not on that associated check-list, than it would not be possible to build that machine at that location.
A system like this, if possible, would allow the implementation of so many things that have been asked for.
The one that springs to mind is fishing from boats (see: Gone Fishin', Stuff to do on boats, FISHING and fishing while sailing?) There could be two sizes of ship-based fishing nets, a small one available on all boats, and a larger one only available on larger boats. There could even be a very large drag net that can only be built on special boats - trawlers.
It'd also allow the implementation of one suggestion for Industrial Sized Machines. There could be a new building-type, called a 'foundry', which would be the only building-type, the only place, where an indutrial-sized smelting facility could be constructed (a machine which should require silly amounts of resources to build...)
Back to boats, it would also allow the implementation of cabins (Boat Stuff, Lockable Containers on Boats and Boat cabines are some threads on the subject. Each boat-type would have a related cabin type (i.e: Under the 'buildings' list there'd be a longboat cabin, a sloop cabin, a raker cabin etc. etc. It would not be possible to build a huge galleon cabin on a longboat and so on...) Each cabin-type would have a weight and character capacity to fit with the capacity of the type of boat it is avaiblable for (I guess it would increase the over-all capacity of the boat...). This would allow the locking-away of items, keeping passengers and prisoners away from the controls and other ideas associated with boat cabins...
It'd allow me to build a 'handlebar basket' on pedal-bikes - a very small storage space made of wood...
I'm sure other people can think of loads of other ways in which this would be useful...
Apart from the fact that I don't even know if such an association-checklist is possible (although the way I invisage it, it'd only be an addition to the current code, not a fundamental change) one problem I can imagine is that it'd be a bit of an initial headache for the RD to make-up the checklists, and every time a new vehicle or building is added, all the checklists for the relevant machines would have to be updated...
But I want my fishing nets, and my cabins, and all my other particularly place-specific thingies
