首页/文章/ 详情

RationalDMIS 7.1 关于查找孔的几点个人见识(Find Hole )

2天前浏览30


    在DMIS标准中没有这样的DMIS语句,所以不仅仅是开RationalDMIS,MODUS,CAMIO、VirualDMIS或Metrolog XG 一样。更进一步,如果您真的想在DMIS中执行,那么您可以编写自己的宏或外部DMIS文件,以便在需要“查找孔”时调用它。


但我的真实答案是:


     当我广泛使用PC -DMIS(2014,2015,2017,2019)时,我认为“查找孔”是一个很好的功能来处理变化很大的零件,但经过几次试验后,我认为这是一个“几乎”无用的功能,因为如果你有100个孔要测量,并且你为每个孔打开它,那么它浪费了太多时间。我有很多不同的方法来处理DMIS中孔的位置变化,而不需要“查找孔”。所以我从不建议任何人在用PC DMIS训练编程时使用这个函数。



      我一直在使用RMEAS命令,测量接近特征或孔的东西,以便测量相对于。希望这会对你有所帮助。DMIS内核软件版本中一般都会内置RMEAS。


孔搜索基础原理:


查找孔:测针将移至特征理论中心之上的逼近距离位置,然后移动到垂直于特征曲面矢量,从而以接触速度搜索孔。搜索将持续到接触曲面(表示孔不在此处)或达到探测距离(表示孔在此处)为止。


在测量时,测头将从逼近距离位置处开始沿着圆所在曲面的法线矢量,以触测速度开始搜索孔。

1、若测头经过圆所在曲面而未碰到曲面,测头将继续向前搜索直到达到探测距离一表明要测的圆就在此处;2、若测头碰到圆所在的曲面一表明孔不在此处,测头将继续按照下面的步骤搜索这个孔:

从理论圆心按照(R特征-R测头)开始搜索,将搜索(2*PI*R特征/(R特征-R测头))个位置.如果还没有找到,搜索半径将按照(R 特征-R测头)增加直到等于prehit distance.

注意:如果逼近距离小于(R特征-R测头),将只执行一个循环的搜索。

3、如果在指定搜索范围内没有找到孔,PC-DMIS 将会出现读位置的提示,在这种情况下,可以手动移动测针到圆孔的中心,点击提示框中的“是”,CMM 将以读入的测头位置作为圆心的理论值来测量圆孔


核心其实就是:通过取点而锁定一个孔.

下面是一个搜寻孔程序的例子:


   取点按照圆的路径, 具中搜寻的理论位置. 如果全部覆盖后仍然没有检测到孔,就会以更大的半径重新开始. 要改变测量的圆的位置, 要依据坐标转换一个圆的角度.


     圆的搜索带有两个圆路径, 遵守半径 1 mm 然后 2 mm. 此搜索每路径10个点. 



Step 1:


定义一个 POINTEST 点, 位置就是要找的圆的理论圆心.

下面的程序行出现:


  


Step 2:


创建一个 LOCAL 坐标以此点为中心:


Note: PLAN1 是孔定义时的面

程序行如下:




Step 3:


Insert an If-Then-Else statement, 选择条件 On error.

程序行如下:


Step 4:


以相同方法创建坐标 LOCALFIND . 如果孔被发现后用此坐标: 

程序行如下:

不要激活这个坐标, 需要删除程序行Activate alignment LOCALFIND .

 


Step 5:


Check 部分的 If-Then-Else 语句, 要确认 POINTEST 点的位置 (0,0,0).

程序行如下:


Step 6:


创建一个坐标 LOCALFIND , 它得到位置在搜索路径确认. 此路径, 在例子内example, 是一个半径为1的圆. 此坐标系用于找到孔之后:

程序行如下:

不要激活这个坐标, 需要删除程序行Activate alignment LOCALFIND .


Step 7:


在位置 (0, 0, 0)测量POINTEST .

程序行如下:


Step 8:


旋转坐标 LOCAL 依据 (360�/圆点的数量). 此例子为 360°/10=36°.

程序行如下:


Step 9:


选择 从11 到 16 行进行循环 loop 此例为10次.

程序行如下:


Step 10:


重复步骤 5 到 9, 使用半径 2 mm.

 


Step 11:


On error 部分上午 If-Then-Else 语句, 激活 LOCALFIND 坐标.

 

程序行所有行如下:


RationalDMIS 7.1 查找孔宏程序


M(HOLESEEK)=MACRO/ELEM_NAME,XX,YY,ZZ,II,JJ,KK,DD,NPOINTS,DEEP

DECL/DOUBLE,ACT_X,ACT_Y,ACT_Z,ANG1,RAD1,RAD2,LAST_Z,DIFF_Z,X2,Y2,Z2
DECL/DOUBLE,SEARCH1,RETRCT1,APPRCH1,OFFS_PLANE_POINTS,PRDIAM,PRRAD,RMEASURE
DECL/CHAR,100,EX_REF_SYS,CNAME,SENSOR_NAME
DECL/INTGR,NUM1,I1,J1,K1
MODE/PROG,MAN

IREADTHEACTUALSEARCHANDRETRCTDISTANCEAPPRCH1=VALUE/SNSET,APPRCHRETRCT1=VALUE/SNSET,RETRCTSEARCH1=VALUE/SNSET,SEARCH      IREADTHEACTUALSEARCHANDRETRCTDISTANCEAPPRCH1=VALUE/SNSET,APPRCHRETRCT1=VALUE/SNSET,RETRCTSEARCH1=VALUE/SNSET,SEARCHDEEP1==VALUE/SNSET,DEPTH

$$ I READ THE ACTUAL REFERENCE SYSTEM NAME
EX_REF_SYS=ASSIGN/SCDAT()

