How to compile, set up, and use Beautiful Modeler

Multitouch modeling fun with STL export

Beautiful Modeler

Beautiful Modeler is a tool for creating 3D models using multitouch input from the iPad. Its release was covered here in November, but today I’m going to show how you can try it for yourself.

I’m using Xcode 4.0.2 and iOS 4.3.2 (the most recent releases as of this writing), so your mileage may vary if you have different versions. For simplicity I’ll use direct links to all of the necessary downloads where possible, followed by links to their original sources.

It’s a long process, but I guarantee that using your iPad to manipulate 3D models is awesome. :)

1. Download these files

2.  Set up the project folder structure

  • - Make a folder on your desktop called Beautiful
  • - Copy the downloaded zip files to that folder
  • - Extract the zip files and delete them
  • - Make a copy of the BeautifulCode folder
  • - Move one of the BeautifulCode folders into Desktop/Beautiful/of_preRelease_v0061_osxSL_FAT/apps
  • - Delete the Beautiful Controller folder from that copy
  • - Move the other copy of BeautifulCode into Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/apps
  • - Delete the Beautiful Modeler folder from that copy
  • - Move the ofxSTL folder into Desktop/Beautiful/of_preRelease_v0061_osxSL_FAT/addons
  • - Move the ofxOsciPhone into Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/addons
  • - Copy install.xml from Desktop/Beautiful/of_preRelease_v0061_osxSL_FAT/addons/ofxOsc into Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/addons/ofxOsciPhone
  • - Rename Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/addons/ofxOsciPhone to ofxOsc
  • - Create a folder named include inside of Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/addons/ofxOsc/libs/oscpack
  • - Move the ip and osc folders into the new include folder
  • - Move Desktop/Beautiful/libs/libFreeimage_iphone_universal.a into Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/libs/FreeImage/lib/iphone (overwriting the existing file)
  • - Move Desktop/Beautiful/libs/libFreeType_iphone_universal.a into Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/libs/freetype/lib/iphone (overwriting the existing file)
  • - Move Desktop/Beautiful/libs/libGLU_arm.a into Desktop/Beautiful/of_preRelease_v0061_iPhone_FAT-pre3/libs/glu/lib/iphone (overwriting the existing file)
  • - Delete the Desktop/Beautiful/libs folder
  • - Your folder structures should look like this:
    Folders
    Folders 2

3. Set up the Beautiful Modeler Xcode project

  • - Open Desktop/Beautiful/of_preRelease_v0061_osxSL_FAT/apps/BeautifulCode/Beautiful Modeler 06/Beautiful Modeler 06.xcodeproj in Xcode 4
  • - Open the Build Settings for the Beautiful Modeler 06 project
  • - Change the Architectures setting to “32-bit Intel”
  • - Change the Base SDK to “Latest Mac OS X (Mac OS X 10.6)”
  • - Open the Build Settings for the BeautifulModeler target
  • - Change the Base SDK to “Latest Mac OS X (Mac OS X 10.6)”
  • - Open the Build Settings for the openFrameworksLib project
  • - Change the Architectures setting to “32-bit Intel”
  • - Change the Base SDK to “Latest Mac OS X (Mac OS X 10.6)”

4. Edit the Beautiful Modeler source code

  • - Open src/bModeler.cpp
  • - Go to line 276
  • - Change “metaballs->RenderSTL(“Beautiful Model”, “/Users/karlwillis/Desktop/test.stl”, true);” to use your username, and change “true” to “false”.Example: “metaballs->RenderSTL(“Beautiful Model”, “/Users/techknight/Desktop/test.stl”, false);”
    (Changing that boolean value to false will force the STL file output to be binary instead of ASCII. I found this to be necessary when importing a saved model into ReplicatorG later on.)
  • - Open addons/ofxSTL/src/utils/ofxSTLBinaryWriter.h
  • - Go to line 28
  • - Change “string path = “data/” + fileName; //ofToDataPath(fileName, true);” to “string path = fileName; //ofToDataPath(fileName, true);”
  • - Make sure the Scheme dropdown box at the top is set to “BeautifulModeler”, then click Run
  • - Verify that Beautiful Modeler runs, then press escape to exit
  • - When you’re ready to move on, close the Xcode project.
    (You can run Beautiful Modeler again later by using Desktop/Beautiful/of_preRelease_v0061_osxSL_FAT/apps/BeautifulCode/Beautiful Modeler 06/bin/BeautifulModelerDebug.app)

5. Set up the Beautiful Controller Xcode project

  • - Open Desktop/Beautiful/of_preRelease_v0061_osxSL_FAT/apps/BeautifulCode/Beautiful Controller 03/Beautiful Controller 03.xcodeproj in Xcode 4
  • - Open the Build Settings for the Beautiful Controller 03 project:
  • - Change the Base SDK to “Latest iOS (iOS 4.3)”
  • - Change the Code Signing Identity to “Automatic profile selector: iPhone Developer”
  • - Open the Summary for the Beautiful target:
  • - Change the Identifier from com.disneyresearch.Beautiful to something of your own
  • - Open the Build Settings for the Beautiful target:
  • - Change the Base SDK to “Latest iOS (iOS 4.3)”
  • - Change the Code Signing Identity to “Automatic profile selector: iPhone Developer”
  • - Open the Build Settings for the iPhone+OF Lib project:
  • - Change the Base SDK to “Latest iOS (iOS 4.3)”
  • - Change the Code Signing Identity to “Automatic profile selector: iPhone Developer”
  • - Open the Build Settings for the iPhone+OF Static Library target
  • - Change the Base SDK to “Latest iOS (iOS 4.3)”
  • - Change the Code Signing Identity to “Automatic profile selector: iPhone Developer”

6. Edit the Beautiful Controller source code

  • - Open src/testApp.h
  • - Go to line 9
  • - Change “#define HOST “192.168.1.1″” to the IP address of the computer that you’re sitting at

7. Put it all together

  • - Start Desktop/Beautiful/of_preRelease_v0061_osxSL_FAT/apps/BeautifulCode/Beautiful Modeler 06/bin/BeautifulModelerDebug.app in the background and command-tab back to Xcode
  • - Switch the Scheme dropdown to “Beautiful -> (name of your iPad)” while your iPad is connected by USB and click Run
  • - Once the app starts on your iPad, use command-tab on your Mac to bring Beautiful Modeler to the foreground

8. Use/Troubleshooting

  • Press S to save an STL file to your desktop, then upload it to Ponoko or use it in ReplicatorG for your own 3D printer
  • -/+ changes the “meatball” mass
  • If Beautiful Modeler launches on your computer with a blank 3D model, just restart it (this happened to me a few times)
  • If you have some trouble with compilation, feel free to post in the comments and I’ll offer what help I can

ReplicatorG

Thanks to Karl D.D. Willis for updating Beautiful Modeler yesterday. He’ll be at 3D/DC on Thursday in the Hands-on Demonstration Area.


Derek Quenneville is a 3D printing evangelist who posts weekly on the Ponoko blog. Follow him on Twitter @techknight.

Related posts:

2 Responses to “How to compile, set up, and use Beautiful Modeler”

  1. Jon Danforth Says:

    Oh, is THAT all you have to do?!?

  2. Derek Quenneville Says:

    You should see what it takes to get some of the homebrew Kinect stuff going from scratch. :)