./features/recognize CNC features
Download Features Source code References Ask for support

Recognize CNC milling features

The recognition of general CNC features is a challenging area. CNC feature recognition can help in such engineering workflows as automating quotation (MaaS = Manufacturing as a Service) and design for manufacturing (DFM). Both use cases require to match the low-level geometric information encoded in B-rep with some machining operations.

The problem can be formulated as follows. Given a 3D representation of an object to manufacture, automatically detect all machined features, including rough milling features, finishing milling features and possibly some post-processing operations, such as deburred edges. Some basic volume features, such as drilled holes are to be extracted explicitly, while other volume features, such as bosses and pockets are often application-dependent and are not always necessary to extract. It is to be noted that feature recognition is quite dependent on the setup (from which direction a tool approaches a stock) and available tooling (e.g., holes with a too large diameter could not be drilled and should be milled).

Generally speaking, feature recognition can be done in a fully automatic way (AFR = Automatic Feature Recognition) or manually. The automatic recognition algorithm scans your 3D model and attempts to identify all the features you might want to select for manufacturing. In contrast, manual or interactive feature recognition (IFR) gives the operator more control over the setup and feature identification process. The user starts from an interactively selected faces and lets a program extract feature type and its properties, such as dimensions, tooling, etc. Only geometric information can be used for the imported CAD model, so such information as threads is normally skipped.

Analysis Situs does not offer a complete solution for CNC feature recognition, but it provides a generic framework for solving this and related problems, such as manufacturability analysis. If you need support or custom development services in this area, feel free to contact us.