Switching from FreeCAD to Solvespace?

Solvespace is a good addition to the existing open source 3D CAD programs such as OpenSCAD and FreeCAD. If you want to try a truly free 3D CAD program but are intimidated by FreeCAD because of it’s steep learning curve and OpenSCAD because of programmers-like approach certainly should give Solvespace a try.

Introduction

For my current project, a laser engraver, I initially choose FreeCAD as my 3D CAD program. I had some excellent experiences with it so it was the obvious choice for me. However contrary to previous work this project required a lot of CAD assembly. This is where I became frustrated with FreeCAD. Assembly in the current version (0.16) just isn’t well implemented unnecessarily extending my time spent with FreeCAD. The next version of FreeCAD (0.17) will have a separate assembly workbench but I wasn’t willing to wait for it’s final release.

When reading the Hackaday website I came across Solvespace. Given the problem that I have with FreeCAD I was immediately interested. Solvespace is a parametric modeler just like FreeCAD. The interface looks archaic which put me off a little at first but I found it surprisingly easy to work with. The last month I worked intensely with Solvespace v2.1 and I want to share the experience that I had with the program.

The Solvespace GUI looks archaic but is easy to work with.

Working with Solvespace

Solvespace is a lightweight program. It loads fast and runs very smooth on my aging iMac (5 years old). I have encountered an occasional crash with Solvespace however FreeCAD appears to be more prone to crashes on my iMac. I also noticed a small delay in Solvespace while dragging parts around in a complex assembly.

The Solvespace user interface is static throughout the program whether working in a 2D sketch, an extrude or an assembly. The GUI and the keyboard shortcuts don’t change throughout the program. This means for instance that constraints can be applied the same way in 2D and 3D making it easy to work with Solvespace. FreeCAD on the other hand has a dynamic user interface with multiple workbenches each having a different tool bar and functionality. I found that each FreeCAD workbench has it’s own learning curve making it harder to learn than Solvespace. With all these workbenches however FreeCAD offers much more functionality than Solvespace

Solvespace allows the model to be dynamically manipulated as long as it’s not fully constraint, both in 2D and 3D. This can be very helpful while studying a model or looking for its best shape. This is impossible in FreeCAD or OpenSCAD where a model can only be changed by entering other discrete values for the parameters (not to be confused with the animation options in OpenSCAD and FreeCAD).

Assembly in Solvespace is very easy often taking only a few mouse clicks. Two parts must be oriented and constrained to the same direction. A point of each part is selected and the parts are connected at the selected points. That’s it. This method works fast and I haven’t encountered any problem with it. When working in an assembly of multiple files a change made in one of the files propagates to the assembly. This is a very powerful features when working with complex models because it’s creates a consistent environment where it’s sufficient to make a change once instead of keeping track of multiple files. Apparently FreeCAD has a similar feature but getting it to work is far from trivial for me.

The laser engraver that I’m working on. It’s a rather complex project mith multiple parts but assembly is real easy in Solvespace.

Other 3D CAD programs offer functionality like chamfer and fillet. Solvespace doesn’t have this and that’s a shortcoming. Often chamfer and fillet are used for aesthetics and if necessary I can do without that however if you do need them regularly Solvespace isn’t for you. It also impossible to extrude along a path a functionality that is for instance used to create a thread. Creating a true thread is therefore impossible however if it is able to mimic a thread by drawing a sawtooth sketch and revolve it.

I 3d-printed numerous models that I had designed with Solvespace. I exported the models as .stl files and used Cura to create the nessecay G-code before printing them. I encountered no problems with this workflow and all prints came out as expected. I therefore conclude that Solvespace is a good companion for 3d-printers as long as the shortcomings of the program are taken into account.

Support

Community support is very important in open source software.  Whether you’re a beginner, intermediate of experienced user it’s vital to be able to get help. This can be tutorials, forums, irc or mailing list. Solvespace has support although it’s not as abundant as with FreeCAD. This is probably due to the smaller user base of Solvespace. The Solvespace tutorials are good but they are few in number and the documentation is adequate but not as polished as FreeCAD’s.

