Sounds like we have similar backgrounds, so I'll make some suggestions based on my (limited, ~1.5 weeks) experience. I'm also on a mac and
First off - since you're posting in the Davinci subform, I'll assume you have one of these machines. I have a 2.0 full-extruder model. The included software on this is pretty limited, but it does work reliably. The cartridges are about 2x price of other filament, but they have the benefit of generally just working. I was able to start printing immediately with the default setup.
Modeling
I've tried several 3d modeling programs (TinkerCAD, 123D Design, SketchUp, Blender, AutoQ3D). TinkerCAD and 123d Design are easy but you jump through hoops to accomplish anything complex. TinkerCad is extensible via javascript, possible that 123D is as well. Blender is capable but pretty complex, although there are plenty of resources available.
I do my modeling in OpenSCAD. It's programmatic and just makes sense to me, and can be integrated with Python for some pretty interesting projects. There were a few projects that took me days in TinkerCAD and 123D that I was able to replicate in hours with OpenSCAD. It's not particularly pretty but I find it very powerful and there's plenty of resources for learning.
Host Software
I quickly became frustrated by the limitations of the provided XYZWare. While it worked reliably, I wanted to do 2-color prints and found myself having to manually join the separate STLs by hand as there was no numeric control over placement. Also, the Mac feature set is far behind that of the windows software, and this is a warning sign for me of a company not truly invested in Mac users.
After some research, I settled on Simplify3D (simplify3d.com). It's not cheap ($140), but I've been very happy with the control it offers. With the default firmware there are limits to what it can control on the printer, but the experience is far better that XYZWare and was worth the price to me, especially as I'm trying to teach my teenagers to use the printer as well. If you upgrade the printer's firmware, you'll have control over all aspects of the printer from Simplify3d.
Firmware
Replacing the firmware on the Davinci with a special build of Repetier does a few things for you:
- allows you to use 3rd-party filaments (saves money and allows use of colors and materials beyond what XYZPrinting provides, e.g.: Silver filament, PLA, HIPS, etc)
- gives direct control over all aspects of printer: extrusion speed, layer height, bed and extrusion temps, fan control, etc.
- allows use of Repetier host/Simplify3d to control printer from computer
- allows use of Octoprint or Octopi (octoprint.org) to allow printing over wifi and remote monitoring/timelapse of jobs (with raspi camera module)
Based on all the above, I decided to update the firmware on my Davinci. The process is convoluted on a Mac, depending on a resetting a jumper on the back of your printer and using a modded version of the Arduino control software. Instructions and software are here: github.com/luc-github/Repetier-Firmware-0.92.
HOWEVER - I'll add that since updating my firmware I've not been able to run a single successful print. I still have the XYZ filament and the exact same procedures that produced reasonably good prints with the stock firmware produce garbage with the Repetier firmware. It comes down to being unable to get anything to stick to the bed. I'm 2 days into this and am frankly considering going back to the stock firmware and building a cartridge resetter which will give me access to 3rd-party filaments. I like to think I'm a pretty capable guy - I've built a couple autonomous bots based on Arduinos and Raspberry Pis - but I can't wrap my head around getting a successful print and there's not a lot of info available on my specific setup.
Hope this helps
Davinci Duo, Repetier 0.92, OctoPi