Archive for the ‘Windows’ Category

Convert 3ds files to obj with Blender

Tuesday, January 24th, 2012

Blender

3DS is an aging binary interchange format for 3D models. OBJ is another aging, but ASCII-based format for 3D models.

Here is a simple Python script that converts one or more files from 3DS format to OBJ format using Blender:

# Convert 3ds to obj using Blender
#
# Run as follows:
#   blender -b dummy.blend -P bl_3ds2obj.py — file.3ds …
#
# dummy.blend is just an empty Blender file needed as an argument.
# Put one or more .3ds files on the end of the command.
# The .obj files will be created with the same name (and path) as
# the .3ds file, but with the .obj extension.
# The export creates a .mtl file for each .obj file also.

import bpy
import sys
import os.path

for i in range(1, len(sys.argv)):
    if sys.argv[i] == "–":
        break

for file in sys.argv[i+1:]:
    # Start with an empty scene
    bpy.ops.object.select_all(action="SELECT")
    bpy.ops.object.delete()

    # Read a .3ds file
    bpy.ops.import_scene.autodesk_3ds(filepath=file)

    # Write a .obj file
    outfile = os.path.splitext(file)[0]+".obj"
    bpy.ops.export_scene.obj(filepath=outfile)

 

Save the script code in a file named blender_3ds2obj.py.  You will also need a Blender file to use as a placeholder in the command line.  You can save an empty file from Blender, or use an existing one.  Assume it is called dummy.blend.

To convert 3DS files, use the following command:

blender -b dummy.blend -P bl_3ds2obj.py — file1.3ds file2.3ds file3.3ds

Tack on as many 3DS files to the end of the command as you want.

Note:  This assumes that dummy.blend and bl_3ds2obj.py are in the same folder as your 3DS files.  If not, you will need to specify the proper path to each.

Win 7 Explorer Folder Display Bug

Thursday, June 9th, 2011

I am eagerly awaiting a fix for the Windows 7 bug that causes the Windows Explorer tree view to jump after you expand a node in the tree. Very irritating. The bug has been there since the first release of Win 7.

I had hoped the fix would be in SP1, but no. Let’s annoy Microsoft right back by voting to get this bug fixed.

Open Command Prompt Here

Tuesday, May 10th, 2011

I still prefer the command line for many tasks. Sometimes it’s just faster. It can be a deterrent if you want to run some commands in a deeply nested folder, however. So I like the “Open Command Prompt Here” feature, which can be made available in Windows Explorer’s folder context menus.

In Windows 7 it is there, but hidden. Hold the Shift key and right mouse on a folder to see the context menu entry. In Windows Vista it is half there. Holding Shift while displaying the context menu only shows the hidden entry in the righthand pane of the Explorer Window. Prior to Vista, you need to use PowerToys or edit the registry to add the context menu item.

There is more information here.

What’s SVCHOST doing?

Saturday, November 27th, 2010

In a Windows CMD window you can type the following command:

TASKLIST /SVC /FI "IMAGENAME EQ SVCHOST.EXE"

to see what is being run by the various svchost.exe processes.

I was trying to track down what was using half my CPU when the machine should be idle. I was very thankful to find this blog entry. Turns out the culprit is the Pml Driver HPZ12 for my networked HP printer, which seems to put my machine into this state, maybe after someone has scanned documents and saved them onto a PC on the network.

Unexpected Relationship

Monday, November 1st, 2010

Recently I needed a Python fix, Monty Python that is. I tried to watch the Spanish Inquisition on Netflix. Firefox (3.6) kept saying the Silverlight plug-in has crashed. Reinstalling Silverlight did not help. Luckily, someone else had already solved this one.  Silverlight would not run because the Windows Tablet PC Input Service was disabled.  I figured I did not have a tablet PC and was not using pen input.  Silly me.

I re-enabled the service and started it.  Silverlight ran fine after that.

Okay…

Friday, September 10th, 2010

I just learned this one: to get the text of cross references in your MS Word document to update (say you inserted another table and it changed the numbering of your Table captions), do a Print Preview… then close the preview window. Sigh. And that after a lot of time spent looking for an Update Cross References button. Also, searching in the Word help for “update cross references” turned up nothing.

This trick was part of number 6 of Ten things every Microsoft Word user should know.  Users shouldn’t have to know this.

