Python: How to Export All the UV Layouts in Blender

Hate it when that happens.

This week is not a Python breakdown week. It’s just the code because my brain is still recovering from Scheme tutorials. And I really wanted to make a functional (or semi-functional) batch UV layout exporter. The script below does a blanket Smart UV Project for all selected objects and stashes the resultant UV layouts into a specified folder.

Continue reading “Python: How to Export All the UV Layouts in Blender”

Scheme: How to Loop GIMP Functions

happynewyear

For my first script of the new year, I started learning an entirely new language for an entirely different program that has resulted in my enduring a genuinely disturbing number of migraines over the last few days.

Tangential Warning: I don’t recommend scheme for beginners. I wouldn’t recommend it for any living creature because scheme is a monumental asshat of a language. It demands that you restructure the way you write math. Who the HELL decided THAT was a good idea? Oh, everyone in the world is accustomed to writing 2+2? Fuck those bastards, we’re going to force them to do +2 2 because programming is SUPPOSED to be confusing. And just to make it extra fun, EVERYTHING needs to go in parentheses. That way, even if the morons manage to get the expressions figured out, they’ll still have to spend HOURS guessing where the missing ) needs to go.

Continue reading “Scheme: How to Loop GIMP Functions”

AHK: Visualizing ELSE/IF with Arrays

So Hopper’s Amazing Decipherer Script 1.0 was about 472 lines because it included ELSE IF clauses for every letter in the alphabet.

HADS 2.0 cuts it down to 77 lines because arrays, as it turns out, are incredibly useful when paired with loops.

Making a Rotated Alphabet

Deciphering a Caesar cipher requires that the alphabet be moved up by a certain number. Like so.

ROTchart

Notice that this is basically a 2-step process. Turn the letters of the alphabet into numbers 1-26. Then add the rotational value to each of them to find their new positions, in the code below that’s assigned to a variable called indexVar. In ROT1, A =1 and the rotational value is 1, so A = 1+1 = 2.

But what happens when you hit Z? Z=26 and the rotation is 1, so Z =  26+1 = 27.

So, you want to tell the computer IF the number goes above 27, then you want to reset it to 1 and continue.

A Slow Motion Loop

Continue reading “AHK: Visualizing ELSE/IF with Arrays”

AHK: How to Lose Friends & Alienate People with Code

Automating keystrokes is a fun way to spend an afternoon. It’s also an entertaining to wrap your head around the idea of loops and variables. If you’re wanting extra practice, give these a try.

Note: You’ll need AutoHotkey installed for this. If you don’t know what that is, click here.

Important Commands to Note:

run, Name of Program.exe
SendInput Keystrokes to Send
Sleep, Delay in Milliseconds

Loop, # of times to run loop
{
Commands to run
}

All Work and No Play

Take a look at this code.

run, notepad.exe
Loop, 100
{
SendInput All Work And No Play Makes Jack A Dull Boy.
}
return

Keep in mind that everything inside the loop will happen 100 times, so with just 6 lines of code, you can make the computer type this sentence over and over again. In action, it kind of makes your computer seem possessed.

Dull Boy

Continue reading “AHK: How to Lose Friends & Alienate People with Code”

AHK Update: Targeted File Deleter Program

Welcome to the combo post of How to Delete Every Other File in a Folder and How to Make a GUI. For lack of a better name, I’m calling it a targeted file deleter program. It can automate the process of deleting every other file if the file name ends in sequential numbers.

For those who couldn’t care less about how it functions, just follow these two steps.

STEP 1: Fire up a new AutoHotkey* file.
*Download it here if you haven’t already.

STEP 2: Paste this text inside. And run the file.

Gui, -Caption
Gui, Color, Black
Gui, Font, cWhite s12
Gui, Add, Text, , The Targeted File Deleter
Gui, Add, Text, , Note: File names must be sequential (for ex. IMG_1.jpg) and cannot have leading zeros (IMG_001.jpg).
Gui, Add, Text, , What is the folder you want to delete files from? (Ex. C:\Users\Desktop\)
Gui, Add, Edit, vFilePath w500 cblack
Gui, Add, Text, , How does the file name start? (Do not include numbers)
Gui, Add, Edit, vFileNameStart w500 cblack
Gui, Add, Text, , What number does the file name start at?
Gui, Add, Edit, vFileNumberStart w500 cblack
Gui, Add, Text, , By what increment do you want to delete files?
Gui, Add, Edit, vIncrement w500 cblack
Gui, Add, Text, , What is the file extension? (Ex. .jpg, .pdf, .doc)
Gui, Add, Edit, vExtension w500 cblack
Gui, Add, Text, , How many files have you got total?
Gui, Add, Edit, vLoopCount w500 cblack
Gui, Add, Button, x570 y370, OK
Gui, Add, Button, x570 y410, Cancel
Gui, Show, , The Mass File Deleter
return

ButtonOK:
Gui, Submit
Loop
{
if A_Index < %LoopCount%
FileDelete, %FilePath%%FileNameStart%%FileNumberStart%%Extension%
FileNumberStart+=%Increment%
}
return

ButtonCancel:
ExitApp

Continue reading “AHK Update: Targeted File Deleter Program”