A system for analyzing geometric properties of an object comprising: a first computer processor configured to design the object and produce information relating to the geometric properties of the object; and a second computer processor in communication with the first computer processor, the second processor configured to receive the information relating to the geometric properties of the object; wherein a first portion of the information relating to the geometric properties represents a private/masked portion of the object that conceals at least one aspect of the geometric properties of the object, and a second portion of the information relating to the geometric properties of the object represents a sharable unmasked portion of the object, and the second processor is configured to analyze the unmasked portion of the object and provide output information of the analysis to an industrial system, and the system further comprises a privacy labelling tool configured to run on the first processor, the labelling tool adapted to: display a mesh representation of the object, the mesh comprising a plurality of vertices and a plurality of triangles defined by the connection of three of the vertices; receive one or more commands from a user defining bounding boxes that contain at least one of the triangles of the mesh that are identified as masked portions of the object; and label each triangle of the mesh with a binary privacy label to indicate if the triangle should be private/masked or sharable/unmasked, and the system further comprises a candidate grasp generation tool configured to run on the second processor, the candidate grasp generation tool configured to identify a set of candidate grasps, each grasp based on two contact points on a surface of the object mesh, wherein each of the two contact points are associated with a center of a corresponding triangle in the unmasked portion of the object mesh. a first computer processor configured to design the object and produce information relating to the geometric properties of the object; and a second computer processor in communication with the first computer processor, the second processor configured to receive the information relating to the geometric properties of the object; wherein a first portion of the information relating to the geometric properties represents a private/masked portion of the object that conceals at least one aspect of the geometric properties of the object, and a second portion of the information relating to the geometric properties of the object represents a sharable unmasked portion of the object, and the second processor is configured to analyze the unmasked portion of the object and provide output information of the analysis to an industrial system, and the system further comprises a privacy labelling tool configured to run on the first processor, the labelling tool adapted to: display a mesh representation of the object, the mesh comprising a plurality of vertices and a plurality of triangles defined by the connection of three of the vertices; receive one or more commands from a user defining bounding boxes that contain at least one of the triangles of the mesh that are identified as masked portions of the object; and label each triangle of the mesh with a binary privacy label to indicate if the triangle should be private/masked or sharable/unmasked, and the system further comprises a candidate grasp generation tool configured to run on the second processor, the candidate grasp generation tool configured to identify a set of candidate grasps, each grasp based on two contact points on a surface of the object mesh, wherein each of the two contact points are associated with a center of a corresponding triangle in the unmasked portion of the object mesh. display a mesh representation of the object, the mesh comprising a plurality of vertices and a plurality of triangles defined by the connection of three of the vertices; receive one or more commands from a user defining bounding boxes that contain at least one of the triangles of the mesh that are identified as masked portions of the object; and label each triangle of the mesh with a binary privacy label to indicate if the triangle should be private/masked or sharable/unmasked, and the system further comprises a candidate grasp generation tool configured to run on the second processor, the candidate grasp generation tool configured to identify a set of candidate grasps, each grasp based on two contact points on a surface of the object mesh, wherein each of the two contact points are associated with a center of a corresponding triangle in the unmasked portion of the object mesh.