Bend File Printer Program – Brief History
Bend File Printer was a program that I started working on a few years ago when I was using CoCreate to create semi-rigid cable designs at work. The resulting bend files were not always as accurate as they should be in terms of construction/assembly, and over a period of time I began noticing patterns in the files which would lead to common problems when it came to building the designs. The program was written to detect and alert myself or engineers of common cable errors before they hit the production floor.
Before the program was created, the most common problems were only located whern the designs had already hit the production floor for assembly. The cables had already been cut and stripped, some may have been bent already, and then it would come to light that the segment was too short to hold one of the connectors. The result would be a loss of all cables cut to the wrong size, for which the company would have to eat the bill for. BFP was originally written to look for this exact error, and as I continually added to the program over the years, it has now evolved into a very powerful tool that is used every day in production. It has also saved the company a lot of money in scrap material reduction!
The first version of the program (written back in 2006) was designed only to make sure the connectors fit onto each end of the cable after it was bent, and used a custom database of supported connectors which also came with a reccomended minimal straight length value. The program was command-line based, and I would pass the path to the file, and it would echo True or False if the design was OK. Over time I began adding other checks to the design that would often be a problem, such as illegal bend angles and so forth.
After a while, and when other people started to notice the program was saving time and money, I decided I should make it available to anyone at the comapny who needed to use it. It was also becomming apparent that the needs of the production floor was increasing in terms of paperwork and information contained on work orders, so after sitting down with some of the guys, I came up with a plan of features to add. A few weeks later, version 1.0 of the tool was finished and released. It was written using Visual Studio 2005 and MFC. Any errors or warnings would be displayed on it’s single text line display. It was crude, but served it’s purpose very well!!
In the then-new version (V1.0.0) The program not only checks the cable design for errors, but it would also create a printable report that could be attached to work orders in order to provide information regarding the cable design to all areas of manufacture, in one convinient place. It would tell the production floor how long to cut the cable, what connectors it used on either end, as well as any warnings or errors that it had found in the design. This report was far easier to manage and follow than looking through several different pages of a work order to find one piece of info. Within a very short period of time, it was being attached to every work order the company built.
The Program Today
Looking at the program today, compared to how it looked back then, is a very big difference! The most obvious changes are the completely re-designed GUI and the large number of different tools & functions available.
The third re-write of the program was completed around November 2008, and was done completely outside of my employer meaning almost no code was done while I was at work. As the revisions of the program increased, so did the need for new features, designs and portability and I was also adding new features of my own that weren’t necessarilly needed by my employer. There were so many ideas for new features running through my head, that the company wasn’t interested at the time; they just wanted it to do the basic things they needed and thats it. After about 3 months of working nights and weekends, BenderLib V3 was born!
BenderLib V3 was an idea I came up with when it became apparent to me that I would like to use Bender/BendFile data in more than one application. At the time, I had been working on code for a new CNC bender application called FlexIO (which used V2 of the BenderLib) and the code wasn’t easily shareable. I put my thinking cap on and completely redesigned all of my functions to be completely portable, so they could be dropped into any app just as easy as declaring a variable. The latest Bend File Printer program pictured above, for example, is using the library. About 2% of the code is BFP, and the other 98% is the shared library. This same library will be incorporated into my next-generation CNC bending software, though im sure I won’t get paid for any of my hours I put in at home!!
The other benefits of creating this library, as well as developing it on my own time, was that one day when I am done with this, I will license some of the code to people who want to use it in their own programs. Im not sure how far away that is for the moment, right now i’m happy to keep working on it from time to time.