RSSAmplifier

Blog

vectronic

Blog posts from vectronic

vectronic.ioRSS feed ↗37 posts

Latest posts

First Real Project on the Pocket NC

The first “real world” project on the Pocket NC was to create 2 replacement Oilite bushes for the mains powered Synchron motor in a 1940’s Kit Cat Clock . I’m much more familiar with Fusion 360 and was able to generate a program with 9 operations using 4 tools: I used the Vers Wireless Touch Probe to setup the work coordinates, but just did the touch off manually. I also…

Bun, WASM and Rust projects with GitHub Actions

Following on from a previously outlined move to Deno I’ve now moved to Bun 😅 The main thing I moved to Deno for was a nice way to acheive: A single executable binary via Deno Compile . Cross platform executables via cross-compilation support in Deno . Ability to dynamically load and run additional logic after installation via Deno’s support for the Javascript import() function . After…

Minitel Terminal Connected via Asterisk

I took some time during the holiday to get the Minitel I inherited from the parents-in-law connected to my home server. As I already run Asterisk on the server and have analogue telephony hardware, I wanted to use the analogue dialup modem rather than opting for the serial port available on some Minitel terminals. Overall the setup is: Analogue Phone + Minitel Terminal => Grandstream ATA =>…

Beginner Chips

A second attempt at the tutorial from Penta was reasonably successful. The first attempt was most definitely not: the collet I used didn’t tighten up on the workpiece enough and the workpiece moved towards the mill during the operation. As I looked on in awe at the increasing size of the chips without thinking to intervene, the mill eventually plunged into the workpiece which then moved and…

Pocket NC Enclosure Reality

Over a long duration I finally constructed the Pocket NC enclosure. And now after an even longer period of time I am posting about it. Features include: (reasonably) soft close/open with gas struts high visibility with clear perspex on four sides elevated mounting of Pocket NC to allow longer stock in the ER40 collet enclosure open signal integration with Pocket NC internal iPhone mount for video…

Pocket NC Enclosure Design

Before getting serious with the Pocket NC V2-50CHK, I want to build an enclosure for it. Although there is one available to buy commercially, I wanted to build a custom one myself that has: more vertical clearance underneath the B axis so that I can use longer stock in the ER-40 collet excellent access to the machine when open excellent visibility of the machine when closed built-in LED lighting I…

First Pocket NC chips!

The first chips have been produced on my new pride and joy, the Penta Machine’s Pocket NC V2-50CHK! Here is short video showing the chips flying when following the excellent First Part Tutorial . There should have been a video here but your browser does not seem to support it. After many years being consumed by software I am now back straddling software and hardware ❤️

Nostalgia - NetToaster

I’ve held onto the hard copy of my Electrical Engineering Thesis for around 25 years. It recently suffered water damage so I decided it was time to immortalise it on the world wide web. I say ‘world wide web’ in preference to modern terminology such as ’net’, ‘web’ etc. in homage to the title of the thesis: A TOASTER WITH A WORLD WIDE WEB INTERFACE . Here…

Nostalgia - Pogo Web Browser

More than 20 years ago, in the ‘dotcom’ era, I worked for the web design agency Razorfish and managed to get involved in a more exciting gig working for a hardware spin-off developing the Pogo Mobile . I was responsible for the development of the embedded web browser that acted as the sole UI for the device. I came across this printout of a screenshot I took when the browser rendering…

Fusion 360 Baby Steps

Life is all about incremental steps forward. And… some steps backwards and sideways as well… I switched from FreeCAD to Fusion 360 as I want to end up doing some 5 Axis CNC Machining. Currently FreeCAD support for this is very… far… away… So here are the results of applying the same learning process of modelling a brick in Fusion 360: And here is the online…

Deno, WASM and Rust projects with GitHub Actions

Presenting a set of template Rust, WASM and Deno projects on GitHub which make use of GitHub Actions and Workflows for continuous integration. I’ve previously outlined my reasons for evaluating Rust and Deno. Using these technologies, I am looking to achieve: A scriptable high-level layer ( Deno REPL ) controlling a performant lower-level core (Rust). A single executable binary via Deno…

Legify 0.4.0

A new feature release version of Legify is available at: https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.4.0 This provides a new legify-technic-pin macro which renders a technic pin onto an existing Part Design workbench body. Therefore the “s” in the name of the project “freecad-legify-macros” now has real meaning! 😜

3D Printed Brick Assemblies