$$ READ PROBE DIAMETER AND RADIUS
SENSOR_NAME=ASSIGN/SCSNS()
PRDIAM=OBTAIN/SA(@SENSOR_NAME),10
PRRAD=ASSIGN/PRDIAM/2

SNSET/DEPTH,0
SNSET/SEARCH,PRRAD+DEEP
OFFS_PLANE_POINTS=ASSIGN/2
LAST_Z=ASSIGN/0

$$ SET TEMPORARY ORIGIN AND ALIGNMENT
F(POORIG)=FEAT/POINT,CART,XX,YY,ZZ,II,JJ,KK
FA(POORIG)=FEAT/POINT,CART,XX,YY,ZZ,II,JJ,KK
F(LIZ)=FEAT/LINE,UNBND,CART, XX,YY,ZZ, II,JJ,KK, 1,1,1
FA(LIZ)=FEAT/LINE,UNBND,CART, XX,YY,ZZ, II,JJ,KK, 1,1,1
D(THEO_CENTER) = TRANS/XORIG,FA(POORIG),YORIG,FA(POORIG),ZORIG,FA(POORIG)
D(THEO_CENTER) = DATSET/FA(LIZ),ZDIR

$$-----------------BIG STEP SEARCH-----------------------------
RAD2=ASSIGN/DD/2*0.866
NUM1=ASSIGN/0

DO/I1,2,5,1
DO/J1,0,5,1
DO/K1,1,I1-1,1
ACT_X=ASSIGN/RAD2*(I1-1)COS(DTOR(-30))
ACT_Y=ASSIGN/RAD2
(I1-1)SIN(DTOR(-30))+RAD2(K1-1)
ANG1=ASSIGN/ATAN2(ACT_Y,ACT_X)
RAD1=ASSIGN/SQRT(ACT_XACT_X+ACT_YACT_Y)
ANG1=ASSIGN/RTOD(ANG1)+60J1
ACT_X=ASSIGN/RAD1
COS(DTOR(ANG1))
ACT_Y=ASSIGN/RAD1*SIN(DTOR(ANG1))

BADTST/ON
F(PT)=FEAT/POINT,CART, ACT_X,ACT_Y,LAST_Z, 0,0,1
MEAS/POINT,F(PT),1
PTMEAS/CART, ACT_X,ACT_Y,LAST_Z, 0,0,1
ENDMES

IF/(BADPT())
F(PT)=FEAT/POINT,CART, ACT_X,ACT_Y,LAST_Z, 0,0,1
MEAS/POINT,F(PT),0
ENDMES
ACT_X=OBTAIN/FA(PT),3
ACT_Y=OBTAIN/FA(PT),4
ACT_Z=OBTAIN/FA(PT),5
JUMPTO/(AAA)

ELSE
Z2=OBTAIN/FA(PT),5
DIFF_Z=ASSIGN/Z2-LAST_Z
LAST_Z=ASSIGN/Z2
$$TEXT/OUTFIL,STR(DIFF_Z)

IF/(DIFF_Z.LT.-SQRT(DD)/4)
ACT_Z=ASSIGN/LAST_Z+PRRAD+0.2
JUMPTO/(BBB)
ENDIF

ENDIF

ENDDO
ENDDO
ENDDO

$$-----------------FAIL SEARCH, CHANGE TO MAN MODE-------------------------
MODE/MAN
TEXT/OPER,‘自动搜索失败,请手工测量该孔’

RECALL/D(@EX_REF_SYS)
F(@ELEM_NAME)=FEAT/CIRCLE,INNER,CART, XX,YY,ZZ, II,JJ,KK, DD
RMEAS/CIRCLE,F(@ELEM_NAME),NPOINTS,VECBLD,2,3
ENDMES

(BBB)
$$--------------------SMALL STEP SEATCH----------------------
D(THEO_CENTER) = TRANS/XORIG,FA(PT),YORIG,FA(PT),ZORIG,FA(PT)
RAD2=ASSIGN/(DD-PRDIAM)/20.8660.9

DO/I1,2,5,1
DO/J1,0,5,1
DO/K1,1,I1-1,1
ACT_X=ASSIGN/RAD2*(I1-1)COS(DTOR(-30))
ACT_Y=ASSIGN/RAD2
(I1-1)SIN(DTOR(-30))+RAD2(K1-1)
ANG1=ASSIGN/ATAN2(ACT_Y,ACT_X)
RAD1=ASSIGN/SQRT(ACT_XACT_X+ACT_YACT_Y)
ANG1=ASSIGN/RTOD(ANG1)+60J1
ACT_X=ASSIGN/RAD1
COS(DTOR(ANG1))
ACT_Y=ASSIGN/RAD1*SIN(DTOR(ANG1))

BADTST/ON
F(PT)=FEAT/POINT,CART, ACT_X,ACT_Y,LAST_Z, 0,0,1
MEAS/POINT,F(PT),1
PTMEAS/CART, ACT_X,ACT_Y,LAST_Z, 0,0,1
ENDMES

IF/(BADPT())
F(PT)=FEAT/POINT,CART, ACT_X,ACT_Y,LAST_Z, 0,0,1
MEAS/POINT,F(PT),0
ENDMES
ACT_X=OBTAIN/FA(PT),3
ACT_Y=OBTAIN/FA(PT),4
ACT_Z=OBTAIN/FA(PT),5
JUMPTO/(AAA)
ELSE
LAST_Z=OBTAIN/FA(PT),5
ENDIF

ENDDO
ENDDO
ENDDO

(AAA)
$$-----------------FIND THE HOLE
BADTST/OFF

