FastShip Release Notes

Please consult the Release Notes each time that you install a new release of FastShip, to get a summary of the changes and improvements that have been made.

Release 6.1.29

  • Added a new member called transform to the perl hydrostatics variable in order to allow macro writers to retrieve the floatation plane transformation resulting from a hydrostatics calculation.
  • Modified the commands copy-surface and mirror-surface so that if the original surface had trimming information, the new surface maintains the trimming information with the exception that trimming associativity is removed (i.e. all trim curves are unlinked). This exception is necessary since it is not known if the surfaces on which the trim curves depend were also copied or mirrored.
  • Modified the behavior of the command, write-model, to allow the keyword "current" when exporting hydro or area entities. The use of "current" informs FastShip that it does not need to update the hydrostatics calculations before exporting the necessary files. This is useful for certain FastShip Perl macros.
  • Modified the behavior of the command, write-2d-dxf, to include the coordinate axes for all 3 views in a "3-view" file export.
  • Modified the behavior of the command, flip-normal, to try to maintain the trimming logic such that the same portions of the surface are trimmed away.
  • Modified the command, create-planing-hull, to include two new shape factors. These are a bow roundness factor controlling the fullness of the bow shape and a transom width at deck factor allowing taper of the hull aft. Additionally minor modification were made to the planing hull algorithms to result in more realistic hull shapes. See the command reference for complete documentation.
  • Modified the logic for commands which internally interpret XML (e.g. load-model, add-model, measure-volume-ex) so that the user is informed and given a chance to continue in the unlikely event that the operations for setting internal locale fail. In the past the command would just fail and return.
  • Fixed a bug in an internal FastShip routine used to compute meshes of offset surfaces. The bug could cause a program crash for certain surfaces having somewhat "unusual" knot vectors by FastShip standards.
  • Fixed a bug in an internal FastShip routine used to project points onto a surface. The bug could cause a program crash for certain surfaces having somewhat "unusual" knot vectors by FastShip standards.
  • Fixed a dimensioning bug in metapoles.
  • Fixed a bug in hydrostatics calculations when using the "fixed trim" option in which the LCG was not being properly derived from the resultant LCB.
  • Fixed a bug in the command goodness-of-fit in which only 4 error bands (instead of the documented hard limit of 8 bands) could be used when the command was accessed from the Goodness of Fit dialog box.
  • A new version of the Hoops Graphical library (version 11) has been incorporated into FastShip in order to provide improved rendering performance and robustness.
  • Modified the FastLock utility to support both FastShip and VisualSMP locks.


Release 6.1.28

  • A new command, fit-surface-edge, was added which allows the user to perform a least squares fit between a polyline (offsets) and a candidate surface edge (including slope discontinuities). The new command was added to the NURBS menu.
  • A new command, create-process, has been added to allow the user to launch an external executable from FastShip.
  • Two new commands were added to FastShip related to images and texture mapping. The commands read-image inserts a gif file as an image into the current model. Currently there is no control over its location or size and it is not persisted in the pex file. This image always faces front as it is not associated with any geometry. The second new command, read-texture, allows reading a gif file as a texture map. The user specifies the name associated with the texture map which can then be applied to surface geometry via the set-surface-color command with the name of the texture as the surface color. Textures are not yet persisted and there is no easy way to display all currently loaded textures so you must remember what you called it.
  • Modified the FastShip hydrostatics command, measure-volume-ex, to correct some issues related to the option to insert a surface representing the resultant flotation plane. These issues were related to improper sizing of the waterplane surface when current units were not SI units and to properly transforming the flotation plane surface for upright (non-free float and non-rollover) hydrostatics calculations.
  • Changed the commands set-project and set-description commands to set the modified flag so that FastShip thinks the model has changed when either of these commands is invoked and will prompt the user to save the model before closing it.
  • Added a new optional argument, "nofilereset" to the read-surface command so that we can force it to act like it is adding a surface model to the current model as opposed to opening a new surface model. Specifically this argument has the effect of telling FastShip not to set the internal filename or the FastShip window title to the filename being added.. This addition was necessary because if a user reset the current system by selecting File/New and then adds a file (as opposed to opening it) we still want the system to think the model has not yet been named. If it was given the name of the added model, then if the user adds a second model to the first and saves, the original model file would get overwritten instead of prompting the user for a filename to save to as is now the case.
  • Fixed a bug in which opening a FastShip model by double clicking the file in Explorer had caused the window title to display the "Untitled" filename instead of the current model filename.
  • Fixed bug in the command associated with the y-coordinate spin button (y-nudge).
  • Modified how corner control points are displayed when they are frozen. If frozen they are now drawn as asterisks like internal control points.
  • Modified the command, set-false-colormap, to accept a new list argument defining minimum and maximum curvature magnitudes for the curvature map. Also modified the Surface Curvature dialog box to allow setting these values. While adding this new functionality, a problem which had existed in the fixed map indices was corrected. A legend was added to show the current curvature mapcolor range.
  • Modified the command, read-iges, to fix a bug which was introduced in an earlier modification related to reading entity 406 to obtain FastShip partnames.
  • Increased the size of FastShip's internal fixed-length strings by a factor of 4 to accomodate longer project names and project descriptions. This became necessary as a result of the generalization of the commands set-project and set-description to allow for very long stsrings.

Release 6.1.25

  • A new command, set-offset-markers, has been added to allow users to display markers on polyline and mesh offsets. Previously when drawing polyline and mesh offsets FastShip would draw only the line segments connecting the offset points (except for point clouds of course). It could be difficult to see where the actual offset points were in these cases. Sometimes it is important to see the offsets markers themselves such as when the offsets represent points taken from a table of offsets so that the user can try to match the offset points and not necessarily the connecting line segments. The View Options dialog box and Reference Geometry toolbar have been extended to allow the user to set offset marker visibility
  • Modified the command, write-shcp, to allow output in metric units using an optional 'metric' keyword argument.
  • Modified the write-surface command to strip carriage returns from project name and description. Carriage returns are permitted in these fields when saving to a pex file but not to a srf file.
  • Added logic to check for invalid characters in partnames for commands which create or rename new parts. Invalid partname characters include ()*.?%^= and leading underscores.
  • Fixed a problem in add-model in which adding surfaces from a pex file having the same object ID as a surface in the current model caused the existing surface to be replaced when the model was saved.
  • Corrected zoom box behavior when the FastShip window aspect ratio changes.
  • Made some small changes to measure-iacc in relation to roundoff of computed values.

Important Note:

Microsoft has announced that as of June 2002 it will no longer provide standard mainstream technical support for Windows 98 and as of June 2003 it will no longer provide mainstream or extended technical support for the Windows NT 4.0 Workstation operating system. After June 2003, FastShip will no longer be tested or supported on the Windows 98 and Windows NT 4.0 operating systems. Any FastShip versions released prior to that time will be tested on Windows 98 and Windows NT 4.0 and will continue to function properly after that time.

Release 6.1.20

  • A new command, add-model, was implemented to allow users to add all or part of another FastShip model in .pex format to the current model. Previously it was only possible to add models in .srf file format to the existing model. Only surfaces and optionally sections are added from the selected models. Systems settings such as units, model orientation, etc. are ignored. The new command is invoked from the File/Add menu item if a .pex file is chosen to add. If a .pex file is chosen the user is presented with a tree view containing the surface parts tree contained in the selected file. The user can pick and choose which parts to add to the current model. After clicking OK the selected parts of the model are added to the current model. A checkbox is provided on the Add Surface Model dialog box allowing the user to ignore sections when adding the selected pex file. This corresponds to entering the 'nosect' keyword when executing add-model from the command line. Users should be aware that selecting this checkbox will cause any trimming information associated with sections in the model to be added to be lost. Existing trimming information in the current model will be unaffected.

  • Modified the command, fit-surface, to allow the user to constrain the movement of the control points to one of the principle orthogonal planes or axes. See the reference manual for a complete description of the constraint options. A new dialog box has been added to allow the user to specify all input to this command. The dialog is invoked from the Nurbs/Fit Surface menu item.

  • Modified the commands, set-project and set-description, to allow (virtually) unlimited length strings. Previously the project field was limited to 15 characters and the description field was limited to 63 characters. The Project/Description dialog box has been modified to allow the user to enter longer strings. In addition, the Save As dialog box has been extended to allow the user to enter a project and description when saving. The Open dialog box has also been extended to permit the user to view the saved project/description information when a file is selected. To accomodate saving a model in the .srf file format, the project and description are truncated to 15/63 character limits when saved as a .srf file.

  • The Measure toolbar and menu have been modified. The Measure toolbar has a new dropdown button added to implement the measure-porcupine command. It offers the following list of choices for porcupine quill scaling factors: 0.5, 0.6, 1, 2, 4, 6, 10, Specify, Last. The new option, Last, allows the user to use the same scaling factor chosen the last time the command was executed. This is particularly useful when the Specify option was selected the previous time as it provides a means to cache the last user-specified scaling factor and reapply it later. The Measure menu has been modified to reflect the same list of choices. The command, measure-porcupine, has been extended to accept the 'last' keyword.

  • The Sections toolbar and menu have been modified. The Sections toolbar has a new dropdown button added to implement the refine-sections command. It offers the following list of choices for refinement tolerance: On Surface, 0.01, 0.005, 0.001, 0.0005, 0.0001, Specify, Last. The new option, Last, allows the user to use the same refinement tolerance chosen the last time the command was executed. This is particularly useful when the Specify option was selected the previous time as it provides a means to cache the last user-specified tolerance and reapply it later. The Sections menu has been modified to reflect the same list of choices. The command, refine-sections, has been extended to accept the 'last' keyword.
  • Modified the command, write-rhino, to have a new 'layers' keyword which allows the user to export FastShip partnames to layer names in Rhinoceros. The Rhino Export Options dialog box to incorporate this new option (and to have a parts tree control) as well as to allow specification of Rhinoceros export version instead of using the dropdown filter

  • Modified the command, measure-iacc, to support the new Version 5.0 of the IACC Rule.

