nTopology 3.38 is here! We are back with an update after a two-week hiatus with new features and many improvements. We are releasing two new TPMS Unit Cells with Exact thickness input in Beta and Graph from Mesh Faces block to create your custom unit cell. This release comes with quality-of-life improvements. Be sure to read below about Block Updates and Bug Fixes. As with every release, nTopology’s dedicated support team is ready to answer your questions. Please visit support.ntopology.com to gain access to helpful tutorials and support articles.
Table of Contents
-
Walled TPMS Unit Cells (Beta) with Exact Wall Thickness
-
Graph from Mesh Faces (Beta)
-
Usage Improvements
-
Block Updates
-
Bug Fixes
Walled TPMS Unit Cells (Beta) with Exact Wall Thickness
-
We released two new Unit Cell blocks into beta: Walled TPMS Unit Cell (Beta) and Walled TPMS Unit Cell with Offset (Beta). These blocks have an additional checkbox for the Exact thickness. When checked, the lattice wall thickness is refined to match the desired Thickness input value. If left unchecked, wall thickness is only approximate, and the deviation from the input value may vary from one location to another on the part.
-
Lattices will generate much faster when the Exact thickness is unchecked. Use this setting when fast iterations are needed or for scenarios where you do not require exact wall thickness. At later stages in the process, once you have finalized the design, check the Exact thickness.
-
When the Exact thickness is checked, all downstream operations, such as Booleans, meshing, slicing, etc., will take longer. To avoid this slow-down affecting multiple operations, you can mesh your Exact thickness TPMS using the Mesh from Implicit Body block and then convert it back into an Implicit Body using the Implicit Body from Mesh block.
-
Walled TPMS Unit Cell (Beta)
- Location: Beta > Lattices - Unit Cells
- Description: Single Parameter triply periodic minimal surface (TPMS) Unit Cell. Minimal surfaces are defined as surfaces that have the minimum possible surface area stretched across a particular contour. TPMS are crystalline minimal surfaces, meaning they are periodic in 3 dimensions. Parameter 1: Thickness - Thickness of the TPMS walls.
- Input 1: Unit Cell - The selected Unit Cell to populate the lattice.
- Input 2: Orientation - Unit Cell Orientation (UVW).
- Input 3: Exact thickness - Option to refine wall thickness to match the desired value. When selected, the generation of lattices that use this cell will be slower. Other downstream operations on this lattice, such as meshing and slicing, will also be slower.
- Output: 1 Parameter Unit Cell
-
Walled TPMS Unit Cell with Offset (Beta)
- Location: Beta > Lattices - Unit Cells
- Description: 2 Parameter triply periodic minimal surface (TPMS) Unit Cell. Minimal surfaces are defined as surfaces that have the minimum possible surface area stretched across a particular contour. TPMS are crystalline minimal surfaces, meaning they are periodic in 3 dimensions. Parameter 1: Thickness - Thickness of the TPMS walls. Parameter 2: Mid-surface offset - Offset of the TPMS as a positive or negative approximate distance. This will shift the mid-surface wall inward or outward.
- Input 1: Unit Cell - The selected Unit Cell to populate the lattice.
- Input 2: Orientation - Unit Cell Orientation (UVW).
- Input 3: Exact thickness - Option to refine wall thickness to match the desired value. When selected, the generation of lattices that use this cell will be slower. Other downstream operations on this lattice, such as meshing and slicing, will also be slower.
- Output: 2 Parameter Unit Cell
A comparison of two lattices with Exact thickness checked (blue) and unchecked (gray)
Measuring wall thickness when the Exact thickness is unchecked shows that the thickness is an approximation, although your lattice will generate faster.
Measuring wall thickness with the Exact thickness checked shows that it matches your input value. Areas that look thicker than 1 mm are not perpendicular to the top view. Section cutting these areas with the correct plane confirms the wall thickness is consistently 1mm.
Graph from Mesh Faces (Beta)
- We released a new lattice utility block Graph from Mesh Faces (Beta). You can use this block to create your own custom face-based 1 Parameter Unit Cell.
- You can import a Mesh or create a Mesh in nTop using the Create Single Face Mesh, Mesh List, and Merge Meshes blocks for the input to this block.
- Input the resulting Graph and a Bounding Box into the Custom Unit Cell (Beta) block to use as a Unit Cell in latticing workflows.
- Block Name: Graph from Mesh Faces (Beta)
- Location: Beta > Lattices - Utilities
- Description: Construct a Graph from the faces of a Mesh.
- Input 1: Faces - Mesh to construct the Graph.
- Output: Graph
Usage Improvements
- When you create a new file (empty notebook) and import a part, nTop will now automatically Zoom To Selected (Z) to show your imported part in the viewport.
- Recently Opened Files - you can now quickly view and open your last ten files directly from the File menu.
- We improved the tooltip hover for custom blocks within the Imports tab of the left sidebar, showing the name, type, description, version, and last modified date.
- We added a tooltip hover to the notebook’s output type.
- We added a tooltip hover to blocks or custom blocks with elided titles.
Block Updates
-
We upgraded our CAD interop library for the Import Part block to import CAD designs from the latest CAD packages, including Creo 9.0, Inventor 2023, NX 2206, etc.
-
The Split Text block now has an optional delimiter input. The input string will be split into individual characters if there is no delimiter.
- The Equals block now has a default overload of Scalar, Scalar. In addition, it now contains a new Text, Text overload, that will return a True Bool value if two text inputs match (case-sensitive).
- Static Analysis has been updated to improve results' accuracy in models containing beam elements.
- Modal Analysis has been updated to display the default units, Hz, for the Min frequency and Max frequency inputs.
- The Orthotropic Linear Elastic Property type has been updated to have the nine c_ij stiffness tensor components and the elastic properties. These components can be accessed from Orthotropic Linear Elastic Property and Orthotropic Linear Elastic Property List.
- We are adding blocks to our overload system, so you can easily switch between blocks based on the input type. When these blocks are added to your notebook, they will no longer have a variant input (shown below in the left Surface Integral block in red) and will now be overloaded (shown below in the right Surface Integral block).
When you have an existing block in a notebook (below left) and update to a new version of nTop, the block will now be overloaded and auto-switch to the proper type (below right).
We converted over the following blocks from our old variant inputs to now be incorporated into our overload system.
- Surface Integral now has a Scalar Field and Vector Field overload.
- Surface Area from Body (all versions) now has an Implicit Body and a Profile overload.
- Curvature now has a Mesh and Implicit Body overload.
- Gaussian Curvature now has a Mesh and Implicit Body overload.
- Curve Integral now has a Line Segment and Curve overload.
- Displacement Point Map now has a Static Structural Result and Time Dependent Structural Result overload.
- Von Mises Stress Point Map now has a Static Structural Result and Time Dependent Structural Result overload.
- Deprecated Voronoi Volume Lattice (all versions) now has only a Mesh input when added to a notebook.
- Deprecated Volume Lattice (all versions) now only has an Implicit Body input when added to a notebook.
Versioning Changes
- We made changes to ensure that you can easily select the most up-to-date production versions of blocks.
- Each overload signature is now allowed to have independent version numbers.
- Overload signatures will filter the version dropdown so that only version numbers with identical signatures will be shown.
- Deprecated overloads with unique signatures and no corresponding non-deprecated production version will not show in the overload dropdown UI.
- Deprecated overloads with unique signatures and no corresponding non-deprecated production version will show as (Block Name)[deprecated] in the search bar.
- Deprecated overloads will no longer appear in Context Search.
- Switching between overloads will automatically update users to the highest production version of a block. It will not switch users to the beta version even if beta blocks are enabled.
- Each overload signature is now allowed to have independent version numbers.
- Mesh from Implicit Body 1.0.0, which is not deprecated, is now accessible through the overload dropdown instead of the version number.
-
CAD body from Quad Mesh 1.0.0 will now only be accessible via the search bar as CAD body from Quad Mesh [deprecated].
- This version will not be accessible through the version selection.
- You can upgrade from deprecated 1.0.0 to production 1.2.0 by switching the overload.
-
Volume Mesh 1.0.0 will now only be accessible via the search bar as Volume Mesh [deprecated].
- This version will not be accessible through the version selection.
- You can upgrade from deprecated 1.0.0 to production 1.1.0 by switching the overload.
Bug Fixes
- We fixed an issue where creating a variable from an empty optional list would cause nTopology to exit unexpectedly.
- We fixed an issue where opening a file path would not always open the correct path location.
- We fixed an issue where making a Scalar Field block input a variable created a Scalar variable instead of a Scalar Field variable.
- We fixed an issue where the Block Details window would close when you drag a property chip into the notebook.
- We fixed an issue where making a block a variable would automatically append “_#” to a user-defined name.
- We fixed an issue where a notebook would not properly show visibility when returning from directly editing a custom block.
- We fixed an issue where saving an image capture with non-Latin characters caused nTopology to exit unexpectedly.
- We fixed an issue where the hover tooltip for long names would be cut off.
- We fixed an issue where a warning message would be appended to an error message for a single block.
- We fixed an issue causing nTop to unexpectedly exit when an empty Point Map was passed into the Field from Point Map block. If you provide an empty Point Map, the Field will output a value of 1.
- We fixed an issue with the Warp Cell Map (Beta)block that caused it to fail if the input Cell Map had only one cell layer on a UVW axis.
- We fixed an issue causing nTop to unexpectedly exit if the Rectangular Volume Lattice block was given a Volume input with a 0 volume Bounding Box. The Unit Cell input provided was a TPMS cell. Now the block returns an empty Lattice with a warning message.
- We fixed an issue that caused nTop to unexpectedly exit on re-running the Implicit Body from CAD Body block if the tolerance value was set to less than or equal to 1e-5 mm.
- We fixed an issue in the Natural Frequency Response block related to a unit conversion issue. The fix should improve the results from this block when used as an objective or a constraint for Optimization.
- We fixed an issue that caused the Modal Analysis block to report an error when the user input just the Min frequency value.
- We fixed an issue where the Import Part block could not display CAD Body names.