$$F(TMP_CIR)=FEAT/CIRCLE,INNER,CART, 99999.0000,99999.0000,99999.0000, 0,0,1, 0
RAD1=ASSIGN/0.1
SNSET/DEPTH, 0
SNSET/APPRCH,RAD1
SNSET/RETRCT,0.1
SNSET/SEARCH,10.0000

F(TMP_CIR)=FEAT/CIRCLE,INNER,CART, ACT_X,ACT_Y,ACT_Z, 0,0,1, PRDIAM
MEAS/CIRCLE,F(TMP_CIR),4
PTMEAS/CART,ACT_X-PRRAD,ACT_Y,ACT_Z,1,0,0
PTMEAS/CART,ACT_X+PRRAD,ACT_Y,ACT_Z,-1,0,0
PTMEAS/CART,ACT_X,ACT_Y-PRRAD,ACT_Z,0,1,0
PTMEAS/CART,ACT_X,ACT_Y+PRRAD,ACT_Z,0,-1,0
ENDMES

$$ ORIGIN ON THE TEMPORARY HOLE
D(THEO_CENTER) = TRANS/XORIG,FA(TMP_CIR),YORIG,FA(TMP_CIR)

GOTO/0,0,LAST_Z+PRRAD+5

RMEASURE=OBTAIN/FA(TMP_CIR),10
RMEASURE=ASSIGN/(RMEASURE/2)+OFFS_PLANE_POINTS

SNSET/APPRCH,2
SNSET/RETRCT,2
SNSET/SEARCH,5
F(PLPRO)=FEAT/PLANE,CART,0,0,LAST_Z,0,0,1
MEAS/PLANE,F(PLPRO),4
PTMEAS/CART,RMEASURE,0,LAST_Z+PRRAD,0,0,1
PTMEAS/CART,0,RMEASURE,LAST_Z+PRRAD,0,0,1
PTMEAS/CART,-RMEASURE,0,LAST_Z+PRRAD,0,0,1
PTMEAS/CART,0,-RMEASURE,LAST_Z+PRRAD,0,0,1
ENDMES

D(THEO_CENTER) = DATSET/FA(PLPRO),ZDIR,ZORIG

GOTO/0,0,PRRAD+5

SNSET/APPRCH,(DD-PRDIAM)/2
SNSET/RETRCT,(DD-PRDIAM)/4
F(TMP_CIR)=FEAT/CIRCLE,INNER,CART, 0,0,-DEEP, 0,0,1, DD
MEAS/CIRCLE,F(TMP_CIR),NPOINTS
ENDMES

GOTO/0,0,PRRAD+5

RECALL/D(@EX_REF_SYS)

F(@ELEM_NAME)=FEAT/CIRCLE,INNER,CART, XX,YY,ZZ, II,JJ,KK, DD
CONST/CIRCLE,F(@ELEM_NAME),PROJCT,FA(TMP_CIR),FA(PLPRO)

$$ I SET THE ORIGINAL SEARCH DISTANCE
SNSET/APPRCH,APPRCH1
SNSET/RETRCT,RETRCT1
SNSET/SEARCH,SEARCH1
SNSET/DEPTH,DEEP

$$DISPLY/OFF
ENDMAC

$$==========MAIN PROG

DECL/REAL,X1,Y1,Z1

SNSLCT/SA(P1_90_0n90_0)
MODE/MAN
D(DAT_2) = TRANS/XORIG,10.0000,YORIG,20.0000,ZORIG,30.0000

F(POI_3)=FEAT/POINT,CART,0,0,0,0,0,1
MEAS/POINT,F(POI_3),1
ENDMES

RECALL/D(DAT_2)
SNSET/SEARCH,10.000
SNSET/APPRCH,2.0000
SNSET/RETRCT,2.0000
X1=OBTAIN/FA(POI_3),3
Y1=OBTAIN/FA(POI_3),4
Z1=OBTAIN/FA(POI_3),5

CALL/M(HOLESEEK),‘CIR_8’,X1,Y1,Z1,0,0,1,6,4,1
ENDFIL



示例一:


$$-------- MEASURE SURF or POINTS -------- NEST4WHGT --------
SNSET/APPRCH,0.3500
TEXT/OUTFIL,'** NEST4WHGT (Z direction) **'
F(NEST4WHGT) = FEAT/POINT,CART,3.3947,3.4427,3.7369,$
     0.0000,0.0000,1.0000
MEAS/POINT,F(NEST4WHGT),1
  PTMEAS/CART,3.3947,3.4427,3.7369,0.0000,0.0000,1.0000
ENDMES
T(SP037V) = TOL/PROFP,-0.0050,0.0050
OUTPUT/FA(NEST4WHGT),TA(SP037V)
$$
GOTO/3.7095,3.4359,3.8763
$$
$$-------- MEASURE CIRCLE OUTER -------- NEST4WPIN --------
SNSET/APPRCH,0.1000
SNSET/DEPTH,0.0500
$$  move to a clearance approach point
GOTO/3.7095,3.4359,3.8869
TEXT/OUTFIL,'** NEST4WPIN **'
F(NEST4WPIN) = FEAT/CIRCLE,OUTER,CART,3.3986,3.4359,3.6869,$
         0.0000,0.0000,1.0000,0.3432
