nTop 5.20 - Curve and Profiles Update

Learn more about the changes happening in nTop 5.20, where we introduce our new curve and profile types and blocks.

What is Happening?

Updated Curve Types

New Polycurve Type

Updated Profile Type

Summary of Type Changes

Summary of Block Changes

FAQ

 

What is Happening?

Our new curve and profile modeling blocks are being overhauled to allow more modeling in nTop, enabling more design iterations. In this initial release, we’re updating the foundation of the Curve and Profile types. Additional blocks for creating and using Curves and Profiles will be released in the future.

Our new Curve and Profile types are much easier, allowing engineers to use an Arc, Line, Spline, or Polycurve in any “Curve” input. The most immediate change to modeling workflows is the improved ability to create (or import) a string of curves to be extruded, revolved, or swept. This is enabled by the “abstract” Curve type, to which all other curves auto-convert. Profiles and Polycurves can both be created from any combination of curve types. The result of these changes is that nTop’s curve system is much more similar to that of other CAD software.

The old Curve and Profile types are being replaced and will need to be updated manually or created using the new versions of blocks.

Updated Curve Types

curve types.PNG

We’re introducing four concrete types and one abstract type called Curve. All curve types (Arc, Line, Spline, or Polycurve) can be used in any Curve input. See the table in the “Summary of Block Changes” section for a full list of blocks that use these types. Each type has several unique properties, and all Curves share a set of properties:

Curve Property Definition
Arc length field Length along the curve from the start point
Bounding box Bounding box
Closed True if start and end point are equal
End point End point
End tangent Tangent vector at the end point
Length Length
Start point Start point
Start tangent Tangent vector at the start point
Scalar Field (Conversion) Distance to the curve

 

Curve field properties, from left to right: scalar field, arc length field, start/end tangent

New Polycurve Type

A Polycurve is a new type that represents a connected set of arcs, lines, and splines. It can be open or closed, planar or 3D, but not disconnected or branching. The segments (all Curve type) can be accessed in the properties. A Polycurve can be created with the Polycurve from Curves block

A Polycurve consisting of two lines and two arcs

Updated Profile Type

profile type.PNG

A Profile is a set of coplanar curves. It has two field properties: the first is the signed distance field to the infinite extrusion relative to the profile’s plane, and the second is the unsigned distance field to the enclosed region.

Profile field properties, from left to right: distance to extrusion, distance to region.

A Profile can also be closed or open. If closed, it can have multiple loops (e.g. several circles inside a rectangle or the disconnected loops of a logo). Open profiles are semi-infinite and can be used in the same blocks as closed profiles. An open profile will be automatically extended and closed with lines if the infinite extensions intersect

profiles.PNG

Three Profiles, from left to right: closed, closed with multiple loops, and open.

Summary of Type Changes

Old Type New Type Summary
- Curve New, “abstract” type.
- Polycurve New type
Curve (old) Spline The old Curve type is deprecated and replaced with the new “Spline” type.
Arc Arc The current type is updated.
Line Segment Line The current type is updated.
Profile (old) Profile The old Profile type is deprecated and replaced with the new Profile type.
Polygon (old) - The Polygon type is deprecated. Use Profile instead.
Circle (old) - The Circle type is deprecated. Circle is now a Profile.

 

Summary of Block Changes