An active development of the program is also important not only for bug fixing but also with new features in new releases. Solvespace has a small but active developers team which is fine but it also makes the project vulnerable. If the main developer decides to abandon the project the user is left empty handed. FreeCAD appears to be having a much larger group of active developers decreasing the chance that the project will be abandoned.

Solvespace’s forum is a good place to post questions about the program. Replies are quick and to the point.

Conclusion

I really like Solvespace, it’s lightweight, pretty stable and easy to use (especially if the user is familiar with the concept of sketching with geometric constraints). I was able to create my models very quickly. I used the keyboard shortcuts often. They are easy to learn because they are limited in number and are consistent throughout the program. Besides the limitations such as fillet, chamfer and extrude along path, Solvespace lacks a lot of the nice-to-have (or need-to-have for some) features that are available in FreeCAD such as the path-, arch- and drawing workbench. This may not be a problem for many more casual users because Solvespace is focused on geometric constraint solving and assembly.

Solvespace is a good addition to the existing open source 3D CAD programs such as OpenSCAD and FreeCAD. It’s not a FreeCAD replacement because it lacks a lot of the features that come with FreeCAD. However if you want to try a truly free 3D CAD program but are intimidated by FreeCAD because of it’s steep learning curve and OpenSCAD because of programmers-like approach certainly should give Solvespace a try.

Puppy Linux Tahrpup on my Thinkpad T40

In November last year I decided to revive my very old (2003) Thinkpad T40 with Puppy Linux. Now eight months later I’ll give an update on Puppy Linux on my PC. Am I still happy with Puppy Linux?

Introduction

In November last year I decided to revive my very old (2003) Thinkpad T40 with Puppy Linux. Back then I was thrilled by the ease of installation and the speed of this Linux distro on this ancient laptop. Now eight months later I’ll give an update on Puppy Linux on my PC. Am I still happy with Puppy Linux?

Both Puppy Linux Slacko 5.7, which I had installed initially, and Puppy Linux Slacko 6.3 have been very stable on my T40 and I loved Puppy Linux because of it’s speed. However both of these Slacko distributions are based on Slackware. The one problem with this distributions is the lack of software. Some programs that I needed are just not available in the repositories. I could install software myself but only if I was able to find the right pet or sfs file (I cowardly didn’t try to compile the source files).

The standard TahrPup desktop with the beautiful stylized Ardis icons.

Tahrpup 6.0

To solve the problem with the software I decided to install Puppy Linux Tahrpup 6.0. This operating system is based on Ubuntu 14.04 Trusty Tahr. I liked it the minute I installed it. The look and feel are the same as with Slacko with the JWM as window manager and ROX-Filer file manager and all the helpful shell scripts (a lot of them written by Barry Kauler, the original creator of Puppy Linux). Also a lot of the pre-installed programs are the same such as Abiword, Geany and pfind, a file finding program MtPaint and Sylpheed, a mail client. The’re also notable differences. The default browser for Tahrpup is Palemoon instead of Firefox and the Simple Screen Recorder (I forgot the name of the default Slacko screen recorder but I never got it to work). The system is still very fast, exactly the reason why I chose for Puppy Linux in the first place.

Easily create your own operating system

Puppy Linux (and Linux in general) not only let’s you create your own desktop environment, where just about everything is customizable, it even let’s you customize the whole operating system. If you, for instance, don’t like the window manager or the file manager, you can change it. Try doing that on Windows or OSX. This way you can create your very own system doing honor to the acronym PC. TahrPup even has an option to easily change the Linux kernel, something that I couldn’t do with Slacko. With Remaster Puppy live-CD a copy of the personalized operating system can be written to either a USB drive or CD. For the latter a CD burner is needed of course. This copy of the personal operating system with all the favorite programs can be used to boot on any PC elsewhere e.g. on holiday or in school. On the Puppy Linux discussion forum many examples can be found of unofficial Puppy Linux distros such as Tahr NOP (Xfce desktop environment), Ami-Pup (an Amiga like interface) or Fatdog64 (a not so slim 64bit version).

Programming