RMEAS/CIRCLE,F(NEST4WPIN),8,FA(NEST4WHGT)
  PTMEAS/CART,3.5702,3.4359,3.6369,1.0000,0.0000,0.0000
  PTMEAS/CART,3.5199,3.3145,3.6369,0.7071,-0.7071,0.0000
  PTMEAS/CART,3.3986,3.2643,3.6369,0.0000,-1.0000,0.0000
  PTMEAS/CART,3.2772,3.3145,3.6369,-0.7071,-0.7071,0.0000
  PTMEAS/CART,3.2270,3.4359,3.6369,-1.0000,-0.0000,0.0000
  PTMEAS/CART,3.2772,3.5572,3.6369,-0.7071,0.7071,0.0000
  PTMEAS/CART,3.3986,3.6075,3.6369,-0.0000,1.0000,0.0000
  PTMEAS/CART,3.5199,3.5572,3.6369,0.7071,0.7071,0.0000
ENDMES
$$
T(CO038X) = TOL/CORTOL,XAXIS,-0.0005,0.0005
T(CO038Y) = TOL/CORTOL,YAXIS,-0.0005,0.0005
T(CO038D) = TOL/DIAM,-0.0005,0.0005
T(CO038P) = TOL/POS,2D,0.0010,RFS
T(CO038F) = TOL/CIRLTY,0.0005
OUTPUT/FA(NEST4WPIN),TA(CO038X),TA(CO038Y),TA(CO038D),TA(CO038P),$
       TA(CO038F)


示例二:


SNSET/APPRCH,6,RETRCT,6,CLRSRF,6

MODE/AUTO,PROG,MAN

MEAS/POINT, F(Point1), 1

  GOTO/CART,  1477.180, 416.086, 738.630

  PTMEAS/CART,  1477.180, 404.110, 738.630, 0.000000, 1.000000, 0.000000

ENDMES

MEAS/POINT, F(Point2), 1

  GOTO/CART,  1462.790, 416.086, 730.240

  PTMEAS/CART,  1462.790, 404.110, 730.240, 0.000000, 1.000000, -0.000000

ENDMES


MEAS/POINT, F(Point3), 1

  GOTO/CART,  1482.450, 416.086, 718.970

  PTMEAS/CART,  1482.450, 404.110, 718.970, 0.000000, 1.000000, 0.000000

ENDMES


CONST/PLANE,F(Plane1),BF,FA(Point1),FA(Point2),FA(Point3)

$$ Measurement points are created through nominal points

$$ INNER feature Senest automatic adjustment

SNSET/APPRCH,4,RETRCT,4


F(Hole1) = FEAT/CIRCLE,INNER,CART, 1474.140, 404.110, 727.280, 0.000000, 1.000000, 7.500

F(Hole1-p) = FEAT/CIRCLE,INNER,CART, 1474.140, 404.110, 727.280, 0.000000, 1.000000, 7.500


$$ turn on badtst

BADTST/ON

RMEAS/CIRCLE, F(Hole1-p), 3, FA(Plane1)

  GOTO/CART,  1482.207, 416.333, 718.840

  GOTO/CART,  1473.875, 416.255, 727.138

  PTMEAS/CART,  1476.792, 403.110, 724.629, -0.707158, 0.000029, 0.707055

  PTMEAS/CART,  1473.170, 403.110, 723.658, 0.258748, -0.000034, 0.965945

  PTMEAS/CART,  1470.518, 403.110, 726.309, 0.965900, 0.000037, 0.258914

  PTMEAS/CART,  1471.488, 403.110, 729.931, 0.707158, -0.000029, -0.707055

  PTMEAS/CART,  1475.110, 403.110, 730.902, -0.258748, 0.000034, -0.965945

  PTMEAS/CART,  1477.762, 403.110, 728.251, -0.965900, -0.000037, -0.258914

ENDMES


IF/(BADGT())

BADTST/OFF


ALARM = PROMPT/SOUND,'C:\Users\CMM#2\Downloads\ALARM_BE.WAV'

TEXT/OPER,'POSITION PROBE IN THE CENTER OF THE HOLE AND SLIGHTLY OUTIDE THE SURFACE'

F(generic1) = FEAT/POINT,CART,3554.216, -478.920, 704.534, -0.919529,0.000002,0.393021   

$$   

MEAS/POINT, F(generic1), 0  

ENDMES  

MODE/AUTO,PROG,MAN

$$ declare variable to hold point data

 DECL/REAL,generic1_X

$$ Obtain X coordinate of point

generic1_X = OBTAIN/FA(generic1),3

DECL/REAL,generic1_Y

generic1_Y = OBTAIN/FA(generic1),4

DECL/REAL,generic1_Z

generic1_Z = OBTAIN/FA(generic1),5


$$ use variables to create new feature nominals

F(Hole1-p) = FEAT/CIRCLE,INNER,CART, generic1_X, generic1_Y,generic1_Z, 0.000000, 1.000000, 0.000000, 7.500

$ Remeasure the feature with new nominals


RMEAS/CIRCLE,F(Hole1-P),6,VECBLD,3,3

ENDMES

ENDIF

BADTST/OFF

$$ project measured circle onto measured plane.

CONST/CIRCLE,F(Hole1),PROJCT,FA(Hole1-P), FA(Plane1)


示例三:


MODE/PROG,MAN


F(PT1)=FEAT/POINT,CART,36.8466,-11.2936,0.0000,0.0000,0.0000,1.0000

MEAS/POINT, F(PT1), 1

  PTMEAS/CART, 36.8466,-11.2936,0.0000,0.0000,0.0000,1.0000

ENDMES

F(CIR1)=FEAT/CIRCLE,INNER,CART,-0.0000,0.0000,-2.0000,0.0000,0.0000,1.0000, 30.0000

$$ Measurement points are created through nominal points

