Summary
Creating surface textures has many applications, from aesthetics effects to increasing mechanical grip or decreasing aerodynamic drag. The required geometries can be challenging to draw manually and even more challenging to scale and conform around complex parts.
- Create a repeatable workflow that can apply a surface texture to any part
- Generate surface roughness that conforms to CAD geometry
- Modify the basic roughness workflow to create attractive wood, leather, and marble textures.
Applies to
- nTop
- Surface texturing
- Implicit modeling
Why is nTop good at Procedural Texturing?
nTop’s implicit modeling engine is mathematically based, and natively compatible with procedural texturing recipes. Field-driven design allows users to control the size, shape, or strength of the texture however they desire. Note that other texturing methods are available in nTop as well, and can sometimes be easier for simple parts.Roughness
Adding roughness is perhaps the simplest procedural texture and a foundation for the more advanced ones below. It involves three easy steps: generating noise, scaling the noise, and applying it to a part.




See example file: Texturing - Roughness.ntop
The texture depth can be controlled with a ramp block in the multiply input. Here we show fading from smooth (0 mm) to textured (1 mm) as we proceed away from the plane.


Leather
Cellular Noise is another block available and is useful for replicating natural textures such as leather.



See example file: Texturing - Leather.ntop
Wood
Generating a wood texture in nTop adds another series of blocks into our file: trigonometry functions. We can use these to create waves that resemble the rings in wood.


See example file: Texturing - Wood.ntop
Marble
As a final bonus texture, here is an example file for a Marble texture. This one combines everything we have learned above: noise functions, remaps, clamps, and trigonometric functions. It is best stepped through carefully with the field viewer.
See example file: Texturing - Marble.ntop

