hexagon logo

What are some nice ways of accounting for plating, preferably in just 1 program.

I have a part that is programmed that gets both plating of nickel of .001 Min, and some paint and primer about .004 with the nickel underneath.

The best way I could think of for accounting for plating, is programming off of the CAD, and once done, offsetting my alignments by however much the surfaces are getting for plating, and when the prompt comes up to orientate everything to the new alignment, saying NO, as to not change the basics, just where the origin lies.

I'm doing this but assigning VARs NICKEL and PAINT with their build-up, and hoping to add a prompt that asks if the part is plated, and if it is, to make those VARs 0.000, which should in turn, not offset the alignments, this only helps with True Position and Form and location PoS, I'm still needing to manually put these vars into most dimensioning, but when set to 0.000, should just have the final post-plate dimensions.

If it helps, I'm running PC-DMIS 2016.

Does anyone else have any good ideas or thoughts on how to improve on something like this? Like I said, having it in 1 program is my end goal and easy to implement.
  • It depends on the part geometry. Offsetting your alignment may account for outside features only. I like to use profile dimension with unequal bi-lateral tolerance.
  • The below code sets V1 to .004 thickness if the part is plated and the operator selects "YES". it will set the variable to 0 if the operator selects no. Then you just plug in the variable into the surface thickness of the code.

    C1         =COMMENT/YESNO,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO
                Is the part plated
                IF/C1.INPUT=="YES"
                 ASSIGN/V1=0.004
                  GOTO/L1
               END_IF/
                ASSIGN/V1=0
    L1         =LABEL/
    PNT1       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                THEO/<54.639,-6.363,38.429>,<0.1148967,0.3031492,0.9459912>
                ACTL/<54.639,-6.363,38.429>,<0.1148967,0.3031492,0.9459912>
                TARG/<54.639,-6.363,38.429>,<0.1148967,0.3031492,0.9459912>
                SNAP=NO
                SHOW FEATURE PARAMETERS=YES
                  SURFACE=THEO_THICKNESS,V1
                  MEASURE MODE=NOMINALS
                  RMEAS=NONE,NONE,NONE
                  AUTO WRIST=NO
                  GRAPHICAL ANALYSIS=NO
                  FEATURE LOCATOR=NO,NO,""
                SHOW CONTACT PARAMETERS=NO
    ​

  • Were I to do this, I would measure everything as though the part is finished.

    I RARELY use more than one alignment while measuring (I'm not talking about manual alignment, I am talking about DCC measurement). I align the part in DCC and measure EVERYTHING.

    Then, I make a bunch of alignments, as needed, BCD, DGF, EFG, some compound angle hole I want to output with legacy, whatever.

    Then I do all my output in the order of the balloon print (if you don't know what that is, we have to put a circle with a number in it counting from 1 to however many dimensions and notes are on the print, and they should be in a discernible "order"). So the fifth line of output is balloon 5, etc. The output is in the balloon order, easy to read and easy for customers, auditors, machinists, whomever.

    One alignment measuring so I don't (or worse someone else doesn't) make an edit that affects an alignment and then my move points are all screwed up and it is taking hits in weird places. If an alignment gets buggered up, the machine isn't moving anymore because in the program only dimensioning is left.​ If I had a dollar for every time I've said "No" to that pop up and had my move points be different afterward, I'd own Hexagon. I only use two place decimals and do some further chicanery so I KNOW when a move point has been adjusted. This is a known, not a guess or a feeling.

    I would stick to that, and THEN I'd apply the changes to features in those alignments so they apply to the output. I would leave measuring alone, and only modify the outputs based on plating state.




    Also, in older versions (2012 and previous), I had better luck making an alignment, then making a generic feature, say a plane, that is some variable distance away from what I measured (to account for plating or being rough machined), and use that generic plane in the alignment, keeping variables OUT of my alignments as close to always as possible.

    This also lets you name the generic features as datums and use them in XAct measure or GeoTol.



    If you can get away with profiles of a surface, you can put the variable in the tolerancing and not have to change anything in an alignment.
  • I have a part that is programmed that gets both plating of nickel of .001 Min, and some paint and primer about .004 with the nickel underneath.

    The best way I could think of for accounting for plating, is programming off of the CAD, and once done, offsetting my alignments by however much the surfaces are getting for plating, and when the prompt comes up to orientate everything to the new alignment, saying NO, as to not change the basics, just where the origin lies.

    I'm doing this but assigning VARs NICKEL and PAINT with their build-up, and hoping to add a prompt that asks if the part is plated, and if it is, to make those VARs 0.000, which should in turn, not offset the alignments, this only helps with True Position and Form and location PoS, I'm still needing to manually put these vars into most dimensioning, but when set to 0.000, should just have the final post-plate dimensions.

    If it helps, I'm running PC-DMIS 2016.

    Does anyone else have any good ideas or thoughts on how to improve on something like this? Like I said, having it in 1 program is my end goal and easy to implement.


    There is a thickness value T that you can apply in Auto features that might help you with this.