RMEAS/CIRCLE, F(CIR1), 5, FA(PT1)

  GOTO/CART,    36.8466, -11.2936, 19.0000

  GOTO/CART,    11.4732,  -3.5166, 19.0000

  PTMEAS/CART,  14.3415,  -4.3957, -2.0000, -0.9561,  0.2930, 0.0000

  GOTO/CART,    11.9983,   0.2010, -2.0000

  GOTO/CART,    11.3490,   3.8988, -2.0000

  GOTO/CART,     9.5887,   7.2150, -2.0000

  PTMEAS/CART,   8.6123,  12.2812, -2.0000, -0.5742, -0.8187, 0.0000

  GOTO/CART,     3.5166,  11.4732, -2.0000

  GOTO/CART,    -0.2010,  11.9983, -2.0000

  GOTO/CART,    -3.8988,  11.3490, -2.0000

  PTMEAS/CART,  -9.0188,  11.9859, -2.0000,  0.6013, -0.7991, 0.0000

  GOTO/CART,    -9.8250,   6.8899, -2.0000

  GOTO/CART,   -11.4732,   3.5166, -2.0000

  GOTO/CART,   -11.9983,  -0.2010, -2.0000

  PTMEAS/CART, -14.1862,  -4.8735, -2.0000,  0.9457,  0.3249, 0.0000

  GOTO/CART,    -9.5887,  -7.2150, -2.0000

  GOTO/CART,    -6.8899,  -9.8250, -2.0000

  GOTO/CART,    -3.5166, -11.4732, -2.0000

  PTMEAS/CART,   0.2512, -14.9979, -2.0000, -0.0167,  0.9999, 0.0000

ENDMES


F(CIR1)=FEAT/CIRCLE,INNER,CART,0.0000,-0.0000,-2.0000,0.0000,0.0000,1.0000, 20.0000

$$ Measurement points are created through nominal points

MEAS/CIRCLE, F(CIR1), 5

  GOTO/CART,    0.2011, -11.9983, 19.0000

  GOTO/CART,    0.1173,  -6.9990, 19.0000

  PTMEAS/CART,  0.1676,  -9.9986, -2.0000, -0.0168,  0.9999, 0.0000

  GOTO/CART,    2.2744,  -6.6202, -2.0000

  GOTO/CART,    4.2088,  -5.5934, -2.0000

  GOTO/CART,    5.7313,  -4.0190, -2.0000

  PTMEAS/CART,  9.5610,  -2.9304, -2.0000, -0.9561,  0.2930, 0.0000

  GOTO/CART,    6.9990,   0.1173, -2.0000

  GOTO/CART,    6.6202,   2.2744, -2.0000

  GOTO/CART,    5.5934,   4.2088, -2.0000

  PTMEAS/CART,  5.7415,   8.1875, -2.0000, -0.5741, -0.8188, 0.0000

  GOTO/CART,    2.0513,   6.6927, -2.0000

  GOTO/CART,   -0.1173,   6.9990, -2.0000

  GOTO/CART,   -2.2744,   6.6202, -2.0000

  PTMEAS/CART, -6.0126,   7.9905, -2.0000,  0.6013, -0.7991, 0.0000

  GOTO/CART,   -5.7313,   4.0190, -2.0000

  GOTO/CART,   -6.6927,   2.0513, -2.0000

  GOTO/CART,   -6.9990,  -0.1173, -2.0000

  PTMEAS/CART, -9.4574,  -3.2491, -2.0000,  0.9457,  0.3249, 0.0000

ENDMES

F(CIR2)=FEAT/CIRCLE,INNER,CART,50.0000,-30.0000,-2.0000,0.0000,0.0000,1.0000, 20.0000

$$ Measurement points are created through nominal points

RMEAS/CIRCLE, F(CIR2), 5, FA(CIR1)

  GOTO/CART,   -6.6202,  -2.2744, 19.0000

  GOTO/CART,   43.7133, -26.9215, 19.0000

  PTMEAS/CART, 41.0190, -25.6022, -2.0000,  0.8981, -0.4398, 0.0000

  GOTO/CART,   43.0697, -29.0149, -2.0000

  GOTO/CART,   43.1044, -31.2047, -2.0000

  GOTO/CART,   43.8142, -33.2766, -2.0000

  PTMEAS/CART, 43.0421, -37.1825, -2.0000,  0.6958,  0.7182, 0.0000

  GOTO/CART,   46.9215, -36.2867, -2.0000

  GOTO/CART,   49.0149, -36.9303, -2.0000

  GOTO/CART,   51.2047, -36.8956, -2.0000

  PTMEAS/CART, 54.6808, -38.8368, -2.0000, -0.4681,  0.8837, 0.0000

  GOTO/CART,   55.0277, -34.8705, -2.0000

  GOTO/CART,   56.2867, -33.0785, -2.0000

  GOTO/CART,   56.9303, -30.9851, -2.0000

  PTMEAS/CART, 59.8508, -28.2790, -2.0000, -0.9851, -0.1721, 0.0000

  GOTO/CART,   56.1858, -26.7234, -2.0000

  GOTO/CART,   54.8705, -24.9723, -2.0000

  GOTO/CART,   53.0785, -23.7133, -2.0000

  PTMEAS/CART, 51.4073, -20.0995, -2.0000, -0.1407, -0.9901, 0.0000

ENDMES


示例四:


F(CIR1)=FEAT/CIRCLE,INNER,CART,0.0000,-0.0000,-2.0000,0.0000,0.0000,1.0000, 20.0000

$$ Measurement points are created through nominal points