Release 6.1.16

  • A new command, set-mouse-wheel, was created to allow the user to control the zoom behavior of the mouse wheel. The command takes an integer argument. A value of 0 corresponds to the default FastShip behavior which is to zoom in when the wheel is rolled toward the user and to zoom out when the wheel is rolled away from the user. A value of 1 reverses this behavior. Finally the keyword 'toggle' toggles the mouse wheel behavior to the opposite setting. The System tab of the Preferences dialog box has been modified to incorporate this new functionality.
  • The command for measuring hydrostatics, measure-volume-ex, was modified to allow insertion of a plane representing the resultant flotation plane. The command takes a new keyword argument, 'plane', indicating the user wishes to insert this plane. This keyword is mutually exclusive with the 'transform' keyword, i.e. the user cannot transform the model and insert the resultant flotation plane in the same hydrostatics calculation. This should not be necessary because if the user chooses to transform the model, the z=0 plane is the resultant flotation plane by definition. Changes have been made to the Hydrostatics dialog box to accomodate this new functionality.
  • The command, measure-volume-ex, has been modified to allow a new flotation plane definition type. The keyword 'displtrim' for the flotation plane type allows the user to enter displacement, trim angle, TCG, VCG, and initial waterline height values. A free float calculation is performed with a fixed trim angle in this case. The vessel at its initial attitude is assumed to have zero trim. Changes have been made to the Hydrostatics dialog box to accomodate this new functionality.
  • Modified the behavior of the File Conversion utility (accessible from the Tools menu) as follows. Whenever the user browses for an input filename (DXF or GF) to translate, the output idf filename field is automatically filled in with the same name but with a .IDF extension. Also, for DXF to IDF file conversions, the user is now given the additional option to specify whether the up direction in the input DXF file is positive or negative. Previously the positive direction was always assumed and this often resulted in the translated DXF file geometry being imported with an improper vertical orientation. It had been possible to correct for this behavior by using negative scaling factors but this option provides a more direct and logical means for controlling this behavior.
  • The command, make-link, has been modified so that the user cannot apply links to control points that are part of a metapole string. Analogously, the commands create-planar-metapoles, create-linear-metapoles, create-corner-metapoles, and add-managed-poles, have all been modified so that control points which have links to other control points cannot be added to metapole strings as managed poles.
  • Snapping behavior during model editing operations has been modified as follows. Previously, metapole strings were not considered in any of the edit snapping. Now metapole strings are included as part of "snap to net" behavior. Additionally, when the mouse is moved to a location where a snap filter is being applied, the mouse cursor changes to indicate what type of snapping is occurring. For example, when control net snapping is turned on and the mouse is moved with the mouse selection proximity of a control net segment during an edit operation, the cursor displays the word "Net" to indicate net snapping is occurring. Thisis especially useful when multiple snap filters are turned on and the display area contains many potential types of geometry to snap to.
  • Changed the measurement text which appears on the main display area to use a roman font if available. If not the system default font is used and lastly a stroked font if none of the others is available.
  • Changed the behavior of the menu item View/Toolbars/Show All to include the metapoles toolbar. Also retain metapoles toolbar state between FastShip sessions.
  • Several internal changes were made to the security and licensing logic including the ability to support Rainbow Superpro network hardware locks in addition to the legacy NetSentinel locks.
  • Made several minor changes to the default hydrostatics HTML and text style sheets to improve correctness.
  • Fixed a units conversion error in the calculation of the displacement-length ratio which is output in the hydrostatics.
  • Modified the behavior of the Edit Section dialog box so that you cannot modify the section plane definition to be the same as another existing section in order to avoid duplicate sections.
  • Modified the hydrostatics calculations so that heel and trim are reported in the Excel output even for upright calculations where no CG has been specified since trim could be non-zero for the "Waterline Height and Trim" input flotation plane option.
  • Modified the command for creating surface/surface intersections, define-intersection, to change the default step size to be 0.1 meters expressed in the current user units instead of using 0.1 user units which could be a very small step size if the user is working in millimeters for example.
  • Modified the command, write-iges, to fix a problem in writing the u-v domain for NURBS surfaces (entity 128). The minimum u and v values had been assumed to be zero which is correct for default surfaces created in FastShip. However, these minima could be other than zero for surfaces imported from other systems or for surfaces that have had certain topological manipulations performed on them.
  • Modified the command, read-iges, to fix a problem in reading units when the IGES file units indicator is set to 3, meaning that the units are to be determined by the units label string. Previously, feet units were assumed in this case. Also corrected an issue when reading an IGES file containing multiple surfaces with the same name. The intended behavior of appending the next available integer number to the name to make it unique worked most of the time but not when the current part in FastShip was other than "/top".
  • Modified logic for reading non-orthogonal sections (i.e. cants, diagonals, inclines, and general planar sections) so that when adding a surface file (.srf) to an existing model, there would not be any redundant definitions of sections at the same location. Previously there had been a problem when adding a surface file that had non-orthogonal sections at the same location as the current model. Tolerance/precision issues had caused FastShip to see the sections in the surface file being added to be at a slightly different location then those in the existing model and hence created a redundant section a very small distance away from the original. This issue has now been addressed.

