hexagon logo

Extracting assignments from fcf's that hold multiple features

Hi there
I have a single feature control frame that tolerances 31 holes (FCFLOC15) I would like to extract each holes deviation from nominal position via assignments to do this normally I would
use the following assignment "ASSIGN/V1=FCFLOC15.Z.DEV" the only trouble is this only gives the deviation for the 1st hole in FCFLOC15 how if possible can you extract the other
30 'Z' deviations is there some sort of extension to go after the FCFLOC15 ?
Regards Tim.
  • If this is a looped feature/tolerance you need the loop IDs.

    Hi there
    I have a single feature control frame that tolerances 31 holes (FCFLOC15) I would like to extract each holes deviation from nominal position via assignments to do this normally I would
    use the following assignment "ASSIGN/V1=FCFLOC15 [1].Z.DEV" the only trouble is this only gives the deviation for the 1st hole in FCFLOC15 how if possible can you extract the other
    30 'Z' deviations is there some sort of extension to go after the FCFLOC15 ?
    Regards Tim.
  • The features are not looped. the program is set out to measure all features then re-evaluate the datum's then tolerance all the features based on there new alignment, I just require some sort of extension to extract each of the 31 holes out of FCFLOC15 ?
    Tim
  • You have to dig deeper when dealing with FCF data. Not sure where the data you are looking for is stored so the 'magic number' being passed may not be correct:

    ASSIGN/V6=GETTEXT(673,1,{FCFLOC15}) where 673 = LINE3_DEV, 1 = the index of the feature, you will use 1 through 31

    To see where pcdmis is grabbing the information from the dimensions I go through a not so easy approach.
    1) I view the report in TEXTONLY
    2) I hover the cursor over the information I want to get access to see what label is being used to display that information - possibly "Line3_Pos.lbl" is one example
    3) I then Edit that label to see what DTYPE the information is being used by
    a) double clicking on the cell
    b) right click to display the cell properties dialog
    c) look at the cell expression looking at the information (DTYPE:N type of thing) example "=TOL(LINE3_DEV:N,LINE3_OUTTOL:N,0.0,0.0)"
    d) from the Basic Object browser (there could be an easier way) I can find that LINE3_DEV = 673



    Not sure if this is what you are looking for but at least it may get you started.
  • Thanks for the reply but not had a lot of joy with this I have reverted back to using legacy dimensions and tolerancing each feature separately. surely there is an easier way than this I have also spoke to hexagon (UK) and they don't know of any way of doing this they are going to speak to Wilcox to see if they know ? I will post any updates that I receive to share the knowledge.
    Thanks Tim.
  • I think you can still use Xact if you want to. You just need to create a separate dimension for each hole in Xact instead of dimensioning them all together.
  • If I understand correctly you have 30 holes and 30 FCF, so you would have to create an ASSIGN/V1=FCFLOC15.Z.DEV for each FCF

    for example:
    ASSIGN/V1=FCFLOC15.Z.DEV,
    ASSIGN/V1=FCFLOC16.Z.DEV
    ASSIGN/V1=FCFLOC17.Z.DEV

    I missed where you said that you have a single FCF, I never dealt with a single FCF for more than 1 hole, so I would suggest create 30 FCF and extract Z.dev from each one.

    I would like to see what one feature for 30 holes looks like, can you post the code? An array might work, bur I would like to see your code first
  • Here is the code:-

    COMMENT/REPT,
    ********************************************************************************************************
    DIAMETER AND POSITION OF THE THIRTY 9.011mm HOLE'S IN RELATION TO DATUM'S 'C AND D' AS PER SECTION AM-AM
    EXCEPT HOLE DESIGNATED AS HOLE AN
    ***NOTE HOLE IS NOT MEASURED ON INNER RADIUS AS PER DRAWING BECAUSE OF PROBE SHANKING ERROR'S
    IT IS MEASURED ON OUTER RADIUS WHICH SHOULD BE POSITIONED RELATIVE TO HOLE ON INNER RADIUS***
    ***(NOTE HOLE'S 1 TO 9, ANGLE'S ARE BASED FROM 360°)***
    ********************************************************************************************************
    COMMENT/REPT,
    ***BALLOONED DRAWING NUMBER'S 85 AND 89***
    CAD_ALIGN =ALIGNMENT/START,RECALL:CAB_ALIGN,LIST=YES
    ALIGNMENT/ROTATE_CIRCLE,XPLUS,TO,CTR_POINT,AND,VESPAL_10,ABOUT,ZPLUS
    ALIGNMENT/END
    FCFLOC15 =POSITION : VESPAL_1,VESPAL_2,VESPAL_3,...
    FEATCTRLFRAME/SHOWNOMS=YES,SHOWPARAMS=YES,SHOWEXPANDED=YES
    CADGRAPH=OFF,REPORTGRAPH=OFF,TEXT=OFF,MULT=10.00,ARROWDENSITY=100,OUTPUT=BOTH,UNITS=MM
    COMPOSITE=NO,FIT TO DATUMS=YES,DEV PERPEN CENTERLINE=ON,OUTPUT ALIGNMENT=Current Alignment
    CUSTOMIZED DRF=NO
    STANDARDTYPE=ISO_1101
    SIZE TOLERANCES/30,DIAMETER,9.011,0.011,0.011
    PRIMARY DIMENSION/POSITION,DIAMETER,0.3,<MC>,C,D,<dat>
    SECONDARY DIMENSION/<Dim>,<D>,<tol>,<MC>,D,<dat>,<dat>
    NOTE/FCFLOC15
    FEATURES/VESPAL_1,VESPAL_2,VESPAL_3,VESPAL_4,VESPAL_5,
    VESPAL_6,VESPAL_7,VESPAL_8,VESPAL_9,VESPAL_11,
    VESPAL_12,VESPAL_13,VESPAL_14,VESPAL_15,
    VESPAL_16,VESPAL_17,VESPAL_18,VESPAL_19,
    VESPAL_20,VESPAL_21,VESPAL_22,VESPAL_23,
    VESPAL_24,VESPAL_25,VESPAL_26,VESPAL_27,
    VESPAL_28,VESPAL_29,VESPAL_30,VESPAL_31,,
    Set
    <NEW>
    VESPAL_1
    Z:NOM=11.5
    PA:NOM=307.742
    <NEW>
    VESPAL_2
    Z:NOM=11.5
    PA:NOM=313.548
    <NEW>
    VESPAL_3
    Z:NOM=11.5
    PA:NOM=319.355
    <NEW>
    VESPAL_4
    Z:NOM=11.5
    PA:NOM=325.161
    <NEW>
    VESPAL_5
    Z:NOM=11.5
    PA:NOM=330.968
    <NEW>
    VESPAL_6
    Z:NOM=11.5
    PA:NOM=336.774
    <NEW>
    VESPAL_7
    Z:NOM=11.5
    PA:NOM=342.581
    <NEW>
    VESPAL_8
    Z:NOM=11.5
    PA:NOM=348.387
    <NEW>
    VESPAL_9
    Z:NOM=11.5
    PA:NOM=354.194
    <NEW>
    VESPAL_11
    Z:NOM=11.5
    PA:NOM=5.806
    <NEW>
    VESPAL_12
    Z:NOM=11.5
    PA:NOM=11.613
    <NEW>
    VESPAL_13
    Z:NOM=11.5
    PA:NOM=17.419
    <NEW>
    VESPAL_14
    Z:NOM=11.5
    PA:NOM=23.226
    <NEW>
    VESPAL_15
    Z:NOM=11.5
    PA:NOM=29.032
    <NEW>
    VESPAL_16
    Z:NOM=11.5
    PA:NOM=34.839
    <NEW>
    VESPAL_17
    Z:NOM=11.5
    PA:NOM=40.645
    <NEW>
    VESPAL_18
    Z:NOM=11.5
    PA:NOM=46.452
    <NEW>
    VESPAL_19
    Z:NOM=11.5
    PA:NOM=52.258
    <NEW>
    VESPAL_20
    Z:NOM=11.5
    PA:NOM=58.064
    <NEW>
    VESPAL_21
    Z:NOM=11.5
    PA:NOM=63.871
    <NEW>
    VESPAL_22
    Z:NOM=11.5
    PA:NOM=69.677
    <NEW>
    VESPAL_23
    Z:NOM=11.5
    PA:NOM=75.484
    <NEW>
    VESPAL_24
    Z:NOM=11.5
    PA:NOM=81.29
    <NEW>
    VESPAL_25
    Z:NOM=11.5
    PA:NOM=87.097
    <NEW>
    VESPAL_26
    Z:NOM=11.5
    PA:NOM=92.903
    <NEW>
    VESPAL_27
    Z:NOM=11.5
    PA:NOM=98.71
    <NEW>
    VESPAL_28
    Z:NOM=11.5
    PA:NOM=104.516
    <NEW>
    VESPAL_29
    Z:NOM=11.5
    PA:NOM=110.323
    <NEW>
    VESPAL_30
    Z:NOM=11.5
    PA:NOM=116.129
    <NEW>
    VESPAL_31
    Z:NOM=11.5
    PA:NOM=121.936
    <NEW>
    COMMENT/REPT,
    ************************************************************************
    ************************************************************************
    Tim.
  • FCFLOC18 =POSITION : 4CIR1,4CIR2,4CIR3,...
                FEATCTRLFRAME/SHOWNOMS=NO,SHOWPARAMS=YES,SHOWEXPANDED=YES
                CADGRAPH=OFF,REPORTGRAPH=OFF,TEXT=OFF,MULT=0.00,ARROWDENSITY=100,OUTPUT=BOTH,UNITS=MM
                COMPOSITE=NO,FIT TO DATUMS=YES,DEV PERPEN CENTERLINE=ON,OUTPUT ALIGNMENT=Datum Reference Frame
                CUSTOMIZED DRF=NO
                STANDARDTYPE=ASME_Y14_5
                  SIZE TOLERANCES/4,DIAMETER,15,0.025,0.025
                  PRIMARY DIMENSION/POSITION,<D>,0.025,MMC,PZ,LX,C1,<MC>
                  SECONDARY DIMENSION/<Dim>,<D>,<tol>,PZ,LX,<dat>
                  NOTE/FCFLOC18
                FEATURES/4CIR1,4CIR2,4CIR3,4CIR4,,
                ASSIGN/V1=GETTEXT(662, 1, {FCFLOC18})
                ASSIGN/V2=GETTEXT(662, 2, {FCFLOC18})
                ASSIGN/V3=GETTEXT(662, 3, {FCFLOC18})
                ASSIGN/V4=GETTEXT(662, 4, {FCFLOC18})
  • Where can I find those numbers inside parentheses like in this example 662? Where is list of this code meaning?, Thanks
    I have composite true position dimension and I need two TP simension, one of them is ...GETTEXT(662, ....) but I can't find for other part of composite TP which code is right
  • Help File
    Search "Data Types"

    "A List of Available Data Types"