Skip to content

Instantly share code, notes, and snippets.

View jimfoltz's full-sized avatar

Jim Foltz jimfoltz

View GitHub Profile
#SingleInstance Force
;DetectHiddenWindows, On
ToolbarRow1 =
(
Fuzzy Finder
Shape Bender
Keyframe
Solid
Extension
@jimfoltz
jimfoltz / su.ahk
Created October 6, 2018 23:05
Launch SketchUp from Command Line & Auto-click Splash Screen
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
;SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Versions := {}
Versions[17] := "C:\Program Files\SketchUp\SketchUp 2017\Sketchup.exe"
Versions[16] := "C:\Program Files\SketchUp\SketchUp 2016\Sketchup.exe"
@jimfoltz
jimfoltz / tw5-server.rb
Last active February 26, 2024 02:18
A local server for TiddlyWiki5 that allows saving wiki.
require 'webrick'
require 'fileutils'
if ARGV.length != 0
root = ARGV.first.gsub('\\', '/')
else
root = '.'
end
BACKUP_DIR = 'bak'
@jimfoltz
jimfoltz / a2s.cpp
Last active July 4, 2022 07:51
convert mesh files to .skp using assimp library
#include <SketchUpAPI/SketchUp.h>
#include <iostream>
#include <assimp/Importer.hpp>
#include <assimp/scene.h>
#include <assimp/postprocess.h>
#include <assimp/DefaultLogger.hpp>
#include "output_sketchup_error.h"
@jimfoltz
jimfoltz / sketchup-ruby-api-sidebar.html
Created April 3, 2016 13:17
SketchUp Ruby API Sidebar for Firefox
<!DOCTYPE html>
<html>
<head>
<title> SketchUp Ruby API</title>
<style>
body {
font-family: monospace;
font-size: 12px;
}
@jimfoltz
jimfoltz / infix2postfix.rb
Last active January 3, 2016 13:59
infix to postfix
require "awesome_print"
exp = "1 + 2 * 3"
exp = "9 + 24 / (7 - 3)"
exp = "3 * atan(2/3)"
exp = "(12.3mm - 1')*52 - 473 mm/(4 + 2^3)"
def prec(op)
case op
@jimfoltz
jimfoltz / parentize-dc.rb
Created November 1, 2015 12:04
parentize-dc.rb
# Replaces references to a parent Coponent in a DC
# with the "Parent!" reference.
module JF
module Parentize
private
DICT = "dynamic_attributes".freeze
UI.menu("Extensions").add_item("Print Model Size") {
JF::ModelSize.main
}
module JF
module ModelSize
def self.main
bb = Sketchup.active_model.bounds
# 8.times {|c|
@jimfoltz
jimfoltz / make-dc-door.rb
Last active October 30, 2015 17:43
make-dc-door.rb
# make dc door
# Right-click a Instance, select Make DC Door
UI.add_context_menu_handler do |menu|
if ((sel = Sketchup.active_model.selection).length == 1)
if sel[0].class == Sketchup::ComponentInstance
menu.add_item("Make DC Door") do
ret = UI.inputbox( ["From", "To"], [0, 90], "Degrees")
if ret
entity = sel[0]
@jimfoltz
jimfoltz / limit-scale.rb
Last active October 30, 2015 17:42
limit-scale.rb
# Limit the scale handles for Groups and Instances
UI.add_context_menu_handler do |menu|
model = Sketchup.active_model
selection = model.selection
if selection.nitems == 1 and selection[0].is_a? Sketchup::Group or selection[0].is_a?(Sketchup::ComponentInstance)
menu.add_item("Limit Scale") do
JF::LimitScale.do(selection[0])
end
end