Indeed. He was a true gentleman. We met many times on zoom or facetime to work together on SketchUp stuff, and stayed at my place in Maine on one of his trips to the US.
I believe this is the notice?
That is him.
Steven,
I’m very sorry to hear about your friend. I worked with your code quite a bit. I’ve updated my copy. Though we did not meet, I hope he would be pleased:
idk_shapes.rb
# idk_shapes.rb
# -----------------------------------------------------------------------------
# IDK SHAPES — Enhanced Shapes Tool for SketchUp
# -----------------------------------------------------------------------------
# Adapted from the official SketchUp Shapes extension by Trimble Navigation Ltd.
#
# Original Copyright (c) 2014 Trimble Navigation Limited
# Original Authors: John W. McClenahan, Jim Foltz
#
# Licensed under the MIT License
# https://github.com/SketchUp/shapes
#
# Modifications © 2025 IDKProgramming
# Enhanced UI, parametric framework updates, and HTML dialog integration.
# -----------------------------------------------------------------------------
# Debt of gratitude: John W. McClenahan (1941-2025) (https://www.dignityfunerals.co.uk/funeral-notices/24-12-2025-john-watters-mcclenahan/?utm_source=copilot.com)
# For sharing his work on the original Shapes extension. May his legacy continue to help lift developers and users alike in the world of 3D modeling.
# -----------------------------------------------------------------------------
require "sketchup.rb"
require "extensions.rb"
module IDKProgramming
module Shapes
VERSION = "4.8".freeze
EXTENSION_NAME = "IDK - 3D Shapes".freeze
LOADER_PATH = "idk_shapes/shapes_loader".freeze
CREATOR = "Trimble Navigation Ltd. (original), John W McClenahan, Jim Foltz, IDKProgramming (modified), James Doyle".freeze
COPYRIGHT = "Original © 2014 Trimble Navigation Limited. Modifications © 2025 IDKProgramming.".freeze
DESCRIPTION = "Enhanced version of SketchUp's Shapes tool with modern UI and parametric features.".freeze
extension = SketchupExtension.new(EXTENSION_NAME, LOADER_PATH)
extension.version = VERSION
extension.creator = CREATOR
extension.copyright = COPYRIGHT
extension.description = DESCRIPTION
Sketchup.register_extension(extension, true)
end
end