Strand7 Software: Release History: Release 2.2
What's new in Strand7 Release 2.2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
February 24, 2003 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
With the release of Strand7 2.2 come two exciting new options, the Sparse Solver (for faster solving of large models) and the API (allowing users to interface with Strand7 via external programs). Release 2.2 is also packed with many new features and enhancements to make designing and analysing that much easier. The following is a summary of What's New in 2.2. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sparse Solver API New Import and Export Options New Force Units Changes to View Options New Selection Option Automeshing New Beam Options New Beam Sections New Plate and Brick Options Laminate Changes New Solver Options Modifications to the Spectral Solver New Results Options New Peek Options New Graphing Options New Sub-Model Options Reporting Functionality Enhancements Email Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Notes:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sparse Solver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
There are two major improvements in the solver of Release 2.2: an efficient sparse solver and a new constraint (link) algorithm. Sparse Solver A completely new solver based on sparse matrix methods has been developed. Large problems can now be solved in a much shorter time, and problems that were previously not solveable due to model size can now be solved. The direct sparse algorithm developed is based on a more efficient data storage and manipulation strategy and therefore, the speed-up does not sacrifice solution accuracy. The solution derived with the new solver should be the same as that with the current skyline solver when numerical round-off error is taken into account. Similarly to the skyline solver, the sparse solver requires the nodes in a model to be reordered. Unlike the skyline solver, which needs reordering to reduce the matrix bandwidth, the sparse solver needs reordering to reduce the number of non-zero entries in the global stiffness matrix. An Approximate Minimum Degree (AMD) algorithm is used to re-number the nodes for internal use during the solution. There are different variations of minimum degree ordering algorithms, and all of them are heuristic in nature. These algorithms are widely used because they produce orderings with relatively low fill-ins on a wide range of matrices in the numerical factorisation process and dramatically reduce the time requirements. The option to reorder nodes using the AMD method is available prior to solving from the the solver dialog. Similarly to the other node reordering options, the AMD option is also an option in the Node Reorder tool, should you wish to permanently reorder your nodes according to the AMD. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
On the solver setup dialog, the Sparse option will appear if the version is licensed for the sparse solver. Constraint Algorithm A new algorithm is now used to deal with link elements, replacing the Lagrange Multiplier method. As a direct result of this change, the number of unknowns is reduced for all models with enforced nodal displacements and links. Another advantage of the new approach is that the condition of the global stiffness matrix will not deteriorate when constraint conditions (ie links and enforced displacements) are used. The new algorithm is based on the elimination of dependent displacement components. When a constraint condition is applied, the solver will automatically put the related displacement components into two sets, the independent and the dependent component sets, and then determine the relationship between these sets of components. Once the dependent displacement components can be expressed in terms of the independent components, they can be eliminated from the global equilibrium equations, effectively reducing the matrix size and shortening the solution time. The results of the dependent displacements are calculated after the independent components are determined by solving the global equilibrium equations. Mass Matrices for Dynamic Analysis The option to choose between a lumped (diagonal) mass matrix and a consistent (full) mass matrix has been available in Strand7 since its first release. The lumped mass option is considerably faster than the consistent mass option, but may not be as accurate as the consistent mass option, particularly in coarse meshes. In addition, to fully account for the effects of beam and plate offsets, rotational masses not aligned with the global system, masses connected to link elements, etc, the consistent mass matrix option is needed. In previous releases, a warning message was issued in situations when the lumped mass matrix was requested but the model required consistent mass to fully account for the behaviour of attributes such as beam and plate offsets, rotational masses not aligned with the global system etc. With Release 2.2, if a dynamic analysis has been requested using the lumped mass matrix, but the solution requires consistent mass (due to the presence of offsets, rotational masses in UCS, masses connected to links, etc.) the consistent mass is automatically used by the solver. If the model does not require consistent mass to account for any of the abovementioned attributes, and lumped mass has been requested, then the solution proceeds with lumped mass. Verification Manual This has been completely revised, with every problem re-run using the new solver. The Verification Manual is a PDF included in the Strand7 release. Also included are the ST7 files for every verification problem in the book - over 70MB of Strand7 model files! Other improvements Solution speed has increased for all solution types even when the skyline solver is used. The eigenvalue solver for natural frequency and linear buckling analyses has also been modified and the time for the sub-space iteration is reduced. Parts of the harmonic and spectral response solvers have been optimised and significant solution time saving has been achieved here also. The table below provides a comparison between the Sparse and Skyline Solvers.
Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Introduction Commencing with Release 2.2, a new and very powerful Strand7 tool is available - the Strand7 Application Programming Interface (API). The Strand7 API allows users to interact with Strand7 via an external computer program. This provides the capability to completely bypass the Strand7 Interactive Environment or to perform specialised functions that are currently not available within Strand7 itself. The words Application Programming Interface (API), within the Strand7 context, can be defined as follows:
Basic Functionality In simple terms, the Strand7 API allows users to incorporate Strand7 within their own programs. More specifically it can be used to:
Future enhancements to the Strand7 API will include API functions to execute any of the Strand7 Tool Options on the main menu and API functions to render Strand7 graphics to a window or to an image file. Target Audience The Strand7 API will appeal to a wide range of users including:
The API Toolkit consists of the following components:
The API is shipped with release 2.2 and needs its own activation code as it is a separately licensed module, just like the sparse solver. Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Import and Export Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
IGES Import Options When importing IGES files three new options are available to make modelling easier. IGES Level as Group - If levels or layers are defined in the IGES file, the levels can now be mapped to Group Names and the faces in each level assigned to the appropriate group. IGES Colour as Property - If this option is set, then property numbers are assigned to the faces based on the colour defined in the IGES file. Faces with the "same colour", (i.e. identical RGB values), are assigned the same property number. Furthermore, the colour of the property (as defined on the plate property dialog) is automatically set as the IGES colour. Convert Black Colours to - If this option is set, every time a black colour is encountered it is converted to the selected colour. This avoids a common problem of incorrectly defined IGES faces becoming invisible over a black backgound. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
STAAD Import Option An option is now provided to select the default country type for beam sections. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
NASTRAN Export Options Increased compatibilty between Strand7 and NASTRAN has been achieved through enhancements to the NASTRAN exporting function. These new options include:
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Export Images as JPEG To prepare reports, the JPEG image format is now available from the File/Export function. This format allows various image compression levels from high compression (low quality image) to low compression (high quality image). In most cases, even with the slider set to the highest quality image, file sizes are significantly smaller than BMP format. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Force Units | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Kips and Tonnes Force Units of Force Two new Force Units are available: Tonne Force(Tf) = 1000kgf and kip = 1000lbf. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Changes to View Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
New Number Display Option There is now a new number option, Auto, available which greatly reduces the need to change number formatting between pre and post processing functions. This option automatically converts numbers from Fixed to Scientific formats depending on the number of digits to be displayed. It performs similarly to what would be expected by setting the number of significant digits, rather than decimal digits, with special behaviour for truncating unnecessary zeros. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hidden Surface Option Removed The hidden surface sub-options are now no longer available. Hidden surface removal is now much faster, for very large models. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Selection Option | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
New Option in Select Connected A new feature has been included in the Select Connected Entities Tools which allows you to specify the proximity of the elements to be selected with reference to a master element. As an example, if you select plates connected to plate 14 in the figure below and set the proximity to 0, then all plates in the model are selected. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If however the proximity is set to one when the master entity is set to 14, then only plate 14 will be selected. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A proximity setting of 2 will then select all plates that are less than two connections away from Plate 14, and so on. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Automeshing | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Geometry Cleaning and Automeshing Ongoing within Strand7 development is the further enhancement of the automeshing feature. Version 2.2 has further developed and refined the compatibility of Strand7 with the latest CAD packages as well as ensuring quality cleaning and automeshing. Two important advancements are the following.
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mesh generated using Strand7 2.1.0.
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mesh generated using Strand7 2.2.
Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Beam Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Auto Assign Beam Offsets You now have new options to automatically offset T, L and C sections such that the nodes are on the shear centre. When the SC symbol is shown the beam is offset so that it is connected at the shear centre. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Beam Reference Node Assignment Now instead of the single option of assigning reference nodes to beams, (ie defining a 3-Node beam), you can simply choose to align the beam to the selected node. This will keep the definition of a 2-Node beam but direct the principal 2-axis towards the selected node. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Distributed Moment A new Beam Attribute available is the distributed moment. This is analogous to the Distributed Load Attribute and is available in the beam's principal axis system. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Cutoff Bar Option "Mass always active" has been added to the cutoff bar Section options. The function of this is to include the mass of the cutoff bar, lumped at the nodes, even if the cutoff bar is removed. If not set, then the mass is removed when the cutoff bar is inactive. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Beam Sections | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Added Beam Cross Sections There are now options to create a trapezoid, triangle or cruciform without the need to create a BXS. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The edit feature of the beam cross section dialog also presents the option to calculate an "exact" J value. If set, J is calculated by solving the torsion equation over the section, similarly to the BXS method. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Mirror Beam Sections Selecting the mirror tab when editing a beam section presents the option of mirroring the geometry to generate the composite sections. Mirroring is available for all shapes except BXS and circular sections in 12 configurations and can be viewed in the property window for easy identification. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New AISC Sections The Strand7 database now also contains the American Institute of Steel Construction beam sections. Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Plate and Brick Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Added Plate and Brick Contour Type Various changes have been made to the options available for plate and brick contour types, these are:
![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Laminate Changes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Improved Handling of Laminates Laminates now have their own section in the Property menu, independent of the plate property types. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This independence makes it a simple process to assign a particular layup to multiple Laminate plate elements, provided as a drop-down list in the plate property dialog. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Property Summary Changes Verification and reporting of composite models is now even easier with the complete layup for each laminate given in the Property Summary. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Printing Laminate Layups The option is now available to print laminate layups not only in colour but also as black lines. The black lines option is selected via the Solid/Wireframe toggles on the print preview screen. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Solver Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
CPU Detection Strand7 can now detect the general class of CPU installed on your computer and launch the solver optimised for that CPU. Located under File/Preferences you can now select the detect CPU option for the optimum solver speed. The second option uses a generic solver compatible with most CPUs. This is provided only as a backup, in case your particular CPU cannot be detected. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Solver Default Tab Changes The General Tab in the solver window now provides two new options: Perform Residuals Check - When this option is selected the end of a linear static solution now includes comparison between the work done by the applied loads and the strain energy generated. This difference is an indicator of cumulative round-off error in the matrix decomposition phase, (or a measure of the matrix condition). Suppress All Singularities - With this option any local singularities in the model that are detected are assigned a small stiffness to allow the matrix decomposition to continue. This is comparable to the previously available suppression of drilling freedoms within Strand7, except now it is applied to all local singularities. If this option is not set then Strand7 will terminate the solver as in previous releases. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The Elements Tab in the Solver Window also has a new feature available, the option to choose the strain definition in GNL situations. Nominal Strain - Strand7 Release 2.1.0 uses this option for strain calculation. For this case, local strains are calculated with reference to the deformed coordinate system. For a simple 1D problem the strain magnitude is reported as ΔL/(L+ΔL). Engineering Strain - This option gives local strain with reference to the deformed coordinate system, but as a ratio of the original undeformed size. For a simple 1D problem the strain magnitude is reported as ΔL/L. Green's Strain - This is a mathematical measure of strain. While it is the strain that is used internally by the solver during iterations, the local strains are reported in the original undeformed system. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node Flux Node Flux is now available as an option to be calculated in heat transfer solutions, as well as the previously available element flux. It is analogous to Node reaction available in structural solutions and is particularly useful when summing to determine the total heat flux over some region - as the convention is that positive node flux flows out of the structure while negative flows in, determining the heat flow is as simple as adding the node fluxes. In previous releases this had to calculated by integrating the element fluxes which was time consuming and less accurate than this new approach. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Solver Log File The solver log file has been redesigned to make verification of load summations easier. Load summation for element types, total loads and moment summation about the origin have been separated into individual paragraphs with a separate line for each load case. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Modifications to the Spectral Solver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Multiple Spectral Load Cases
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AS1170.4 Spectral Curves The AS1170.4 Spectral Curves can now be included by simply importing them from text files located in the Strand7\Tables folder - no more need to create them yourself. Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Results Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Contour Limit Enhancement Within Strand7 it is now even easier to determine if a section of Structure is above allowable limits. Two check boxes are provided in the contour configuration dialog box that controls how the contours outside the user-defined limits are displayed. The two options, >Max and <Min, if set, will determine the colours to be used for contours outside the user-defined limits. By default, all elements above the limit are coloured white and those below are grey. If these options are not set then contours outside these limits are shown in wireframe, which improves the ability to see if any internal elements exceed the limits by allowing you to see through the structure. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contour with >Max and <Min both set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contour with >Max and <Min not set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Beam Fibre Stress Envelopes It is now possible to create envelopes of Beam Fibre Stress. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Save Linear Load Case Combinations To save time when reopening results files, you now have the option to save Linear Load Case combinations when closing the results files, removing the need to recalculate them each time results are viewed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Combination Envelopes As well as the previously available Maximum, Minimum and Absolute Envelope cases there is now the option to create Combination Minimum and Combination Maximum Envelopes. Whilst the first three report the Min/Max/Absolute of all load cases, considered on an individual basis, the new options create load case summations according to the following rules:
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Three options are available for each load case.
![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The following image shows the bending moment diagram for a beam under three different load cases. The first two cases give positive bending moments while the third load case gives a negative bending moment. The first is a permanent load case so it is always added. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The image on the left below shows a Maximum Envelope Case, with the maximum given as the peak bending moment the structure undergoes for any individual load case. The image on the right gives the Combination maximum. This gives the cumulative maximum bending moment, so only the load cases that have a positive bending moment are included - in this example the first two load cases. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node Result Vectors Vectors of nodal results (eg displacement, reaction etc) can now be plotted component by component, in addition to the previously available magnitude option. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Larger Results Files Results files greater than 2GB can now be created and post-processed, with the limit set at 16GB. This will be especially useful for Linear and Nonlinear Transient Dynamic solutions. Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Peek Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Reaction Sum A new option is available in the peek tool that allows you to sum the reaction at nodes, about any point. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Flux Sum Like the Reaction sum you can now choose to sum the node flux at nodes. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Graphing Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
New Graph Type There is now a graph type that allows you to plot Vs Series of Points. This option allows you to select a series of nodes or elements and graph a certain value along these points. As these points can be arbitrary, this is very useful for when the straight line option is not applicable, i.e. around a cylinder. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
These points can be selected by clicking the points on the model, entering the numbers directly in the memo on the dialog (one per line, space-separated or comma separated) or by copy-pasting to the memo. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Graph Changes There is now a tab with all the data points on the graph, which eliminates the need to export to a TXT file. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
You can now choose whether to Draw/Not Draw particular lines in graphs. This means that lines can be hidden without having to delete them. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
New Sub-Model Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Multiple Case Sub-Model When a sub-model is made of a linear static result, now all the load cases are exported to the sub-model. For each load case in the main model, the sub-model includes a freedom case enforcing the displacements in that load case. Previously only the current load case generated a freedom case. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Reporting | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Copy Graphics using Shift+Ctrl+C This provides a very quick shortcut to copying the Strand7 Model window (without the Windows border) to the Windows Clipboard, for pasting to another application. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Print to Image There is now the option to direct graphics printing to an image file (eg BMP or JPEG) as well as the previously available Printer and File options. Image output can be generated at various resolutions with the JPEG option particularly useful as it produces relatively small files for high resolution images. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Functionality Enhancements | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Ctrl-Click the Entity Show/Hide Toggle Normally, by clicking the show/hide toggles, the screen automatically updates and redraws to effect the changes. Often we need to turn on/off more than one entity and for large models this can take time when redrawing after each selection. Instead, hold the Ctrl key while clicking the entity toggles to prevent Strand7 from redrawing after each click. When finished select redraw to refresh the screen. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Multiple Select Load and Freedom Cases The Load and Freedom case dialog now presents the option to multiply select load or freedom cases for import/export operations. If export is selected then all global data for each case can be exported to a text file. Similarly a text file with this information can be imported to multiple cases. The Clear All and Delete functions also work for multiple selections. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Material and Beam Sections Database You can now switch off certain databases within the Material Property and Beam Sections Dialog. Not only will this speed up the initial loading of Strand7 but will also ensure that databases that are rarely used do not clutter up the selection lists. ![]() Top of Page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Email Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top of Page
Email Key Request When requesting a new activation key from G+D Computing to run Strand7 you can now choose to email as well as print the request. This will open a new email containing the serial number and version of Strand7, addressed to key@strand7.com, making a reply even faster. ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subsribe to Newsletter In the Strand7 help menu, you will now see available the option to subscribe to our Newsletter. Selecting this will open a new email where users can enter their details to be placed on our newsletter email list. A Strand7 quarterly email newsletter will be produced that will contain information on Strand7 developments, modelling tips and feature stories. ![]() Top of Page |