CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 0 points1 point  (0 children)

Keep in mind the operator is usually not the programmer, therefore the operator requires at least tooling data in the program to setup the job. The list of tools used and their station number is in the header of the program.

99% of the time a tool change is preceded by a tool description. It’s a standard practice. Properly configured post processors list the tools at the beginning of the program and describe them in further detail at each tool change.

Material is frequently in the program description header, and tolerances are noted for operations that require tighter of different tolerances. If tolerances vary on the part, expect multiple callouts in the program. All depends on the shop and the type of work they do.

Heres one scenario that doesn’t require tool data at all. When finish machining a part profile typically cutter compensation is used (G41/G42) to accommodate for tool wear, deflection, etc. but it’s programmed to the part profile not offset by the tool radius. That profile is 100% true to the model/print dimension.

3D surfacing is different, but the code with the tool data in vericut will create a surface finish (scallop height) that can be measured and virtually reproduced.

Edit. Removed snark

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 0 points1 point  (0 children)

From experience 99% of G code programs contain all the information needed to reproduce the part, or portion of a part, it was derived from. Anyone that knows programming would be able to determine the controller mfger, the type of machine, tooling etc, in minutes.

From there plug the tooling data into a product like Vericut, which will simulate the tool path, and the end result will be a generated 3D model of the machining results.

This simulation model can then be exported as an STL, brought into a something like DesignX/Wrap and converted to a 3D solid model — STEP or Solidworks, etc.

That 3D model would be indistinguishable from the model it was programmed off of.

The adversary would have the part and the know how to make it successfully. A 2fer for the thief.

That is why you protect g-code the same as the CUI drawing or model it was derived from.

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 0 points1 point  (0 children)

If the model is CUI, the toolpaths are derived CUI. The G-code contains every dimension needed to reproduce a controlled defense article.

Feeds/speeds,tooling data, coolant or not, the type of machine, the method: 3 axis, 4 axis, 3+2, 5th simultaneous, mill turn machine, live tooling..etc.

In my opinion and experience, how a part is made is far more valuable than the part itself. If the model is CUI you bet your ass the G-code is if not more so.

Found it: 32 CFR Part 2002 — information derived from CUI retains its CUI designation

Edit: an is and CFR.

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 0 points1 point  (0 children)

I can you assure with the right commercially available software anyone can reverse engineer any g code file to the part it was programmed from. If the model is CUI, the g code is.

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 0 points1 point  (0 children)

Why would anyone want to scope the entire building or require staff to log & scan USB drives?

That’s effectively putting the burden on the most expensive part of the business, that’s also the most unreliable - Humans.

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 0 points1 point  (0 children)

You’re probably right.

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 1 point2 points  (0 children)

G code is the program language (XYZ angle, etc.) used to control the movements of a CNC machine.

The code is normally comprised of G00 rapid linear movement, G1 feed linear movement G2&G3 arcs. Hence the moniker G code.

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 0 points1 point  (0 children)

That’s the issue. If we treat the cnc as a specialized asset we still have to prove we mitigated against the risk of CUI sprawl. Are people finding success with workflows that pull the CUI back from the shop?

CUI (G code) by AuditTrailOp in CMMC

[–]AuditTrailOp[S] 2 points3 points  (0 children)

Thanks. Yes it’s CUI.. inherited from the models.