FreeCAD Tips

I’ve been writing Python programs in FreeCAD for ages. So after the success (hah!) of my Python Shorts I thought I’d make a little resource with some tips based on what I’ve learnt working with it. You can find it at here.

If you run Python programs in FreeCAD you should take a look. If you want to learn how to write Python programs in FreeCAD it tells you how to get started. I’ll be adding more items later.

You should be playing Cheese Finder

I’ve just renewed the domain for Cheese Finder. I made it a little while back when I was writing Begin to Code: Building Apps and Games in the Cloud. The board contains hidden cheeses. When you click a square it changes to a colour that represents the distance that square is from the nearest cheese. You have to figure out where the cheese (or cheeses) are with the smallest number of clicks. The puzzle above went well. I only needed four clicks. I clicked in three corners, which all came up the same colour. Which meant that the cheese was somewhere in the middle.

It’s quite fun. You get a different puzzle every hour with a different number of cheeses and different colour mapping.

This one was a bit harder to solve, what with there being four cheeses to find.

Robot Hotspot

Yesterday I ordered a heavily discounted portable Wi-Fi hotspot for the robots. I hope they appreciate it. The device arrived today. I slapped a “Pay as you go” phone sim in it and spent 10 minutes setting it up. It works a treat, and the robots can connect to it quite happily.

It doesn’t support 5G signals, but I’m not really after speed and the service it found seemed snappy enough. So, with a bit of luck the next Hardware Meetup won’t end with a broken network…

Leeds Industrial Museum

Today finds us at Leeds Industrial Museum. We like museums. Especially this one. It used to be a Mill, and not a great place to work.

All around they have put up descriptions of the horrible afflictions inflicted on the workforce. The ear defenders above are for visitors to wear when they fire up the spinning machine. Not something that the employees got. They just had to put up with going deaf after a while. All the machines were powered by a steam engine which turned long shafts that ran along inside the roofline. Canvas belts transferred power to the huge machines that took wool into one end and then produced cloth at the other. There were no covers on the belts or the machine mechanisms. Getting mangled was just something you had to try to avoid doing.

It’s interesting to think that at the time the mill was opened these places would have seemed like the ultimate in technical advancement and heralded as the next great thing. Oh well. It’s not as if our generation would widely adopt new technology without thinking hard about the implications and the effects on people using it..

Robots and Axolotls at the Hardware Meetup

We had a super special Hardware Meetup tonight. With young guests, an axolotl on a throne, 3D headset and self-breaking Wi-Fi (which was not in the plan). It was great fun - even when the network broke. Many thanks to the Hull MakerSpace team for doing such a job of showing our guests around and demonstrating some of the awesome machinery they have.

We all learnt something. In my case it was that trying to hang 8 robots off a single phone hotspot doesn’t always end well. For the next meetup I’m working on something a bit more robust…..

Deep Jellyfish

Pesky weather. We had all kinds of plans for today. We were going to head over to Sewerby Hall and look at the penguins and do all kinds of fun outdoor things which are no fun in the rain. But it was raining. So instead we went to “The Deep” and looked at some different penguins. Pro Tip 1 for visiting The Deep: Get there early. Preferably when it opens. You will have a blissful 45 minutes or so to explore the place before everyone else turns up.

Pro Tip 2: Don’t miss the jellyfish. Around half way round you get to an inviting white tunnel entrance which looks really good (it is). But to the left of the entrance is another one to the Jellyfishes. These are awesome and great fun to photograph.

Pro Tip 3: Go to the café and get a seat at “the pointy end” with views all the way up the estuary to the Humber Bridge one way and across the river the other.

And best of all, the tickets last for a year. Which is how we got to go back for free…

Yellowphant

Shown with the original white one. I need to work on my brush technique

Got my “black burger” back from the pottery. We went there and painted some pots a while back. I think it came out pretty well. They have a really nice elephant model which I was planning paint with a different colour for each facet.