Release 6.1.15

  • A new command, delete-offsets, was added to allow user to delete offsets from a part or parts without deleting the entire part (as the delete-part command does); this command was added to the main Parts menu and to the right mouse-click context-sensitive popup menus.
  • Made numerous modifications to the FastShip hydrostatics calculations. Extended the FastShip hydrostatics calculation to include metacentric shelf and neutral axis of waterplane computations as well as computation of the traditional displacement-length ratio. The HTML and text output style sheets were modified to include the results of these computations. Also extended the FastShip Excel hydrostatics output to include all of the same data that is output to the HTML and text formats. Some new plots were added to the Excel output as well. Changed the HTML and Excel output to use the area, volume, and density unit conversions specified by the user. Previously, area units were assumed to be linear units squared, volume units were assumed to be linear units cubed, and density units were assumed to be weight units per volume units. Changed “Mass” label in the hydrostatics output to “Weight” since that is what it really is. When performing hydrostatics calculations based on flotation plane input (e.g. upright hydrostatics) the weight value listed should be identical to the computed displacement. When performing free float calculations, the weight value represents the input weight and is the same as the computed displacement within iteration tolerances. Added a new capability for reference draft calculation; previously users could either use the default draft computed by FastShip (the "navigational draft") for calculating Cx and Cb or specify a fixed draft; the latter case would be useful if the model had a below baseline feature like a dome or keel which should not be included in the form coefficients; however, when performing multiple hydrostatics calculations at a range of drafts, a fixed number like this is inappropriate for all of the flotation planes; now the user can specify a point location (x,y,z) to which to measure the reference draft; internally and in the measure-volume-ex command this is represented by a ref draft value of -1, and an associated point location; the new option has been added to the hydrostatics dialog as well as to the command.
  • Modified the command, goodness-of-fit, to allow multiple offset parts in the specification.
  • Modified the command, insert-chine, so a single click serves to get both the part and interval and fraction at which to insert the chine; both arguments must still be entered separately when using the command from the command line.
  • Added F1 function key context sensitive help links. Pressing the F1 function key starts the FastShip Help System. Pressing the F1 key with a dialog box open performs the same function as selecting the Help key in the dialog box, namely, opening the help file to the relevant page.
  • Modified the behavior of the FastShip parts tree to (1) show parts containing offsets (whether they are node or surface parts) by setting their background color to magenta and (2) displaying surface part name text in the color of the surface mesh (white surfaces are shown with a grey text color so that they are visible in the tree).
  • Added two new menu items to the View menu. Selecting View/Toolbars/Basic from the menu arranges a basic toolbar layout with the minimum number of toolbars required for basic FastShip functionality. It is particularly useful for new users who are just becoming acquainted with the FastShip graphical interfaces. Selecting View/Toolbars/Show All from the menu causes all of the FastShip toolbars to become visible and arranged in default locations. This menu item replaces the functionality of the “Default” button in the Toolbar Layout dialog box. This button has been removed.
  • Modified FastShip behavior to show curvature quills and false color map on trimmed surfaces. Previously surface curvature could only be seen with trimming turned off. Also fixed a problem in showing real-time curvature on trimmed sections which sometimes caused program termination.
  • Modified the command, write-rhino, to write surface trimming information when the global surface trimming state is on. Testing of this new functionality has shown it to work consistently when exporting Rhino 3 files but less so for Rhino 2 files.
  • Modified the command, read-rhino, to read any polyline information in the file in addition to the surface information which was previously read.
  • Modified the command, write-gf, to (1) allow models with positive z pointing down to still be exported to a GHS geometry file (by automatically adjusting the order of section output, the direction of section tracing, and the section z values) and (2) to add a new optional argument which gives the user some degree of control over the algorithm used to order section segments when a section intersections multiple surfaces. Previously the multiple section segments which resulted in this case were assumed to be output in order of increasing z value. However, for certain geometries this may not be appropriate so now the user is given the option to also order sections in decreasing z value or in increasing/decreasing y value. This should alleviate many of the problems in creating geometry files from multi-surface models. The GF file export dialog has been extended to allow for this new argument.
  • A new version of the Hoops Graphical library (version 9) has been incorporated into FastShip. This should provide improved rendering performance and robustness as well as allow incorporation of new rendering features in future FastShip versions.
  • Changed the behavior of the File/Open dialog so that the default file type filter includes both .srf and .pex files. This allows users to see all FastShip model files without having to change the filter as was required in previous versions.
  • Modified the behavior of the File/Save As dialog box so that the parts specification listbox and edit field are enabled only when saving to a FastShip 4/5/6 .srf file since .pex files do not support partial model persistence.
  • Fixed several problems persisting data in the new .pex file format. Specifically, fixed a problem in persisting offset data in a native .pex file. Previously offset data had been saved with the model but was not being correctly read in. Also fixed a problem in persisting section calculation status which previously was not being saved. Added persistence of Kilgore generators to the .pex file.
  • Fixed a problem in the view angle alarm handler. Previously when the user had the edit planes arranged such that they were nearly perpendicular to the viewport view, an alarm or warning message was issued, but the middle mouse button shortcut for spinning the model was not functional. This has been corrected.
  • Modified the Round Bilge Hull wizard tabbed dialog box to remove all leftover references to planing hulls. This does not affect the functionality of this wizard.
  • Modified the macro, matchsac.mac, for matching sectional area curves to place temporary files in the root of the hard drive to avoid problems with long filenames. These temporary files all are prefixed with "pe_" so that they can easily be identified and removed.
  • Modified the number format used in Excel output in an attempt to serve a variety of system locales and a variety of operating systems. Previous versions did not properly export Excel information when running Windows XP with a European locale.
  • Corrected a bug in metapole functionality which occurred when changing the topology of a surface (such as when inserting a new net row/column) that had one or more metapole strings containing metapoles which managed other metapoles (as opposed to just managing regular poles). Also made a units correction to the commands, create-empty-planar-metapole and create-empty-linear-metapole, which had previously assumed metric units only and changed some of the metapole creation prompt strings to be clearer.
  • Corrected a bug in command construct-line g2 in which including the corner or joint point in the selected points caused a program failure. We currently check for this selection and issue an error message to the user if necessary.
  • Modified the logic for trimming sections on trimmed surfaces (through the section refinement command) to improve robustness.
  • Modified the behavior of the FastShip main window so that the window placement information and the toolbar placement information are only stored on exit if the FastShip main window is not minimized. This was done to correct a problem in which if FastShip was closed while minimized the toolbar layout was stored incorrectly.
  • Modified the behavior of the keyboard accelerator keys (<ESC>, <TAB>, <CTRL>+<TAB>) so that they perform their intended shortcut functions regardless of where the FastShip focus is. Previous versions of FastShip required the focus to be in the command line for some of these accelerators to work.

Release 6.1.14

  • The command, write-iges, was enhanced to include all used-defined planar sections and intersections in the IGES file. Perimeters and chines are currently excluded although most third party programs allow edge curves to be extracted as needed. The optional keyword, sections, was added to the command (as well as to the graphical interface through a checkbox) to allow the user to include sections when desired. Remember to refine your sections now before exporting an IGES file from FastShip.
  • The Realtime Hydrostatics toolbar has been extended to include reporting of displacement, LCB, and Cp when realtime hydrostatics is enabled. This was added to the existing report of these values in the active viewport so that they remain visible if the user zooms into an area of the model such that the viewport-reported values are not visible. Also, fixed a bug in realtime hydrostatics which caused the sectional area curve drawn in the active viewport to gradually increase/decrease to infinity as the model is manipulated if realtime hydros is turned on before a hydrostatics computation has been made.
  • Modified the DXF file translator to handle translation of polygon mesh entities. Also made a small change to improve handling of Object Coordinate Systems (OCS) in the DXF file.
  • Made a minor correction to all routines which export FastShip sections so that closed sections (such as a buttock near the outside of a bow bulb) are correctly exported when using trimmed surfaces. Previously, the last polyline segment closing the section was sometimes omitted.
  • Corrected a bug in linked control net vertices. Flipping the normal on a surface causes a reordering of the control net columns. This had the effect of corrupting and linked vertices which might have existed in the surface. Now, flipping a surface normal causes any links in that surface to be removed.
  • Modified trimming commands, trim-surface, add-trim-curve, link-trim-curve, so that perimeters and chines can't be added as trim curves either interactively or by specifying the perimeter/chine index at the command line. FastShip does not currently support trimming against perimeter/chine curves.
  • Enhanced error trapping in FastShip native .pex file reading to help ensure readability of older .pex files.
Release 6.1.13
  • Modified the commands, write-rhino and read-rhino, to be compatible with Rhinoceros 3.0. The read-rhino command will now read Rhino version 1, 2, and 3 3DM files. The command write-rhino now writes Rhino version 3 3DM files by default. An optional argument has been added allowing the user to specify the Rhino version to write thereby allowing Rhino 2 files to be exported. Anything other than the value 2 for this argument will write a Rhino 3 file.
  • A new transform keyword has been added to the measure-volume-ex command and a corresponding Transform checkbox has been added to the Hydrostatics dialog box so that users have option to transform the surface model to the resultant flotation plane after computing hydrostatics. The transformation adjusts the model so that the z=0 plane corresponds to the resultant flotation plane relative to the model and so that the origin is located at the center of flotation.
  • Fixed a problem in the default style sheet for HTML hydrostatics output in which sectional area values were being converted to user units via length conversion instead of area conversion.
  • The command, delete-metapoles, has had its security settings changed so that people without the Advanced Modeling module can still delete metapoles since partial chines permit metapoles to be created.
  • Changed the behavior of viewport printing to print all viewports instead of just the active one. This gives the user more control over printing because if he/she sets FastShip to single-viewport mode only the current viewport is printed, but multi-viewport printing can be achieved when desired by setting FastShip into multiple viewport mode. Also the restriction that FastShip use a non-z-buffer hidden surface removal algorithm when printing has been lifted.
  • The command, split-surface, has been modified to move the optional delete keyword (for deleting the original surface after splitting) to the beginning of the command. This allowed us to add the this option to the main menu which we have now done. Also the default partnames for the newly-created split surfaces have been changed to be siblings of the original surface rather than being placed directly under the root part, "/top".
  • Modified the command, construct-line, to make sure that the resulting construction line does not extend outside of the domain which can be represented by the graphics system.
  • Modified the command, even-space-sections, to take a new optional keyword, 'keep', indicating the need to keep points at chine/knuckle crossings regardless of where along the section they might occur. This might mean a section has more points on it then requested from even spacing but might be necessary to avoid losing definition of the shape near chines. The Even Space dialog has been modified accordingly. The internal call to even space made from the write-smp command has been modified to keep chines.
  • Modified FastShip's Rhinoceros 3dm export logic to account for rational surfaces.
  • Several of the FastShip Help menu items refer to URL's which are to be opened in the current default system web browser (such as a link to the Proteus website). This behavior was not working correctly on Windows XP operating systems but has now been corrected.
  • Corrected an oversight in the new .pex file persistence mechanism in which non-zero surface offsets were not being stored.
Release 6.1.12
  • Added documentation for metapole functionality to the FastShip help file.
  • Addressed a couple of low-level programming issues related to memory management for sections and persistence of trim curves.
Release 6.1.11
  • Corrected a problem in converting old-style .srf surface files to the newer xml-based .pex files.
Release 6.1.10
  • Additional modifications were made to make hydrostatics computations work correctly for non-US decimal separators, especially when performing rollover calculations.
Release 6.1.9
  • Basic error handling for invalid .pex files was added to allow FastShip to continue if an erroneous .pex file is read.
Release 6.1.8
  • FastShip has been modified to make it work with decimal separators for locales other than US English. The US English locale uses a period as the decimal separator but other locales, such as many European locales, use the comma as the decimal separator. In non-US locales FastShip 6.1.7 experienced problems reading model files and generating hydrostatics, offset table, and compartmentation output. This issue has been addressed in this release so that output uses the decimal separator for the current locale. Input to FastShip (through dialog boxes and the command prompt) still uses the US locale decimal separator (the period) and uses commas for list separators.
