Date of Award
5-2023
Degree Type
Thesis
Degree Name
M.S.E.
Degree Program
Naval Architecture and Marine Engineering
Department
Naval Architecture and Marine Engineering
Major Professor
Birk, Lothar
Second Advisor
Taravella, Brandon
Third Advisor
Xiros, Nikolas
Abstract
In vessel design, modifying the design of a preexisting hull is a common practice to save time and labor compared to designing a hull from scratch. This can be achieved either by manually adjusting the hull model in a 3D modeling software or by systematically adjusting certain vessel parameters using an algebraic method. However, these methods are time-intensive and do not fully utilize the capabilities of modern software. To address this issue, this paper presents a set of Rhinoscript and Python scripts that automate part of the hull modification process using Lackenby’s method with McNaull’s expansion. The developed code utilizes provided hull offsets (comma-separated values, CSV, file), along with user-input values, to perform the desired Lackenby shift. The resulting modified hull surface is displayed in Rhino alongside the original hull surface. The developed scripts demonstrate the potential of modern software to enhance the efficiency and accuracy of vessel design.
Recommended Citation
Kramer, Mara E., "Automating Lackenby's Method: The Design of a Set of Scripts to Execute Lackenby's Method with McNaull's Expansion in Rhinoceros 3D" (2023). University of New Orleans Theses and Dissertations. 3062.
https://scholarworks.uno.edu/td/3062
This report, intended for readers more familiar with programming, details how the auxiliary scripts and user interface were developed and structured.
offsets_areatest.csv (1 kB)
Comma-separated values (CSV) file containing offsets for four geometric ship-like sections used within the auxiliary file secarea.py to test the functions of offsetimport.py, secarea.py, and akimaint.py.
main.py (27 kB)
Rhinoscript file that uses the auxiliary files to complete the Lackenby shift of the underwater body of a hull using station offsets provided in CSV file format. The file is executed within Rhino’s script editing window.
offsets_kayak.csv (2 kB)
CSV file containing offset values for a generic kayak, used to demonstrate the functionality of main.py. The offsets are defined with stations, half-breadths, and elevation values with the forward perpendicular (station 0) at the origin. Half-breadth values are defined as a fraction of the maximum half-breadth and elevation values are defined as a fraction of the design waterline.
readme.txt (3 kB)
Text file containing the program description, conditions, instructions usage guide, and credits for main.py and all accompanying auxiliary files.
akimaint.py (5 kB)
Python script written by Dr. Lothar Birk, University of New Orleans. Defines a function that takes a series of coordinate points split into two arrays and performs Akima interpolation on them. Also contains a test portion that demonstrates the functionality of the script.
cubicmatrix.py (1 kB)
Python script that defines the cubic matrix used for McNaull’s expansion of the Lackenby method.
gauss.py (1 kB)
Python script written by Dr. Lothar Birk, University of New Orleans. Defines a function containing a simple Gaussian elimination algorithm. Also contains a small test script used to demonstrate usage of the function.
offsetimport.py (1 kB)
Python script written by Dr. Lothar Birk, University of New Orleans. Defines a function to import station data from a CSV file and convert the data into coordinate points separated by station into a series of arrays.
secarea.py (6 kB)
Python script containing functions for calculating sectional area, area moments, second order moment of volume, and third order moment of volume. Also contains section used to test the functionality of akimaint.py, offsetimport.py, and the functions defined within secarea.py.
LackenbyShift_ParentHull.dat (7 kB)
Contains the station offsets, SAC, and Lackenby shift data for the sample parent hull used introduced in Section 4.
LackenbyShift_DerivedHull.dat (7 kB)
Contains the station offsets, SAC, and Lackenby shift data for the derived hull form discussed in Section 5, found from the sample vessel introduced in Section 4.
ThesisandDissertationApprovalForm_Data - 2023-06-13T122623.420.pdf (44 kB)
Rights
The University of New Orleans and its agents retain the non-exclusive license to archive and make accessible this dissertation or thesis in whole or in part in all forms of media, now or hereafter known. The author retains all other ownership rights to the copyright of the thesis or dissertation.