Like many of my plans, this one collapsed completely when presented with reality. So instead I want for a “yellowphant”. I’m looking forward to seeing how that one comes out.

Hesslewood Car Show

Today I reaped the benefits of my film testing yesterday. Mostly. I took my instant camera to the Hesslewood Car Show and grabbed some shots. I’m pleased with the results, although I need to learn how to make adjustments for light and dark subjects. The car show was great. It was right next to the Humber Bridge Park and they had loads, and loads, and loads of interesting cars. Along with coffee, pizza, bits and bobs and birds of prey. We had a great time eating pizza and watching the birds go through their paces. I think it is an annual event, so if you are at a loose end in August 2026 and want to support a good cause (Humber Rescue) then you should head along.

Exposure Testing..

Instant photos are great fun. But not if they are completely white or completely black. In that case they don’t even make very good drinks mats. With this in mind I spent the afternoon measuring light levels and taking pictures using different lenses. It’s my idea of fun. OK?

Anyhoo, I got the results on the left. The top shot was taken with the wide angle lens, and it looks fine. Then we switch to the normal lens and things still look good. And then…..

My telephoto lens has a shutter in it which could be described as “a bit on the slow side”. This lets lots more light in with the hilarious white result you can see in the bottom picture. So, I’m going to have to make some adjustments when I use this lens.

This is something worth keeping in mind when using camera bits which are around 60 years old. Just because the mechanism goes “whirr-click” doesn’t mean that it is going at the right speed. Instant film is extremely picky about the amount of light it needs so a problem that might not show up on more tolerant film stocks becomes horribly obvious when you load up with instant film..

Love and Large Language Models

We went to see the Fantastic Four movie last night. It was OK. Before the film they had a bunch of adverts, including one for Google Gemini, one of the many AI assistants being forced down our throats at the moment. I found this one particularly depressing when it showed the sample query “How do I know if I am really in love?”. Ugh.

This is not what you should use AI for. AI is for things like “how do I unblock a toilet”, or “how do I create a tuple containing only one element in Python”. Not for affairs of the heart. I guess that the creators of AI have decided that most of us don’t need to unblock toilets or create tuples very often (unless our lives have taken a particularly strange turn), so they are moving into other aspects of the human condition.

Please don’t use the tool for things like this. For one thing you need to remember that one of the aims of an AI assistant is to keep you talking as long as possible (a bit like a hostage negotiator) and to do this it will tell you things it thinks you might like to hear. For another, remember that, since you aren’t paying for the service, Google will soon move on to monetising your engagements, so questions about love might well end up resulting in your next searches returning lots of adverts for chocolates and underwear.

I must admit I quite enjoy talking to AI when I’m doing stuff with it, and it is not a huge step to starting to think that the software understands me and cares what I am doing. But it doesn’t and it doesn’t. It just wants to keep me talking.

FreeCAD Tips 2 : Arrange your windows

I love creating physical objects directly from Python code. This tip makes it really easy and immediate. If you use the default desktop arrangement for FreeCAD you find yourself flipping between the part view and the code view, which is a bit of a pain. So, what you do is this:

  1. Make sure that you have the code that deletes old elements on each run (see FreeCAD Tip 1).

  2. Select Windows>Tile from the main menu.

  3. Move your views of the code and the CAD workspace so that you can see them both comfortably.

  4. Now, when you run the code you will see your design update right in front of you. No need to open a different window.

This works even if you have zoomed into a particular part of the view.

FreeCAD Tips 1 : Clear your workspace

FreeCAD is a fantastic CAD program which provides access to all the drawing elements from Python. I use it a lot (I might be the only one). Perhaps I should write something all about it. For now though, here’s a tiny bit of code that’s very useful.

# Delete all existing objects in the document
for obj in doc.Objects:
    doc.removeObject(obj.Name)

This allows you replace existing code generated objects with new ones so your workspace doesn’t fill up with stuff. This is useful if you are making objects with software:

