GiD - The personal pre and post processor

From 16 to 17

What's new




Main news from version 16 to version 17. (See 'Detailed changes' for the full list of news).
General:

  • Now GiD can run Python scripts thanks to the Tohil package, and is possible from a Python script invoke Tcl commands and interact with GiD data. See Using Python in GiD

        

  • Support for macOS 14 Sonoma.


  • GiD minimized icon menu show recent models to be opened (Windows only)

  • Model .lck file to allow open only a model once as owner, next users can open it read-only and must save with other name.
  • Tkcon console package added to GiD for developer uses (menu: Utilities->Tools->Develop->Console Tcl...)

  • Allow show/hide the process commands used by GiD, for scripting developers,  (checkbox menu: Utilities->Tools->Develop->Show process commands)

e

  • Internet retrieve: new category 'packages' to download Tcl packages into <GiD>/scripts.
  • File browser faster, specially for network units, and show as 'special folder' the local synchronized Nextcloud folders, if any.

  • Refactoring of postprocess preferences converted to standard GiD variables and other variables  changed to be grouped in array syntax OGL_*, Color*, BackColor*, PGF_*, VR_* → OGL(*), Color(*), ...
  • Change to XY view with progressive animation.
  • Selection of entities, new preference SelectionOnlyVisible then instead OpenGL selection mechanism uses a special selection (encoded in color) and only visible entities are selected.
  • Draw with active color the axis when cursor is over, to suggest that can be clicked, and then rotate the view to the perpendicular plane
  • Chinese translation of messages

  • New edit mesh function to detach mesh of geometrical entities, and new GiD variable DetachMeshFromGeometry to do it automatically when meshing or reading the mesh.
  • Show custom icon for .gid project folder (Windows only), and allow problemtypes to declare an Icon pointing to a .ico file

  • Import topography plugin allow to get images from the IGN (National Centre for Geographic Information of Spain)
      


Pre-process

  • GIS::GetRasterFromNodes and GIS::GetRasterFromTriangles now have extra parameters far_points_set_nodata and far_points_distance to avoid far grid points (set as nodata)

Used  by functions that create raster geometry or mesh from nodes, like the image where grid points far of 400 units of nodes don't generate cells

  

  • New Meshio plugin, to import and export in all mesh formats supported by the MeshIO Python library: https://github.com/nschloe/meshio
  • Preprocess mesh: enhanced containers of render auxiliary data, become too expensive in memory and CPU with a mesh by geometric entity

(e.g. model with 100000 surfaces and 200000 triangles spend 5GB → now 1GB)

  • Vtk import in preprocess also
  • IFC import updated to IFC4x3 standard version
  • ACIS .sat import enhanced supporting much more entities and ACIS .sab binary implemented preliminarily
  • DXF import allow .sab volumes encoded
  • Curvature of surfaces tool enhanced: window that allow set limits and out colors and performance increased

  • G-code import plugin animation enhanced. Note: G-code is a computer numerical control programming language, used for 3D printers, and CNC milling machines)

  • Polylines allow creation multiple
  • Export GiD mesh: new option -export_mesh_by_entities to write meshes by geometrical entities or a single mesh by element type.
  • Rhino OpenNurbs library updated from v6 to v8.
  • Abaqus import plugin 0.5 much faster and allow pyramids.
  • Local axis preserved in copy/move and orientation of surfaces is swapped using mirror.
  • Update Tetgen mesher to v1.6
  • Assign to a group a geometry entity meshed will also automatically assign its mesh entities
  • Show in preferences window the variables to set visibility of all kind of entities, and also its bounding box

  • Forced points in mesh allowed with Tetgen mesher


Post-process:

  • Allow to list entities of selected sets from button and contextual menu

  • Vtk import 1.10, allow result matrix defined by 6 components, allow read multiple Paraview .pvtu and .pvd files, import much faster, ...

  • New CGNS format import in postprocess, mesh and results.



  • New Abaqus results .fil format import in postprocess, implemented as a plugin using the Pybaqus Python package for parsing.
  • Line graphs on quadratic elements to use quadratic edges and inner edges instead of only linear edges.
  • View Style Window : less updated when switching single/multiple set properties or on/off
  • File → Save as : added option to create Post HDF5 files with single / double precision:


