ebook img

Analyzing and Creating Forms: Rapid Generation of Graphic Statics Solutions through RhinoScript ... PDF

189 Pages·2010·16.29 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Analyzing and Creating Forms: Rapid Generation of Graphic Statics Solutions through RhinoScript ...

Analyzing and Creating Forms: Rapid Generation of Graphic Statics Solutions through RhinoScript by Michael S. Shearer B.S. Civil and Environmental Engineering Cornell University, 2009 SUBMITTED TO THE DEPARTMENT OF CIVIL AND ENVIRONMENTAL ENGINEERING INPARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF ENGINEERING IN CIVIL AND ENVIRONMENTAL ENGINEERING AT THE ARCHNES MASSACHUSETTS INSTITUTE OF TECHNOLOGY ASSACHUSETTS INSTUJTE JUNE 2010 OF TECHNOLOGY JUL 15 2010 @2010 Michael S. Shearer. All rights reserved. LIBRARIES The author hereby grants to MIT permission to reproduce _ and to distribute publicly paper and electronic copies of this thesis document in whole or in part in any medium now known or hereafter created. Signature of Author .......................................... .... ........... Department of Civil and Environmental Engineering May 7, 2010 Certified by..................................... Joh sendorf Associate Professor of Civil and Environmen al Engineering and Architecture Thesis Super r A ccepted by ................................. Daniele Veneziano Chairman, Departmental Committee for Graduate Students Analyzing and Creating Forms: Rapid Generation of Graphic Statics Solutions through RhinoScript by Michael S. Shearer Submitted to the Department of Civil and Environmental Engineering on May 7, 2010, in partial fulfillment of the requirements for the degree of Master of Engineering in Civil and Environmental Engineering ABSTRACT Graphic statics is a method of structural analysis which relies solely on geometric constructions to determine axial forces within members. Accordingly, any computer- aided drafting (CAD) program may be utilized in the pursuit of a graphic statics solution. This thesis presents a methodology which employs Rhinoceros 4.0 (Rhino) in its capacity as such a program. Using RhinoScript, which provides access to Visual Basic Scripting, or VBScript, within Rhino, the basic steps of graphic statics are automated as scripts. The scripts are then compiled into RhinoStatics, a plug-in module which facilitates graphic statics analyses. The thesis focuses on three applications of graphic statics: determination of simply supported reaction forces, funicular form-finding given restraints on the axial capacity of the material being used, and determination of axial forces within a pin-jointed truss loaded at its nodes. While only these three applications are explored in detail, the developed scripts may be used in the pursuit of a wide range of graphical equilibrium solutions, transforming Rhino into a highly specialized tool in the hands of a user with knowledge of graphic statics techniques. Such users will be able to easily analyze a host of two-dimensional cross-sections and forms, as well as generate new shapes given loading and geometric constraints. Users familiar with VBScript could easily expand on the documented script files to add functionality to suit their own needs. In addition to providing worked examples of how to utilize the RhinoStatics plug- in module, this thesis provides a brief overview of graphic statics in general. The developed scripts are explained in detail, with fully documented RhinoScript code provided in the appendices. Thesis Supervisor: John Ochsendorf Title: Associate Professor of Civil and Environmental Engineering and Architecture Acknowledgments It goes without saying that any major project such as a thesis is not completed in a vacuum, nor solely through the efforts of the author. With that in mind, I would like to thank the following individuals for their contributions to the successful completion of this thesis: John Ochsendorf for his support, guidance, and encouragement through the entire thesis process. Perhaps most importantly, he introduced me to the concept of graphic statics, a true "twenty-fifth century method" which just happened to be first developed in the eighteenth century. Throughout the development of the RhinoStatics plug-in, he was an invaluable sounding board, always looking to possible future applications and trying to push the project as far as it would go. It has been a privilege to have him as my advisor, and I look forward to future collaborations. Patrick McCafferty (Arup) for recommending John as a thesis advisor and for challenging me to develop my project into something truly original. Pat first suggested expanding the thesis from a series of case studies into a full-fledged program capable of performing graphic statics. Without his influence, this whole project would have looked very different, and with his continued influence, it may evolve even further. Tom Chatt (Cornell University, ECE MEng 2010) for helping me though my largest programming endeavor to date and for providing support even after the scripting was complete. From I4TEX assistance to proofreading of the final draft, I am indebted to Tommy for the high quality of my finished thesis, both its content and its visual appeal. My family and friends for their constant love and unflagging support through what have been a grueling nine months. The constant workload and long hours were made easier by having people in my life with whom I could share both the highs and the lows. The Schoettler Scholarship Fund for providing me with the full tuition scholar- ship which allowed me the freedom to pursue this Master of Engineering degree. Though rigorous and demanding, obtaining this degree has been immensely re- warding. In pursuing the Master of Engineering degree, I sought to improve myself as an engineer by broadening the tools at my disposal. At the beginning of this program, I had never even heard of graphic statics; however, as my time at MIT draws to a close, I believe learning to harness it may have been the most important skill I gained. For that, I am immensely grateful to everyone who assisted in this endeavor. This thesis was typeset using the MiKTEX 2.8 implementation of LATEX for Windows and the mitthesis template provided on Athena. TEXnicCenter served as the text editor and compiler. Contents 1 Introduction 1.1 Problem Statement . . . . . . . . . . . . 1.2 Literature Review . . . . . . . . . . . . . 1.3 RhinoStatics . . . . . . . . . . . . . . . . 2 Review of Graphic Statics Methodology 2.1 Definitions . . . . . . . . . . . . . . . . . . 2.2 Bow's Notation . . . . . . . . . . . . . . . 2.3 Load Line Construction . . . . . . . . . . 2.4 Simply Supported Reactions . . . . . . . . 2.5 Force and Funicular Polygons . . . . . . . 2.5.1 Funicular Shapes . . . . . . . . . . 2.5.2 Truss Analysis . . . . . . . . . . . 3 RhinoScript Programming Methodology 3.1 Why Rhinoceros? . . . . 3.2 Script-Level Routines 3.2.1 GetLoadScale 3.2.2 GetPlane . . . . 3.2.3 GetBowsSize 3.2.4 GetForceScale 3.2.5 GetForceSize 3.2.6 GetAxialSize 3.2.7 MakePoint . . . . 3.2.8 MakeLabel . . . . 3.2.9 LabelOverlap 3.2.10 IntersectLines 3.2.11 SlopeVector . . . 3.2.12 MakeParallelLine 3.2.13 DrawPin . . . . . 3.2.14 DrawRoller . . . 3.3 User-Level Routines . . . 3.3.1 AddSupports . . 3.3.2 ApplyLoads . . . 3.3.3 MakeLineOfAction . . . 3.3.4 AddBows . . . . . 3.3.5 MakeLoadLine 3.3.6 MakePole . . . . . . . . 52 3.3.7 ConnectPole . . . . . . . 52 3.3.8 MakeFunicular 52 3.3.9 MakeClosingString 55 3.3.10 CloseLoadLine . . . 55 3.3.11 MakeForce . . . . . . . . 58 3.3.12 LabelForcePoly . . . . . 58 3.3.13 GetForceLabel . . . . . . 61 3.3.14 ViewGlobals . . . . 64 3.4 Concluding Thoughts . . . . . . 64 4 Implementation Examples 4.1 Simply Supported Reaction Forces . . . . . 4.2 Analysis of Ideal Truss Loaded at Joints . . 4.3 Form-Finding with Material Restraints . . . 4.4 Optimization of Truss Under Vertical Loads 5 Conclusion 5.1 Discussion . . . . . . . . . . . . . . . . . . . 5.2 Recommendations for Further Development 5.2.1 Functionality in Any 2D Plane . . . . 5.2.2 Parametric Linkages . . . . . . . . . 5.2.3 Automated Structural Optimization . 5.2.4 Increased Robustness . . . . . . . . . 5.2.5 Improved Graphic Interface . . . . . A RhinoScript Code for Script-Level Routines 103 A.1 DrawPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 A.2 DrawRoller . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 A.3 GetAxialSize . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 A.4 GetBowsSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 A.5 GetForceScale . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 A.6 GetForceSize . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 A.7 GetLoadScale . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 A.8 GetPlane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 A.9 IntersectLines . . . . . . . . . . . . 114 A.10 LabelOverlap . . . .. .... 118 A.11 MakeLabel . . . . . . . . . . . . . . 120 A.12 MakePoint . . . . . . . . . . . . . . 121 A.13 MakeParallelLine . . . . . . . . . . 122 A.14 SlopeVector . . . . . . . . . . . . . 124 B RhinoScript Code for User-Level Routines 125 B.1 AddBows ................................ . 126 B.2 AddSupports ........ ............................... 130 B.3 ApplyLoads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 B.4 CloseLoadLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 B.5 ConnectPole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 B.6 GetForceLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 B.7 LabelForcePoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 B.8 MakeClosingString . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 B.9 MakeForce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 B.10 MakeFunicular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 B.11 MakeLineOfAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 B.12 MakeLoadLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 B.13 MakePole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 B.14 ViewGlobals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 THIS PAGE INTENTIONALLY LEFT BLANK

Description:
a professor of civil engineering and mechanics at the University of Glasgow, wrote: Poleni used graphical methods to analyze St. Peter's Basilica in Chapter 2. Review of Graphic Statics. Methodology. As general conditions of
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.