How to use Remap Field to scale or translate an object

Objective:

This guide explains using the Remap Field block to scale or translate an implicit body. While other blocks exist in nTop for these operations, this method provides a foundational understanding of how field remapping and coordinate systems work.

Applies to:

  • Implicit modeling
  • Field remapping

Procedure:

To gain a further understanding of fields and remapping in nTop, take a look at this Field-Driven Design White Paper by George Allen, an nTop Fellow. 

In general, Remap Field allows you to warp geometry by supplying functions or fields to specify a replacement position for every point in the model. 

Let's start with a simple 2D analogy:

We have a number line [0, 1, 2, 3]. If you multiply this number by 10, you get [0, 10, 20, 30]. Basically, you are stretching out these values. This is what happens with Remap Field, but we do it to 3D geometry across XYZ. 

Ex. 1 Let's use the remap block to magnify a sphere. 

  •  
    • Add a Sphere block
    • Add a Remap Field block
      • Input the Sphere into the Field input
      • X: X*10 (can also use a Multiply block)
      • Y: Y
      • Z: Z

We stretch all the X values but keep the same Y and Z values of the sphere. Multiplication scales the model while addition and subtraction translate the model. 

A gif showing how to use the Remap Field block to modify a Sphere

 

In nTop, when you modify a field, you aren't directly modifying a shape; you change the coordinate system used to define that shape. This is a key difference between explicit and implicit modeling:

  • Explicit geometry transforms actively (you move the object itself).
  • Implicit geometry transforms passively (you move the coordinate system, and the object moves relative to it).

Understanding Remapping through Equations

If you want to plot a function in the form z = f(x, y), you can implicitize it by moving all the terms to one side. e.g.  0 = z - f(x, y)You want the expression opposite the zero to be negative where the part is solid. 

Ex. 2 The unit circle centered at the origin has the equation sqrt(x^2 + y^2) - r = 0 . We want to shift this circle by +1 unit along the x-axis, the new equation is sqrt((x-1)^2 + y^2) - 1mm = 0mm . To move the circle +1 in the x-direction, we replaced x by x-1, not by x+1.

An example of how to create a circle using the equation for a circle.

The blue circle is the translated object. 

The same circle that was created in the previous image, but the center has been moved 1 mm to the right

Example as shown using a primitive sphere block. 

  •  
    • Input a Subtract block into the X input
      • Set Operand A: x
      • Operand B: 1

Two implicit spheres that are overlapping. The blue sphere is the original and the grey sphere has been moved 1 mm to the right using Remap Field.

 

Ex. 3  We want to scale our unit circle by a factor of 3. The scaled-up circle has the equation  sqrt((x/3)^2 + (y/3)^2) - 1mm = 0mm. To scale the shape by a factor of 3, we scale its coordinates by a factor of 1/3.

A small circle inside a larger circle that have been generated from equations

Example as shown using a primitive sphere block. 

  •  
    • Input a Divide block into the X input
      • Set Operand A: X
      • Operand B: 3
    • Input a Divide block into the Y input
      • Set Operand A: Y
      • Operand B: 3
    • Input a Divide block into the Z input
      • Set Operand A: Z
      • Operand B: 3

A small sphere that has been remapped using Remap Field. The result is a sphere that has been scaled by 3 in the x, y, and z directions.

 

Are you still having issues? Contact the support team, and we’ll be happy to help!

Download the Example file:

More on this topic:

Keywords:

 block field translate map scale fields remap math how-to re coordinates equation remapping sdf magnify scales 
Was this article helpful?