More detailed contents will be presented later. Various Features of the Developed System Here, various features of the developed system are described. Hull Structural Modeling Supporting the Initial and Detail Design Stage Detail design stageSimplified modelingwith bigger partsInitial design stageDetailed modelingwith smaller parts Fig. 8: Modeling Concept Supporting the Initial and Detail Design Stage A designer defines roughly the size and shape of a product in the initial design stage, and concretizes the product through verification process in the detail design stage as design progresses. By using the developed system, the designer can perform simplified modeling for big structural parts such as a web frame, stringer, girder, and so on in the initial design stage. And, he can perform detailed modeling for small structural parts such as a hole, slot hole, and so on in the detail design stage (Fig. 8). Hull Structural Modeling of a Structure System Unit Existing systems such as the TRIBON support hull structural modeling of a building block unit for production. On the other hand, the developed system supports hull structural modeling of a unit of a structure system such as a web frame, stringer, girder, and so on. Thus, it is possible to generate a 3D CAD model for a hull structure in the initial design stage in early time and to perform the hull structural modeling of a building block unit through system expansion in the future, after subpiding the 3D CAD model for the hull structure into several building blocks. Fig. 9 shows a concept of the hull structural modeling of a structure system unit. 3D CAD model fora hull structureModeling of astructure systemunit…Web FrameStringerGirder… Fig. 9: Concept Supporting the Hull Structural Modeling of Structure System Unit Hull Structural Modeling Based on Reference As stated above, the developed system uses a script file-based UI as a modeling tool of a designer. A script file used in the developed system is based on the Python language, which is a general-purpose script language.
Thus, a designer can expand freely the script file by using many features of the Python language such as various definitions and renaming of a function, contrary to the script file of existing systems, which has a fixed syntax and is a system-dependent. If these features are applied to the script file for hull structural modeling, it is possible to perform parametric design by making the script for generating hull structural parts such as a web frame, stiffener, etc. as a function. For example, in the developed system, a designer can define directly the shape of the hull structural part with geometric entities such as a line, arc, etc. by referencing the existing parts on the sketch section, which was generated by using the intersection calculation between a compartment model for a ship and infinite plane. Fig. 10 shows an example of the modeling method for a side web panel, which can frequently find in cargo holds of a VLCC. As shown in Fig. 10, a designer can model directly the shape of the side web panel with geometric entities (“l_c_lmt”, “a_c”, “l_b_off”, “a_a”, and “l_b_off”) by referencing the existing panels (“deck”, “ilb”, and “slb”) on the sketch section. Like this, since geometric entities, which represent the shape of the side web panel, are all defined by referencing the existing panels, the shape of the side web panel is automatically changed if the shapes of the existing panels are changed. l_b_offl_ubl_c_lmtl_a_lmtse laydef MakeSideWebPanel(xpos, l_ub, l_usy, r_us, l_ucy, r_uc, thk): # Input values for a function1 Generate a sketchsk = CreateSketch(xpos)IntersectCompartAndImprint(sk) # Generate a sketch from hull form and compartment model2 Generate a side web panel(Define the boundary of a side web panel as if do drawing)m = GetActiveManager()co = sk.GetCoordinate()face = sk.SelectFace(Vector(20, 15, 0) # Generate a face from surrounding panelslay = EzHalfLine(Vector(35, 15, 0), Vector(-1, 0, 0))se = sk.SelectEdge(face, lay)sl = EzSegList(0, co)sl.CreateSegment(face, se, 3) # Generate reference lines from the facepn = m.CreatePanel("sidewebpanel" % xpos, sk) # Generate a side web panelsl.Get(0).TrimEnd(l_usy, Vector(0, 1, 0)) # Modify a reference linesl.Get(2).TrimStart(l_ucy, Vector(0, 1, 0)) # Modify a reference linel_c_lmt = EzInfLine(sl.Get(2).GetEndPoint(), Vector(1, 0, 0)) # Generate a line ‘l_c_lmt’a_c = EzArc.Create(r_uc, l_b_off, sl.Get(2).CreateGeo(2)) # Generate a arc ‘a_c’l_b_off = sl.Get(1).CreateOffsetGeo(1, l_ub, Vector(0, -1, 0)) # Generate a line ‘l_b_off’a_a = EzArc.Create(r_us, sl.Get(0).CreateGeo(0), l_b_off) # Generate a arc ‘a_a’l_a_lmt = EzInfLine(sl.Get(0).GetStartPoint(), Vector(1, 0, 0)) # Generate a line ‘l_a_lmt’sl.PushBack(l_c_lmt, a_c, l_b_off, a_a) # Register lines and arcs as reference linessl.PushFront(l_a_lmt)sl.SetClosed()sl.Calc() # Find the boundary of the side web panel from reference linespn.SetBaseBoundary(sl)