Old Block Old Output Type New Block New Output Type Change
- - Arc by Tangent Arc New Block
- - Extruded Cut Implicit Body New Block
- - Polycurve from Curves Polycurve New Block
- - Polyline Polycurve New Block
- - Profile from Curves Profile New Block
Curve from Control Points Curve (old) Spline by Control Points Spline Updated Block
Curve through Points Curve (old) Spline through Points Spline Updated Block
Circle Circle Circle Profile Updated Block
Curve Integral Scalar Curve Integral Scalar Updated Block (input type change)
Equidistant Points on Curve Point List Equidistant Points on Curve Point List Updated Block (input type change)
Extrude Profile Implicit Body Extrude Profile Implicit Body Updated Block (input type change)
Graph by Swept Projection   Graph by Swept Projection Graph Updated Block (input type change)
Polygon from Points Polygon Profile from Points Profile Updated Block
Regular Polygon Polygon Regular Polygon Profile Updated Block
Revolve Profile Implicit Body Revolve Profile Implicit Body Updated Block (input type change)
Section Body Profile (old) Section Body Profile Updated Block
Surface Area Scalar Surface Area Scalar Updated Block (input type change)
Sweep Profile Implicit Body Sweep Profile Implicit Body Updated Block (input type change)
Implicit Body from Curve Implicit Body Property: Curve.Scalar Field Scalar Field Moved to Property
Twisted Sweep Profile

Implicit Body

- - Deprecated Block
(Merged with Sweep Profile)
Loft between Profiles Implicit Body See support article FAQ - Deprecated Block
Offset Profile Profile (old) - - Deprecated Block

 

FAQ

When does this change take place?

  • The new Curve and Profile types will be released in nTop version 5.20.

What blocks use the new types?

  • All blocks with inputs and outputs of the old type have been updated. This means any block with a Curve or Profile input can be used.

Are there any changes I should make to how I build curve workflows?

  • Yes, aside from the general updates described in this article, “Implicit Body from Curve” will be deprecated. Instead, use the Curve's Scalar Field property, which represents the distance to the curve.

Can I import and export curves?

  • Yes, curves can be imported and exported as the Curve type.
  • For backward compatibility purposes, existing notebooks that use either the Curve property of CAD Edge or the Curves property of an imported Part will have a new block added when the notebook is opened. All new instances of these properties will be the new Curve type.

What are abstract and concrete types?

  • An abstract type serves as a template for other types. It defines a general structure and behavior but is not a complete, usable entity. Abstract types such as Curve provide a starting point for creating more specific, concrete types such as Arc, allowing them to share common characteristics and behaviors. 

I’m using the old curve and profile types. How will this affect my work? Can I continue using them?

  • The old curve and profile types will be renamed to “<type name> (old)”. They can still be used, but blocks using these types will be deprecated. The results will not change, and they can continue to be used.

Why was a new block inserted where I was using the Curve property of a Part or CAD edge?

  • If a CAD Edge was used, a new block, Curve from CAD Edge, will be added to the notebook when opening in 5.20. This is for backward compatibility purposes.

How do I thicken a Curve?

  • To thicken a curve, drag the scalar field property of the curve into the Thicken Body block.

I’m running into problems concatenating lists of different curve types. What should I do?

  • Only lists of the same type can be concatenated. To do this, make each input curve type list a variable and change the type of each variable to Curve using the dropdown on the left of the variable. Then, the lists should work in the Concatenate Lists block.

Will the new blocks give me the same output?

  • Yes, except Section Body.
  • The behavior of Section Body version 5.20 will be different from previous versions. Previously, Section Body would return an exact extrusion of the input Body’s field at the specified plane. In version 5.20, Section Body will first extract a curve approximation of the Body’s surface at the plane and then create an extrusion field from those curves. To create an exact extrusion without first creating boundary curves, use the technique presented in the custom block in this demo file. This block allows an identical result to be created.

Are any blocks deprecated without a new version?

  • Implicit Body from Curve will be deprecated without a direct replacement block. To achieve the same output, use the new “Scalar Field” property of any Curve.
  • Loft between Profiles will be deprecated without a direct replacement block. To achieve the same output, use the technique presented in the custom block in this demo file.
  • Offset Profile will be deprecated without a direct replacement block. To achieve a similar output, use the Offset Body block on the “distance to extrusion” property followed by Section Body.
  • Twisted Sweep Profile will be deprecated without a new version. The block has been combined with Sweep Profile, which now has the “Starting Rotation” and “Ending Rotation” inputs.

Keywords:

 curves profiles 
Was this article helpful?