Saturday, May 17, 2008

Flying Scot Balsa Repair


I knew it was going to be a long day after making the first few cuts. The balsa core was a bit worse than I imagined and the wood was soaked 3/4 of the length of the centerboard. Using a circular saw and a grinder with a metal cutting wheel (to cut close the the centerboard) I exposed all of the rotten and wet balsa. I basically stopped cutting when I saw good dry balsa. Unfortunately my saw cut to a min depth of 1/4" so I left some small kerfs in the balsa, but that later turned out to be no big deal since the roving hides it well.

Next it was time to clean out all rotten or delaminated balsa. I have reason to believe FS #338 was trailered/stored in a harsh manner: when I purchased the boat, she came out of the water resting on the very aft tip of the bunks...concentrating the entire weight of the boat on two small spots of the hull (which I knew was already soft). We lowered the bunks before trailering it home, lest a pothole create some large holes! Note, according to FS, the boat should be resting 100% on the keel. The bunks just provide stability...but I digress.

I started cleaning out the blocks with a large flat head screwdriver; not really sure why I chose that implement since the 3/4" chisel that I switched to later was much better suited to the job. The rotten and delaminated blocks come out very easily. There were sever more wet blocks that I exposed, but they didn't want to come out so I was content to leave them. I chiseled out the rough resin trying to get it as clean as possible before sanding. At this point, about 50% of the balsa was removed or exposed.
It seemed like the instructions were saying to sand the hull smooth, but there seemed to be lots of voids approximately 1/8" deep (possibly balsa that never had a good bond?) so I determined that I would just try to get it as flat as possible, but not worry about a perfectly faired surface. At this point I reached once again for my trusty Harbor Freight 4" grinder ($6.99) with a 40 grit "flap disk", and a quality 3M dust mask. If I was smart, I would have donned long sleeves, as the fiberglass itch was pretty annoying for the rest of the night. The grinder worked wonders on the raised glass/resin and for creating a 12:1 feather of the existing glass. Since I only had 1.5" of faired with, I doubt I achieved 12:1, but it seemed like enough bevel for a good bond considering the circumstances. After additionaly sanding of the surrounding glass with an 80 grit orbital sander, I vacuumed the dust out.
I mixed up way too much resin for the "seal coat". I think I mixed 8oz, but probably didn't use half that much. After that cured 24 hrs, I cut the 3/4oz mat and balsa to fit. At this point, I should have made better notes about how resin I used; I'm guessing I mixed up two pints for the mat + balsa lay-in. Turns out it probably wasn't enough and/or wasn't catalyzed enough for the cooler temperature (below 70F) we were having. I think the fiberglass scrim on the back of the balsa may have soaked up more resin than I anticipated and by the end, I was buttering it up as well before placing the block in. I kept checking the stiffness as the original hull flex was a major factor in doing this repair and was not happy to see the hull still flexing quite a bit. After several hours, I decided to see if I could wiggle the blocks and I was disappointed at being able to remove several blocks on the port side (the resin was still wet). I mixed up anther 8oz of resin with plenty of catalyst and reset the blocks. Checking the next day, there was a noticible difference in stiffness and the blocks were not coming out. Lesson: use plenty of resin when setting the balsa. I was quite liberal with the next seal coat, as I wanted to fill the small gaps in the scrimmed balsa sheets. Again, stiffness improved.

At this point I was getting a bit antsy to have finish the project.
The fumes were invading the house (a box fan in the window helped immensely). I kept being surprised at how long it took to do relatively simple things like cut the glass to fit the shape (1-2 hrs though running short on roving didn't help). I layed all four glass layers in dry and was just about to start mixing resin when it became clear I was nearly two quarts short. I decided to put off the layup until I had enough to finish the job. Fortunately a local boat store had polyester by the gallon for $30. It was waxed, but since this was the last lamination before gel coat, I figured I could live with it (you have to sand between coats if it's waxed). I started mixing 1qt batches and realized quickly the squeege was worthless. The 4" paint roller and grooved roller were much better suited to wetting out for me. It took quite a bit of resin and working to get the centerboard section wetted out with the four layers of glass, but everything came together. I was amzaed how the opaqe roving turn crystal clear!
After letting the layup cure for 24hrs, I cleaned out the boat, sanded, vacuumed and wiped the entire area with a good amount of acetone. I masked the centerboard trunk and mixed up my first quart batch of gel coat. I ditched the 4" roller in favor of a 9" considering the gel time was 10-15 minutes. I knew I needed to work fast. Unfortunately mixing in a roller tray was difficult and it ate up my precious gel time. I only used about half of the first batch befored it gelled. I tried a little less catalyst for the second batch, but it also gelled before I had finished rolling. Even the third pint I mixed gelled faster than expected. You really can't mess around with the gel coat. It goes FAST! I am surprised how slippery it feels. Now I see why FS recommends adding sand as non-skid. Hopefully docksiders will keep a grip on the new stuff. While it's not perfect, it is 100x stronger/safer than before and I am glad I tackled the project myself. While I'm sure the factory does an amazing job - actually I have seen the results and they are amazing, I was glad to save the driving and try something new. Saving $1,500 bucks doesn't hurt either.
Materials used (in order of appearance):
  • Safety glasses/goggles
  • Hearing protection
  • Dust mask
  • Nitrile gloves
  • Circular saw
  • Grinder w/ metal cut off
  • Chisel
  • Polyester resin (2 gal)
  • Acetone
  • 3/4oz mat
  • balsa
  • roving
  • scissors
  • tape measure
  • 1/4" nap roller
  • gel coat
  • celebratory beer!