Release 6.1.7
  • The FastShip installation program has been modified to use the latest Microsoft WindowsTM Installer technology. Version 2 of the Windows Installer is required and will automatically be installed on the target system if necessary. Windows Installer provides for more robust software installations/uninstallations and incorporates features such as the ability to repair corrupt installations. One result of using this technology is that future software updates will likely require uninstalling the existing software before installing the update. The user will be reminded to do this at install time.
  • A new version of the Hoops Graphical library has been incorporated into FastShip. This should provide improved rendering performance and robustness as well as allow incorporation of new rendering features in future FastShip versions.
  • FastShip 6 has been enhanced to include functionality for building a compartmentation model on top of an existing geometric surface model. The compartmentation model provides a representation of the principal internal volumes enclosed by the external and internal surface geometry and allows users to extract information including areas, volumes, and centroids for the modeled compartments. The compartmentation functionality has been bundled into a new FastShip module known as the Compartmentation module consisting of more than a dozen new commands for the creation, modification, display, and deletion of compartments. See the FastShip on-line help for a more detailed description.
  • A new modeling paradigm has been implemented in FastShip to permit the user to add control to a surface only where it is needed. Previously when adding surface control the user was forced to add new rows and/or columns to the control net. These rows and columns extended throughout the entire length of the surface even if the new control was only necessary in a much smaller subdomain. The new technology makes use of a new type of editing entity called a "metapole string" which substitutes fewer poles to control what would ordinarily have been a more complex net structure. This new technology has application in many different modeling scenarios but specific examples include maintaining continuity across multiple knots (e.g. chines) and maintaining corner wrap conditions. A detailed discussion of the use of "metapole" technology in FastShip is beyond the scope of these release notes. Please see the FastShip on-line help for a more detailed description.
  • Numerous modifications have been made to the FastShip hydrostatics command and calculations. Upright flotation plane input options have been expanded to include specifying multiple waterlines via waterline increment and to allow specification of trimmed waterlines. Free float calculations are now permitted by entering a target displacement and center of gravity, eliminating the need for the old "float" macro. All hydrostatic calculations permit specification of a range of heel angles for rollover stability calcs, eliminating the need for the "rollover" macro. The float and rollover macros are still distributed for backward compatibility. Output has been expanded to include HTML output that can be viewed in any web browser. Output is internally generated in an XML format that can be styled to the user's needs via an XSL stylesheet. Two default stylesheets are provided as part of the distribution; one for HTML output and one for standard text output. A new command, set-hydro-stylesheets, allows the user to specify the location and name of alternate stylesheet files for customized output. Excel output has be extended and improved to address issues related to large numbers of flotation planes and to the use of decimal points as list separators and commas as decimal separators in other locales. Improvements have been made to the hydrostatics calculations for efficiency and precision.
  • A new command, set-mass-constants, has been added to allow the user to specify the fluid density used in FastShip's hydrostatics calculation. This functionality can be accessed from the Preferences dialog (by selecting File/Preferences... from the main menu) in the Units tab. Hydrostatics output has been modified to report the mass density used in the calculation.
  • The addition of compartment modeling in FastShip has given rise to a new native file format for storing FastShip models. The venerable FastShip surface (.srf) file was designed to store the description of the surface geometry model. It is not an easily extensible format and trying to add compartmentation information to this file would pose numerous problems with backward compatibility and would likely give rise to even larger file sizes much in the same way that the addition of surface trimming information did. The native file format for storing model information in FastShip 6.1 is an XML file. XML files are easily extended, are self-describing, and have become the defacto standard for transmitting data across the internet. To avoid potential confusion with XML files from other sources, FastShip XML files have been given the file extension .pex (Proteus Engineering XML). The new .pex file format stores much more information than the prior .srf format, such as system state (including trimming status), viewport state (including layout, view angles, and surface visibility), any currrent offsets data and any current compartmentation data. Furthermore, .pex files are generally read into FastShip much faster then the old .srf files since the new format does not rely on the command processor to parse a separate .aux file for auxiliary settings. Two new commands, save-model and load-model have been created to replace the existing commands, write-surface and read-surface, as the native file persistence commands (although the surface persistence commands are maintained for backward compatability and as a means to export portions of the geometry model, say a rudder, from a larger model).
  • A new command, insert-chine, has been added which automatically inserts the correct number of coincident knots to create a slope discontinuity. Previously, multiple-knot chines were created using the command insert-knot repetitively. The new command examines the order and knot vector of the specified surface to determine how many knots to insert and warns user if a slope discontinuity already exists at the specified location. The command requires a row/col keyword to determine the direction of the chine, the name of the surface in which to insert the chine, and a list containing the interval and fraction at which the chine is to be inserted. The optional keyword 'partial' as the first argument allows the user to specify that a partial chine be inserted outside of which metapole strings will be created to maintain slope and possibly curvature continuity across the inserted knot(s). When this keyword is specified the user will be prompted at the end of the command to select two vertices delineating the extent of the chine. Outside of that extent the command attempts to create planar metapoles strings for quadratic and higher order surfaces or linear metapoles strings for linear surfaces. If creation of a planar metapole string fails for any reason, such as colinear vertices across the inserted knots, the command creates a linear metapole string instead. Another optional keyword argument, 'linear', forces linear metapoles strings to be created outside of the chine extent. This command has been added to the NURBS main menu as Insert Chine and Insert Partial Chine.
  • A new command, write-hsf , has been added to FastShip thatcreates a Hoops streaming file containing the current NURBS surface geometry. The only argument is the name of the file to write. This command is similar to the command write-hmf used to write Hoops metafiles. Hoops streaming files have the added benefit of being able to be efficiently streamed over networks of any bandwidth.
  • A new hull wizard, the round bilge hull wizard, has been added to FastShip to allow the user to create a round bilge displacement-type hull surface. The surface is bicubic and is created to match 14 different user inputs including gross dimensional values, angular constraints, and several shape factors. A new command, create-displacement-hull, has been added to implement this wizard. A tabbed dialog box has been added to the graphical user interface to allow the user to input the hull form parameters.
  • A significant change has been made to the FastShip licensing scheme. Surface intersection and surface trimming functionality which had previously been part of the Advanced Modeling module has now been moved into the Base FastShip module. All new metapole functionality has been made part of the Advanced Modeling module which now consists of metapole functions, surface fitting functions, and deck/bulkhead creation functions. Also a new Compartmentation module has been added to the licensing options containing compartmentation functionality.
  • Modified the command query-surf-properties , so that 1.) it employs an interactive agent to allow the user to click on the surface where it is to be evaluated and 2.) the results of the query are printed in the display area in addition to the previous behavior where it was displayed at the command echo and made available for use in perl macros. Also the command has been added to the main menu under Measure/SurfPt Properties
  • Modified the behavior of the Add Sections dialog box so that for section types other than station, buttock, and waterline, 1.) the Compute Extents button is disabled, and 2.) the Section Number mode is disabled, both because the axis direction along which the plane constant is measured for these other section types is generally not along any of the principal axes and so the extents and section number, which are computed along principal axes, would not be meaningful.
  • Modified the surface/surface intersection calculations to be more robust in computing the initial intersection point from the user's graphical selection of the two surfaces to intersect.
  • Modified the surface trimming calculations so that loop attribute locations now automatically move to a more representative position within a loop whenever loops are recomputed. An attempt is made to determine the geometric "center" of the loop or some other more representative position so that they are less sensitive to changes in geometry and are more likely to be properly computed when large changes are made.
  • In an earlier release of FastShip, the popup menu when right-mouse clicking on a surface in the parts tree or in the main display area was modified to change two menu items, "Make Visible" and "Make Invisible", into a single checked or unchecked "Visible" item. This change was made to improve the efficiency of user interface but turned out to have an undesired side-effect. When a user right clicked a node in the parts tree having many subparts the behavior was to toggle the children's visibility when the desired effect was typically to set or unset all of the children's visibility. Therefore the popup menu has been changed once again to have choices to set or unset visibility (for the entire surface(s), for just the surface control net(s), and for the surface control net markers since FastShip can now set these items individually). Furthermore, node parts containing offset data will have their visibility set according to the set-visibility command. Previously offset data was unaffected by visibility setting unless it was in a part which also had surface data.
  • The commands, make-link and break-link , have been modified to accept an optional keyword, 'patch', allowing the user to link or unlink a rectangular patch of control points at once without having to individually select each point as in the past. This modification is especially useful for linking more than 2 coincident control points when it is not possible to interactively select one or more of the points in the group. This new option has been added to the main menu under Edit/Link/Make Patch and Edit/Link/Break Patch.
  • In a previous version of FastShip a dynamic zooming behavior was attached to the middle mouse wheel if present. This behavior has been extended so that the display zooms toward the cursor position, in effect combining a zoom and pan operation in one.
  • Modified the behavior of the Measure/Porcupine/Specify menu item to remove the implied replay operation. This was done because the replay had been placed on the stack prior to the user entering a porcupine scaling factor thus forcing the user to re-enter the scaling factor for each curve to be measured. With the automatic replay removed the user can enter a scaling factor once then click the replay command to replay that same scaling factor for multiple measurements.
  • Modified the behavior of the FastShip exiting and file saving behavior. Previously, when the user exited FastShip, he/she was asked whether or not to save the current model (if it had changed since the last time it was read in) and was then prompted again for confirmation to exit the program. Two changes have been made in this area. First the second (and somewhat redundant) exit confirmation prompt has been removed thereby eliminating an unneccessary mouse click. Second, the dialog which prompts for file saving has been modified to include a Cancel button in addition to the existing Yes and No buttons. The latter two buttons will either save or not save the existing model but will continue with the operation (eg exiting the program) selected by the user. The Cancel button cancels the selected operation thereby allow the user to initiate a different operation (such as a Save As....) if desired. This new prompting logic applies to operations other than just exiting the program including reseting the system (via File/New) and reading in a new model (via File/Open or the most recently used file list).
  • The hardware lock utility, FastLock, has been modified to display the total number of network licenses available as programmed into the hardware lock.
  • The algorithm for displaying linked control points has been modified both to maintain consistency of link colors within a surface as well as colors of links across surfaces.
  • A new dropdown toolbar was added to facilitate creation of construction circles without having to use the main menu or command line.
  • Modified FastShip autosave behavior so that the user cannot persist a recover frequency of zero (ie no autosaving). This was done to avoid situations where the recover frequency was set to zero in FastShip and was later forgotten about until the recover command was needed and no autosave file existed. Now the user must reset the recover frequency each time FastShip is started if a zero frequency is desired. The recover frequency is still persisted for all values other than zero. Also, fixed a bug in the recover command that failed when the file path was too long.
  • Modified command for writing hydrostatics output in an IDF file, write-model {hydro}, to take an optional keyword argument, 'yes' or 'no', indicating whether or not the bow points to the right in a standard FastShip profile view. This was necessary to correctly compute the LCB location relative to the FP. Also made the IDF hydrostatics output more robust in general by adding Tx (max draft) even when no midship section is defined and by adding water density now that FastShip allows specification of density. Extensions to the IDF spec required by these changes are documented in the FastShip help.
  • Modified the command create-box to create a box composed of six surfaces (1 per side) instead of three surfaces (sides, top, and bottom). Also modified this command to work with any user units and not just SI units.
  • Modified the command, split-surface , so that the user now has the option of deleting the original surface being split. The default behavior is still to leave the original surface intact and create two new ones. However users running FastYacht with a two surface limit will have to use the new optional keyword, 'delete', to cause the original surface to be removed.
  • Changed the behavior of the FastShip display frame so that the origin (global or relative depending on the editing mode) is always included in the frame even if the current view parts do not encompass the origin.
  • Modified the behavior of the command, read-surface , so that the recover frequency is temporarily set to 0 while reading the auxiliary file. This was done to improve performance when reading surface models.
  • Some improvements were made to the Rhinoceros file import and export commands, read-rhino and write-rhino, to improve robustness. On Rhino file import, if no FastShip project name exists a project name of "Untitled" is automatically set so that the user can save the model (which requires a project name).
  • Modified the FastShip tool for converting DXF files to IDF files which facilitates import of polyline information as offsets (accessible via the Tools/File Conversion... menu item) to handle data in the DXF Object Coordinate System (OCS). Such data is commonly found in DXF files exported from Rhinoceros and previous versions of the conversion tool which ignored the OCS resulted in some offset data being placed in an improper 3d orientation.
  • Fixed a couple of bugs in creating offset tables from FastShip. The first occurred when the user did not explicitly specify a file extension of ".off" when creating offset tables from the File menu. In this case the offset table was created but failed to open in the pop-up window. The second occurred in very specific cases of trimmed geometries but resulted in program termination in the midst of creating the offset table.
  • Fixed a bug in the interactive agent for selecting net control points in the display. Previously this agent had potentially failed when the following conditions occurred: 1.) construction geometry snapping was turned on, 2.) a construction marker existed on top of the net control point being selected, 3.) construction geometry was visible, and 4.) the user selected closer to the construction marker then to the control net.
  • Fixed a bug in even-space-sections so that chine crossing points are retained in the re-spaced sections.
  • Fixed a bug in create-deck and create-bulkhead to account for units other than SI.
  • Added logic to avoid situations where extremely long part specification strings caused failure in the commands for writing IDF files and for computing hydrostatics.