Even with little experience in programming, additions can be made to the operating system using shell scripts. In fact plenty of programs that come with Puppy Linux are shell scripts. Pfind and pmount are good examples of this. Although this is not for beginners, shell scripts are relatively easy to write. An intermediate user should be able to improve existing scripts or write new ones. A script can be shared on the Puppy Linux forum as a contribution to the operating system and the community. This is a good start for programming for Puppy Linux. It’s also possible to use C or C++ as programming language for Puppy Linux but this is more complex and outside the scope of this blog entry. A good starting point for programming for Puppy Linux is this link.

Puppy Linux with the setup shell script opened in Geany. Programming in Puppy Linux is easy using shell scripting and GTKDialog.

Tahrpup drawbacks

The only drawback so far is that the new Puppy Package Manager v2 (PPM) seems a bit slower on my old laptop than with Slacko. PPM is the equivalent of the Ubuntu Software Center or Pacman for Arch Linux and provides access to the repository with all the available packages for Puppy Linux. The numerous packages in Tahrpup are possibly the reason for this slower behaviour.

Conclusion

Eight months later my Thinkpad T40 is still very much alive thanks to Puppy Linux. With Tahrpup I gained easy access to a huge amount of programs satisfying my increasing PC needs. The best feature about Puppy Linux (and Linux in general) is that it feels like my very own operating system. It’s easy to get involved into Puppy Linux thanks to it’s open nature and the vivid community. A feeling that I’m severely missing in the proprietary OSX on my iMac, my primary computer. In fact, if not for my wife who is still attached to the iMac and OSX, I would exchange my iMac for a (Puppy) Linux PC without hesitation.

My T40 with Tahrpup background image and the JQBrased icons.

Why I use open source for my DIY projects and you should too

Use open source as often as possible. Not only is it free (as in gratis) but it can be as good or better than propietary software without the all the limiting terms found in a typical software license agreement. Open source enables the community to freely share ideas, information, concepts etc. This is key for a succesful and thriving society.

Introduction

I’ve been a user of proprietary products for a very long time without giving it much thought. In fact I’m writing this on an iMac with OSX as the operating system. I own this iMac for at least 5 years and it is a nice machine but as time went by something kept nagging. I used to believe that for good reliable software you had to pay money. If software was free (as in gratis) it was probably unstable, user unfriendly and unpolished that it wasn’t worth any money. At least that is what I thought. Continue reading “Why I use open source for my DIY projects and you should too”

Make a Photography Light Box of cheap material (part 1: design and 3d print).

DIY frame for a Photography Light Box. I designed a 3d printed three way connector to assemble the curtain rods for the box.

Introduction

My wife has a lot of stuff she wants to sell online and asked me to create a sturdy but cheap Photography Light Box. The dimensions of the different objects vary, so I wanted to be flexible with the dimensions of the light box. We came up with a simple idea to create a three way connector that connects curtain rods. The frame will be covered with white bed sheet cloth kept together with velcro. At the local hardware store I found plastified steel curtain rods. These were the cheapest I could find but are still very strong. Continue reading “Make a Photography Light Box of cheap material (part 1: design and 3d print).”

DIY Lego Cabinet

Making a woorden Lego cabinet for all this minifigs is easy and cheap. You do need a laser cutter for this project.

Introduction

My sons have large Lego minifig collections but most of it is lying in a large box. The older son wanted a cabinet so he could display (part of) his collection better. These cabinets can be pricy as I found out so I decided to make one myself. I’ve done some laser cut projects recently, such as the Darth Vader Chest Box and the Valentine’s Heart, so I decided to use the same technique for the cabinet. Continue reading “DIY Lego Cabinet”

Using Filaflex to improve my cooler

Filaflex is excellent material to improve the audio cooler that I made earlier. The material is very flexible and surprisingly strong making it perfect for sealing purposes

Introduction

A week ago I finished my audio cooler. Although I was happy with the result improvements could be made (as is always the case). Most important I didn’t particularly like the console on the side of the coolers lid. This was a 3d printed part of PLA that I glued to cooler with a superglue. This was far from ideal because of the space left between the printed console and the cooler . Another improvement could be made by the way that the speaker was fitted to the lid of the cooler. The speaker was directly attached to cooler with four screws again leaving some space between the two. I already had some FilaFlex filament but hadn’t used it yet. Because of the elastic and flexible properties of Filaflex I figured that I could both fix the issues with the console and the speaker.