I purchased most of my fiberglass supplies at Fiberglass Supply.com - very helpful staff!

I only had a small amount of previous fiberglass experience (sunfish repair 10 years ago). There were ups and down, but I think anyone who is handy can tackle this job! GOOD LUCK!

Epilogue:

The grinder w/ the metal cutoff wheel was essential for cutting close; I was able to cut within 1/8" of the trunk pretty quickly. I wasn't kidding, I got mine for $7 and has been a total lifesaver (last year I used it to cut the frozen lug nut on my trailer in half w/o damaging my wheel). Total time to cut out the bad glass was probably under an hour. It was removing the bad wood and smoothing that took another 2-3 hours. Next time (aft deck), I will probably just get the wood out and use the grinder/sander to smooth instead of so much time with the chisel.

As for reusing, I'm no expert on fiberglass, but I would think it would be difficult to make a solid bond to the original. I noticed this morning that there are just a couple of small 2-3" spots that are not totally laminated (dull thud) so even with fresh glass it was tough. Not to mention, if you are anywhere close to the trunk, I think you would lose a lot of strength. My trunk used to move a bit, but now it is rock solid. I could see reusing for a small area, but personally I wouldn't do it. The roving was pretty easy to work with (though the course weave is easy to fray).

Next time I would definitely use more resin when laying in the blocks. Oh, and I would have ordered some "filler" to mix w/ the polyester to be able to smooth the joints out before the final glass. I think if I could have filled and sanded better, the repair would have been nearly invisible w/o adding much work. As it is, the repair outline is obvious, but not ugly. Particularly compared to the mess that my floor was before.

For calculation purposes, I used nearly 3qts of resin to wet out the top layer of glass and about 3qts of gel coat to cover the entire balsa area.

Tuesday, May 6, 2008

Adding methods to a WebService consumed by BizTalk

Our team added a couple of methods to a web service that an orchestration need to call, but we were getting an error when BT tried to call (via WSE) the new method:

Value cannot be null. Parameter name: methodname

It turned out that the Send Port was not being refreshed in the BizTalk administrator, so the easiest solution was to create a new send port for the same web service, point all the orchestrations to the new send port, delete the old port, and rename the new port to the old port name.  After restarting the process, the error was gone!

BizTalk deploy error

Thanks to the Biztalk Forum for the answer on how to resolve deployment issues when old (cached) binding information causes errors during visual studio deploy.

On deployment the deployment program which is run by Visual Studio creates/updates one or more BindingInfo.xml files in the folder C:\Documents and Settings\[user name]\Application Data\Microsoft\BizTalk Server\Deployment\BindingFiles. There are two versions of this file depending on whether you are deploying to a new application or are redeploying.

If you deploy a new application the file is created based on reflection of the Assembly which contains the orchestration and is prefixed with a ~ (tilda) character.

If you re-deploy an existing application the binding file is created based on the binding info held in the BizTalkMgmt database for the assembly being published. This file does not have the ~ (tilda) prefix.

The deployment process attempts to apply these bindings after (re)deployment.

I have found that by deleting the Binding.Info.Xml files in the temp folder as well as deleting the Application via the BizTalk management console that the above mentioned error no longer occurs because the deployment program always uses a fresh binding.info.xml file based on the assembly and not what was previously in the database. (PS: Note that I am developing on one machine and deploying onto a second machine).