I ordered some 3D prints of bricks designed with the legify macro code available at: https://github.com/vectronic/freecad-legify-macros Presented below are two assemblies as rendered within FreeCAD and assembled in real life. Playing around with the physical prints it is obvious that they don’t ‘stick’ together anywhere near as well as the real thing. Taking various measurements…

Legify 0.3.0

A new feature release version of Legify is available at: https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.3.0 Beyond a number of measurement improvements, rendering of technic pins is now implemented. The latest macro code, brief overview and instructions are available at: https://github.com/vectronic/freecad-legify-macros NOTE : Be aware that due to this bug in FreeCAD…

New FreeCAD Assembly Render and Animation

I have just completed the finishing touches on Technic pin support: There were a few potholes encountered on the journey and as always, they were solved with excellent community support: Behaviour of Object.Tip with PartDesign LinearPattern Particular Assembly4 model fails to render correctly As I now have pins available in my assemblies, I was able to try out the animation support within the…

Recent FreeCAD Macro Lessons

I’ve been developing a FreeCAD macro for a while which uses the PartDesign workbench: https://github.com/vectronic/freecad-legify-macros I’m just wrapping up support for rendering technic pins (work in progress screenshot below) and this effort has led me to a few more nuggets of information relating to PartDesign and Python scripting in FreeCAD. Additive Pipe With Path and Profile…

A Successfully Rendered FreeCAD Assembly

I reached a milestone last weekend with a successful render of a brick assembly in FreeCAD. All brick models were created with the legify macro code available at: https://github.com/vectronic/freecad-legify-macros Thanks to some excellent FreeCAD developers I was able to create the assembly using Assembly4 Workbench and then render using Render Workbench . I’ve created a zip of all the model…

Building FreeCAD on macOS Big Sur

Presented here is a somewhat terse step-by-step guide to installing a working version of FreeCAD 0.19 on macOS Big Sur using Conda . Additional bonus steps explain how to use the new FreeCAD Extension Manager to install the Assembly4 Workbench and the Render Workbench (with rendering performed by Cycles ). If you use a 3DConnextion SpaceMouse I can report these steps will produce a build which…

Migrate to Deno?

The plan for Flowscripter has always included the following goals: Use TypeScript. Use dynamic import of ES modules. Rely on existing module dependency directives to auto-install plugin dependencies i.e. not inventing a new module dependency framework. Providing Flowscripter as a single downloadable binary with no need for pre-installed dependencies e.g. Node.js, ffmpeg. Support native extensions…

Legify 0.2.2

A bugix version of Legify is available at: https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.2.2 It provides improvements to measurements and rendering based on using the macro generated parts in Assembly V4 and TechDraw workbenches. Example TechDraw diagrams for individual parts and assemblies are provided below. The latest macro code, brief overview and instructions are…

FFmpeg now supports ICC Profiles in MP4

