Jump to content

Rick Lutowski

Members
  • Posts

    49
  • Joined

  • Last visited

About Rick Lutowski

  • Birthday 08/07/1947

Profile Information

  • Gender
    Male
  • Location
    Georgetown, TX
  • Interests
    Ship design, Ship models, Java software development, Naval history

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. OK, I promised you a report on a couple of CAD tools for hull modeling that I'm familiar with. The first is a Navy program called SHCP (Ship Hull Characteristics Program). SHCP has been the Navy's stability program since the late 1960s. It was developed in Fortran II for very early computers that were limited to 32K words of memory, accepted input on punched cards, sent numerical output to a line printer, and graphical output to a pen plotter. Its users had no access to interactive graphics hardware, which was very expensive at the time, so the program was not designed for interactive operation; it was strictly a batch-mode program. A. Type of modeling The hull and appendages are modeled with surfaces. Damaged compartments are defined by up to 6 axes-orthogonal decks and bulkheads per compartment. A limited number of more-complex compartment shapes can be defined using offsets. B. Interpolation method Parabolic for curved surfaces; linear for flat surfaces. C. Points: 1. Structure or order Points are organized by stations. The vertical coordinate of successive points of a station must increase. 2. Measurement All stations are planar and perpendicular to the longitudinal axis. That is, all points on the station are the same distance from the forward perpendicular (FP). Negative station numbers (stations forward of the FP) are allowed. 3. Number Points per station are limited to 29, and must be odd. Number of stations is limited to 41, and also must be odd. The odd number requirement is an artifact of parabolic interpolation coupled with a desire for high performance. The size limits can be changed by changing a few declaration statements and recompiling the program. Number of damaged compartments supported has increased over time and is now over 900 (a result of greatly increased memory capacity on modern computers). The user specifies each compartment individually with multiple input records per compartment. For ships with complex compartmentation, preparing compartment input can be time-consuming. The following is a typical hullform (without compartments) created for SHCP. (image from https://stability-shcp.com/wp-content/uploads/2020/08/ThruView-CV34-sample-1024x499.png) 4. Supplemental data The last point of each station is indicated with a "88888" tag. The last point of the set of offsets is identified with a "99999" tag. Breakpoints (abrupt changes in curvature) are flagged with a "77777" tag. D. Usage 1. Ease of learning My copy of the original user manual describing the input data is only 23 pages. The program was thus fairly easy to learn. Over time the user manual has grown to nearly 400 pages, so the learning curve has increased, although not proportional to the user manual size since the modern manual is much more comprehensive than the original. 2. Ease of use Since SHCP operates in batch mode, ease of use is directly related to the effort of preparing the input files. Ease of input preparation has been improving over time with the development of various GUI (graphical user interface) utilities, as described below under Functionality. 3. Performance SHCP is very fast and extremely memory efficient -- as it had to be to fit the complex code and data needed for damaged stability calculations into a mere 32K words of memory. While these stringent hardware limitations are no longer relevant, I believe the program's legacy of speed and efficiency has been largely retained. This is primarily because its compact, highly memory-efficient core code is so hard to understand that few have attempted to tinker with it! E. Reliability 1. Error response Error messages are sent to a line printer or, in later versions, to an output file. Messages are descriptive one-line sentences that summarize the nature of the error. A more detailed explanation of the error is given in the user manual. 2. Malfunctions The program has always been very reliable and rarely crashes when fed valid data. F. Functionality 1. Missing or problematic features Interactive operation Probably the most glaring deficiency is SHCP's lack of interactive operation, a result of being designed long ago for batch operation. Later, a GUI module was added to control its execution while running in batch mode. More recently, at least one third party vendor has produced GUI tools for preparing SHCP input files, and displaying its numerical and graphical output file data. Station point restrictions Because vertical coordinates of successive points of a station must increase, it has always been difficult to model hull features such as flat overhangs (vertical coordinates do not increase) or tunnel sterns (vertical coordinates decrease). The original developer recognized these issues and devised workarounds to handle such station shapes. I believe the same third party GUI vendor has incorporated some of these workarounds into their input preparation GUI. The "runaway parabola" problem A third issue is not strictly an SHCP problem, but can occur with any CAD tool or manual calculation that uses parabolic, cubic, or other interpolation methods besides linear. I call it the "runaway parabola" problem. Especially in areas of near-horizontal slope such as the bottom of the ship, the points that comprise a station, if not taken carefully, can result in interpolations that deviate significantly from the intended station shape. A normal plot of the input points will not detect this since both pen plotters and graphics systems connect a string of points with straight lines, which may appear much closer to the intended station shape than the parabola (or cubic) computed by the interpolation formulas. The calculated stability results may look reasonable, but actually be for a hull shape that deviated more than just a little from the shape intended. This problem was either discovered, or suspected and then confirmed, when SHCP's original developer wrote a utility to plot station shapes using many interpolated points in addition to the raw input points. It was then realized that this same problem had been affecting manual naval architecture calculations for centuries because the manual calculations also used parabolic formulas. However, with no computers or plotters to draw the actual parabolic shapes implied by the table of offsets, no one was aware of the problem. With the advent of SHCP, the problem came to light. 2. Best features Having been in continuous use for over 50 years, SHCP is probably the most thoroughly tested ship stability program in existence. Its reliability, speed, efficiency, and accuracy (given correct input data) are arguably second to none. G. Cost SHCP is not for sale, but is typically provided free of charge to those working on Navy projects who have a need for it. It has also been provided to some universities that teach naval architecture. H. System Requirements It should be possible to compile and run the core SHCP modules on any system with a Fortran compiler because its original developer used a subset of Fortran common to all compilers, and avoided all language extensions and proprietary syntax. The GUI utilities mentioned above are supported only on Windows.
  2. This is a big advantage of open source programs like freeCAD and CM Creator. If the user community really wants something badly enough, any user can get the source and contribute that feature themselves. The users are not totally dependent on a vendor, whose interests may or may not coincide with theirs. This approach has worked very well for Linux, and has helped make it the dominant O/S in the world. (Yes, Windows still controls 80% of the desktop, down from 95%+, but Linux powers the Android smartphone and half the internet server market, which together dwarf the desktop market.) MSW modelers can take their future into their own hands by ditching the proprietary products and becoming familiar with what freeCAD and CM Creator can do for you. Based on the freeCAD web site, I think you will find that freeCAD gives you roughly the same surface and solid capability as Rhino or Fusion360 since they all support NURBS for surface modeling and some form of CSG for solid modeling. If your model consists only of exterior surfaces, or will be built of lots of smaller solid parts, freeCAD should work just fine. If you want your model to include lots of interior decks and bulkheads, you will find that nothing out there at any price equals CM Creator; it is unique (so unique that you may find some of its characteristics shocking). At some point, I would anticipate freeCAD and CM Creator working together in some manner. Perhaps freeCAD for exterior modeling and CM Creator for interior modeling. Or CM Creator for concept design and freeCAD for later stage design. Both are possible because the two have key infrastructure in common. They both use similar, open-source licensing. They are both supported on Windows, Mac, and Linux. And they both use similar programming languages: C++ and Python for freeCAD, and Java for CM Creator. (Java has its roots in C++, and Python has its roots in Java). But before any such synergy can happen, the CAD community needs to become aware of CM Creator. At the moment, hardly anyone -- not even the search engines -- are aware of its existence. Readers of this thread are among the very few that know that CM Creator exists. CM Creator should be very good in this regard, for three reasons. First, Java has some of the best error handling of any major programming language. Second, CM Creator leverages Java's error handling by implementing GUI (graphical user interface) facilities for reporting error details to the user, who can then use the info to fix the problem for user errors, or pass the info to the developers for program problems. Third, CM Creator takes Java's 'tooltip' feature (which pops up a short message when the mouse hovers over a control) and extends it to pop up the entire help page for the control. This not only helps new users learn to use the program more quickly, but can often help you figure out why an error occurred. I'm not aware of any other program that implements user help in this very convenient manner. I call it JIT (just-in-time) help. Those programmers need to be fired.
  3. Sounds like you want the slicer built into the CAD tool to avoid dealing directly with STL. That would be convenient, but you still might want to save the STL so you can print it again later, or upload it so others can print your model too. Fusion360 demoting STL for their own proprietary file format tells me they think they can capture a big share of the 3d print market and lock those users in to their own products. It's the old Microsoft proprietary format game that the big boys like to play, and autodesk is definitely the big boy in CAD. My mantra is never use proprietary formats, no matter how many goodies they implement to entice you in. Stay with the standards like STL and OBJ. That gives you the portability and flexibility to use other vendors, which helps promote competition for the big boy. Competition encourages innovation and reduces cost.
  4. Ha! I misinterpreted your drawing -- and by so doing may have conceived a new interpolation method based on trig. Pretty funny. I would expect any of the naval arch CAD tools can take data from the three lines drawing views and turn it into a beautiful digital description of the hull. How much effort is required to get that data into the tool is one issue. Creating the model is another. Should the tool 3d print it? Or should it print templates for manual construction, as Kevin has suggested? More to the point, can the tool print the model, or templates to build one? Be interesting to find out what some of you learn.
  5. Very interesting! I've never seen that approach to computing intermediate station points before, but makes sense. Reminds me of radio direction rangefinding. The trig calculations have to be very precise for it to work well. And, unless the station lines are fully described by math functions (which they rarely are), you still need an interpolation method to define the station shapes between the station points. I think the biggest reason it's not used in practice is that points on intermediate stations become direct functions of three angles from the radial center points. What CAD programs typically need is to compute points on intermediate stations as functions of distance from one of the three major axes, not as functions of radial angles from three points. Clever idea, though.
  6. Occurred to me I forgot a couple of items in the reporting format: Cost and System Requirements. Need to add them to the outline as Items G and H: A. Type of modeling -- solids, surfaces, or both? B. Interpolation method -- what kind(s) does the program use? C. Points: 1. Structure or order -- how does the program want the points to be organized? 2. Measurement -- do any groups of points need to be at discrete distances from an axis? 3. Number -- are there restrictions on the number of points? 4. Supplemental data -- what types of tags or constructs are used to identify points that have special properties or meanings? D. Usage 1. Ease of learning -- how long does it take to learn? What kind of user documentation is provided? 2. Ease of use -- what tasks or operations are easy? Which are difficult or cumbersome? 3. Performance -- how responsive is the program? Do any tasks or operations make you wait too long? E. Reliability 1. Error response -- did the program give useful messages when you made a mistake? 2. Malfunctions -- did the program ever crash or hang-up, requiring a restart? If so, how much work did you lose? F. Functionality 1. Missing features -- what were you hoping it would do that it didn't, or didn't do well enough? 2. Best features -- what tasks or operations met or exceeded expectations? G. Cost -- how much does the software vendor charge for the program? H. System Requirements: What operating systems will it run on? Are special hardware requirements? If anyone thinks of any other information that would be useful in a comparison, let us know.
  7. Surface modeling, as mentioned before, consists of picking a set of points that lie on the hull, and an interpolation method. Interpolation method The purpose of the interpolation method is to determine any offset you may want to know that lies between the points that you picked. The interpolation method itself is a mathematical formula that tells the computer how to "connect the dots" for the points you picked. Say we pick 3 three consecutive points from a column (station) of the table of offsets. What shape does it form, i.e., what is the shape of the hull station between those three points? There are several possibilities. Three points could define two straight line segments. Or they could define a circular arc. Or they could define a parabolic arc. There are other possibilities too, but these are the the most common. Which interpolation formula the computer actually uses depends on the set of interpolation methods the programmer chose, as well as the types of input you provided. For example, if the hull is smoothly curved between the points, we'll say the computer uses a parabolic formula. But if you told the computer that the middle point of the three is a hard break, such as the edge of the main deck or a chine, then it will use two straight line segments. The most common interpolation methods for ship design are based on cubic interpolation, of which there are a lot of different mathematical variations. Another common interpolation method is called NURBS (Non-Uniform Rational B-Splines), which is a more complex formulation that can connect points with circular, elliptical, or cubic curves depending on the input to the formula. Cubic and circular/elliptical curve fitting is prevalent because that's the way ships and submarines have always been built, and continue to be. Set of points While the programmer picks the interpolation method(s), you as a user pick the set of input points that lie on the hull, as well as supplemental data such as which points represent hard breaks. However, how you pick the input points (and any supplemental data) is also determined by the program. You can't just throw any set of points that happen to lie on the hull at the computer because it will want them to have some structure or order. We have already seen one such structure -- the table of offsets, which requires the points to be defined at discrete distances from the bow (stations) and discrete distances above the baseline (waterlines). Most programs are not this stringent and do not require the points to be measured at discrete waterlines, but many ship modeling programs do require that points define stations. Often the stations must be flat (at discrete distances from the bow), but some programs allow the stations to be curved (the distances from the bow can vary at a given station). In addition to rules for how to measure the point distances (or "coordinates"), there also may be rules governing the number of points to select. Some programs have limits on the number of stations that can be input, or the number of points per station. Others don't. Even if the program allows many or even unlimited points, there may be guidelines suggesting limiting the number of points. Fewer points gives better performance because computation time increases with number of points. And, while it may seem counter-intuitive, fewer points can sometimes result in a smoother, better looking hull because some the more complex interpolation methods can become overly-constrained by too many points, leading to undesirable bumps and wiggles in the curves computed between the input points. Thus, determining the proper number of points to provide is often a matter of trial and error until you gain experience with the chosen program and get a "feel" for it. The types and amount of supplemental data you need to provide varies a lot among different programs. Sometimes this data takes the form of specific values used to tag special points, such as break points. Sometimes the supplemental data is specified implicitly by the way the points are organized for input. For example, if the hull has a hard chine, the points that lie on the chine might need to be input together to form a "control strake", where a strake is a longitudinal sequence of points, just as a station is a transverse sequence of points. Summary and program reporting A. Type of modeling -- solids, surfaces, or both? B. Interpolation method -- what kind(s) does the program use? C. Points: 1. Structure or order -- how does the program want the points to be organized? 2. Measurement -- do any groups of points need to be at discrete distances from an axis? 3. Number -- are there restrictions on the number of points? 4. Supplemental data -- what types of tags or constructs are used to identify points that have special properties or meanings? D. Usage 1. Ease of learning -- how long does it take to learn? What kind of user documentation is provided? 2. Ease of use -- what tasks or operations are easy? Which are difficult or cumbersome? 3. Performance -- how responsive is the program? Do any tasks or operations make you wait too long? E. Reliability 1. Error response -- did the program give useful messages when you made a mistake? 2. Malfunctions -- did the program ever crash or hang-up, requiring a restart? If so, how much work did you lose? F. Functionality 1. Missing features -- what were you hoping it would do that it didn't, or didn't do well enough? 2. Best features -- what tasks or operations met or exceeded expectations? I will try reporting on a Navy program for modeling ship hulls, and then on CM Creator, using the above outline and we'll see how useful all of you find it.
  8. An "offset" is the distance of a point on the hull from the centerline. All 3d points are defined by 3 coordinates, which are the distances of the point from each of the 3 axis. In a lines drawing, all the points used to define the hull are taken at discrete distances from the bow (a section or "station") and above the baseline (a "waterline"). The stations and waterlines form a table, with stations across the top and waterlines along the side of the table. The distances from the center line (the "offset" of each point) are entered into the cells of the table. Hence, "table of offsets." Table of Offsets Stations Waterlines 1 2 3 4 5 6 7 8 9 10 2' x x x x x x x x x x 4' x x x x x x x x x x 8' x x x x x x x x x x 10' x x x x x x x x x x 15' x x x x x x x x x x 20' x x x x x x x x x x x = offset (distance from centerline) This was common ship design practice prior to computers. Even the earliest ship design software quickly deviated from the restrictive "table of offsets" approach for point definition, which was designed for easy manual hull definition. Because blueprints for old ships often contain a lines drawing and table of offsets, it is useful for ship modelers to understand the approach. CAD programs like the ones you mentioned are very powerful generic geometry definition programs, and many of them have both solid and surface modeling capability, as you mentioned. This allows the user to pick whichever approach works best for what they are doing. Whether to use surface or solid modeling depends on factors such as the exact support your tool of choice provides for each approach and, more importantly, the type of model you want to build. If you are building a small, exterior-only display model, solid modeling may be just fine. If you are building a large model containing both exterior and interior structures, or any model you want to float in water, then surface modeling is the logical choice. If you are building a model from lots of small parts, the choice of solid versus surface may differ for different types type of parts. If you want a simpler to learn and use program that supports only one approach, I would pick a surface modeling tool rather than a solid modeling tool since ship hulls more closely approximate surfaces than solids. This is a good time to mention that I have never used any of the commercial CAD programs. When I worked for the Navy, they had their own software for ship design, plus most of the current CAD software did not exist then. So I know how the Navy modeled hulls, and probably still does, but not how any of the dozens of commercial programs available now might do it. I'm anticipating some of you, who have used some of these commercial tools, will provide that insight -- which I think was the original point of this thread. My goal with these posts is to provide background into surface modeling techniques in general, which can then provide a consistent basis, or 'language', for reporting how the tools you have used work. Reporting your experiences in a consistent way should permit easier comparison. For my part, I will describe how an important Navy software program models a hull, and also how CM Creator does, and try to use the consistent reporting language and see how that goes.
  9. Exactly what I had in mind. Before getting into specific CAD packages though, it's worth reviewing the different approached to digitally modeling objects in general. There are only a few. First, there are two types of 3d objects that can be modeled -- surface and solids. Different approaches are used for each. For solids, there are two approaches: CSG, and curve sweeping. In his initial post, Egilman referred to hull building in common solid modeling 3d design software. By "common solid modeling" I'm guessing he was actually referring to CSG, or Constructive Solid Geometry. CSG creates complex solids by applying boolean mathematical operations -- such as 'union', 'difference', and 'intersection' -- to 3d solid primitives such as cubes and spheres. This can result in the types of complex shapes you might create using a set of tinker-toys or leggos. Curve sweeping creates 3d solid objects by starting with line in 3d space, then sweeping it through space, usually along a circular or elliptical path. This ca result in shapes such as a (solid) submarine pressure hull. If your are building a plank and frame model, the solid modeling techniques could be useful for creating some of the discrete parts. But if you want to model a hull either as a large single entity, or as collection of larger assemblies -- such as main hull, aft skeg, and bulbous bow -- then surface modeling will likely meet your needs better. This is why pretty much every naval architecture CAD tool I'm aware of uses surface modeling rather than solid modeling. There are as many variations on surface modeling as their are surface modeling CAD tools, but they all define surfaces by combining two entities: 1. A collection of points, and 2. An interpolation method. In fact, naval architects have been designing hulls for centuries using the above two entities. I assume all of you are familiar with ship hull lines drawings, and the associated table of offsets. The table of offsets are the points. The lines drawings were created by drawing curves through the points. The body plan curves were drawn with a set of wooden or plastic ships curves, which resembled French curves in shape but were specialized for naval architecture. The waterline and buttock plans were drawn with flexible wooden or plastic splines bent into the desired curved shape and held down with lead weights. The architect then traced the curved line onto the drawing by running a pencil along the edge of the bent spline. So where does the interpolation method come in? Well, beam theory predicts that the shape of the bent spline will always be cubic! (or sometimes parabolic, which is a subset of cubic). The ships curves used for the body plan differed from French curves in that the ships curves were cubic too. Thus, for centuries before the advent of computers, cubic interpolation has been used to design and build ship hulls. Will take a beak now. In the next post I'll take a look at some ways collections of points and interpolation methods have been used to define hull surface shapes using computers.
  10. When Egilman opened this thread he said: The point of this thread is to open up the subject of hull building in common solid modeling 3-D design software... (and to sharpen my skills and hopefully everyone elses) Recently much of the discussion has drifted to 3d printing, largely at my instigation I'm afraid, but the thread topic is larger than that. So, would anyone object if I were change focus a bit and write a few posts about some of the different ways I've seen ship hulls modeled in software over the years, which seems closer to the original intent of the thread. I'll then circle back to 3d printing since I still have a number of questions about it besides transparency. Anyone object to a temporary shift in focus?
  11. Yes, I recall reading about that experiment. These types of tests are very rare because of the expense of creating the test model. The ability to 3d print compartmented ship models could reduce the cost and effort involved, after which flooding tests could become more commonplace. Of course, a prerequisite is a CAD tool that can easily define a compartmented ship to any level of detail required, and then 3d print it. The critical witness was Ballard, who discovered the hull in two widely separated pieces split at the engine room. This corroborated claims that the stern broke off, which were discounted for many years because some of them were made by children.
  12. Agree building 'em is more fun than admiring 'em, but admiring would not necessarily be the end goal for 3d printed compartmented prototypes. Some could have real utility. For example, imagine printing a properly ballasted transparent compartmented Titanic. Then slice through the forward starboard bilge area for a length of 4 compartments, place it in water, watch the water flood in, and see where it settles, or if it sinks (all the history books say it should not sink). If it still floats, then extend the slice one more compartment and see if it sinks the way it really did. If it does, then you have demonstrated a test tank complement to numerical damaged stability calculations, much as tow tank models are used to complement numerical speed-power calculations. This becomes possible by the ability of CM Creator to 3d print transparent compartmented models. As a naval architect, I envision 3d printing of compartmented models opening new possibilities for ship designers. As a former docent/tour guide on the Battleship Texas, I envision 3d printed transparent compartmented models having utility in that domain as well. Sometimes the finished model is not the end of the journey; it's just a waypoint. I fully expect support material to be needed when printing ship model parts and assemblies using FDM. That's fine provided it can be washed away and does not compromise transparency. I'll keep your Shapeways idea in mind. It won't substitute for personal experimentation, but might help advance the starting point. By the way, your observation that the fun is in the making applies to software as well. For anyone who likes ships, modeling building and programming, volunteering to help with CM Creator could be triple fun!
  13. I think I see the disconnect. There is more than one way to build a model, and we are each assuming a different way. Correct me if I'm wrong, but I think the template approach you are suggesting assumes a 'rib-and-plank' type construction where each part of the model is fabricated individually. Of course, this produces the most realistic model because that is the way most real ships are constructed. However, that is not the only way. Ideally, CM Creator would print the entire fully compartmented model at one time as one big part. This would allow the program's users to create prototypes of (1) new ships being designed (by naval architects), or (2) existing ships being maintained (by engineers and shipyard workers), or (3) past ships being remembered (by modelers) without the muss and fuss of gluing parts together. Of course, producing such a model in one fell swoop is not possible, as you all know. So the next best thing is to reduce the parts count to minimize assembly effort. This is important because the first two categories of user may never have built a model in their life; only the last category of user is comfortable assembling a model from lots of parts. So the question in my mind became: how can a complex subdivided model be printed with as few parts as possible? Recall in WW II the German navy was forced to disperse U-boat construction because of Allied bombing. Various sections of the hull were built in different locations, often remote, and then transported to a location on the water for final assembly. This is somewhat analogous to my current plan for 3D printing with CM Creator. CM Creator is designed around a construct called Assemblies, which are analogous to the U-boat sections. Assemblies are combined to produce either the complete ship or some portion -- maybe just the hull, or just a deckhouse, or just the mainmast -- whatever is of interest at the moment. One assembly, or a few adjacent smaller assemblies, would be 3D printed as a single part [the U-boat sections are built]. The printed composite parts would then be manually glued together [the U-boat sections are assembled]. Granted, this is not an ideal solution. The first two user types may still be irked at having to glue printer-size composite parts together -- but, hey, maybe some MSW folks could offer their services to them (for a fee!) On the other hand, rib-and-plank model builders may complain that printing large composite parts does too much of the work for them, or doesn't allow the material variations they want, or . . . . However, I think it is a workable solution. But since it is not yet nailed into code, the plan is subject to modification if someone has a better idea that still meets the needs of all 3 user communities. Which gets us to Kevin's last question -- "what would CM Creator do that couldn't be done in existing packages? I ask because I can't see any difference, in the sense of using software, between modelling an interior vs exterior?" Before starting CM Creator, I did a web review of all the existing ship CAD packages I could find to make sure I wasn't reinventing an existing wheel. I knew what I wanted to do: digitally model the complete interior of a ship, including big ones like carriers, right down to the smallest peacoat locker. Also, I didn't want to spend a small fortune on software that could do it, didn't want to be forced to use Windoze to run it, didn't want to spend hundreds of hours to learn how to use it, and didn't want to spend man-years developing the digital model to a level of detail needed to build the real thing in order to print a scale model just a few feet long. In short, the program needed to be low cost or free; multi-platform, easy to learn, and highly productive. Especially highly productive, else defining all of the 1000's of compartments on a carrier simply would not be feasible -- at least, not until you were actually building it. I want defining the full subdivision to be feasible in early-stage design. And not just for 3d print modeling, but digital modeling for other uses too such as: (a) 3D virtual walkthroughs (anyone care to walk through the Bismarck or Titanic -- without transmuting into a fish?); (b) analyses that require a detailed level of compartmentation (such as emergency evacuation analysis); (c) computing areas and volumes of all surfaces and spaces for myriad purposes (such as estimating how much material is needed to build, paint -- or 3d print -- the ship); (d) assisting in ship concept trade-off studies; (e) digital preservation of museum ships before they finally rust to scrap (nothing lasts forever, but a digital model might come close). The kicker is, I knew how to write such a program because I wrote one while working as a naval architect for the Navy's concept design branch in the 1970's. The program proved quite useful for modeling and analyzing the interiors of a wide range of ships, including an aircraft carrier. (We didn't need to take these to the peacoat locker level, but I knew the potential was there.) Since I wrote the program on my own time, not the Navy's, they acknowledged I owned the rights and let me take the source code with me when I left. So what I was looking for in the web search was any indication that the subdivision modeling approach I gave to the Navy long ago might have made its way into a commercial package, or any indication someone might have created something similar. Either might have precluded writing CM Creator. Result: I didn't find it. Sure, there were tools, like autoCAD, that can model detail to the last nut and bolt; but that is construction, not concept modeling. For early stage design, there were a number of tools, like Rhino and freeCAD, that beautifully model the hullform, and maybe the superstructure envelope, but their interior modeling ability -- to the extent they had any -- appeared limited to major decks and bulkheads needed for calculations like damaged stability. However, I didn't actually spend time and money trying any of them out. So if anyone has used an inexpensive, multi-platform, easy to learn CAD program and believes it can create every deck, bulkhead, partition, and compartment of a large ship with a reasonable amount of effort, please let me know. Since I didn't see any indication such a thing existed, I pressed ahead with CM Creator, which is now up to v0.5. How much longer before it can 3d print? As usual, the answer is, "it depends." And what about the 'rib-and-plank' modelers; will CM Creator be able to help them? As mentioned, the 3d print plan is predicated on reducing the number of parts as much as possible, and Assemblies are the mechanism for this. From a software standpoint, assemblies are simply containers that can hold two types of objects: (1) surfaces defined by "offsets" (naval architecture term), and (2) other Assemblies. Surfaces defined by offsets are used by most every ship CAD program out there to define a hullform. While precise details vary among CAD programs, suffice to say that virtually any surface that can be built can be modeled with offsets, not just hullforms. So an Assembly in CM Creator could define anything from an entire hull to just one rib or stringer of the hull. While the latter is not the intended use, nothing precludes it. So, in principle, CM Creator's 3d print plan could support 'rib-and-plank' modeling. However, there are currently no mechanisms in CM Creator to define offsets for shapes like ribs efficiently, although such capabilities could be added. Thus, modeling ribs and such as separate assemblies is not up to CM Creator's standard for high productively at the moment, i.e., it would be a lot of work. More work than other CAD tools? Don't know. After adding an offset generator for ribs, stringers, and such -- much easier. As for the idea of printing paper templates for ribs and such, I had not even thought about that prior to comments on this thread, but I kind of like the idea. It would be no big deal to capture the output of a transverse slice at the location of a rib to get the template shape. The time-consuming part would be formatting those numbers into a print file format like pdf or postscript to draw the shape on a paper printer. At some point, paper print capability probably should be added anyway, but it just hasn't had the priority. And therein lies the problem -- only one of me and a large, and seemingly ever-growing, 'to do' list. However, like the Linux operating system, CM Creator is open source and copy-lefted, so the door to volunteer developers is wide open. If anyone on this thread is a Java developer as well as a modeler, or knows someone who has Java experience and would enjoy the challenge of working on a bleeding-edge CAD program, have them download CM Creator and email me. My email address is in CM Creator's integral help system on the 'Intro Docs-Volunteering' page. With some help, stronger support for rib-and-plank builders, and 3d printing in general, could come much sooner. Sorry for such a long post, but Kevin touched on probing questions that deserved good answers. I hope this supplied them.
  14. Not sure how to interpret your question. Does "producing cutting and forming templates" mean 'producing' (verb) 'cutting and forming templates' (noun)? Or does it mean 'producing, cutting, and forming' (verbs) 'templates' (noun)? I assume 'the package' refers to CM Creator. The former interpretation is then asking if CM Creator can 'produce' -- perhaps by printing on paper -- templates for cutting and forming acetate parts like windows for a ship model. Ans: it doesn't do this now, but the capability could be added. The latter interpretation would be asking if CM Creator can 'produce, cut, and form' -- perhaps using a laser cutting system -- templates for acetate parts, or maybe even cut the acetate parts from a sheet directly. Ans: this would be conceptually similar to interfacing with a 3d printer, except producing a 2d template (or part) would have far fewer technical issues than a 3d part. Or, did you mean something entirely different?
  15. I went to the original Fennec Labs article, which was better illustrated, and printed it for future reference. Good tip. Thanks, Kevin. A fully-compartmented ship model would involve printing very thin surfaces, ideally only one or two deposition layers thick. This should help with transparency, but raises serious issues with structural strength. I anticipate my initial foray into 3d printing will be a set of experiments to determine just how thin one can print and not have the object crack when subject to normal handling and any needed sanding. The idea of lacquering the surface occurred to me as well as a means of improving strength, smoothing the surface, and possibly reducing the amount of sanding needed. However, the lacquer would need to be absolutely transparent. One possibility is a product called Mod Podge. It is a water-soluble sealant which is used, among other things, as a jigsaw puzzle saver. When applied it is milky white, but when dry it is absolutely clear in order to not diminish the colors of the jigsaw puzzle. It also has enough strength to keep the pieces of the jigsaw puzzle from coming apart. Am thinking it might be a good candidate for lacquering very thin 3d printed surfaces. Don't know how well it holds up to water once dry and cured (the container says cure time is 4 weeks) -- another experiment to be performed.
×
×
  • Create New...