MEAS/CIRCLE, F(CIR1), 5

  GOTO/CART,    0.2011, -11.9983, 19.0000

  GOTO/CART,    0.1173,  -6.9990, 19.0000

  PTMEAS/CART,  0.1676,  -9.9986, -2.0000, -0.0168,  0.9999, 0.0000

  GOTO/CART,    2.2744,  -6.6202, -2.0000

  GOTO/CART,    4.2088,  -5.5934, -2.0000

  GOTO/CART,    5.7313,  -4.0190, -2.0000

  PTMEAS/CART,  9.5610,  -2.9304, -2.0000, -0.9561,  0.2930, 0.0000

  GOTO/CART,    6.9990,   0.1173, -2.0000

  GOTO/CART,    6.6202,   2.2744, -2.0000

  GOTO/CART,    5.5934,   4.2088, -2.0000

  PTMEAS/CART,  5.7415,   8.1875, -2.0000, -0.5741, -0.8188, 0.0000

  GOTO/CART,    2.0513,   6.6927, -2.0000

  GOTO/CART,   -0.1173,   6.9990, -2.0000

  GOTO/CART,   -2.2744,   6.6202, -2.0000

  PTMEAS/CART, -6.0126,   7.9905, -2.0000,  0.6013, -0.7991, 0.0000

  GOTO/CART,   -5.7313,   4.0190, -2.0000

  GOTO/CART,   -6.6927,   2.0513, -2.0000

  GOTO/CART,   -6.9990,  -0.1173, -2.0000

  PTMEAS/CART, -9.4574,  -3.2491, -2.0000,  0.9457,  0.3249, 0.0000

ENDMES

$$ Measurement points are created through nominal points

F(CIR2)=FEAT/CIRCLE,INNER,CART,50.0000,-30.0000,-2.0000,0.0000,0.0000,1.0000, 20.0000

$$ Measurement points are created through nominal points

RMEAS/CIRCLE, F(CIR2), 5, FA(CIR1), XDIR, FA(CIR1), YDIR

  GOTO/CART,   50.9852, -23.0697, 19.0000

  PTMEAS/CART, 51.4074, -20.0995, -2.0000, -0.1407, -0.9900, 0.0000

  GOTO/CART,   48.7953, -23.1044, -2.0000

  GOTO/CART,   46.7235, -23.8142, -2.0000

  GOTO/CART,   44.9723, -25.1294, -2.0000

  PTMEAS/CART, 41.0190, -25.6021, -2.0000,  0.8981, -0.4398, 0.0000

  GOTO/CART,   43.0697, -29.0148, -2.0000

  GOTO/CART,   43.1044, -31.2047, -2.0000

  GOTO/CART,   43.8142, -33.2765, -2.0000

  PTMEAS/CART, 43.0421, -37.1824, -2.0000,  0.6958,  0.7182, 0.0000

  GOTO/CART,   46.9215, -36.2867, -2.0000

  GOTO/CART,   49.0148, -36.9303, -2.0000

  GOTO/CART,   51.2047, -36.8956, -2.0000

  PTMEAS/CART, 54.6808, -38.8369, -2.0000, -0.4681,  0.8837, 0.0000

  GOTO/CART,   55.0277, -34.8706, -2.0000

  GOTO/CART,   56.2867, -33.0785, -2.0000

  GOTO/CART,   56.9303, -30.9852, -2.0000

  PTMEAS/CART, 59.8508, -28.2791, -2.0000, -0.9851, -0.1721, 0.0000

ENDMES


示例四:Metrolog XG13


This program enables to search for a hole on a mechanical part or on sheet metal and to measure it.


You must follow the steps described hereunder in order to ensure the proper operation of the program:


Step 1: Enter range learning mode:



Step 2: Create the work alignment marker:



Step 3: Open the program wizard and choose the Hole_search_3 > Hole_search_routine_for_circles program:



Step 4: Enter the parameters as indicated below:





PROBE_D : enter the diameter of the probe.

ALIGNMENT_NAME : enter the name of the alignment marker.

CIRCLE_NAME : enter the name of the circle that is to undergo the search.

CIRCLE_XYZ_COORD : enter the circle's coordinates.

CIRCLE_IJK_COORD : enter the coordinates of the normal to the circle.

NBER OF PATH : enter the amount of hexagonal paths you want the program to generate.

APP_SEARCH_RET_DIST_PLAN : enter the distances for the approach, the search and the retreat used when probing the surface.

Then click on Finish.

 

Step 5: The program has been created



Step 6: Run the program to initiate the hole search.


If the circle is not positioned as described in the program, the probe makes contact with a solid surface rather than the hole it is looking for. In this case, the search path is launched by the program.
Based on an alignment that centres on the theoretical position of the element, the hexagonal paths are generated around the hole in order to carry out the search. The path parameters are defined at step 4.


The path is followed to its end if no hole is found. Once the hole is found, the circle is automatically measured.



Comment: You can edit two other Text-Value parameters within the program:


DEPTH_DIST : enables to set the depth value used for the probing of the circle.

STEP: enables to set the distance between each hole search probe.


来源:山涧果子
ACTMechanicalSystemSTEPSADS理论试验曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-01-04
最近编辑:2天前
山涧果子
大专 签名征集中
获赞 204粉丝 51文章 748课程 0
点赞
收藏
作者推荐

中望3D 2021 正式版发布,内核建模能力优化加速用户创新设计!

