Hey Everyone! New to the forum!

I run a R&D prototyping model shop for a large company and we provide services like 3D printing, CNC machining, etc. for folks throughout the company. We currently have two Haas VMC, a VF3 and a OM2. Unfortunately, my one and only machinist resigned on me about 2 weeks ago so my CNC's are sitting idle. I've made the decision to dust off the cobwebs and try to get back into operating those machines. My background is a model maker, so I have some background with programming knee mills with proto-tracs, i have done some basic programming and operating of Haas' 10-15 years ago. I do have alot of familiarity running hobby grade (Shapeoko) CNC routers, but it's usually single setup and basic 2D and 3D machining.

Anyways, i've been a SolidWorks user for 23+ years so i'm teaching myself their CAM package since that's the software we have here. My question here is what the best practice is for where to setup your work offsets on the machine and where to setup your coordinate system on the part when you do your programming.

For the machine, just focusing on a single vise setup, where should i setup my work offset to? X and Y on the left edge of the fixed jaw? What about the Z...top of the fixed jaw? Part of me feels like this is the answer, but another part of me feels like i should be setting it up based on the material in the vise.

As for the software, you obviously need to setup a coordinate system in there which i assume is tied to the G54 work offset....this is the part that makes be feel like i should be setting up the work offset of the machine to the material and not the vise. Where my brain gets all knotted up is where do i put the coordinate system....if the material is already to part thickness. If I need to deck off one side and maybe add a feature or two, but then i need to flip it to deck the otherside and put the remaining features in.

I know it's alot to take in right now, just don't know where to start before i start forming bad habits!