Wednesday, September 20, 2017

Fixed: "The application has failed to start because its side-by-side configuration is incorrect."

It's been a fun week of AppCompat work for me so far.  I took an ancient proprietary "Runs only on XP" application and cajoled it up into running on Windows 7.  That was fun!

Here is one cool thing I ran into along the way.  One of the application's executables would start and immediately die with this error:

"The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail."

In the event log we faced a mostly gibberish error that indicated it couldn't find x86_microsoft.vc90.crt AKA the 32-bit Visual C++ 9.0 runtime AKA Visual C++ 2008. 

The solution was to download and install the Visual C++ 2008 SP1 runtime from Microsoft.

https://www.microsoft.com/en-us/download/details.aspx?id=5582

If that link happens to rot away, the search keywords to find that package are "Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) Download"

Viola! The application worked!

Monday, August 21, 2017

Eclipses and Volcanoes

Today, like many other Americans, I saw an eclipse. This is my second; the first was when I was in elementary school in Madison Tennessee. I understand the physics behind today’s eclipse much more than I did as a child, but I still have the same wonder that I had then.

I think I’d like to see a volcano.

Thursday, August 10, 2017

Fixed: Fusion 360 streamer.log is huge and taking up all of my disk space

I had a low disk space problem on my PC, which is odd because I just archived off a probably unhealthy amount of industrial robot pictures.

Digging around, I found that the Fusion 360 Streamer.Log was 31GB, yeouch!


According to the fine folks at AutoDesk this is a known issue and they will have a fix for it soon.  In the interim, you can fix it to get the disk space back.

To fix it:
  • Use Task Manager to kill streamer.exe
  • Delete
    • C:\Users\<your username here>\AppData\Local\Autodesk\autodesk.webdeploy.streamer.log
Fusion 360 still works and I can bring back some of my robots.  Life is good.

Source:

https://forums.autodesk.com/t5/fusion-360-support/can-i-delete-or-truncate-autodesk-webdeploy-streamer-log/m-p/7290934/highlight/false#M7458

Sunday, June 11, 2017

Printing in ABS on the Monoprice MP Select Mini

Today I did my first successful ABS prints on the MP Select Mini.






The successful print was with SoliDoodle ABS Filament printed at 240C and the Bed at 70C.  This was printed on the glass bed I wrote about previously with Elmers Washable Disappearing Purple Glue Stick applied to promote adhesion and I used a raft.  I blocked the fan duct with masking tape to prevent warping.  I also found I needed the fan set at 90% for the entire print to move some of the heat away from the heat block so the radiant heat from the block doesn't distort my overhangs.

Removing the print from the bed was easy.  I slid a paring knife under the still-warm raft and it popped right off.

This part is a replacement door slider for my Brother's Arrow Brand metal shed.  At 1.75mm layers, 4 Perimeters, 50% infill the part is much sturdier than the heavily weathered part it is replacing.  These parts are commercially available at $12 for a set of four.  I modeled the part in Fusion 360 and the STL is available on Thingiverse at https://www.thingiverse.com/thing:2377373



I had several issues getting the ABS to stick, and I won't consider the problem fully resolved until I can print without the raft.  I tried a number of combinations that did not work for me.


  • 3M Scotch Contractor Grade Masking Tape #2020CG 240C Ext, 50C Bed
  • Masking Tape, 240C/60C
  • Masking Tape, 240C/70C*
  • Masking Tape and Elmer's Washable disappearing Purple Glue Stick (Amazon Link) 240C/50C
  • Masking Tape and Glue Stick 240C/60C
  • Masking Tape and Glue Stick 240C/70C*
  • Masking Tape and Glue Stick 240C/80C**
  • Bare Glass 240/70C*

* The Control panel only lets you set the temperature to 60C, but you can set it higher than this via G-Code.

** The printer took forever to reach the 80C bed temperature.  I helped it along by putting a piece of cloth (the square pad you use to fetch hot things from the oven) on the bed while it was preheating, then pulling it off as it started to print.  If future testing shows that higher temperatures help with this I'll have to insulate the bed.


Wednesday, June 7, 2017

Glass Bed upgrade for The Monoprice Select IIIP Mini 3d printer

Today I installed a glass bed on my Monoprice Select Mini 3d printer.  I did it a bit differently from most of the conversions I've seen online.

I purchased 3/32" inch (2.38mm) glass from Home Depot, and cut it to size with a carbide glass cutter. Next I used a knife sharpening stone and some vegetable oil to grind down the cut and factory edges so they'd be safe to handle.  I rounded off the corners a bit too.  With that done, I peeled up the bed tape from my aluminum bed, scraped off the high points of the bed's dings and scratches with a razor, and set the bed in place.  I held the glass in place with 4 Wal-Mart 1/2 inch Mini Binder clips.