官网:https://www.zwcad.com/ 2020年6月30日,中望软件自主研发的三维CAD/CAM一体化软件——中望3D正式发布了2021版,通过持续对底层算法的优化,进一步增强了中望3D2021的健壮性和稳定性,新版本同步改进了界面和操作流程,使得用户的设计体验更为友好,以匹配用户日益复杂的设计挑战,为加快企业用户产品设计开发周期提供强有力的支撑。 中望3D是中望软件基于自主核心技术的三维几何建模引擎Overdrive研发而成的国产三维CAD/CAM一体化软件,具备专业的“曲面造型、实体建模、模具设计、装配、钣金、工程图、2-5轴加工”等功能模块,其内核技术Overdrive与ACIS、Parasolid、CGM、Granite是国际上五大主流三维CAD/CAM平台内核技术,也是目前国内少有的由中望拥有自主知识产权、并经过大量工业生产验证的三维几何建模内核技术。得益于自主核心几何建模引擎技术,中望3D独创的混合建模技术能够支持各类自由曲面及实体设计,建模精度高,幅度大,同时也为软件的能力边界拓展提供强大的支撑。 本次发布的中望3D2021,基于内核技术的优势,中望中美研发团队通过优化内核算法实现了中望3D2021建模精度的大幅提升,建模精度支持10-4到10-5次方,建模正确性更高。软件在运行速度和功能方面也有较大幅度的增强,更好地满足企业用户长时间、高度复杂化的建模设计需求,帮助提升设计生产效率。 测试过新版的用户均表示,对比旧版,新版中望3D2021的交互性也更为友好,例如设计建模新增了命令搜索功能,用户可以很方便地通过关键字快速找到所需的命令,而映射键功能可以将某些公共操作以映射键的形式记录下来,为用户节省更多时间,从而提高设计效率,其他新增建模功能还包括基准轴、基准坐标系,支持G2圆角等。装配能力也进一步增强,新增间隙查询、子装配解散与组织等使用频率较高的装配相关功能,使得装配设计更加灵活高效。而针对用户CAM加工的实际应用需求,新版本新增了FMS设置界面、“Fanuc”机床控制器、控制仿真速度等功能,机床仿真能力进一步提升;此外,车削、铣削以及后处理方面也有不同程度的改进和优化。在应用拓展方面,优化了模具模块的功能,并且新增了ECAD模块,支持IDF文件的交互,提供了基础的ECAD协同设计功能。 一直以来,中望软件十分注重收集一线使用人员对提升软件应用性的技术要求和改进建议,并融入到各版本的迭代升级当中,本次发布的中望3D2021结合了近两年来国内外大型企业提出的部分提效需求和建议,在产品设计、模具设计和CAM加工三大模块功能进行了相应的增强和优化,使之更加贴近企业用户的日常产品设计、验证、加工生产全流程的应用需求,更好地服务于用户创新设计。中望3D2021 新增功能一.新增“命令搜索” 命令搜索以关键字符匹配搜索,且可记录下每次搜索的内容。搜索对象包括:命令名、命令描述、命令提示语;搜索结果以单页、多页的形式展示,提供翻页和页码显示功能;支持动态展示搜索结果命令所在位置。也可直接执行搜索结果的命令。二.新增“映射键”“ 映射键” 支持录制单个命令以及多个命令组合的流程, 满足快速完成一些批量化的设计操作。对于模板命令支持等待用户输入参数,支持对“ 映射键” 增删改存的功能。“ 映射键” 的定义(1) “ 映射键” 支持所有字母和数字的组合,最大字符数为32。(2) 对于不规范的字符输入(如控制字符和特殊字符),会在控件层面屏蔽用户的输入,所有不规范的输入都会通过忽视的方式去处理。“ 映射键” 的增删改存支持对“ 映射键” 的增加(1) 必填项为“ 映射键” ,名字(最大字符数为 64)和描述为可选项,支持录制行为的选择。(2)当“ 映射键” 为空,点击完成会保留界面,防止用户在忘记输入“ 映射键” 的情况下丢失了录制和输入的文本的信息。2. 支持单个和多个“ 映射键” 的删除。(1)删除只针对内存中的内容。如果不点击“ 保存” ,软件重新启动加载时会恢复删除的内容。3. 支持单个“ 映射键” 的修改(1) “ 映射键” 作为唯一的主键是不支持修改的,也不支持录制选项的修改。(2)用户可修改“ 映射键” 名称与描述,也可重新录制命令流程,但命令流程支持重新录制,不支持片段修改。(3)所有的修改只在点击完成后改变, “ 取消” 按钮是可以恢复修改前的内容的,即使是重新录制的流程也可以恢复。4.支持保存当前所有“ 映射键”(1)会把当前面板中所有的“ 映射键” 保存为一份配置文件。(2) 在软件启动时初始化“ 映射键” 功能,把配置文件的所有“ 映射键” 预加载到内存中,用以支持“ 映射键” 的快速触发。(3)所有的改动必须点击保存后才能写入配置文件,才能够真正的实现备份,否则在软件关闭时会丢失所有的“ 映射键” 改动。路径:菜单栏 >> 实用工具 >> 映射键录制三.导入格式更新下表为中望 3D 2021 导入格式支持,其中更新的格式标记为红色。四.转换属性支持导入时支持读取零件的用户自定义属性,并且写入到零件属性中。可支持读取隐藏组件、抑制组件、隐藏实体、用户自定义属性、材质密度。具体格式以及读取功能如下:表格中× 代表不能读取,√代表可以读取。(1).用户自定义属性都是只获取零件、装配、组件上的,不会获取零件内部造型这一层的。(2).材质密度目前只获取材质名称和对应的密度。(3).NX 的用户自定义属性名称包含两部分:Category 和 Title,转换为 ZW3D 的用户自定义属性后,属性名表示为 Category|Title。(4).Catia V5 支持获取装配或子装配的用户自定义属性(例如零件编号,版本等) ,但组件的用户自定义属性不支持(例如实例名称等) 。(5).Inventor 对用户自定义属性的支持有下面的限制:支持 Custom, Project 和 Status 这三个选项卡下面的属性,以及 Status 选项卡下面的除 File Status 外的属性。(6).SolidEdge 的用户自定义属性从 ST4 才开始支持,更老版本无法支持。(7).Solidworks 的用户属性导入的支持有限制, Summary 选项卡下的信息不能导入到 ZW3D 中。五.草图设计 ——“ 约束冲突检查” 改进 草图环境下,当约束/标注发生冲突时,所有冲突的约束/标注会列在冲突约束管理器中,可以在列表中删除约束/标注或者把标注转换为参考标注。新增下拉菜单列表筛选列表中显示的内容,可选择仅显示尺寸、仅显示约束、显示全部三种显示方式。路径:草图环境 >> 约束 >> 约束冲突配置面板 >> 2D >> 草图 >> 启动约束冲突管理器六.草图环境下支持“重定位” 草图环境下,新增“ 重定位”功能,支持重定义草图基准面、草图方向以及草图原点, 重定位草图无需先退出草图, 用户可直接在编辑草图的过程中实现草图重定位。七.新增“ 装饰草图” 3D 环境下新增“ 装饰草图” 。用户可以通过“ 装饰草图” 功能在零件环境下添加一些符号或者图形标记,或者在其他特征或模型上绘制一些几何图形(比如, logo 等)。 “ 装饰草图” 的三大特性:1)注释性。该草图为注释性草图,即不能用于建模等特征操作。2)可填充。在退出“ 装饰草图” 后,可以选择让“ 装饰草图” 的封闭区域样式填充。3)可投影。能投影到实体的表面和工程图。路径:造型 >> 基础造型 >> 装饰草图八,完整 CSYS 支持 构建完整的笛卡尔直角坐标系统,包含基准轴、 基准面、 基准坐标系、 草图基准轴,按创建时序在历史树上添加特征(草图轴除外)。平台有且只有一个局部坐标系,是平台默认的建模参考系统,默认值为全局不变的世界坐标系。默认去除历史树上的 XY、 YZ、 ZX 特征, 取而代之的是一个值为世界坐标系的基准坐标系特征( 默认 CSYS),该特征只是普通的基准坐标系特征, 并不代表世界坐标系或者局部坐标系, 允许重定义。九.基准轴 基准轴只包含一个方向, 起点和长度。命令面板如下: 基准轴的显示模式有箭头与无箭头两种。可设置轴的颜色、 线型、 线宽.基准轴有以下特点:1.独立实体 基准轴是独立实体存在且历史树有对应的单一特征节点,支持常规的编辑操作, 如阵列、镜像、移动、拷贝。可被图层管理器管理。具有对应的基准轴过滤器类型。2. 方向输入如拉伸、 阵列、 投影曲线。对于平台命令中的矢量\方向输入,过滤器添加过滤项基准轴, 只允许选择基准轴对象、 基准平面对象的 Z 轴、 基准坐标系对象的三个基准轴;过滤器为边/曲线时不允许选择基准轴对象。3. 标注 PMI支持快速标注、 线性、 角度、 对称等 PMI 标注。4. 装配约束1) 插入命令:可捕捉轴的起点,组件的原点与轴的起点重合, 组件的 Z 轴朝向与基准轴方向一致。2) 约束:支持重合、 平行、垂直、角度等约束。路径:零件环境 >> 造型 >> 基准面 >> 基准轴基准轴 2D(草图)命令面板如下。勾选了“ 构造几何” 选项后, 创建仅草图内部使用的轴;不勾选时, 创建外部可用的轴,可作为草图默认旋转轴。 2D 基准轴是无限长虚线。内部轴与普通构造线显示属性一样,灰色虚线;外部轴为棕色虚线;可通过右键菜单“ 切换外部/内部轴”按钮实现内部外部轴的转换。2D 基准轴有以下特点:1. 默认 XY草图默认包含两个 XY 轴对象,无限长,默认 XY 轴无法被修改或删除。2. 独立实体支持常规的编辑操作,如阵列、镜像、移动、拷贝、旋转。3. 约束支持添加二维线段的约束( 等长, 等曲率及同心除外)。4. 标注支持添加二维线段的标注。5. 旋转轴 路径:草图环境 >> 草图 >> 绘图 >> 轴十.基准坐标系基准坐标系(Datum CSYS)由原点、 X/Y/Z 三个基准轴、三个基准平面组成。原点可类似一般点实体,作为点捕捉等参考。3 个基准轴可作为独立实体, 一般方向的参考使用。3 个基准面可作为一般的基准面使用。坐标系整体可作为独立的实体使用。命令面板如下。绘图区域绘制三个基准轴与三个基准面, 以及一个原点,并且标记各基准轴的名称(即X,Y,Z)。默认情况下,坐标系作为整体选择。默认颜色为棕色。样式如下: 基准坐标系有以下特点:1. 作为独立实体坐标系作为独立的对象存在且与一个独立的建模历史特征节点对应,可被通用编辑命令,如阵列、镜像、移动、拷贝进行操作。存在对应的基准坐标系过滤器对象。作为独立对象,可以被图层管理器进行管理。具有独立的可见性、颜色、线粗细等属性。2. 其构成成员由原点、 X/Y/Z 三个基准轴、三个基准平面构成。3. 约束坐标系对齐约束可以指向基准坐标系。路径:零件环境 >> 造型 >> 基准面 >> 基准坐标系在配置面板默认基准面选项中新增选项“CSYS” ,并把“CSYS” 设置为默认基准。设置后,新建零件时创建默认 CSYS。保留原来“ 三重轴” 选项,用户仍可通过选项切换为旧的“ 三重轴” 基准。路径:配置 >> 零件 >> 通用 >> 默认基准面更多详情请参考中望3D 2021 更新说明文档。百度网盘地址:链接:https://pan.baidu.com/s/1LM4sUAS34oi9RpUzVmqPNA提取码:fkra来源:山涧果子

有附件
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