hexagon logo

Program without a model or a part?

So we have a part that's due out Tuesday I believe.  My supervisor (who's a machinist, not a CMM operator) wants me to start writing a program so I can check it as soon as it's done so he can immediately ship it out.  The problem is, I don't have a model and he says there isn't time to get one from the customer and that I don't need one anyway because the previous inspector wrote programs without models.  As far as I know though, he was given an actual part.  I don't know how I'm supposed to write a routine if I have nothing to probe.  I know I can create auto features with keyed-in nominals after my alignment, but what do I align to if I don't have anything?  Where's my origin coming from?  Am I being too needy by asking for either a part or a model?

Parents
  • Like  said, you do not need a part or a CAD model to be able to program offline, all you need is the drawing.  It will not be as quick or easy as programming from a part or a model but it is perfectly possible.  You just need to create features with nominals that match the values shown on your drawing.  The difficult thing being able to visualise everything in 3D in your head.

    .

    Using the Hexblock drawing which can be found in the training folder (C:\Users\Public\Documents\Hexagon\PC-DMIS\version\Training in recent versions, C:\Program Files\Hexagon\version\Training"in older versions) as an example, I would start by creating measured features for my manual alignment.  For that part, a plane, line point alignment is sufficient.  The plane would be the top face of the block, the line would run along the front edge and the point would be on the left edge.  I always use measured features for my manual alignment and then a mixture of auto and measured features for the rest of the routine (depending on which is easiest - manual features are easier if you want specific control over where the hits are taken).  Here's some example code that does the manual and DCC alignments and then measures the centre bore in the top face...

    PART NAME  : OFFLINE_NO_PART_NO_CAD
    REV NUMBER : 
    SER NUMBER : 
    STATS COUNT : 1
    GD&T STANDARD : ASME Y14.5 - 2009/2018
     
    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/MANUAL
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
                LOADPROBE/3BY20
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
    PLN1       =FEAT/PLANE,CARTESIAN,TRIANGLE
                THEO/<50,35,0>,<0,0,1>
                ACTL/<0,0,0>,<0,0,1>
                MEAS/PLANE,3
                  HIT/BASIC,NORMAL,<5,45,0>,<0,0,1>,<0,0,0>,USE THEO=YES
                  HIT/BASIC,NORMAL,<65,55,0>,<0,0,1>,<0,0,0>,USE THEO=YES
                  HIT/BASIC,NORMAL,<80,5,0>,<0,0,1>,<0,0,0>,USE THEO=YES
                ENDMEAS/
    A1         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN1
                  ALIGNMENT/TRANS,ZAXIS,PLN1
                ALIGNMENT/END
    LIN1       =FEAT/LINE,CARTESIAN,UNBOUNDED
                THEO/<5,0,0>,<1,0,0>
                ACTL/<5,0,0>,<1,0,0>
                MEAS/LINE,2,ZPLUS
                  HIT/BASIC,NORMAL,<5,0,0>,<0,-1,0>,<5,3,0>,USE THEO=YES
                  HIT/BASIC,NORMAL,<75,0,0>,<0,-1,0>,<55,3,0>,USE THEO=YES
                ENDMEAS/
    A2         =ALIGNMENT/START,RECALL:A1,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN1
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,YAXIS,LIN1
                  ALIGNMENT/TRANS,ZAXIS,PLN1
                ALIGNMENT/END
    PNT1       =FEAT/POINT,CARTESIAN
                THEO/<0,5,0>,<-1,0,0>
                ACTL/<0,0,0>,<0,0,1>
                MEAS/POINT,1,WORKPLANE
                  HIT/BASIC,NORMAL,<0,5,0>,<-1,0,0>,<0,0,0>,USE THEO=YES
                ENDMEAS/
    A3         =ALIGNMENT/START,RECALL:A2,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN1
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT1
                  ALIGNMENT/TRANS,YAXIS,LIN1
                  ALIGNMENT/TRANS,ZAXIS,PLN1
                ALIGNMENT/END
                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
                Manual Alignment Complete.  Switching to DCC
                Machine will move when you click OK.
                MODE/DCC
                CLEARP/ZPLUS,10,ZPLUS,0,ON
                MOVE/CLEARPLANE
    PLN2       =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                THEO/<40,30,0>,<0,0,1>
                ACTL/<40,30,0>,<0,0,1>
                TARG/<40,30,0>,<0,0,1>
                ANGLE VEC=<0.9238795,0.3826834,0>,RADIAL
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=8,NUMROWS=1
                  SPACER=16
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                  USE BOUNDARY OFFSET=NO
                SHOW HITS=NO
    A4         =ALIGNMENT/START,RECALL:A3,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN2
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT1
                  ALIGNMENT/TRANS,YAXIS,LIN1
                  ALIGNMENT/TRANS,ZAXIS,PLN2
                ALIGNMENT/END
                MOVE/CLEARPLANE
    LIN2       =FEAT/CONTACT/LINE/DEFAULT,CARTESIAN,BOUNDED
                THEO/<5,0,0>,<80,0,0>,<1,0,0>,<0,-1,0>,<0,0,1>,75
                ACTL/<5,0,0>,<80,0,0>,<1,0,0>,<0,-1,0>,<0,0,1>,75
                TARG/<5,0,0>,<80,0,0>,<1,0,0>,<0,-1,0>,<0,0,1>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=2
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                SHOW HITS=NO
    A5         =ALIGNMENT/START,RECALL:A4,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN2
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN2,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT1
                  ALIGNMENT/TRANS,YAXIS,LIN2
                  ALIGNMENT/TRANS,ZAXIS,PLN2
                ALIGNMENT/END
                MOVE/CLEARPLANE
    PNT2       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                THEO/<0,5,0>,<-1,0,0>
                ACTL/<0,5,0>,<-1,0,0>
                TARG/<0,5,0>,<-1,0,0>
                SNAP=NO
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                SHOW HITS=NO
    A4         =ALIGNMENT/START,RECALL:A3,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN2
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN2,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT2
                  ALIGNMENT/TRANS,YAXIS,LIN2
                  ALIGNMENT/TRANS,ZAXIS,PLN2
                ALIGNMENT/END
                MOVE/CLEARPLANE
    CYL1       =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<40,30,0>,<0,0,1>,30,10
                ACTL/<40,30,0>,<0,0,1>,30,10
                TARG/<40,30,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,NUMLEVELS=5,DEPTH=0.5,END OFFSET=2,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=0,SPACER=0
                  AVOIDANCE MOVE=NO
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO

    And here's the drawing I used.

    PDF

Reply
  • Like  said, you do not need a part or a CAD model to be able to program offline, all you need is the drawing.  It will not be as quick or easy as programming from a part or a model but it is perfectly possible.  You just need to create features with nominals that match the values shown on your drawing.  The difficult thing being able to visualise everything in 3D in your head.

    .

    Using the Hexblock drawing which can be found in the training folder (C:\Users\Public\Documents\Hexagon\PC-DMIS\version\Training in recent versions, C:\Program Files\Hexagon\version\Training"in older versions) as an example, I would start by creating measured features for my manual alignment.  For that part, a plane, line point alignment is sufficient.  The plane would be the top face of the block, the line would run along the front edge and the point would be on the left edge.  I always use measured features for my manual alignment and then a mixture of auto and measured features for the rest of the routine (depending on which is easiest - manual features are easier if you want specific control over where the hits are taken).  Here's some example code that does the manual and DCC alignments and then measures the centre bore in the top face...

    PART NAME  : OFFLINE_NO_PART_NO_CAD
    REV NUMBER : 
    SER NUMBER : 
    STATS COUNT : 1
    GD&T STANDARD : ASME Y14.5 - 2009/2018
     
    STARTUP    =ALIGNMENT/START,RECALL:USE_PART_SETUP,LIST=YES
                ALIGNMENT/END
                MODE/MANUAL
                FORMAT/TEXT,OPTIONS, ,HEADINGS,SYMBOLS, ;NOM,TOL,MEAS,DEV,OUTTOL, , 
                LOADPROBE/3BY20
                TIP/T1A0B0, SHANKIJK=0, 0, 1, ANGLE=0
    PLN1       =FEAT/PLANE,CARTESIAN,TRIANGLE
                THEO/<50,35,0>,<0,0,1>
                ACTL/<0,0,0>,<0,0,1>
                MEAS/PLANE,3
                  HIT/BASIC,NORMAL,<5,45,0>,<0,0,1>,<0,0,0>,USE THEO=YES
                  HIT/BASIC,NORMAL,<65,55,0>,<0,0,1>,<0,0,0>,USE THEO=YES
                  HIT/BASIC,NORMAL,<80,5,0>,<0,0,1>,<0,0,0>,USE THEO=YES
                ENDMEAS/
    A1         =ALIGNMENT/START,RECALL:STARTUP,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN1
                  ALIGNMENT/TRANS,ZAXIS,PLN1
                ALIGNMENT/END
    LIN1       =FEAT/LINE,CARTESIAN,UNBOUNDED
                THEO/<5,0,0>,<1,0,0>
                ACTL/<5,0,0>,<1,0,0>
                MEAS/LINE,2,ZPLUS
                  HIT/BASIC,NORMAL,<5,0,0>,<0,-1,0>,<5,3,0>,USE THEO=YES
                  HIT/BASIC,NORMAL,<75,0,0>,<0,-1,0>,<55,3,0>,USE THEO=YES
                ENDMEAS/
    A2         =ALIGNMENT/START,RECALL:A1,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN1
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,YAXIS,LIN1
                  ALIGNMENT/TRANS,ZAXIS,PLN1
                ALIGNMENT/END
    PNT1       =FEAT/POINT,CARTESIAN
                THEO/<0,5,0>,<-1,0,0>
                ACTL/<0,0,0>,<0,0,1>
                MEAS/POINT,1,WORKPLANE
                  HIT/BASIC,NORMAL,<0,5,0>,<-1,0,0>,<0,0,0>,USE THEO=YES
                ENDMEAS/
    A3         =ALIGNMENT/START,RECALL:A2,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN1
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT1
                  ALIGNMENT/TRANS,YAXIS,LIN1
                  ALIGNMENT/TRANS,ZAXIS,PLN1
                ALIGNMENT/END
                COMMENT/OPER,NO,FULL SCREEN=NO,AUTO-CONTINUE=NO,OVC=NO,
                Manual Alignment Complete.  Switching to DCC
                Machine will move when you click OK.
                MODE/DCC
                CLEARP/ZPLUS,10,ZPLUS,0,ON
                MOVE/CLEARPLANE
    PLN2       =FEAT/CONTACT/PLANE/DEFAULT,CARTESIAN,TRIANGLE,LEAST_SQR
                THEO/<40,30,0>,<0,0,1>
                ACTL/<40,30,0>,<0,0,1>
                TARG/<40,30,0>,<0,0,1>
                ANGLE VEC=<0.9238795,0.3826834,0>,RADIAL
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=8,NUMROWS=1
                  SPACER=16
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                  USE BOUNDARY OFFSET=NO
                SHOW HITS=NO
    A4         =ALIGNMENT/START,RECALL:A3,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN2
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT1
                  ALIGNMENT/TRANS,YAXIS,LIN1
                  ALIGNMENT/TRANS,ZAXIS,PLN2
                ALIGNMENT/END
                MOVE/CLEARPLANE
    LIN2       =FEAT/CONTACT/LINE/DEFAULT,CARTESIAN,BOUNDED
                THEO/<5,0,0>,<80,0,0>,<1,0,0>,<0,-1,0>,<0,0,1>,75
                ACTL/<5,0,0>,<80,0,0>,<1,0,0>,<0,-1,0>,<0,0,1>,75
                TARG/<5,0,0>,<80,0,0>,<1,0,0>,<0,-1,0>,<0,0,1>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,DEPTH=2
                  SAMPLE METHOD=SAMPLE_FEATURE
                  SAMPLE FEATURE=NONE
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                SHOW HITS=NO
    A5         =ALIGNMENT/START,RECALL:A4,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN2
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN2,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT1
                  ALIGNMENT/TRANS,YAXIS,LIN2
                  ALIGNMENT/TRANS,ZAXIS,PLN2
                ALIGNMENT/END
                MOVE/CLEARPLANE
    PNT2       =FEAT/CONTACT/VECTOR POINT/DEFAULT,CARTESIAN
                THEO/<0,5,0>,<-1,0,0>
                ACTL/<0,5,0>,<-1,0,0>
                TARG/<0,5,0>,<-1,0,0>
                SNAP=NO
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  AVOIDANCE MOVE=BOTH,DISTANCE BEFORE=10,DISTANCE AFTER=10,DIRECTION=ALONG FEATURE VECTOR
                SHOW HITS=NO
    A4         =ALIGNMENT/START,RECALL:A3,LIST=YES
                  ALIGNMENT/LEVEL,ZPLUS,PLN2
                  ALIGNMENT/ROTATE,XPLUS,TO,LIN2,ABOUT,ZPLUS
                  ALIGNMENT/TRANS,XAXIS,PNT2
                  ALIGNMENT/TRANS,YAXIS,LIN2
                  ALIGNMENT/TRANS,ZAXIS,PLN2
                ALIGNMENT/END
                MOVE/CLEARPLANE
    CYL1       =FEAT/CONTACT/CYLINDER/DEFAULT,CARTESIAN,IN,LEAST_SQR
                THEO/<40,30,0>,<0,0,1>,30,10
                ACTL/<40,30,0>,<0,0,1>,30,10
                TARG/<40,30,0>,<0,0,1>
                START ANG=0,END ANG=360
                ANGLE VEC=<1,0,0>
                DIRECTION=CCW
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=YES
                  NUMHITS=5,NUMLEVELS=5,DEPTH=0.5,END OFFSET=2,PITCH=0
                  SAMPLE METHOD=SAMPLE_HITS
                  SAMPLE HITS=0,SPACER=0
                  AVOIDANCE MOVE=NO
                  FIND HOLE=DISABLED,ONERROR=NO,READ POS=NO
                SHOW HITS=NO

    And here's the drawing I used.

    PDF

Children