Release 6.0.40
  • A new command, create-box, has been added to allow the user to create rectangular boxes in FastShip. The resulting box consists of three bilinear surfaces; a top surface, a bottom surface, and a surface representing the sides. These three surfaces are given the name, 'top', 'bottom', and 'sides' and are placed beneath a part whose name is defined by the user as the first command argument. The second argument is a list defining the {length, width, height} of the box. By default the box normal points outside the box but by making one of the dimensions negative the normal can be flipped to point inside the box. The third argument is a list defining the {x,y,z} position of the box center. Boxes do not retain their composition history, i.e. after a box is created it no longer knows it is a box, although the creation of the part holding the box surfaces does facililtate some degree of composite behavior. A graphical interface to this new command was added to the Create Parts dialog box which can be accessed via the Parts/Create... menu.
  • Added two new commands, create-deck and create-bulkhead, for creating planar decks and bulkheads with intersections and trimming in one operation. The two commands are aliases for the same FastShip internal command and take a list defining the plane normal of the deck/bulkhead surface to be created as the first argument. The second argument is the plane constant for the surface and the third argument is the name of the surface. The fourth argument defines whether or not the current model is symmetric about the centerplane (i.e. a half model) and the last argument defines a list of parts (the displacer parts) against which the new planar deck/bulkhead is to be intersected and trimmed. Proper use of these commands requires that the displacer portion of the model (e.g. the hull and transom) has already been modeled. Otherwise intersections and trimming cannot take place and the bulkhead will be created untrimmed or partially trimmed.  IMPORTANT NOTE: FastShip cannot compute planar section cuts through planar surfaces when the section and the surface are the same plane. The new deck/bulkhead creation commands make it particularly easy to inadvertently do so. Please be sure that you do not define planar sections which are coincident with planar decks and bulkheads (e.g. a station at the same X value as a transverse bulkhead or a waterline at the same Z value as a deck) or loss of data could result.
  • Modified the behavior of the FastShip display when dynamically resizing the main window so that the display aspect ratio is recomputed for proper zooming.
  • Fixed a problem in joining refined sections across trimmed surfaces which crept into the code in Release 6.0.37 when trying to eliminate the "section dropout" problem.
Release 6.0.39
  • Added graphical interface to the write-rhino command which can be accessed via the File/Export... menu item.
  • Modified the command define-section-numbering to exclude the section numbering prefixes since they are not used at this time.
Release 6.0.38
  • A new command, write-rhino, was added to FastShip. This command is the complement of the existing read-rhino command. The new command writes a Rhinoceros 3DM file from the current FastShip model. The user specifies which parts to write and the name of the 3DM file. Currently this command does not write trimming information. In the meantime users can still use IGES to export the model to Rhino with trimming information. Both the Rhino import and export commands now use the OpenNurbs library meaning that FastShip can  now read Rhino version 1 and 2 files and write Rhino version 2 files (not version 1).
Release 6.0.37
  • Added command, set-section-name, to allow the user to give a section a name from the command line instead of just from the Sections dialog.  Also added a new command, define-section-numbering, to allow the user to define the numbering scheme from the command line instead of just the Sections dialog. These two section commands are now used when writing the FastShip auxiliary file to persist this information.
  • Modified the drawing of the display frame to exclude the drawing of orthogonal planes (only the axes are drawn now) and to draw the relative coordinate system as a dashed set of axes intersecting at the anchor when in relative editing mode.
  • Fixed a problem in create-cylinder-ex which crept into the code on an earlier bug fix.
  • Modified the logic for constructing a marker by projecting a point onto a surface in a plane so that it is more robust.
