some thoughts of building a VIIC fully functional model uboat made out of plasticized finnboard. The basic idea is to scan in the frame drawing and redraw the frames within a CAD porgram, export to FreeCAD and create a 3D model for further development.
The frames will be laser cut out of 2mm finnpaper. The plasticzing is done with resin. I've done 48hrs watering tests with this material and it shows no signs of expansion or additional weight.
1) Import the frame scan into LibreCAD (or your favorite proggi) and scale it to your needs. Be aware that this uboat type is made out of circular elements. So you can rest assure when doing the main redrawing with arc and straight lines. The scanned image is definetly not XY aligned ! 2) Import the DXF to FreeCAD, check the SKETCHER import, move the SKETCHER Z-plane to the coordinates of the frame. I'am using DXF2GCODE and GCODESENDER software to send the DXF file to the laser cutter. You can see in this picture my layer naming convention, which will also do the settings for the laser cutter in go. The -T:NN determines how often the laser has to run this layer, F and Fz are the speed settings.
The top rectangular part of the frame is for the building slip and will be cut off when the section is finished. Attached pls find a small newlisp script to print out the frame distances from frame 0 or CenterOfGravity (in my case the location of periscope 2 or frame 54)
Code: Select all
#!/usr/local/bin/newlisp
# Run with newlisp. http://www.newlisp.org/
# Helper Tool for VIIC Uboat design.
# Distances of Frames to Frame0 and Fram54(COG) resp.
# Taken from the Frame Body Drawing 1939.
# Should go with U551-U562 and some others.
# Usage: ./AbstaendeListeToScale scale
# Output of Frame 54a is omitted for simplicity.
# schroete@iup.physik.uni-bremen.de
(set 'scale (int (main-args 2) (throw-error "Usage: ./AbstaendeListeToScale scale\n") ))
(if (<= scale 0) (throw-error "Scale must be > 0"))
(set 'AbstNullSpant 8000) # Abstand Achtersteven zu Spant 0
(set 'KumAbstaende (list 0 675 3500 325 3500 27000 1100 25000 625 5000 375 ))
(set 'SpAbstaende (list 0 675 500 325 500 500 1100 500 625 500 375 ))
(set 'indices (list 0 1 8 9 16 70 71 121 122 132 133 ))
# Periscope 2 (Spant 54, U551-562) ist Center of Gravity(COG). Abstand Spant 0 zu Spant 54
(set 'cogDistance 27000)
(println "FrameNum DistFromFrame0 DistFromCOGFrame54")
(define (smaller? x y)(<= x y))
(define (spantDist spantNum)
(letn ((internalSpant (+ 16 spantNum))
(spIndex (find internalSpant indices smaller?))
(abstLst (slice KumAbstaende 0 spIndex))
(lstAbst (* (- internalSpant (nth (- spIndex 1) indices))
(nth spIndex SpAbstaende)))
(spZu0SpantAbstand (- (apply + (push lstAbst abstLst)) AbstNullSpant)))
(println spantNum
" " (format "%1.2f" (div spZu0SpantAbstand scale))
" " (format "%1.2f" (div (- spZu0SpantAbstand cogDistance) scale)))))
(for (lfdSpant -16 117 1)
(spantDist lfdSpant))
(exit)
FreeCAD example file
To be sure that the uboat is working as expected you may take the spreadsheet for calculating the trim and some other parameter according to Froud. Do not get carried away because i don't have the weight/volumes for all the parts now. So this is an estimation. But it shows that the overall design can be balanced.
Trimming calculus
The aft section is quite complete (argh, why does sometimes the upload of pictures fail .... )
More to come ...