Validate & Fix Solid

Dependencies

This node requires FreeCAD library to work.

Functionality

This node checks if the passed Solid object is “valid” in terms of FreeCAD’s OCCT kernel: all faces have coinciding edges, all normals are pointing outside, and so on. If it finds that the object is not valid, then, if FixedSolid output is connected, the node will try to automatically fix the object. If this automatic fix procedure fails, the node will raise an exception (become red) and processing will stop.

Most Sverchok Solid nodes always produce valid Solid objects. Nodes that can potentially produce non-valid objects, usually have “Validate” checkbox to make sure that all produced objects are valid. But scripted nodes can produce non-valid objects. Also it can be more convenient in some circumstances to work with non-valid object, and only then fix it.

NOTE: some operations with Solid objects which are not “valid” are known to cause crashes. So if you are working with objects which are not valid, please make sure you know what you are doing.

Inputs

This node has the following input:

  • Solid. The Solid object to be analyzed. This input is mandatory.

Parameters

This node has the following parameter:

  • Precision. The precision for automatic fix procedure (applied if the object is not valid in the input). The default value is 0.001.

Outputs

This node has the following outputs:

  • FixedSolid. Fixed Solid object (or the same object as in the input, if it already was valid). The node tries to perform automatic fix procedure only if this output is connected.

  • IsValid. This output contains True for Solid objects in the Solid input, which are valid, and False for objects which are not valid.