Merging TFS Branches with an EF Object Present

Visual Studio 2012 added integrated support for EDMX files. Being able to open and update the model from within the IDE allows for quick updates to the schema without using an external program or command line argument.

Adding EDMX files to source control is one of the largest pains a developer will ever face while merging a branch. When the design tool updates the schema in a EDMX file, it does so by completely wiping away the previous files (an EDMX is comprised of a *.cs file for each table in the database) and then recreating them with the updated schema. This present a large problem to TFS when you try and merge two branches that contain the same EDMX. TFS sees two separate files in both of the branches since it was deleted and then recreated. This blocks the ability to merge the changes because the manager will not allow merging changes between what it sees as “different” files.

After searching I came across this Stack Overflow thread with other developers in similar predicaments.

The simple solution I’ve found is to have only one developer update EDMX files when needed, and when merging to ignore the entire file from the merge. After the merge is complete go back into the solution and update the model from whichever database it needs to be pointed at.

The client I am currently working with requires the Cisco AnyConnect VPN solution to connect to their internal network for development. Their IIS and db servers require this due to being behind their firewall. Once connected with the Cisco client VS loses its ability to talk to the TFS. The solution must be taken offline by closing and opening the solution (or by using the “TFS Go-Offline” plugin). If you’re updating the EDMX offline I’ve found the most successful way is to select all the items in the designer, delete them, then save the EDMX, then update model from DB. Attempting to update the model without deleting them fails because the IDE needs to ask you if you’d like to overwrite the write-protected file (because you’re away from TFS the files can’t be checked out on the fly). If you update without deleting the update will fail silently, leaving you puzzled as to why you’re Intellisense is failing to pick up your new objects.

The New Kossel “Not-So-Mini” 3D Printer Build

After ~14 days worth of printing with my Rostock Max v2, I’ve come across issues with being able to print the entire length of the heated bed. Delta printers use triangles and math to figure out how to move the three carriages in a coordinated way to move the effector platform around the bed. If the triangles get messed up, the math doesn’t work correctly.

This issue is well documented in a SeeMeCNC thread where multiple users are having the same issue.
tl;dr Moving the effector platform outside of the triangle formed by the three towers results in a loss of precision while trying to print in this area. The issue has been known for some time (the original thread was posted in April 2014) but no silver bullets have been discovered. Lots of different areas of the printer can affect it’s printing precision. Incorrectly placed towers, uneven arm length, etc can add up and cause inaccuracies in the finished print.

The issue of precision outside of the triangle is visualized below from an image in that thread:
delta error

The main reason I purchased a Rostock Max v2 to begin with was to have a 280mm circular build platform the Onyx Heated Bed offers. With part of the heated bed outside of the triangle, printing to this area has been near impossible. Through countless hours of calibration the nozzle raises ~1mm above the bed in some places while driving into the bed in others. There are multiple attempts to get the printer working reliably to the outside perimeter of the bed, but none have been too successful. For me, the easiest way to resolve this issue seems to be increasing the size of the triangle by increasing the distance between the towers. This can’t be done with a static melamine board that the Rostock Max uses as its frame though. I decided to look for alternative delta printer plans that could give me this flexibility.

I found the Kossel Mini promising. While the original plans are for a much smaller printer (and only 15mm extruded aluminum parts), scaling it up to encompass the entire printed bed the Onyx has to offer would be simple. I found a set of STLs on Thingiverse that was already altered to work with larger extrusion.

I’ve decided to use 25mm aluminum to be able to re-use the towers from the Rostock Max v2. I have managed to get my hands on 24 feet of 25mm for free from a family member 🙂

Using some calculations it looks like I will also be able to re-use the effector arms as well. The optimal length of the arms should only be ~20mm larger than they currently are.

Here’s what I’ve got so far, the printed parts for the base and the top, and the extrusion cut to size. The extrusions will be 23.5″ each. I originally planned for 24″, but my hack saw skills left the ends not square. After switching to a miter saw and squaring up the ends I was left with 23.5″.

Here is one of the base parts being printed:
IMG_20150118_124211[1]

And the base laid out ready for nuts and bolts.
IMG_20150118_154934[1]

The extrusion I am using has slightly larger spacing on each side. I need to find a nut/bolt solution to this or resort to ordering some from Misumi.