As promised in the last blog post, here is a writeup about the “coding” based (amazing) 3D modelling software. OpenSCAD is a 3D modeling program based on constructive solid geometry (CSG), i.e. a complex surface or object can be created using Boolean operators to combine objects. There are some basic commands that one should know the usage of, before working on the software, and if they do, 3D modelling will be a “relative” piece of cake!
These 10 commands are in three different categories: shapes (cube, sphere, cylinder), transforms (translate, scale, rotate, mirror), and CSG (Boolean) operations (union, difference, intersection). Most of the operations that you need to do can be done with these 10 commands. So, to summarize, 3D modelling in OpenSCAD is as simple as mastering the usage of 10 commands, and then converting your problem (3d-model) into a combination of the shapes using CSG.
A use of the above commands is shown below for seeing just how powerful these commands can be — click to enlarge!
The other project that I mentioned in my last post is SUMA. There are two possible ways to go about it. A trial version can be developed using Vagrant and Virtual Box (they have put a version on their machine, and it can be accessed (theoretically) from your own PC). I have been in constant touch with the group at NCSU Libraries, who developed this system, and they have been helping me with trying to debug the system, but there has been only limited success in this direction. I am able to run the client part of the system, but there are issues with the Ansible (automation platform) file, and I am waiting for them to release the 2.0 version of the same. It has been quite an informative interaction with them, and they have been quite helpful in this regard.
The other way is to go in full-fledged, and develop a complete system, coding all the server and client pages, and have everything on the same machine (instead of logging onto the virtual machine as in the case of the trial version). I have done a fair bit of coding, along with SQL integration for creating necessary databases for the program, managing correct permissions for admin and user. I am still working on the server part of things here, and since this is the first time I am working on something like that, there is a lot of reading involved as well. The plan is to first develop the framework on a PC, and then repeat it on a more restricted mobile/tablet platform, after the required system works seamlessly on the PC.