This is, so far, fairly standard stuff.  If you were following most online tutorials the next step would be to install a clip around the X axis gantry to raise the Z axis home position by the height of the glass.  I did something different.  I raised the hot end instead.  The hot end is held in place by a 1.5mm grub screw.  I removed the fan, loosened the grub screw, took out the print head, removed the PTFE spacer block, reinstalled the print head, raised it well above its old height, and re-tightened the screw.  Then I carefully homed the printer, loosened the screw, lowered the printhead into the correct position, and retightened it.  Viola, Glass print bed and no spacer required.

There is a downside to this approach.  That PTFE tube spacer helps filament feed smoothly back into the print head if you retract it too far.  I'll be replacing this very soon as part of my NinjaFlex fully-constrained-filament-path upgrade.

It's worth noting that I didn't intentionally choose to do my glass bed conversion this way.  I printed a glass bed spacer from Thingiverse (https://www.thingiverse.com/thing:1621650 ) and disassembled the printer to install it.  Unfortunately I found that it didn't snap on to my x gantry properly, and was "sprung" into position such that it would never be accurate on my printer.  That's probably a printer calibration problem on my side, and not a problem with the model.  This way appears to be working, so I'm happy with it.



Bonus content:

Tiny gnomes stole one of my fan clips while I had this apart.  I foiled their evil plot though; I fabricated a serviceable replacement from a paper-clip. 




Saturday, June 3, 2017

Casting things from Silicone Caulk in 3d printed molds

Yesterday I tried an experiment.  I wanted to know if you could cast Silicone Caulk in 3d printed molds.

The answer?  Yes!  I used PLA for the mold, Petroleum Jelly as a mold release, and some Acrylic paint to color the part and provide the moisture required to set the silione.

Unfortunately I underfilled the mold so my part was unusable.   It is still a resounding success though.

On to the pics!














Wednesday, May 31, 2017

Start Printing Faster with the MonoPrice Select Mini 3D printer

I have a MonoPrice Select Mini 3d printer, and I love it.  This is an amazing sub $200 3d printer.

Today I figured out a cool performance tweak that saves almost two minutes off of my print jobs.

When you start printing, by default, the printer homes the print head, heats up the print bed, and then heats the extruder.  Each of these steps occurs sequentially.  This process takes 3:30 minutes on my printer.  When you are waiting for a part, this initial wait for a print job "feels" like it takes forever.

So I fixed it.  In my slicer (Slic3r*), I set the default Starting G-Code to this:  (Click to Zoom.)


These commands tell the printer to heating both the bed and the extruder simultaneously as the printer is homing, and it cuts almost two minutes off of my print times.

The key to this is the M140 and M104 commands, highlighted in Red.  These click the heaters on, but continues on to the next command without waiting.  Then the printer can run the homing routine before it hits the heat-up-and-wait M109 and M190 commands highlighted in green.

This is an incredibly easy slicer change, and it pays for itself in the time it saves you.

* This trick will work in other slicers too (i.e. Cura).

Edit: I got some feedback from the Reddit 3d printing community, and want to add some of their thoughts here.

AddictedToComedy pointed out that some extruders heat much more quickly than print beds, and keeping the extruder at an elevated temperature for a long time could cook ABS or Nylon filaments and jam the extruder.  This is an excellent point that I hadn't considered.  3dPrintedLife suggested an alternative approach would be to preheat the extruder to a lower temperature e.g. 150C, then bring it to printing temperatures after the bed is ready.  The g-code to accomplish that in Slic3r is

M140 S[first_layer_bed_temperature] ;Start the bed heating
M104 S150 T0 ;and preheat the extruder to 150C
; insert your code for homing, etc here
M190 S[first_layer_bed_temperature] ;Wait for the bed heat up
M109 S[first_layer_temperature] T0 ;Bring the extruder to full temp.


On my printer the bed heats much more rapidly than the extruder, so this isn't an issue for me.  If your bed takes a long time to heat, you might also consider insulating it.  I understand that helps a great deal.

Several users pointed out that running both heaters simultaneously creates a higher sustained load on the power supply compared to running the heaters one-at-a-time.  I guess this could be a concern if you have a sketchy not-quite-big-enough power supply.  I quietly think that a printer should be able to run the steppers, fans, extruders, and heaters simultaneously.  If it can't, it's defective.  That's said, I get that people make do with what they have.

... and here is how you set it up in CuraEngine