Release 6.0.36
  • A new item was added to the FastShip Help menu. "Check Latest Release Notes..." allows the user to read the release notes for the current release on the Proteus website to determine when to download the latest version. This menu item is not the same as the Help menu item, "Release Notes..." which directs the user to the release notes for the version which is currently running.
  • Proteus plans to begin general email announcements to current users when new releases are posted. If you would like to be included in this mailing, please send us an email with your contact information (Name, Company, License #).
  • FastShip will now inform the user about pending and past support expiration and allow the user to send an email request for quote for M&S, print a faxable quote request, and check the Proteus website for current release notes. Notification begins once the user is within 30 days of support expiration. The user can choose to postpone further reminders for a period of 5 days if desired.
  • Fixed a bug in the interactive selection of parametric values on offset surfaces.
  • Modified the command, gather-part, to allow selection of parts to gather which are not already inside the current part.
  • Made numerous changes to the section refinement logic for trimmed surfaces to avoid the problem of "section dropouts" where pieces of sections and perimeters were missing after refining models with Surface Trimming mode turned on.
  • Modified the command, rename-part, to append _# (where # represents an integer value) to duplicate partnames as is done elsewhere instead of using the old logic of appending "+" signs until a unique name is found.
  • Modified the command, read-rhino, to more intelligently import Rhino 1.1 models. Part names and colors are handled more robustly and trimmed surfaces are imported together with their loop attributes.
Release 6.0.35
  • Modified the command, write-shcp, to be more intelligent about writing 77777 break points
  • Fixed a bug in writing the FastShip auxiliary file involving precision of section locations. If 2 closely spaced sections were defined in the model (closer than 1.e-4 units) their precision was truncated to 4 decimal places when stored in the .aux file so that they appeared to be in the same location in the aux file. The next time the model would be read in one section would be discarded causing the section numbering to be off for other commands which are dependent on section numbering like link-trim-curve.
Release 6.0.34
  • Construction geometry is now persisted in the FastShip auxiliary file when the user saves the current model. This implies that the next time the model is read in the construction geometry will be available for editing operations. Construction geometry is stored on a viewport-by-viewport basis.
  • Modified the command, write-3d-dxf, to export Kilgore generator meshes in addition to surface meshes. Also modified the DXF Export dialog box to use the tree view part selection mechanism so that non-surface parts (i.e. Kilgore generator parts) can be selected for export.
  • FastShip has been modified so that without a valid hardware lock it will only run in Demo mode for a period of 6 months from its compilation date. This implies that demo versions now expire after 6 months from the compilation date.
  • Modified the command, write-hmf, to exclude Hoops callbacks since they cannot be resolved in the hmf file reading program and typically cause unnecessary warning messages to be issued.
  • Added the ability to see linked control points as groups of colored net markers. Whenever a surface's net markers is made visible any linked vertices are drawn as solid circles of the same color (or asterisks of the same color for frozen vertices). Note that as new links are added the specific colors may change. However a given group of linked control points will always be drawn in the same color.
  • Removed persistence of mesh/net line weights in the registry to avoid confusion in the case where users would read in a file which had a secondary mesh wt of 0, exit FastShip (which persisted this zero value in the registry) and find that the default new behavior was to have no secondary mesh lines when a new model was created. Now mesh/net line weights are only stored in the .aux file. Furthermore, reset-system, always resets the mesh/net line weight to the default values.
  • Added two new commands related to visibility of control nets and control points. The first command, set-net-visibility, allows the user to set the visibility of the control net on a surface-by-surface basis. Net visibility is now a property of a surface (just like surface visibility and surface color) and affects all viewports in which the surface is visible. This property works in conjunction with the viewport property (set set-net-surf command) which determines whether the surface, net, or both are visible. For a surface net to be visible both the surface's net visibility must be on (true by default) and the viewport must have net visibility on. The second command, set-net-markers, allows the user to set the visibility of  control points on a surface-by-surface basis. Again for control points to be visible in a particular viewport both the surface's net markers must be visible as must the viewport's net visibility. This command replaces the old behavior where control points  were drawn when the current part was a single surface. The context sensitive menu which pops up when clicking on a surface in the display or tree view has been modified to reflect this new behavior. The old menu options, Make Visible and Make Invisible, have been replaced with a single item, Visible, which toggles the overall surface visibility and displays its current state via a check. Furthermore, Show Net and Show Net Markers have been added as menu items to allow the user to invoke the new commands and examine the current state of the net and net marker surface properties.
  • Fixed a bug in the the command, write-shcp, in which the program terminated if intersections were present during the SHCP export.
  • Fixed a problem in the Specify Position dialog box in which an error message is issued if the value -0.000 occurs in one of the text fields either by the program or by the user. Now -0.000 is considered a valid field value.
  • Fixed a bug in the Goodness of Fit dialog box related to unit conversions for the error band values.
  • Fixed a problem with certain toolbar bitmaps (such as construction geometry toolbar) in which lines in the bitmaps disappeared when the toolbar button was selected.
  • Modified/extended the command set-edit-fractions and the edit fractions' associated patterns
  • Changed the default control in the Section Quill Norm dialog box to be the quill norm text field instead of the OK button.
  • Fixed a bug which occurred when the user clicks on a control net to select control points to edit and inadvertently selects Kilgore generators which came from the Developable Surfaces module output. This bug caused program termination.
  • Added Help Button links to the Help file for many of the FastShip dialog boxes.
  • Made general improvements to the Excel offset table output option. Added a checkbox to the Offset Table dialog box to invoke the Excel output option. Allow user output units and feet-inches-eighths output. Modified output on the Diagonals Worksheet.
  • Fixed a bug in which editing a surface with Surface Trimming mode on did not automatically update any surfaces which may have been trimmed against the modified surface until the Surface Trimming mode was toggled off and then on. Now any affected surface should automatically be updated.
  • Modified network security behavior using the NetSentinel hardware lock so that if a lock query fails after the user has already obtained a license, the program allows the user to search for a new license. This new behavior was added to handle the case where a network license is lost because the program has been idle for 10 or more minutes and another license request was made from elsewhere on the system.
  • Fixed a bug in the interactive agent mechanism which had the unpredictable side effect of causing the <SHIFT> select mechanism for choosing a group of control points to edit to be ignored if real-time hydrostatics are enabled.
  • Fixed a bug in which loop attributes were sometimes "lost" between modeling sessions with the same model. The loops were still there but information regarding visibility and color appeared to be missing.
  • Made a minor modification to the information stored in the FastShip 6 .srf file so that it is slightly more efficient. Essentially only the trimming curve information need be persisted since the remaining topology will be automatically computed on the fly. This in no way affects compatibility with old FastShip 6 surface files.
Release 6.0.33
  • Modified the network security logic so that if a user loses a network license due to an idle timeout (by default idle licenses become available to other potential users after 10 minutes of inactivity) he/she has the option of searching for another available license before continuing instead of automatically dropping back into DEMO mode.
  • A number of changes have been made to the file conversion utilities for converting DXF and GHS geometry files to IDF files. Aside from a minor change to the layout of the File Conversion dialog box, a checkbox has been added allowing the user to automatically read in the translated IDF file. Furthermore, explicit specification of file extensions for the input and output files is now optional. FastShip will automatically append the .gf, .dxf, .idf extension as necessary. If the extension is something other than these defaults the user can still explicitly specify the extension in the dialog box. A filename (input or output) terminated with a period indicates no extension is present on the file. If the specified output IDF filename already exists, the user is now prompted to overwrite the file. Previously the file was automatically overwritten without user control. Finally, a bug has been fixed in wish forgetting to specify any input or output filename would cause program termination. Now the user will be given an error message.
  • Modified the logic in write-surface so that loops, edges, and edge vertices are no longer stored in the surface file (although trimming curves still are of course). It is not necessary to persist this topological information because it is recomputed dynamically when the model is read in and trimming is turned on. This change helps to shrink the surface file size by a small amount, on the order of 5-10 percent.
  • Fixed a bug in which trimming loops and trimming curves which had been defined in a previously saved model seemed to disappear if the model was  read in and saved without having turned trimming on.
  • Fixed a bug in the handler for mouse operations (mouse clicks and mouse moves). This bug had the unusual side effect of disabling vertex patch selections with real-time hydrostatics on.
  • Fixed a bug in record-macro which prevented automatic macro recording from functioning properly.
Release 6.0.32
  • Modified the Preferences dialog box to include color interpolation flag, false coloring method,  and number of colors in the false color map (set the set-color-interpolation and set-false-colormap commands described in Release 6.0.26). These settings are now persisted in the Windows Registry between FastShip invocations.
  • Modified the network security logic so that shared licenses are allowed. This means that when using a network hardware lock, multiple instances of FastShip running on the same PC will share a single network license.
  • Modified several selection agents to work in "foreshortened" mode.
  • Fixed a bug in hydrostatics which resulted in infinite volume for certain trimmed geometries.
  • Fixed a bug associated with long partnames which occurred when exporting IDF files with large models (many parts).
  • Fixed a bug in realtime hydrostatics which sometimes caused program termination when surface trimming and realtime hydrostatics were on simultaneously.
Release 6.0.31
  • The command, create-offset-table, has been modified so that entering the optional keyword, excel, before the output filename creates an Excel spreadsheet with the offset table information. Also, fixed a bug in create-offset-table which caused a crash with certain geometries.
  • The command, set-sections-quill, has been modified so that realtime curvature can now be measured on surface perimeters and chines. Furthermore, when measuring realtime curvature on  a 3D curve, the command takes an optional argument allowing the user to view the curvature of the curve projected into one of the three principal planes (station, buttock, or waterline). The second argument can now be a list containing the projection plane index and the normalizing quill length. The FastShip interface has been modified so that when the user double clicks on a perimeter or chine (with no other command active) the Edit Perimeter dialog pops up allowing the quill norm information to be specified.
  • Two new commands were added to FastShip. The command, clear-measure, clears the measurement graphics from all viewports and the command, clear-active-measure, clears the measurement graphics from the active viewport. Previously in FastShip, execution of a destructive command first cleared the measurement graphics. While this behavior is still in effect, it is sometimes useful to clear the measurement graphics without clearing the command stack (which a destructive function does).
  • Modified the behavior of command, set-active-viewport, so that when changing viewports the view is not fit when in single viewport mode.
  • Modified read-iges to screen out NURBS surfaces with less than 2 columns or rows as these are invalid surfaces.
  • Modified the command, goodness-of-fit, to apply unit conversions to the specified error band values. Also this command is now available from the Measure menu.
  • Three new commands were added to FastShip. The command set-reflected-image allows the user to toggle the view state so that all geometry in the view has its reflected image (reflected about the y=0 plane) visible as well. This is a way to create mirror images without actually having to create the mirrored geometry. Users should note that mirror images created via this command do not represent real geometry and hence are not included in hydrostatics calculations or in data exports. The second command, set-foreshorten, allows the user to apply predefined scale factors to all geometry in a given viewport. When fairing lines for typical ship forms, it is often useful to foreshorten the view in the longitudinal direction in order to accentuate inflections in the longitudinal curves which would otherwise be difficulat to detect. Hence one might wish to scale the vessel in the longitudinal direction by say 0.2. Note that applying foreshortening with this command does not actually affect the geometry definition, only its visual representation. The scale factors used for foreshortening can be set using the third new command, set-foreshorten-factors.   Both set-reflected-image and set-foreshorten apply to the active viewport and thus each viewport has its own reflected image and foreshorten states. Both of these commands are available in the View Options dialog box and in the Reference Geometry toolbar.
  • Fixed a bug in realtime hydrostatics in which it was possible to have a sectional area curve in the active viewport be different from that in a different viewport.
  • Fixed a bug in hydrostatics computations for heeled and trimmed waterplanes.
  • Modified the View Options dialog box to include the Reflected Image and Foreshorten options. Moved the Rendering algorithm and the False Color option to the Graphics tab of the Preferences dialog box and added the Foreshorten Factors to the System tab of the Preferences dialog box..
  • Allow for multiple surface filenames and macro filenames to be placed on the FastShip command line and properly interpreted.
  • Fixed the command prompt for the command, write-surface.
Release 6.0.30
  • Fixed a bug in the set-edit-fractions command in which the edit fractions were not correctly interpreted..
  • A new command, write-hmf, has been added to FastShip which creates a Hoops metafile containing the current NURBS surface geometry. The only argument is the name of the file to write. Hoops metafiles are typically useful for viewing models in Hoops-based viewers.
  • Fixed a bug in reading DIG files via the File, Import menu item. This did not affect the behavior of the command line function, read-offsets.
  • Modified set-surface-trimming command so that if the argument represents the same value as the current status (i.e. the surface trimming status is not being changed), no computations are performed.
  • Made further changes to surface evaluation logic which had caused unexpected behavior for certain surface geometries and on certain platforms.
  • Changed default hidden surface removal algorithm to software-z-buffer instead of painters because it is significantly faster. This change will not affect existing installations of FastShip because the user's hidden surface removal algorithm preference is stored in the system registry. This preference overrides any default value.
Release 6.0.29
  • Added the drawing of the center point for construction circles. These center points behave like construction markers in that they are valid geometry for snapping and for creating other construction geometry (such as construction lines). However, they maintain their associativity to the circle for which they were created in that they are deleted only when the associated construction circle is deleted.
  • The Construct / Delete menu item has Circles added to the list of construction geometry which can be deleted.
  • Added new behavior to the center mouse button when a three button mouse is used. Depressing the center mouse button instantiates the set-view-angles command so that moving the mouse while the center mouse button is depressed orbits the camera around the model. Depressing the center mouse button with the <SHIFT> key depressed instantiates the set-window command with the pan argument so that moving the mouse while the center mouse button and <SHIFT> key are depressed pans the camera. These shortcuts were added to avoid having to find the appropriate toolbar buttons or menu items to start spinning and panning, two very common viewing operations. This behavior is in addition to the mouse wheel zooming behavior which has been in place for users of Intellimouse pointing devices since the initial release of FastShip 6.
Release 6.0.28
  • A new command, read-rhino, has been added to FastShip providing the capability to import NURBS surfaces directly from Rhino 3DM files. Currently this command is very useful for importing Rhino models with trimming, because the IGES import mechanism does not currently support import of trimming information. At this time, the read-rhino command will preserve the definition of the trimming curves associated with a given surface. However, loop attributes are not currently imported implying that the user will still need to define loop attributes after import. Furthermore, Rhino trimming curves retain no parentage so that the origin of a trimming curve (e.g. a surface intersection) are not defined when imported into FastShip. See the online FastShip 6 Command Reference for details regarding this new command.
  • > A new command, contrast-surfaces, has been added to FastShip. This command allows the user to apply arbitrarily-selected colors to specified surfaces. This command is particularly useful when importing large models from external files where colors may not be specified or supported. See the online FastShip 6 Command Reference for details regarding this new command.
  • Fixed a bug in the command, set-config-path, in which the user could not change the config path if he/she was able to get into a situation where a once valid config path becomes invalid (e.g. a network
    path is used and then the machine is disconnected from the network).
  • Fixed a bug in the security scheme in which the program could become stuck in an infinite loop if a network license is lost or a hardware lock is removed.
Release 6.0.27
  • Modified false coloring logic to fix a problem (which arose in Release 6.0.15) in which a color index corresponding to true green was generally not obtainable due to a floating point arithmetic problem. The effect of this problem was generally small because areas whose curvature corresponded to green (zero curvature) ended up one index off in the colormap which is still nearly green. The differences between the old and new logic can typically be seen only by a direct visual comparison of colormaps.
  • Fixed a bug in the "Specify Position" dialog box when using relative coordinates. In certain circumstances this bug caused an invalid position to result.
  • Eliminated a memory leak in the Hoops callback for highlighting selected control vertices.
  • Two new commands have been added to FastShip. The first, select-pole-fraction, adds specified control net vertices to the editing select set with user-defined edting "weights" controlling what percentage of the standard NURBS editing influence is to applied. These weights are not to be confused with the rational weights associated with NURBS surfaces as they are temporal, existing only so long as the vertices are not removed from the select set, and are merely an editing aid to "relax" or "magnify" the normal influence of moving selected vertices.. The second command, set-edit-fractions allows the user to set is similar to the first except that it operates on vertices already in the select set and allows the user to apply a predefined pattern of editing influence.  See the online FastShip 6 Command Reference for details regarding these new commands
  • A new "limited" version of FastShip has been added to the standard distribution scheme. This limited version restricts the user to having no more than two surfaces in the model at any one time.
  • Modified the FastShip algorithm for avoiding duplicate surface names. Previously when the user tried to import a surface file into an existing model, duplicate names would have a plus sign appended which sometimes gave rise to confusing surface names. Now FastShip appends a unique seqential number to the end of the name which is much more readable.
  • Fixed a bug in surface evaluation logic which occurred only for certain surface geometries and on certain platforms.
Release 6.0.26
  • Two new commands have been added to FastShip. The first, set-false-colormap, allows the user to control how many colors are used in the false colormap (which is used for displaying surface curvature) and whether the colors used vary along a continuous spectrum or vary in striped patterns. The second command, set-color-interpolation, allows the user to specify whether or not FastShip smoothly interpolates colors in a false color map. When turned on, colors are smoothly interpolated and when off, colors are not interpolated and appear as distinct bands. See the online FastShip 6 Command Reference for details regarding these new commands.
Release 6.0.25
  • Made a number of modifications to the kilgore-generators command to improve its stability when creating developable surfaces.
Release 6.0.24
  • Modified the hydrostatics output format so that each page of hydrostatics output is more likely to fit on a single page of printed output.
  • Modified the "Output" dialog box to have a "Font" button allowing the user to specify an output font in order to control the paging of output.
  • Made modifications to the hardcopy printing logic so that false coloring is preserved in the printed output (on color printers) and so that the user no longer needs to change rendering algorithms from hardware or software z buffer in order to print.
  • Modified dynamic surface editing behavior so that the edit transformation values as defined by the current mouse position are displayed dynamically down at the command line as in FastShip 4/5.
  • Fixed a bug in DXF and IDF export of trimmed surfaces which caused program failure when exporting these formats with surface trimming turned on.
Release 6.0.23
  • Modified program behavior to disable the <CTRL> + F4 accelerator key combination. FastShip 6 is intended as a single document interface so only one surface model can be open at a time. Therefore attempting to close the current window/document is not a valid operation.
  • Fixed a bug in the default interactive agent so that double clicking an offset mesh (such as that created by the kilgore-generators command) does not cause a program failure.
Release 6.0.22
  • Modified the IDF Export Options dialog box to show a parts tree control (instead of a list of surfaces) so that parts other than surfaces can be selected. This is necessary now that kilgore generators go into their own "generators" part.
  • Made further modifications to write-model to export kilgore meshes as well as polylines (sections). These modifications will allow users to export offsets read in from a .dig file or from one or more .idf files thereby providing a method for converting .dig files to .idf files and for concatenating .idf files.
  • A new function, measure-girth, was added to measure the distance along a section between two specified points. The command takes optional 'intersect' tags on both input points to allow snapping to the nearest endpoint in the same way that measure-position does. Currently this command only applies to measurements along planar sections, surface intersections, and surface perimeters.
  • Fixed some minor problems with prompts and command echoes for the freeze-net and construct-circle commands.
  • Fixed a bug in create-offset-table when attempting to write offsets on a surface intersection for a station which has been completely trimmed away.
  • Fixed a minor problem in measure-iacc to improve stability.
  • Modified the surface trimming logic to better handle the case of trimming multiple holes in a surface.
Release 6.0.21
  • Upgraded the graphics library to version 5.00 of Hoops.
  • Made some changes to goodness-of-fit and kilgore-generators function to improve robustness.
  • Made fixes to the developable surfaces dialog so that it works properly with the modified kilgore-generators and goodness-of-fit commands. Call goodness-of-fit after set-view-part because the latter is destructive and clears the measurement quills. Also pop up the measure results dialog box after the goodness-of-fit call to allow the user to view the measurement statistics.
  • Move drawing of measurement quills out of kilgore-generators and into goodness-of-fit.
  • Continued implementing construction circles including method (5) for creating circles tangent to two line segments and modification of certain interactive agents to work with circles.
  • Changed behavior of trimming so that all export types include chine curves when trimming is turned on.
  • Made a small change to surface intersection logic which corrected a problem where intersection curves which appeared valid sometimes had zero computed points the next time the surface model was read in.
Release 6.0.20
  • Added a new command, kilgore-generators, which allows the user to find the generators defining the developable surface between two defining curves. Those defining curves are taken to be the opposite edges of the specified surface. The resulting generators are placed in a subsegment of the specified surface. The command write-model was modified to allow the user to export these generators to an IDF file.
  • Added a new command, goodness-of-fit, which measures differences between a set of offsets and a surface.
  • Added a new Developable Surfaces dialog box which facilitates the process of creating developable surfaces. The dialog encompasses the kilgore-generators, fit-surface, goodness-of-fit, and several topology changing functions (raise-degree, double-net) to modify an existing NURBS surface to be nearly developable. Deviations between the modified surface and the developable generators are shown.
  • Added a new type of construction geometry, construction circles, to FastShip. The construct-circle function allows the user to define circles in any of 5 ways, (1) specifying three points that the circle should pass through, (2) specifying the center, radius, and plane normal for the circle, (3) specifying two points on the circle, the radius, and a third point defining the plane of the circle, (4), specifying two points on the circle and a vector through the first point along which the center must lie, and (5) specifying two intersecting lines which the circle must be tangent to and a radius. The circles can be used as a snapping constraint when editing surfaces in the usual way.
  • Added a check box to the Export VRML dialog and a supporting flag to the write-vrml command so that it exports separate files for each part OR all parts in one file. Also added code to make the VRML export respect the FastShip parts tree and export units.
  • Fixed a bug in writing frozen vertices and vertex links to the .aux file when saving a surface model.
  • Fixed a bug in construct-marker for creating a marker projected normal to a surface.
  • Made a small change to the surface intersection logic to handle the rare occurrence of the point on the second surface projecting exactly onto the point on the first surface when trying to find an initial point on the intersection curve.
  • Modified the command read-model to always close the open file handle, update the parts tree, and fit the view when an error is encountered so that the user can see how much of the file was read and can edit the file in place.
  • Changed default value for "global dragging" to on so new installations will have this functionality by default.
  • Fixed a bug in the Specify Position dialog box which sometimes caused relative editing to give strange results.
  • Fixed a bug in hydrostatics for surfaces with non-zero offset.
  • Some macros set autosave count to zero (for efficiency) but don't reset them back when completed. Therefore when the user exits the zero autosave count was getting stored between FastShip sessions (sometimes unbeknownst to the the user). To avoid this dangerous situation, we now make sure that autosave count never gets persisted as zero in the system registry. If a user wishes to keep the autosave as zero between sessions, use a startup macro.
Release 6.0.19
  • Added support for the Rainbow SuperPro hardware lock.
  • Modified the drawing of vertex marker symbols so that the four corners of the surface are drawn with filled circles instead of hollow circles so the user can more easily identify these corners. Remember that vertex markers are only drawn when the current part is a single surface.
  • Modified the command write-pias to have a new optional argument which allows the user to control the maximum number of points per station; if used points are respaced using parametric space; multiknot chine crossings and surface crossings are kept and are tagged as corners in the pias file; all knot crossings are no longer tagged as chines; the current logic works for the case of surface trimming turned off; more logic needs to be added to make this work with surface trimming on. Appropriate changes to the Pias Export dialog box were made.
  • Fixed some minor bugs in even-space-sections command.
Release 6.0.18
  • Modified surface editing behavior so that editing any surface involved in a surface/surface intersection results in an automatic update of any surface trimmed to that intersection.
  • Modified the Create Offset Table dialog box to have the correct title and a "Save" button instead of an "Open" button.
  • Changed the behavior of the Specify Position dialog box so that it is now cognizant of what fields the user has changed. This is significant because the dialog only shows values to 4 decimal places event though the actual values may have more precision internally. If the user does not change a particular field, the internal representation maintains full precision. If a field is in any way edited, it becomes red to signify that the value as edited will become the new internal representation.
  • Fixed a bug in the Specify Position dialog box in which specifying a position during a scaling operation which should have resulted in a zero scale factor sometimes resulted in an erroneous non-zero scale factor due to division by a very small number.
  • Modified the Sections dialog to set the initial focus to the section list so that the user can begin selecting in this list immediately.
  • Fixed a bug in refine-sections related to trimming sections to their associated trimmed surfaces.
  • Corrected a units bug in the wetted surface centroid calculation of the hydrostatics output.
  • Added system trimming state (on/off) to the hydrostatics output header.
  • The FastShip file import mechanism now makes use of the standard File Open dialog box. The user no longer is required to specify the import file type. FastShip will determine the file type on the fly and read it appropriately.
  • Made some modifications to the surface intersection logic to properly handle closed intersection curves.
  • Fixed a bug in logic related to deleting surface intersections which sometimes resulted in invalid memory references.
  • Modified the read-surface command to do a better job of screening out illegal characters in part names.
  • Fixed a problem in measure-wt60 causing invalid results.
  • Modified write-iges to truncate the partname in the 406 entities to avoid exceeding column number format restrictions.
  • Modified create-plate-ex to update the parts tree as necessary.
Release 6.0.17
  • Add the ability to view chine curves with trimming turned on
  • Fixed a bug in which deleting a surface involved in an intersection caused an application failure if that intersection was used to trim another surface.
  • A new function, delete-intersections, was added to allow the user to delete surface/surface intersections explicitly by pointing to them, by entering their ID, or by typing the keywords 'all' or 'list'. Modified the existing delete-sections function to restrict deletion to planar sections. Both functions will permit deletion of the other type if the user specifies an ID explicitly.
  • Fixed a bug in refine-sections related to trimming sections to their associated trimmed surfaces.
  • Fixed a bug in the intersection calculation routines which had caused an incomplete intersection curve to be computed when the user-specified seed location was within the step size from the edge of either surface involved in the intersection.
Release 6.0.16
  • Modified the FastShip initialization code so that the DLL for the FastShip to Excel link is registered at the proper time. This should correct certain error messages stating "Failure to load hydrostatics DLL."
  • Modified intersection calculation logic to remove redundant pts from intersection curves (which might have been added specifically when adding mesh crossings such as when meshes line up precisely between the two surfaces in the intersection). This should correct problems associated with having redundant points in the intersection and trimming curves (such as in IGES export).
  • Fixed a bug in the agent for selecting parametric coordinates on the surface which is used in several of the intersection and trimming functions.
Release 6.0.15
  • Modified the FastShip to Excel hydrostatics link to plot a chart of sectional area curves.
  • Modified the hydrostatics output behavior to allow output of a summary page without the verbose report traditionally associated with hydrostatics output. Also, fixed a bug in parsing of the hydrostatics flotation plane list when ellipsis was included.
  • Modified IGES export to include trimmed NURBS surfaces. If surface trimming is turned on, trimmed surfaces are exported as a combination of bounded surfaces (entity 143), surface boundaries (entity 141), NURBS surfaces (entity 128), and B-spline curves (entity 126). Linear B-spline curves (entity 126) are used for the trimming curves in both parametric and model space since tests with other programs indicated that some could not interpret copious data entity trim curves. Surfaces with holes are written as having multiple boundaries. The write-iges command has a new optional argument, the keyword 'parametric', which forces parametric space trim curves to be written as well as model space trim curves. By default trim curves are written to IGES files only in model space but certain CAD programs require the parametric space definition to correctly import the trimmed surface. The IGES export dialog box has a new checkbox controlling this export option.
  • Modified create-offset-table function to include surface/surface intersections in the offset table output.
  • Changes were made to fix a sectional area curve scaling problem where the flotation plane scaled along with the sectional area curve itself. Also fixed measure-porcupine so that it accounts for any scaling of the sectional area curve when measuring curvature along this curve.
  • Extended the IDF specification to define a point CLOUD entity which consists of points and is read into FastShip as unconnected offsets markers. Modified the fit-surface function to recognize point clouds offsets.

 Previous document Back