DFENV: What It Is and When You Need It
The defeatured envelope is one of the less obvious Spherene features, but it solves a specific and common problem. This article explains what it does, why the problem exists, and when to use it.
The problem it solves
By default, Spherene generates the ADMS inside the envelope and trims it exactly to the envelope surface. This works well for most geometry. But at sharp tips, thin fins, and tight concave regions, the ADMS cannot always reach all the way to the envelope surface.
The reason is geometric: the ADMS cell structure needs a minimum amount of space to form properly. At a sharp pointed tip, there may not be enough room for a complete cell, so the ADMS ends slightly short of the surface and leaves a gap.
What dfenv does
When you assign a defeatured envelope (dfenv), the ADMS is generated inside the dfenv volume rather than the actual envelope. After generation, the result is Boolean-trimmed to the actual envelope shape.
Because the dfenv is larger and simpler than the actual envelope, the ADMS has room to grow fully in all regions, including the sharp tips and thin features. The trim then cuts it back to the precise final shape.
The result: full ADMS coverage right up to the envelope surface, even at challenging geometric features.
A second use: controlling the connection angle
Without a dfenv, ADMS meets the envelope surface approximately perpendicularly. With a dfenv, you can control this angle by adjusting the shape of the dfenv relative to the env.
For example: if the dfenv is a slightly inflated version of the env, the ADMS meets the surface at a shallower angle, creating a softer visual transition. This is useful for aesthetic surfaces where a perpendicular ADMS termination would look abrupt.
What the dfenv should look like
The dfenv must fully enclose the actual envelope. There should be no part of the env that sits outside the dfenv boundary. Beyond that requirement, it can be as simple as possible:
- A convex hull of the envelope works for most organic shapes.
- A slightly inflated offset of the envelope works for simpler geometries.
- A bounding box works when the envelope has a broadly rectangular form.
The dfenv only needs to approximate the overall shape of the env. It does not need to be a precise copy. The simpler it is, the faster the computation.
Note: If you see boolean errors when using dfenv, try slightly enlarging the dfenv body to create a clear margin between the dfenv boundary and the env surface. A dfenv that barely touches the env at some edges can cause generation instabilities.
When to use dfenv
|
Situation |
Use dfenv? |
|
Part has sharp pointed tips or thin fins that are not getting filled |
Yes |
|
Complex concave shape with regions that look underpopulated |
Yes |
|
You want ADMS to meet the surface at a non-perpendicular angle |
Yes |
|
Simple convex part with no sharp features |
Usually not needed |
|
Computation already succeeds cleanly |
No |
How to set it up in each plugin
|
Plugin |
How to assign dfenv |
|
Rhino |
Run sphe_add_dfenv and select a simplified mesh that encloses the env. |
|
Grasshopper |
Wire a simplified mesh to the Dfenv Mesh input on the sphe_Single component. |
|
Fusion |
Click the DFENV button in the Fields & Modifiers toolbar section and select an enclosing solid body. |
|
nTop |
Wire a simplified mesh to the dfenv input port on the Create Spherene block. |