Left the cooler with improved speaker and console and right "old cooler" with printed part of PLA filament.
Left the cooler with improved speaker and console and right “old cooler” with printed part of PLA filament.

Continue reading “Using Filaflex to improve my cooler”

Adding radio streams to the cooler with a Raspberry Pi

Using a Raspberry Pi and the program MPD to enhance my audio cooler

Introduction

In my previous blog post I finished my audio cooler. It’s a small cooler with a tiny audio system that nevertheless sounds good. The only way to control the audio is through a wired connection. It would be a nice addition to have some kind of remote control either by WiFi or Bluetooth. While testing the cooler I’ve got the idea to connect a Raspberry Pi A+, that was still unused, to the cooler and stream audio over WiFi to the Pi.  This could be useful for a garden party or BBQ where WiFi is available and I don’t want to attach the smartphone to the cooler. In this blog post I’ll share my experience with installation and operating the software needed for this project on the Pi.

P1020957
Raspberry Pi A+ (in it’s Pimoroni Pibow case) connected with the headphone jack to the cooler. The Pi has a small Edimax Wifi adapter.

Installing music software on the Raspberry Pi

Since I run the Raspberry Pi headless I use SSH login to the Pi. SSH is available for most operating systems with the notable exception of Windows. I already had Raspbian installed on the Pi so first I updated the OS. Continue reading “Adding radio streams to the cooler with a Raspberry Pi”

Audio system for cooler almost finished

A made a 3d printed enclosure for the audio components that fits in the coolers lid together with a simple console to operate the audio

Introduction

A couple of weeks ago I started to make a tiny audio system for our cooler. In my previous blogpost I described all the audio components that I chose for this project. I wanted the components to be small since I didn’t want to waste too much space in the cooler. With the audio components in hand I could design other parts for the audio system. I needed an enclosure for most of the audio components and a simple console to operate the audio. The parts were 3d printed with my Hephestos 2.

The complete audio system in the lid of the cooler. Most components are placed in the 3d printed enclosure.
The complete audio system in the lid of the cooler. Most components are placed in the 3d printed enclosure.

Continue reading “Audio system for cooler almost finished”

Making a tiny audio system for our cooler (part 1)

I’m selecting components for the audio cooler that I’m going to build. The components need to be tiny to fit in the coolers lid

Introduction

For picknicks we use a small cooler and with the upcoming spring and summer it seems like a great idea to add an audio system to it. Most DIY coolers with audio that I found on the internet are huge. Not only do they have large speakers and amplifiers but they also have a huge lead battery hardly leaving any space for the picknick gear. I want a tiny, one speaker system that sounds nice but is lightweight and leaves plenty of room for the other stuff. I also wanted it nicely integrated in the cooler without too many wires. I therefore started to design and build one.

Choosing the audio components

I started this project by choosing a suitable battery. As stated above lead batteries are relatively large due to their low energy density. Lithium polymer batteries on the other hand have large energy density, four to five times higher than lead according to this source. Prices of polymer batteries are also very reasonable nowadays.

P1020813
Lead-acid battery (left) and polymer battery (right) side by side on the small cooler. The much bigger and heavier lead-acid battery has a capacity of 5000mAh (6V) while the lithium polymer battery has 1200mAh (3,7V). The lithium polymer with it’s four to five times larger energy density is therefore perfect for my small audio system.

Continue reading “Making a tiny audio system for our cooler (part 1)”

OpenELEC maintenance

How to update OpenELEC without loosing settings, getting YouTube to work again and creating an OpenELEC backup. Make screenshots in OpenELEC.

Introduction

last year I built a PC especially for OpenELEC. For those of you who don’t know, OpenELEC is a Linux based system with the sole purpose to run Kodi, the all-in-one solution to play all media you throw at it. Because of this sole purpose OpenELEC is very fast, especially on the Intel based system that I built, and very reliable. Over time however some maintenance of the system is necessary to keep the system up-to-date and fully functional. Continue reading “OpenELEC maintenance”