<cite id="iqway"><pre id="iqway"></pre></cite><code id="iqway"><wbr id="iqway"></wbr></code><code id="iqway"><delect id="iqway"></delect></code>
  • <rt id="iqway"></rt>
    <li id="iqway"><dl id="iqway"></dl></li>
  • <li id="iqway"></li>
    <button id="iqway"><fieldset id="iqway"></fieldset></button>
  • <code id="iqway"><wbr id="iqway"></wbr></code>
    <button id="iqway"></button>
  • <rt id="iqway"></rt>

    亚洲老熟女AV一区二区在线播放-沈阳熟妇28厘米大战黑人-久久久久亚洲AV成人网人人软件-来一水AV@lysav

    技術(shù)支持 放心產(chǎn)品,貼心服務(wù)
    首頁(yè) > 技術(shù)支持 > 產(chǎn)品技術(shù)支持>三坐標(biāo)測(cè)量軟件RationalDMIS 高級(jí)編程應(yīng)用實(shí)例

    三坐標(biāo)測(cè)量軟件RationalDMIS 高級(jí)編程應(yīng)用實(shí)例

    發(fā)表時(shí)間:2022-06-21 15:06:47 作者:三坐標(biāo) 來(lái)源:www.dgwy66.com 瀏覽:4883

    前言

          一個(gè)程序適用N種產(chǎn)品,該如何進(jìn)行編程?

    在測(cè)量應(yīng)用中,對(duì)于相似產(chǎn)品,如:環(huán)規(guī),想要提高測(cè)量效率,并且減少產(chǎn)品程序的數(shù)量,測(cè)量員可以對(duì)產(chǎn)品的相同點(diǎn)進(jìn)行一定分析,發(fā)現(xiàn)其中部分?jǐn)?shù)據(jù)可實(shí)現(xiàn)參數(shù)化,通過(guò)RationalDMIS軟件的高級(jí)語(yǔ)言功能實(shí)現(xiàn)產(chǎn)品的快速測(cè)量,并適用于多種規(guī)格的產(chǎn)品。

     1、產(chǎn)品分析

    對(duì)于有著眾多規(guī)格的環(huán)規(guī)而言,如果每一個(gè)規(guī)格的大小都進(jìn)行編程,是一個(gè)非常繁瑣且不便的工程,對(duì)于測(cè)量員使用對(duì)應(yīng)程序也是極其不便的,影響測(cè)量效率。我們對(duì)環(huán)規(guī)這類產(chǎn)品進(jìn)行分析,特點(diǎn)如下圖:

    clip_image001.png

    環(huán)規(guī)的類型內(nèi)外為TYPE,總高度定義為H,頂部向下偏移量定義為UP,底部向上偏移量定義為DP,環(huán)規(guī)直徑定義為DM,測(cè)量截面數(shù)量m,每個(gè)截面測(cè)量點(diǎn)數(shù)為n。

    2、程序的設(shè)計(jì)

    2.1 程序運(yùn)行后,通過(guò)人為輸入,可以實(shí)現(xiàn)不同規(guī)格產(chǎn)品的自動(dòng)測(cè)量

    2.2 流程圖

    clip_image003.jpg

     

    2.3 RationalDMIS 程序編寫

    (1)通過(guò)DMIS提示,設(shè)置一個(gè)運(yùn)行時(shí)輸入?yún)?shù)的提示窗口

    clip_image005.png

    代碼如下:

    clip_image006.png

    (2) 對(duì)參數(shù)進(jìn)行判斷,如判斷環(huán)規(guī)類型、輸入內(nèi)容為字母、0 等情況

    clip_image007.png

    (3)手動(dòng)建立坐標(biāo)系

    clip_image008.png

    (4)設(shè)置安全平面宏

         (請(qǐng)將安全平面宏程序按以下內(nèi)容修改)

    clip_image009.png

    (5)自動(dòng)精建坐標(biāo)系

    clip_image010.png

    (6)評(píng)價(jià)與分析

    通過(guò)前面輸入的層數(shù)與點(diǎn)數(shù)參數(shù),進(jìn)行圓柱測(cè)量,并進(jìn)行評(píng)價(jià)

    clip_image011.png

    (7)生產(chǎn)檢測(cè)報(bào)告

    clip_image012.png

    (8)總結(jié)

    通過(guò)RationalDMIS軟件,只需簡(jiǎn)單3步,即可完成:

    1、條件判斷,輸入管控參數(shù),判斷規(guī)格類型;

    2、利用賦值,將管控參數(shù)賦給變量;

    3、通過(guò)變量,規(guī)劃測(cè)量軌跡,實(shí)現(xiàn)了不同規(guī)格的產(chǎn)品的檢測(cè);

    最終實(shí)現(xiàn)一個(gè)程序,完成N個(gè)不同規(guī)格產(chǎn)品的自定、高效測(cè)量。

    (9)完整代碼如下


     
    $$/*  Header
     
    DMISMN/'Created by [思瑞測(cè)量技術(shù)(深圳)有限公司(非銷售版)-101522-10825] on 星期四, 五月 26, 2022', 4.0
     
    UNITS/MM, ANGDEC, MMPS
     
    WKPLAN/XYPLAN
     
    PRCOMP/ON
     
    TECOMP/OFF
     
    FLY/1.000000
     
    MODE/PROG, MAN
     
    SNSET/APPRCH, 1.000000
     
    SNSET/RETRCT, 1.000000
     
    SNSET/DEPTH, 0.000000
     
    SNSET/SEARCH, 10.000000
     
    SNSET/CLRSRF, 10.000000
     
    RECALL/D(MCS)
     
    SNSLCT/S(ROOTSN2)
     
    GEOALG/BF, LSTSQR
     
    GEOALG/ANGLB, DEFALT
     
    GEOALG/CIRCLE, MAXINS
     
    GEOALG/ARC, LSTSQR
     
    GEOALG/PLANE, LSTSQR
     
    $$
     
    $$
     
    $$*/
     
    MODE/MAN
     
    DECL/COMMON, INTGR, RINGconfig,TYPE,RINGH,RINGDM,RINGUP,RINGDP,RINGPOINTS,RINGCOUNTS
     
    RINGconfig = PROMPT/TEXT,'請(qǐng)選擇環(huán)規(guī)類型:',LIST,TYPE,'內(nèi)','外',TEXT,'高度 H:',EDIT,RINGH,TEXT,'直徑 DM:',EDIT,RINGDM,TEXT,'上偏移量 UP:',EDIT,RINGUP,TEXT,'下偏移量 DP:',EDIT,RINGDP,TEXT,'每層測(cè)點(diǎn)數(shù) N:',EDIT,RINGPOINTS,TEXT,'層數(shù) M:',EDIT,RINGCOUNTS
     
    if/(TYPE.EQ.1)
     
    KNPTN1=ASSIGN/1
     
    ELSE
     
    KNPTN1=ASSIGN/-1
     
    ENDIF
     
    $$檢查參數(shù)
     
    IF/(RINGH.EQ.0)
     
    RINGH = PROMPT/'請(qǐng)輸入正確的環(huán)規(guī)高度 H', 100, 1
     
    ENDIF
     
     
     
    IF/(RINGDM.EQ.0)
     
    RINGDM = PROMPT/'請(qǐng)輸入正確的環(huán)規(guī)直徑 DM', 9999, 1
     
    ENDIF
     
     
     
    IF/(RINGUP.EQ.0)
     
    RINGUP = PROMPT/'請(qǐng)輸入正確的偏移量 UP', RINGH, 1
     
    ENDIF
     
     
     
    IF/(RINGDP.EQ.0)
     
    RINGDP = PROMPT/'請(qǐng)輸入正確的偏移量 DP', RINGH, 1
     
    ENDIF
     
     
     
    IF/(RINGPOINTS.EQ.0)
     
    RINGPOINTS = PROMPT/'請(qǐng)輸入正確的每層測(cè)點(diǎn)數(shù) N', 9999, 3
     
    ENDIF
     
     
     
    IF/(RINGCOUNTS.EQ.0)
     
    RINGCOUNTS = PROMPT/'請(qǐng)輸入正確的測(cè)量層數(shù) M', 9999, 2
     
    ENDIF
     
     
     
     
     
    F(PLN1)=FEAT/PLANE,POL,0,0,0.000000,0.000000,0.000000,1.000000
     
    FA(PLN1)=FEAT/PLANE,POL,0,0,0.000000,0.000000,0.000000,1.000000
     
    $$Measurement points are created through nominal points
     
     
     
    MEAS/PLANE, F(PLN1), 3
     
      PTMEAS/POL, 16.022606,  89.412167, 0.000000, 0.000000, 0.000000, 1.000000
     
      PTMEAS/POL, 16.618454, 203.430682, 0.000000, 0.000000, 0.000000, 1.000000
     
      PTMEAS/POL, 16.155284, 335.311794, 0.000000, 0.000000, 0.000000, 1.000000
     
    ENDMES
     
     
     
    D(CRD1) = DATSET/FA(PLN1), ZDIR
     
    D(CRD1) = TRANS/ZORIG, FA(PLN1)
     
     
     
    F(CIR1)=FEAT/CIRCLE,INNER,CART,0.000000,0.000001,-2,0.000000,0.000000,1.000000, RINGDM
     
    FA(CIR1)=FEAT/CIRCLE,INNER,CART,0.000000,0.000001,-2,0.000000,0.000000,1.000000, RINGDM
     
    $$ Measurement points are created through nominal points
     
    MEAS/CIRCLE, F(CIR2), 4
     
      PTMEAS/CART, 0, KNPTN1*RINGDM/2, -2 , 0, -1*KNPTN1, 0
     
      PTMEAS/CART, KNPTN1*RINGDM/2, 0, -2, -1*KNPTN1, 0, 0
     
      PTMEAS/CART, 0, -1*KNPTN1*RINGDM/2, -2, 0,1*KNPTN1, 0
     
      PTMEAS/CART, -1*KNPTN1*RINGDM/2, 0, -2, 1*KNPTN1,0, 0
     
    ENDMES
     
     
     
    D(CRD2) = DATSET/FA(PLN1), ZDIR, FA(CIR1), XORIG
     
    D(CRD2) = TRANS/ZORIG, FA(PLN1), YORIG, FA(CIR1), XORIG, -0
     
     
     
     
     
    MODE/PROG,MAN
     
     
     
    $$ MACRO: EASI_CLEARPLN_GOTO
     
    $$ FUNCTION: CLEARANCE SURFACE IMPLEMENTATION
     
    $$      Move machine CLEAR SURFACE DIST above the current clear surface
     
    $$plane and then move machine parallel to the clear surface plane
     
    $$ ALL Macro parameters are in PCS and Current UNITS
     
    $$ Last update: 3-1-04 Add mode checking. only works in PROG MODE
     
    $$ Last update: 8-24-04 Clear position is based on the surface of
     
    $$
     
    $$ This sample DMIS Macro is provided by External-Array Software, Inc.
     
    $$ It should be modified for your own use. There is no guarantee for
     
    $$ the quality of this Macro. November, 2003
     
    $$  調(diào)用參數(shù) ISOM 為安全平面參考元素類型理論0(OR實(shí)際1)
     
    $$ 調(diào)用參數(shù)目標(biāo)位置測(cè)點(diǎn)TRAX 、TRAY、 TRAZ,TRAI,TRAJ,TRAK坐標(biāo)及矢量
     
    M(EASI_CLEARPLN_GOTO) = MACRO/ISNOM, TARX, TARY, TARZ, TARI, TARJ, TARK
     
    DECL/LOCAL, REAL, CCX, CCY, CCZ, CCI, CCJ, CCK
     
    DECL/LOCAL, REAL, CURX, CURY, CURZ, TD, CLRDIST, SDIAM,BJDIST
     
    DECL/LOCAL, CHAR, 255, CLRLABEL, FLABEL, MMODE, SNAME
     
    $$獲取當(dāng)前運(yùn)行模式及安全平面參考元素名Label
     
    MMODE = VALUE/MODE
     
    CLRLABEL = VALUE/SNSET, CLRSRF
     
    $$判斷Label是否存在(關(guān)閉情況為空,非關(guān)閉則會(huì)獲取到字符串,字符串長(zhǎng)度大于0) 同時(shí)判斷條件 當(dāng)前模式是否為自動(dòng),否則跳過(guò)
     
    IF/ ( (LEN(CLRLABEL) .GT. 0) .AND. (MMODE .EQ. 'PROG,MAN') )
     
    $$獲取安全距離
     
    CLRDIST = VALUE/SNSET, CLRSRF, DIST
     
    BJDIST= VALUE/SNSET,APPRCH
     
    TARX=ASSIGN/TARX+BJDIST*TARI
     
    TARY=ASSIGN/TARY+BJDIST*TARJ
     
    TARZ=ASSIGN/TARZ+BJDIST*TARK
     
    $$給FLABEL賦值,默認(rèn)FA
     
    FLABEL = ASSIGN/'FA'
     
    $$根據(jù)ISOM情況來(lái)更改FA或F
     
    IF/ ISNOM .EQ. 0
     
    FLABEL = ASSIGN/'F'
     
    ENDIF
     
    $$賦值CCX,CCY,CCZ,CCI,CCJ,CCK為安全平面參考元素中心坐標(biāo)的XYZIJK
     
    CCX = OBTAIN/FLABEL(@CLRLABEL), 3
     
    CCY = OBTAIN/FLABEL(@CLRLABEL), 4
     
    CCZ = OBTAIN/FLABEL(@CLRLABEL), 5
     
    CCI = OBTAIN/FLABEL(@CLRLABEL), 6
     
    CCJ = OBTAIN/FLABEL(@CLRLABEL), 7
     
    CCK = OBTAIN/FLABEL(@CLRLABEL), 8
     
    $$獲取探頭名稱
     
    SNAME = VALUE/SNSLCT
     
    $$獲取探頭直徑
     
    SDIAM = OBTAIN/SS(SNAME), 8
     
    $$延安全平面矢量增加一個(gè)探頭半徑
     
    CCX = ASSIGN/CCX + CCI * SDIAM/2
     
    CCY = ASSIGN/CCY + CCJ * SDIAM/2
     
    CCZ = ASSIGN/CCZ + CCK * SDIAM/2
     
    $$獲取當(dāng)前探針X,Y,Z坐標(biāo)
     
    CURX = VALUE/GOTOM, XAXIS
     
    CURY = VALUE/GOTOM, YAXIS
     
    CURZ = VALUE/GOTOM, ZAXIS
     
    $$計(jì)算當(dāng)前坐標(biāo)到安全平面的垂直距離
     
    TD = ASSIGN/(CURX - CCX) * CCI + (CURY - CCY) * CCJ + (CURZ - CCZ) * CCK
     
    $$清除原有判斷,任意位置先垂直移動(dòng)到安全高度
     
    $$IF/ TD .LT. CLRDIST
     
    TD = ASSIGN/(CLRDIST - TD)
     
    GOTO/CURX+CCI*TD, CURY+CCJ*TD, CURZ+CCK*TD
     
    $$ENDIF
     
    $$計(jì)算目標(biāo)坐標(biāo)到安全平面的垂直距離
     
    TD = ASSIGN/(TARX - CCX) * CCI + (TARY - CCY) * CCJ + (TARZ - CCZ) * CCK
     
    IF/ TD .LT. CLRDIST
     
    TD = ASSIGN/(CLRDIST - TD)
     
    GOTO/TARX+CCI*TD, TARY+CCJ*TD, TARZ+CCK*TD
     
    $$建議增加大于的情況
     
    ENDIF
     
    ENDIF
     
    ENDMAC
     
     
     
    SNSET/APPRCH, 1.0000
     
    SNSET/RETRCT, 1.0000
     
    SNSET/DEPTH, 0.0000
     
    SNSET/SEARCH, 10.0000
     
    SNSET/CLRSRF, FA(PLN1), 10.0000
     
     
     
    F(PLN2)=FEAT/PLANE,POL,0,0,0.000000,0.000000,0.000000,1.000000
     
    $$ Measurement points are created through nominal points
     
    CALL/M(EASI_CLEARPLN_GOTO), 1,0, KNPTN1*RINGDM/2, 0 , 0, 0, 1
     
    MEAS/PLANE, F(PLN2), 3
     
      PTMEAS/POL, KNPTN1*1+RINGDM/2, 90, 0.000000, 0.000000, 0.000000, 1.000000
     
      PTMEAS/POL, KNPTN1*1+RINGDM/2, 210, 0.000000, 0.000000, 0.000000, 1.000000
     
      PTMEAS/POL, KNPTN1*1+RINGDM/2, 330, 0.000000, 0.000000, 0.000000, 1.000000
     
    ENDMES
     
    D(CRD3) = DATSET/FA(PLN2), ZDIR
     
    D(CRD3) = TRANS/ZORIG, FA(PLN2)
     
     
     
    F(CIR2)=FEAT/CIRCLE,INNER,CART,0.000000,0.00000,-2,0.000000,0.000000,1.000000, RINGDM
     
    $$ Measurement points are created through nominal points
     
    CALL/M(EASI_CLEARPLN_GOTO), 1,0, RINGDM/2, -2 , 0, -1*KNPTN1, 0
     
    MEAS/CIRCLE, F(CIR2), 4
     
      PTMEAS/CART, 0, RINGDM/2, -2 , 0, -1*KNPTN1, 0
     
      IF/(TYPE.EQ.2)
     
      CALL/M(EASI_CLEARPLN_GOTO), 1,RINGDM/2, 0, -2, -1*KNPTN1, 0, 0
     
      ENDIF
     
      PTMEAS/CART, RINGDM/2, 0, -2, -1*KNPTN1, 0, 0
     
      IF/(TYPE.EQ.2)
     
      CALL/M(EASI_CLEARPLN_GOTO), 1,0, -1*RINGDM/2, -2, 0,1*KNPTN1, 0
     
       ENDIF
     
      PTMEAS/CART, 0, -1*RINGDM/2, -2, 0,1*KNPTN1, 0
     
      IF/(TYPE.EQ.2)
     
      CALL/M(EASI_CLEARPLN_GOTO), 1,-1*RINGDM/2, 0, -2, 1*KNPTN1,0, 0
     
      ENDIF
     
      PTMEAS/CART, -1*RINGDM/2, 0, -2, 1*KNPTN1,0, 0
     
    ENDMES
     
    D(CRD4) = DATSET/FA(PLN2), ZDIR, FA(CIR2), XORIG
     
    D(CRD4) = TRANS/ZORIG, FA(PLN2), YORIG, FA(CIR2), XORIG, -0
     
     
     
     
     
    $$ Set.Term.Delete
     
    IF/(TYPE.EQ.1)
     
    KNPTC1=ASSIGN/'內(nèi)'
     
    ELSE
     
    KNPTC1=ASSIGN/'外'
     
    ENDIF
     
    TEXT/OUTFIL,CONCAT('環(huán)規(guī)類型:',KNPTC1)
     
    TEXT/OUTFIL,CONCAT('環(huán)規(guī)直徑:',STR(RINGDM))
     
    TEXT/OUTFIL,CONCAT('環(huán)規(guī)高度:',STR(RINGH))
     
    TEXT/OUTFIL,CONCAT('測(cè)量上偏移量:',STR(RINGUP))
     
    TEXT/OUTFIL,CONCAT('測(cè)量下偏移量:',STR(RINGDP))
     
    TEXT/OUTFIL,CONCAT('測(cè)量層數(shù)',STR(RINGCOUNTS))
     
    TEXT/OUTFIL,CONCAT('每層測(cè)量點(diǎn)數(shù):',STR(RINGPOINTS))
     
    DECL/COMMON,INTGR,ALLPOINTS
     
    ALLPOINTS=ASSIGN/RINGCOUNTS*RINGPOINTS
     
    DECL/REAL,PRR,PA,PH,PX,PY,PI,PJ,PDA,PDB
     
    IF/(TYPE.EQ.1)
     
    F(CYL1) = FEAT/CYLNDR,INNER,CART, 0,0,-1*RINGH/2, 0,0,1, RINGDM, RINGH
     
    CALL/M(EASI_CLEARPLN_GOTO),1,RINGDM/2,0,0, -1,0,0
     
    MEAS/CYLNDR, F(CYL1),ALLPOINTS
     
    DO/PDA,1,RINGCOUNTS,1
     
    DO/PDB,1,RINGPOINTS,1
     
    PRR=ASSIGN/RINGDM/2
     
    PA=ASSIGN/(360/RINGPOINTS)*(PDB-1) 
     
    PH=ASSIGN/-1*RINGUP-(RINGH-RINGUP-RINGDP)/RINGCOUNTS*(PDA-1)
     
    PI=ASSIGN/COS(DTOR(PA))*KNPTN1*-1
     
    PJ=ASSIGN/SIN(DTOR(PA))*KNPTN1*-1
     
    PX=ASSIGN/RINGDM/2*PI
     
    PY=ASSIGN/RINGDM/2*PJ
     
        PTMEAS/POL,PRR,PA,PH,PI,PJ,0
     
    ENDDO
     
    ENDDO
     
    ENDMES
     
    ELSE
     
    F(CYL1) = FEAT/CYLNDR,OUTER,CART, 0,0,-1*RINGH/2, 0,0,1, RINGDM, RINGH
     
    MEAS/CYLNDR, F(CYL1),ALLPOINTS
     
    DO/PDA,1,RINGCOUNTS,1
     
    DO/PDB,1,RINGPOINTS,1
     
    PRR=ASSIGN/RINGDM/2
     
    PA=ASSIGN/(360/RINGPOINTS)*(PDB-1) 
     
    PH=ASSIGN/-1*RINGUP-(RINGH-RINGUP-RINGDP)/RINGCOUNTS*(PDA-1)
     
    PI=ASSIGN/COS(DTOR(PA))*KNPTN1*-1
     
    PJ=ASSIGN/SIN(DTOR(PA))*KNPTN1*-1
     
    PX=ASSIGN/RINGDM/2*PI
     
    PY=ASSIGN/RINGDM/2*PJ
     
    CALL/M(EASI_CLEARPLN_GOTO),1,PX,PY,PH,PI,PJ,0
     
        PTMEAS/POL,PRR,PA,PH,PI,PJ,0
     
    ENDDO
     
    ENDDO
     
    ENDMES
     
    ENDIF
     
    T(TDM1)=TOL/DIAM,-0.500000,0.500000
     
    OUTPUT/FA(CYL1),TA(TDM2)
     
    T(TCLD1)=TOL/CYLCTY,0.200000
     
    OUTPUT/FA(CYL1),TA(TCLD1)

     

    參考文獻(xiàn):《2015 PC-DMIS比武大賽論文集》


    上一個(gè): ?影像測(cè)量?jī)x維護(hù)與保養(yǎng)要點(diǎn)(影像測(cè)量?jī)x維修)
    下一個(gè): 光學(xué)影像儀如何快速完成小、軟、薄工件測(cè)量
    返回列表
    最新文章: 粉絲福利 | 分享“我與思瑞測(cè)量的故事”,贏取新年專屬禮遇!
    最新文章: 提升新能源電池性能:極片毛刺檢測(cè)方案
    相關(guān)產(chǎn)品
    精品国产AV久久久久无码| EEUSS鲁丝片AV无码| 亚洲精品国偷拍自产在线观看蜜臀| 人人妻人人澡人人爽久久AV| 久久婷婷色综合一区二区 | 男女多P混交群体交乱| 国产精品麻豆成人AV电影艾秋| 无码人妻少妇伦在线电影| 人人爽人人爽人人爽| 亚洲AV无码专区在线观看成人 | 国产白嫩护士被弄高潮| 大肉大捧一进一出好爽视频MBA| 国产重口老太和小伙A片| 成人性爱视频在线观看| 国产乱妇无码大片在线观看| 国产乱人伦偷精品视频免下载| 亚洲香蕉成人AV网站在线观看| 又黄又爽又色的视频| 51国偷自产一区二区三区| 免费人成在线观看网站体验站 | 无码人妻丰满熟妇精品区| 久久人人爽爽人人爽人人片AV| 少妇高潮抽搐无码AV久久| 色翁荡熄又大又硬又粗又| 丁香色欲久久久久久综合网| 国产伦理一区二区| 英语老师的小兔子好大好软水| 日本韩国男男作爱GAYWWW| 国产SUV精二区九色| 多毛熟女HDVIDOS| 中文精品无码中文字幕无码专区| 斗罗大陆在线全集免费看| XX性欧美肥妇精品久久久久久| 久久久久久久久久国产精品免费| 亚洲AV无码成人精品区狼人影院| 亚洲精品一区中文字幕乱码| 中文精品无码中文字幕无码专区| 久久精品国产亚洲AV无码娇色| 午夜欧美精品久久久久久久| 人物动物交互狗AA| 无码a片|