I have Bitcoins in a local wallet, how do I get my Bitcoin Cash without using an exchange? I have a few Bitcoins in a local wallet and I own my private key. 

I know that on 1st August 2017, Bitcoin is splitting into BTC and BCC.

How do I get Bitcoin Cash without transferring my Bitcoins to a 3rd party exchange?
If your wallet has a Bitcoin Cash version of it (e.g. Bitcoin ABC for Bitcoin Core, Electron Cash for Electrum), then you can install that version in a second location and have it use a different data directory (the data for wallets is stored separately from the install location). Then just copy your wallet file into the second data directory and use the Bitcoin Cash version of your wallet as you normally would use your wallet. Since Bitcoin Cash has implemented two way replay protection, there isn't anything special that you need to do in order to properly create transactions for either chain.

If you do not have a wallet that has a Bitcoin Cash counterpart, you can export your private key(s) and import it into a Bitcoin Cash wallet. After the fork, you should first send your Bitcoin to another address that you control. Then you can export your private keys (excluding the private key for the address you just sent Bitcoin to) and import then into a Bitcoin Cash wallet. From there you can send your Bitcoin Cash coins to an address in the Bitcoin Cash wallet and spend normally.

NOTICE: Make sure to always backup your wallet.dat. I've heard of horror stories about people downloading bitcoinabc client and it overwrites their current bitcoin files. It's best to use a extra computer to download bitcoinabc and then use email or a USB to transfer wallet.dat to it.