Monday, June 27, 2011

CAD on OSX with Blender and Rhino - DWG

The majority of the engineering world use AutoCAD-like products for creating drawings, with typical exchange formats of DWG, DXF, SAT or IGES. (I wrote some tips on using AutoCAD and SolidEdge here) Unfortunately on OSX there has been historically little choice. I asked Stefan Boeykens who runs the CAD 3D blog for suggestions, and compiled a list of possibilities:
  • AutoCAD have a Mac OSX version. Obviously 100% DWG support, the downside is the price (Retails for $3,995, 30 day trial)
  • iCADmac is a mac port of progeCAD, that is actually very good on OSX (still a poorer cousin of AutoCAD). I use this for 2D CAD work on OSX. (Retails ~$1000, 30 day trial)
  • ARES commander is a cross platform CAD package for Windows,OSX,Linux. So there should be no compatibility issues between. I've not tried it out myself. (Retails $795, 30 day trial)
  • Blender is a free cross platform 3D package, that does have DWG/DXF plugin support. Unfortunately, the DWG support is not very good, and it is difficult to get the plugin to work under OSX and Linux. (free, Open Source)
  • Rhino 3D, a free trial version for OSX at the moment. (Retail expected ~$1000, free unrestricted trial while in beta)
Although Stefan mentioned some issues with Rhino3D, it worked perfectly with all my CAD files, and it is still an alpha product at the moment. Rhino3D supports a lot of file formats to a high standard:
  • 3dm (Rhino format)
  • 3ds (3d Studio, original not Max)
  • dwg (AutoCAD - I tested the 2007 version)
  • dxf (AutoCAD)
  • fbx (MotionBuilder)
  • iges (IGES)
  • lwo (Lightwave)
  • obj (Wavefront)
  • sat (ACIS) [Export only]
  • stl (Stereolithography)
  • vrml (VRML, also wrl file format)
In the end, I only used Rhino3D to convert the data and used Blender for doing most of my data manipulation, as I already have a number of scripts for it (See Convex hull generation for Blender). Every time I get back to using Blender after a pause it takes me a while to get used to the interface, here are some common commands I use when manipulating objects to conform to a given coordinate system:
  • space - add an object
  • g - move (follow by x,y,z to select an axis)
  • r - rotate (follow by x,y,z to select an axis)
  • a - selects all objects
  • h - hide objects
  • . - zooms so you can see all
  • 0 - switches to camera view (F9 - edit panel, you can set the FOV by altering 'D')
  • n - displays the current transformation matrix (To find the global coordinates you should view the Object in edit mode)
  • SHIFT+c - centres the cursor
  • View->View properties - allows you to manually enter the cursor position
  • Object->Transform->Center Cursor - allows you to re-define the center of the object
  • CTRL+a - collapses the rotation/scale transformation matrices. (see above for setting the position)
  • CTRL+p - to parent objects, allowing you to move them in groups
This Blender keyboard shortcut map always comes in handy too!

No comments: