Writing the Machine Interface

So we decided to tackle the interface with the planet in code. Mainly because it is easier for us to control and more flexible than the link XML interface that SoftTech is using. We have finished the code and everything looks good in the software between V6 and the Emmegi software. The only thing left is an actual test on the machine. We’ve tackled the complication of rotated parts with compound miters. This is the toughest part of the interface, but I think it is complete. We’ll know this week.

SoftTech invited me back to Florida to spend a few days working on a new specification for our curtain wall work. There are a number of areas in the software that need to be improved to make the process of using it for unitized and stick curtain wall systems easier. I’ll report back on what we find.

If you have items you think I should address, please add them as comments on this page. Steve

More on V6 and the Interface with Machines

So we had been introduced to Phil from SoftTech through Chip Steel at Emmegi. When we were in Italy, we had looked at a product called FPPro from EmmegiSoft (http://www.emmegisoft.com). The Italian’s were not feeling too keen on the idea of trying to support their software in America. Chip had done some research and had worked out a deal to partner with SoftTech to support their equipment from the software side. So after we had purchased the software and began working with it we were anxious to see how the software would integrate with the Planet Machining Center.SoftTech uses a separate piece of software called link XML that actually connects their software to different CNC machines. The concept is that you can create the same information inside V6 then export it through the Link XML program to multiple pieces of machinery. The software uses a SQL file to connect V6 to a text file format output that can then be imported the software supplied by the machine manufacturer.On the surface, this seems like a good idea. Just make a new SQL file and you can now connect all of your existing data to your new machine. The problem is, as you can imagine, you are now trying to connect a complex machine to your software through SQL. Not a very forgiving or flexible language.

We BJ Wilson and Geoff from SoftTech out for three days where we ground out the basic code. We then had BJ back out to try and work out the compound miters. Zach at our office was a huge help creating the code for the compound miters and I think we are close. The biggest issue right now is working out a way to translate the cutting angles when the part is rotated on the machine. We are launching into that next week. So if you have a vertical mullion that is sloped meeting a Horizontal mullion that is sloped, you will end up with a compound miter. The V6 software will pass the angles to the Link XML based on the positions of the mullions when they are in the opening. When you put the part on the Planet, you usually want to rotate the part so you limit the amount of work you need to do to the bottom of the part. But, since you rotated the part, you now need to re-calculate all of the angles and cutting information. Some information in the Emmegi software will automatically adjust, but not the flying blade information for some reason.

We’re still debating weather it would be simpler to just write the code to create the text files in VB. SQL is crazy when you get this complex. It’s hard to debug and pretty linear. You can write helper functions, but not really branching functions. You can write “if, then, else” type functions, but they are all in line and you end up nesting them which gets crazy to read later. I’ll let you know what we end up doing.

This is just some of the fun you run into when you try to integrate software into your process and why you need to allow a lot of time to get things set up.

Softtech V6 Implementation

What we are finding is that the biggest part of implementation is figuring out how to set everything up. When we purchased the software, we bought the 3 seat minimum and they anticipated we would need to do a 1 week scoping session and then two one week training sessions.When I met with Carl for our scoping session, I gave him a tour of our facilities and an overview of what we had set up so far. Based on what he was seeing, he felt we could probably dispense with the scoping session and start right in on explaining the software. We spent the week geeking out in my office talking about all of the possibilities of how you can set things up. Every day when I would go home I felt like my head was ready to explode. Anyone walking by my office probably thought we were from another planet.So let’s take an example so you can relate to the issue. For our systems, all of our gaskets are made in frames (molded corners). Kawneer, who is one of the main people behind the development of this software, really only use lineal gaskets, so the program doesn’t have any specific functionality for this issue.

So we began discussing how to deal with this. The first idea was to create a nested frame that could be inserted into the daylight opening that would contain the inside gasket, the outside gasket and the glass. This solution seemed to work fine. We had to create a macro that would run right after the frame was built to automatically insert the nested frames into every specific light opening.

So, we had the beginnings of a solution. Now, like everything, the devil is in the details. So, what if there is a structurally glazed mullion somewhere in the opening? What if we want the molded gasket to span across both lites in this instance? What happens at structurally glazed corners? What if the interior gasket is molded and the exterior gasket isn’t (pressure wall systems)? How do we handle the mark numbers? They should really match the glass mark numbers to make the key sheets easier to create and manage.

So we started creating macros to help with this. We added an attribute to the vertical mullion assemblies to define if they were structural or captured. We then created a substitution matrix to look up what gaskets should be used in what situation. We then wrote some code on the nested frames to read the attributes on the verticals, look in the matrix and then apply the correct gaskets.

This got us to about an 80% solution. We then started adding more code to address the other 20%. In the mean time, we started doing some testing. Our first test project had a segmented wall with about 50 segments and 3 floors tall. When we tried to create the opening, all of the macros and attributes and matrix information started to kick in. The program began to slow and pretty soon, the computer came to a crawl and the program crashed. Just too much data to crunch. Worked great on smaller storefront openings, just couldn’t scale with the size of work and openings that we do.

Softtech V6 – Part 2

Having worked with the software now for over a year, here are some of the software’s strengths and weaknesses:Strengths:The interface for creating your geometry is great. We haven’t found very many limitations. You can create individual openings or curtain walls with corners or segmented walls. You can import your own geometry also and use that as the basis of the wall system.

The people at SoftTech in Florida are great. Very knowledgeable and experienced. They are also very available when you have a question. Updates and bug fixes are provided a couple of times per month via an FTP site.

The software is very open. You can create custom macros and code for most things in the software. This is a great feature, but be careful. Once you start trying to code all of your business logic into the software, the software gets complex fast.

SQL back-end (or Oracle). This is the best part. You can write reports and queries directly against the database. We have a custom portal we put in place about 5 years ago. Tying our material data into the portal is much easier since they are both running off the same database.

Weaknesses:

It’s not easy. Even with the years of experience developing our own software, we have been a year in implementation. The documentation on what you should do and how you should set the software up is not good. In addition, the recommendations to create macros and code to solve some of the basic implementation problems are misguided at best. Because it is so open, you can do most things 6 different ways. SoftTech’s view is that every company is different so they leave it up to you how you want to set things up. From my perspective, all the companies I’ve worked for could use the same setup. Before you start your implementation, give me a call.

Missing features. The software has been developed based on the demands of the user base. It doesn’t seem to have some overarching need to do what people need, it seems to be built to do what people want. It can’t do shop drawings yet. It can’t do fabrication tickets yet. You can’t have multiple vendors for your dies (if you push your own extrusions, you need this). It appears to have started as an estimating tool and recently made the transition to operations. The good news is that we have been able to create custom applications to address these needs. I’m not sure every user wants to write thousands of lines of code to do what we are doing.

Overall, I really like this software. I think we’ve found some ways to simplify the implementation and hopefully make this a smoother process for future companies trying to use the software. I’ve had conversations with several companies that are really struggling with getting this implemented. If you are using V6 now, please drop me a line. I’d love to see how things are going for you and share some of the things we have found.

Softtech V6

So we started doing some research on software.  When we were in Italy, we looked at the software that Emmegi had created.  We also had a demo of the Logical software.  We met with the folks from Engineering Intent (now owned by Autodesk).  All of them seemed interesting, but didn’t really meet our needs for various reasons.  Finally, Chip Steel from Emmegi introduced me to SoftTech.

SoftTech is a company out of New Zealand.  They make a product called V6.  Essentially, it allows you to create 3d elevations of your windows and curtainwalls and automatically creates the Bill of Materials information.

SoftTech America is out of Florida.  There are about 6 guys working in the states.  Really great people and very qualified.  SoftTech has a development agreement with Kawneer and I think Kawneer has pumped over a million dollars into the software to get it to do what they need.

You start by creating a library of your extrusions and accessories (screws, gaskets, setting blocks, etc…).  You then use these to create what they call assemblies.  The assembly contains the parts that create each detail along with other information like how the parts intersect with other parts and any machining required.

You then create a framing system with the assemblies and finally create your elevations using the framing system.

Our Internal Process for Software

Our first attempt at simplifying our engineering efforts was to create a custom takeoff program.  We were already creating our own shop drawings, what if we could use the geometric data from Autocad to drive our material takeoffs and fabrication tickets?

We started with an article out of Cadence magazine that showed how you could attach xdata to entities inside Autocad to create BOM information.  We created an Access database that could hold the information and using the Open Design Alliance libraries, we were able to extract the xdata from the Autocad drawings and create a table of information inside Access.

The tag lines inside Autocad were system agnostic, allowing you to apply different systems to each elevation or change the system information without editing the data inside Autocad.  Routines were created to understand where and how each part would intersect other parts so shear block clips and notching could be automatically applied.  Once the data was inside Access, we could create custom reports or write code to fill out our existing material forms in Excel.  The Excel forms were then customized to be able to feed directly into our accounting system so we could eliminate almost all of the data entry duplications.

The tag lines would represent a part (lets say a horizontal).  One line would have a tag called “Horizontal” and would know what elevation it belonged to.  In the database, you could assign your horizontal body, body stop, face stop and shear block clips to that tag line.  You could then create adjustments to the line length.  maybe your face stop needs to stop 1/16″ short or the shear block clips need to be a fixed length.  This data could be arranged into systems and then applied to any elevation.  Finish colors could be assigned at the system or elevation level.  Overrides could be created inside Autocad for any individual part that needed to be adjusted.  Vertical mullions in an elevation would look for horizontal intersections and automatically assign machinings at those locations.

We have been using this system for about 6 years now and have tied the data output to our machines and can create text files to feed the Emmegi software and also some of the other machines in our shop.  We have increased accuracy and by creating a very specific method for takeoffs and fabrication tickets we have been able to hire entry level people and make them successful within 2 to 3 months.

But it still isn’t easy.  It still requires database and Autocad skills.  We have had limited success getting sales to use the program because of this.  When you get a multi-million dollar project with 6 custom systems, it still takes 3 weeks to create and check the takeoffs and another 6 weeks to create and check the fabrication tickets.  That is only one person which makes if really cost effective, but because we are using Access, we can not have more than one person working on one project and that also is a limitation that hampers our ability to get things done faster.

On the plus side, the shop gets really consistent tickets and paperwork no matter who does the work.  The purchasing department and project management departments have very little data entry to do because most of our data is digital (shop work orders, purchase orders, etc…)