Follow-up:  Others report that you can Ctrl-A to select the whole document, then press F9 to update the references.

Allow program to run with Admin privileges at startup

Wednesday, July 7th, 2010

I have occasionally found it necessary to have a program start when I log in to my Windows desktop, but with Admin privileges.   A little Google searching turned up this procedure for Windows Vista.  I assume it works the same or very similarly for Windows 7.  Because it is a bit mystical, I have been living in fear that the website with the instructions will disappear and I will never again be able to successfully set up a task in the task scheduler to run with Admin privileges, so I have copied the instructions here, with all credit due to the original author at Thomas’ Developer Blog.

To begin you have to start by removing that program from start up.

1) Run > msconfig
2) Click the Startup Tab
3) Scroll down until you find that pesky program giving you issues
4) Note the location and see if it is HKLM or HKCU

Open up regedit
1) Run > regedit
2) If it is HKLM go to HKey_Local_Machine otherwise it should be HKey_Current_User
3) Go to HKLM/HKCU > Software > Windows > Current Version > Run
4) Find that pesky program, right click, and delete that string value (the ab icon thing)

After that you need to go to task scheduler
1) go to: Start > Program Files > Accessories > System Tools > Task Scheduler
2) Under actions context at the top click “create task…”

Under create task
1) Give it a name (I choose the name of the program
2) Make sure you select run only when user is logged on
3) Check “Run with highest privileges
4) Go to the triggers tab
5) Click New
6) From the drop down select at log on
7) Make sure everything is unchecked EXCEPT “enabled” and click OK
8 ) Click Actions tab
9) Click New
10) Select Start a Program from the dropdownlist
11) Browse for the program you want to start
12) Click OK
13) Click Settings Tab
14) Check Allow task to be run on demand
15) Check Run task asap after a scheduled start is missed
16) Uncheck “Stop the task if it runs longer than:”
17) Uncheck “If the task is not scheduled to run again…”  (note that you can check this if you want, but only if you don’t plan to run the program again after a set time)
18 ) Make sure “Do not start a new instance” is selected from the drop down list at the bottom
19) Click OK
20) Restart and it should be working just fine

Ubuntu Lucid Lynx upgrade breaks Grub boot loader

Thursday, May 27th, 2010

Today I upgraded my laptop, which dual boots Ubuntu and Windows 7, to Lucid Lynx (Ubuntu 10.4).  Towards the end of the upgrade it said it was upgrading Grub (the multi-OS boot loader) to Grub2.  It then asked me some questions about which partitions to modify.

Apparently I answered wrong, because when the upgrade finished and I rebooted, I got an error message from Grub: “Error 4: Symbol ‘grub_puts_’ not found“.  I ended up at a prompt that said “grub-rescue>” where very few commands worked.  Even “help” was not recognized.

Thankfully, others had blazed the trail.  A little web searching turned up a procedure for repairing the Grub install.  (Note:   the first command should be “sudo fdisk -l” with a space dash lower-case L).  I just booted from the Ubuntu LiveCD and followed the procedure.  That resurrected Grub and allowed me to boot successfully into Linux.

Well, as you might have guessed, my Windows 7 boot had also been clobbered.  To fix that, I had to boot from the Windows 7 CD and follow these instructions.

Finally, here are a couple of other informational references for Grub 2:

Many thanks to those who went before, battled the dragons, lived to tell the tale, and took the time to tell it.

How to squelch the Cygwin DOS path warning

Wednesday, March 17th, 2010

CygwinIn Cygwin version 1.7 they added a “feature” that would warn you about using DOS-style paths on the command line.

my-cygwin-pc> cd c:/<TAB>cygwin warning:
 MS-DOS style path detected: c:/
 Preferred POSIX equivalent is: /cygdrive/c
 CYGWIN environment variable option "nodosfilewarning" turns off this warning.
 Consult the user's guide for more details about POSIX paths:
 http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

At least this only happens the first time during the session, but I still wanted it gone.

So I tried to turn it off, but the instructions were a little ambiguous to me.  I tried setting a nodosfilewarning environment variable in my .cshrc.  I actually tried it several different ways:

setenv NODOSFILEWARNING 1
setenv nodosfilewarning 1
set nodosfilewarning=1

Turns out none of these are right.  You need to set a Windows environment variable named CYGWIN:

 

Mystery solved.