Last year I provided some FFmpeg patches to support ICC Profiles stored within MP4 (and MOV) files. The patches were recently merged into master and will therefore be available in the next FFmpeg release. \( ゚ヮ゚)/ ICC profiles can be stored in MOV/MP4 sample descriptor colour information atoms. The relevant extract from the ISO standard is: class ColourInformationBox extends Box('colr'){ unsigned…

Legify 0.2.0

The latest and most likely last version of Legify is available at: https://github.com/vectronic/freecad-legify-macros/releases/tag/v0.2.0 I’ve achieved my goals with this project, which were to: Get to grips with FreeCAD and parametric modelling concepts: sketches, constraints, datum planes etc. Learn Python and use it for FreeCAD scripting I’m now moving on to learn about assemblies…

Measurement of Lego Brick Dimensions

As part of my efforts to accurately model Lego bricks , I need to visualise the finer features of Lego pieces and measure various dimensions accurately. I’ve been making measurements using the following microscopy setup: Measurements were made using a calibrated scale of 0.1mm: Here is a good example of the usefulness of this approach over measurement by hand with a micrometer: So far, two…

Timecodes in Excel without Macros

Googling for “excel timecode” didn’t produce any results which met my requirements: support 29.97 drop-frame SMPTE timecode calculate a duration given an in-point and out-point provide conversion to and from timecode, frame count and microseconds not based on Excel macros so that the solution can be easily redistributed Because of this, I am pleased to present a solution which…

Building FreeCAD Assembly3 on macOS using Conda

I have moved on from learning basic part design and scripting in FreeCAD and now want to tackle assemblies. Following on from my previous post, Building FreeCAD with 3DConnexion Support on macOS using Conda , this post presents similar instructions for building the very promising Assembly3 Workbench for FreeCAD . Again, I wanted to use the latest source AND use a 3DConnexion SpaceMouse on a…

First Microscopic Soldering Project

My first serious microscopic soldering project took place over the weekend! An Intel NUC had been prised open during a baggage inspection. Thanks TSA! As a result the fan connector had been torn from the PCB. I’m not saying it was a nicely executed repair, but the NUC does now work… Identified areas for improvement: an improved solder flux situation: my 0.2mm solder didn’t want…

Building FreeCAD with 3DConnexion Support on macOS using Conda

Presented here is a somewhat terse step-by-step guide to building FreeCAD from source using Conda and the Conda Forge feedstock for FreeCAD . I need to do this to ensure I can run the latest FreeCAD code AND use a 3DConnexion SpaceMouse on a MacBook Pro. The steps below were compiled through trial and error, much hair-pulling and extraction of useful information from here , here and here . Install…

Home Lab Fit-Out

I finished the DIY fit-out of my lab/office/study late last year. A lot of planning and design was done before I started cutting into flat-pack furniture with the circular saw. I’m very pleased with the result. This is a good thing as I’ll be spending a significant portion of my life for the coming years here. The end result is pictured below and further work in progress shots are…

Legify 0.1.0

I’ve been developing a FreeCAD macro for a while with the following aims: Get to grips with FreeCAD and parametric modelling concepts: sketches, constraints, datum planes etc. Learn Python and use it for FreeCAD scripting To really push the boundaries, I challenged myself to use Python scripting in conjunction with the PartDesign workbench: I wanted to end up with a parametric model fully…

FreeCAD Part Design Indices

There are several limitations when referencing items in FreeCAD via Python script. This includes needing to reference Part items such as edges and faces by name, whilst the names are liable (and likely) to change each time the model is modified. There are also a number of exposed native methods in the Python scripting layer which expect (rarely documented) integer based constants. In this post I…

PyCharm for FreeCAD Macro Development

Beyond simple scripts, FreeCAD macro development really benefits from using a Python IDE. My Python IDE of choice is PyCharm. I have been able to setup the same Python environment with FreeCAD and PyCharm using this great project https://github.com/FreeCAD/FreeCAD_Conda . This allows the same Python syntax and semantics to be applied (especially important when switching from Python 2 to Python 3).…

Reloading FreeCAD Macro Code

I’ve been developing a fairly complex macro for FreeCAD and wanted to re-run it after making code changes without having to restart FreeCAD. I found this forum posting which gave me the answer. This post was discussing reloading code for workbenches and GUI Commands (which has some caveats ) and it also works perfectly for macros. I have a multi-file macro setup as discussed in this post .…

Moderated Comments System on a Static HTML Website

This website is built using Hugo and deployed on Netlify . I’ve been very happy with both of these technologies since deciding to use them. I did find the Hugo documentation somewhat impenetrable: all the information and detail is there, but it’s a steep ol’ curve for a newcomer. I’ve surmounted that curve and this site now features statically hosted blog comments -…

Automatic Google Analytics Outbound Link Tracking

Google Analytics tracking of internal links within your own website is super-simple. Tracking outbound links is slightly more involved. Google tells you how , but this requires remembering to modify each outbound link&rsquo;s onclick event handler. The Google answer involves installing an onclick event handler similar to the following for each outbound link: < a href = "http://www.example.com"…

Multi-File Macro in FreeCAD

I&rsquo;ve been developing a fairly complex macro for FreeCAD and wanted to split the code out into a module with separate files. I couldn&rsquo;t find instructions how to do this anywhere, but thankfully someone on the very helpful forum FreeCAD Forum gave me this answer . So now I have the following in my macro folder: Legify a sub-folder containing the Python module source files…

Unicode in FreeCAD

I&rsquo;ve been writing a Python macro for FreeCAD as a learning exercise on both subjects. I thought it would be nice to display the Circled Information Source unicode character as a tooltip icon in a GUI form. It looks like this: 🛈 (if your current viewing font supports it). After attempting this for a couple of hours, I wanted to stop learning Python and head back to Java&hellip; Here are the…

Sample Content

Here is an image: This is a caption I ❤️ emoji! Heading Level 1 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus non neque odio. Curabitur quis est ullamcorper, eleifend nisi a, rutrum eros. Donec laoreet quam massa, quis pellentesque odio ultrices nec. Nulla non mauris magna. Nullam ut enim ultrices, suscipit nunc in, suscipit tortor. Etiam lectus tortor, ultrices quis ligula…