I have been working with adding in a scale factor parameter but am not able to figure out how to scale about the origin. Our survey standards require us to scale our data from 0,0. I need to create a projection that will reduce CAD data from ground back to grid, scaling about 0,0 of the grid.

Not sure of what you are trying to do since this is apparently a surveying term(?). When you mean "scale" to mean scale in the geometry sense of "translate, rotate and scale" or are you looking to move (ie translate or shift) your coordinate reference system so that the bounding rectangle of your input data has a 0 (zero) origin? Scale implies changing the range of values to fit into a new bounding rectangle, ie if you data are currently in the range 1-11 you can translate to the origin by performing a shift of -1 giving you a new origin (range is now 0-10) and then scale it so that coordinates fit in the range 0-1 by scaling it by dividing them by 10. You new coordinate system would have an origin of 0,0 and be scaled to a maximum range of 1,1