Customization:

  • Tcl packages: updated tdom (windows), tklib, tcllib, twapi.
  • New Rtree tcl package: to allow spatial searches.
  • New netcdf package to read/write NetCDF (Network Common Data Form)
  • Abaqus import plugin 0.4: allow multiple parts, complete element keywords and create groups from NSET and ELSET information
  • package gdal replaced by osgeo (gdal+gdalconstants+ogr+osr packages), and plugin gdal 1.5 now allow import with ogr package vector formats (dxf, shapefile,...)

  • Tcl packages: included Windows and linux libraries to allow use tdbc::postgres tdbc::mysql and tdbc::odbc
  • New subcommand GiD_Project write_template <template> <filename_out>
  • New GiD_Event_BeforeSaveAsGIDProject <old_projectname> <new_projectname>
  • New GiD_Event_BeforeSaveBackup <dirname>and GiD_Event_AfterSaveBackup <dirname>
  • TKWIDGET: GidUtils::TkwidgetGetDirectoryButton
  • Tcl GiD_Results get -sets : Corrected some errors when using multiple/dynamic meshes with contour ranges.
  • GiD_MeshPre create <layer_name> <element_type> <element_num_nodes> ?-zero_based_array? <node_ids> <node_coordinates> <element_ids> <element_connectivities> ?<radius+?normals?>?

  • Includes a copy of Python3.12.3, common scientific modules (numpy, matplotlib, meshio, ...) are not installed, are get on demand from the pip repository.
  • New JSON packages: gid_json (dict2json and json2dict) and rl_json (binary package to manage json objects 'natively' in Tcl in a similar way as dict's).
  • New package parse_argsA fast argument parser based on the patterns established by core Tcl commands like [lsort], [lsearch], [glob], [regex], etc.
  • objarray package 1.15->1.16 : new command objarray replace_value
  • GiD_Geometry, GiD_Mesh and GiD_Dimension list new flag -avoid_frozen_layers to list only entities of layers unfrozen
  • GiD_Project db save|read mesh|mesh_groups|mesh_local_axes|mesh_conditions|geometry|geometry_groups|geometry_local_axes|geometry_conditions|materials|conditions|units|render|embedded_distances <filename> (special command to read/save some files of the model database, must be used carefully and in the correct state and order)
  • GiD_Project set last_general_mesh_size <size>
  • GiD_Project set changes_dataset <dataset> ?<0|1>?
  • new event GiD_Event_AfterReadGIDProjectWithError which will be called when errors appear while reading a GiD project ( event  GiD_Event_AfterReadGIDProject was not called in these cases )
  • new subcommand to get higherentity: GiD_Geometry get point|line|surface <id> higherentity and GiD_Mesh get node <id> higherentity
  • CustomLib value items allow new attribute validate_expr to validate it with an arbitrary valid Tcl expr.
  • CustomLib value items allow new attribute format_command to format the value with a Tcl procedure.
  • CustomLib value items allow new attribute units_state.
  • CustomLib value items with function allow multiple columns for series of graphs with same x, and draw of graphs changed to use TkLib Plotchart package to allow more features
    • function_graph_type can be xy, bar, pie, polar (default xy)
      • for xy graphs: function_graph_logx="1" and/or function_graph_logy="1" to set logarithmic axis
      • for bar graphs: function_graph_bar_horizontal="1" to draw bars horizontal (default  false and are vertical) and function_graph_bar_stacked="1" (to draw stacked in case of multiple series)

  • Internet retrieve: a module can specify PythonPackages with a list of required Python packages to be installed when downloading it.
  • New GiD_Event_After_InternetRetrieve { content name version platform python_packages }
  • New GiD-Tcl subcommand to print mesh by layers: GiD_EntitiesLayers print <layer> nodes|elements ?-element_type <types_allowed>? ?-offset_element_num <offset>? ?-factor <factor>? <format> <channel>

  • New profiler tool, to measure times and frequencies of Tcl procedures (to allow optimize its performance)

  • New package Tclx with extended Tcl commands like profile
  • Developer tools moved to menu Utilities→Tools→Develop...

  • New GiD_Tools mesh collapse ?-tolerance <tolerance>? ?-try_to_maintain_boundary 0|1? ?-ignore_layers 0|1? nodes <node_ids>|elements <element_ids>|mesh
  • gid_quaternion package with functions to facilitate rotation around axis
  • GiD_Togl pick_one <togl_name> point|line|surface|volume|dimension|node|element|axis <x> <y>
  • GiD_Dimension edit <num> selected  <new_value> and GiD_Dimension get <num> selected
  • GiD_Axis edit 1|2|3 selected|get 0|1
  • Command line flag -no_splash_window to avoid splash window in some special cases (in general can be disabled in preferences)
  • GiD_Mesh -post edit node|element <num> label_on|selected <value>
  • GiD_Mesh -post get node|element <num> ?coordinates|label_on|selected?
  • customLib pick_coordinates value attribute, to facilitate pick a coordinate for some field.
  • Tranform: new <problemtype>.transform file to map changes of names of fields of conditions, materials, etc. along problemtype versions (to read old models and try to preserve this data)
  • VTK plugin import, implemented hexahedra 27 nodes, quadrilateral 9 nodes, prism 15 nodes
  • GiD_WriteCalculationFile elements -elements_faces faces implemented for prism and pyramid.
  • Update Tcl/Tk to 8.6.13 version

  • New Tcl command GiD_Project detach_mesh_from_geometry ?is_attached?
  • New Tcl GiD_Geometry list -mesh_data sub-commands:
    • GiD_Geometry list -mesh_data element_type <element_type> line|surface|volume
    • GiD_Geometry list -mesh_data structured full|semi|center line|surface|volume
    • GiD_Geometry list -mesh_data meshing duplicate line|surface
    • GiD_Geometry list -mesh_data meshing tobemeshed_yes|tobemeshed_no point|line|surface|volume
    • GiD_Geometry list -mesh_data size point|line|surface|volume
    • GiD_Geometry list -mesh_data skip point|line
    • GiD_Geometry list -mesh_data boundary_layer line|surface
    • GiD_Geometry list -mesh_data mesher <mesher_id> surface|volume
    • GiD_Geometry list -mesh_data point_forced_to surface|volume point
  • New Tcl GiD_Raster subsample <raster> <increment_row> ?<increment_col>?
  • New Tcl GiD_Raster fillnodatavalue (to complete a raster with some nodata values, interpolating them from the existing values)
  • New Tcl GiD_Geometry -v2 create surface <num>|append nurbssurface <layer> -interpolate {line1...linen}
  • GiD_Geometry, GiD_Mesh and GiD_Dimension list allow -count flag to return the amount instead the ids
  • GiD_Geometry -v2 delete -also_lower_entities flag to delete also dependent geometrical entities, and in -v2 the syntax changes (the selected ids is a single item)
  • GiD_Geometry exists point|line|surface|volume <id>
  • GiD_Geometry get point <point_id> forced surface|volume
  • GiD_Mesh delete -also_lower_entities element flag to delete also dependent nodes
  • GiD_Mesh ?-pre|-post? exists node|element <id>
  • Fixed a bug in the order that are raised the dependencies (classic problemtype)
  • objarray Tcl package, new commands: swap,permute,new_structured_connectivities,new_structured_coordinates,new_n_from_increment,resize,remove,set  multiple,reverse with <blocksize>,search with -start <index>
  • customLib tree now allow assign a condition multiple times on the same group
  • proc GIS::CreateSurfaceParallelLines { raster {layer ""} }
  • Performance enhanced in several plugins that import mesh, using GiD_MeshPre and new objarray features

  • New Tcl subcommand GiD_Mesh get element from_node <node_id> (to know the elements that points to a node)
  • New Tcl subcommand GiD_Geometry get surface|volume <id> mesh_boundary  (to know the connectivities of the boundary of the mesh of a geometrical entity)
  • Add shtmlview package: a pure Tk widget to render Markdown and HTML files.
    (e.g. W_MarkDown "" -filename "$gid/scripts/objarray/objarray.md")







COPYRIGHT © 2022 · GID · CIMNE