frame = Part.makeBox(width, height, depth)

The statement above makes a frame as a 3D object with a particular size. This is a 3D object, but at the moment it isn’t part of a design document. So, let’s make a document:

doc = App.ActiveDocument or App.newDocument("Frame")

This statement makes a new document called doc. Better yet, it only makes a new document if we don’t already have one. Now we can add our frame to the document:

frame_obj = doc.addObject("Part::Feature", "Frame")
frame_obj.Shape = frame

The first statement above adds a feature to the document. the second sets the shape on this feature to the frame that we created. Great stuff. But if you re-run the program you get another feature. Which you don’t want. That’s why the statements at the top are so useful. They work through the document and clear away everything so that you can add new versions.

Driffield Steam Fair Fun

Of course I took a camera. Or two

We went to Driffield Steam Fair today. The weather was kind to us. Although the wind kept blowing smoke and cinders our way when a traction engine went past. Not what you want when you are changing the lens. Anyhoo, it was great. Lots of pictures were taken.

They had cars too

If you ever decide to go (and you should) take a couple of folding chairs two with you. Then you can set up “base camp” alongside the arena and one of you can go off and take lots of pictures, returning every now and then to swap lenses and bring drinks for the other one. Great fun

I took a bunch of other pictures. You can find them here.

The new Naked Gun movie is worth a look

Airplane is one of the best movies of all time. The Police Squad TV show that followed was at least as good (despite only lasting six episodes). The Naked Gun movies were pretty good too. As were the Red Rock Cider ads. And now we have Naked Gun 2025. We went to see it last night and it was great fun. It doesn’t have the relentless pace of gags that we’ve seen in earlier movies, but everybody plays their part really well, especially Liam Neeson. The story is nicely done (I think that even a daft movie needs a plot) and some of the set pieces are really good. Well worth a look.

Cyanaotype Printing Fun

YOu can get other colours too - but Iv’e not tried them

I’ve been meaning to play with Cyanotype printing for a while. You can buy the paper quite cheaply and using it is easy enough. It works as very slow film. Put something on top of a piece of the paper, expose it to light for a while (sunlight or uv light works best) and then wash the paper under the tap until an image appears. Parts of the paper that were exposed to light turn dark blue. Covered parts stay white.

The picture on the bottom right of the image above was created by putting some Lego tiles on a sheet of the picture and then leaving it on the windowsill for a while. You get a kind of “reverse shadow”. This works well with leaves, flowers and anything else that makes a nice mask.

So of course the next thing to do is put a black and white negative in front of the paper and expose that to light. So I dug out negatives from some pictures I took last year, borrowed a printing frame (it holds the negative tightly against the paper) and off I went.

Exposure is interesting. A really “thick” negative (one that was taken in bright light and has lots of dark silver emulsion on it) can take quite a while to expose. Particularly if the sun goes in half way through exposure. Thinner negatives (ones taken in darker situations) need a lot less time. The best way I’ve found to judge exposure is to peel back the paper from the negative and check what it looks like. The printing frame has a hinged backplate that lets you take a sneak peek at the print without moving it. If you can barely see the outline of the image this would be a good time to “develop” the picture under the tap. If you can see a very visible image this means that when you develop the picture the image will disappear to be replaced by a sea of white.

I took the pictures above with a Pentax 67 camera which produces negatives which are 6x7 cm in size (hence the name). These produce reasonably sized prints with a surprising amount of detail. The thing I really like about them is that these are completely analogue. There is no digital image processing at all, other than the shot I took to put the pictures on the blog.

What I really want is a frame which lets me take by lovely big 4x5 inch large format negatives and contact print those. Unfortunately I can’t find such a thing at the moment.

Note: I don’t think that cyanotype paper is in any way particularly poisonous, particularly once it has been “developed” under running water. But I wouldn’t give it to anyone who might feel inclined to lick or eat it.