Michael This will look at the pm4 and turn off every thing except tool#1
// This macro will FIND TOOL#1 in a cad file
MASK[TL="*", SH=0]
MASK[TL=1, SH=1]
MASK[LY="*", SH=0]
REDRAW[]
@done
Hope this helps
Brock
----- Original Message -----
From: "Michael Senack" <[EMAIL PROTECTED]>
To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
Sent: Thursday, May 02, 2002 12:59 PM
Subject: [mfg-smartcam] MACRO HELP
> I'm looking for a simple way to check to see if
> there is any T1 geometry in a .pm4 file while
> leaving the selected geometry in place.
>
> Filtering works fine but the problem with this macro
> is that you're suppose to pick a number of hole(s)
> in the order that you want them skimmed out to
> before running the macro.
>
> Below is the macro.
>
> // Advanced_Wedm 11.5 Windows 10/16/98 16:48:10 Macro File
> // w:\mcl\3CN12NS.mcl
> // CREATED: 05/29/01
> //
> // Three Cut Number 1 & 2 No Stop macro
> //
> // Purpose: This SHIM macro takes a selected number of hole(s) and
> // makes a 3 skim pass on that hole with T1.
> // 1) Pass One = D01 T01 P16 S01 = 1st pass
> // 2) Pass Two = D02 T02 P16 S02 = 2nd pass
> // 3) Pass Three = D03 T03 P16 S03 = 3rd pass
> //
> // Instructions:
> // 1) F2 unselect all geometry
> // 2) Select the hole(s) in the order that you want the cut and run the
> macro
> //
> //PAUSE[TX="The so far so good macro pause!", LR=10, LC=5, SR=2, SC=40,
> PT=1]
> VAR_REMOVE_ALL[]
>
> PAUSE[TX="Have you saved the file yet?\n
> NOTE: Agie No.1 can only read approx 300\n
> lines of code before the memory is full.", PT=1]
>
> <-------------------------------- add T1 geomtry check here
> *********************************************************
>
> GRAPHICS_Off[]
>
> FILTER_USE[ON=0]// turn filter off
>
> //---------- insert before last point in data base and name it INSERT
> JTOOL_SEQ[BA=1, TL=1, ME=0]
> ELMT_SEQ[BA=1, EL="seqel()-1", ME=0]
> NAME_ELMT[EL="seqel()", EN="insert"]
>
> WHILE( GRP(0)<=0)
> PAUSE[TX="ERROR: You have not selected any geometry!", PT=1]
> // If no geometry is selected this loop loops continuously until you
select
> cancel
> GRAPHICS_ON[]
> ENDW
>
> // Set sequence at end of database
> ELMT_SEQ[BA=1, EL="totel()", ME=0]
>
> // Move selected elements to end of database in the order they were picked
> SEQ_MOVE[SC=1]
>
> // Get first element in group
> #Start=GRP(1)
>
> // Get number of elements in group
> #No_Elmt=GRP(0)
>
> // Get last element in database
> #End=totel()
>
> STRING:#Name
> INTEGER:#Count
> INTEGER:#Next
>
> //Keep count of # of profiles
> #Count=1
>
> WHILE(#Start<=#End)
>
> PROF_GRP[AR=0, EL=#Start]
>
> //Name element
> NAME_ELMT[EL=#Start, EN=STRTMP("E%Count") ]
>
> //NEW_GRP[]
>
> #Start=#Start+1
>
> #Count=#Count+1
>
> ENDW
>
> REDRAW[]
>
> //----- insert E1,E2... group before INSERT element
> ELMT_SEQ[BA=1, EL="insert", ME=0]
> SEQ_MOVE[SC=0]
> NEW_GRP[]
>
> //----------------------------- Loop for adding cutoffs for E1,E2,E3 etc
> -------------------
>
> #Count=1
> STRING:#Prof // this is the name for E1, E2, E3 etc
>
> WHILE(#Count<=#No_Elmt)
>
> #Prof=STRTMP("E%Count")
> // set to E1 for 1st 4 cut hole, E2 for 2nd 4 cut hole etc
>
> ELMT_SEQ[BA=1, EL="#Prof", ME=0]
>
> WITH_STEP[ST=1, WP="XY_PLANE", OF=0, LV=0, CL=?, PT=?]// offset Left T1
> // arc from 0 to -20 degrees
> ARC[DR=1, XC=cex(#Prof), YC=cey(#Prof), RA=rad(#Prof), AS=0, AE=-20, SE=2,
> SS=2, SI=2, SC=2, LV=0]
>
> UEVENT[XS=ENX(SEQEL()), YS=ENY(SEQEL()), LV=0, TX="@NOSTOP"]
> // arc after glue stop from -20 to 0 degrees
> ARC[DR=1, XC=CEX(#Prof), YC=CEY(#Prof), RA=RAD(#Prof), AS=-20, AE=0, SE=2,
> SS=2, SI=2, SC=2, LV=0]
>
> LEAD_IN[EL="SEQEL()", AN=90, DS=RAD(#Prof), LC=2, TY=0, CS=0, RP=0, MO=0]
>
> ELMT_SEQ[BA=1, EL="#Prof", ME=0]
> WITH_STEP[ST=1, WP="XY_PLANE", OF=2, LV=0, CL=?, PT=?]
> POINT[XE=CEX(#Prof), YE=CEY(#Prof), LV=0, CO=0, SE=2]
> UEVENT[XS=ENX(SEQEL()), YS=ENY(SEQEL()), LV=0, TX="#DOFF=1,#TOOL=1"]
>
>
> ELMT_GRP[AR=0, EL="seqel()-1"]// select point
> ELMT_GRP[AR=0, EL="seqel()"]// select user_cmd
> PROF_GRP[AR=0, EL="seqel()+1"]// select profile
>
> PROF_SEQ[BA=1, EL="seqel()+1", ME=0]// insert at end of 1st skim pass to
> copy next 2 skim passes
> // copy profile twice for three passes in total
> MOVE[CP=1, NC=2, TS=0, XS=0, YS=0, XE=0, YE=0]
>
> NEW_GRP[]
>
> PROF_SEQ[BA=0, EL="SEQEL()", ME=0]
> ELMT_SEQ[BA=0, EL="SEQEL()", ME=0]
> MOD_UEVENT[EL=SEQEL()-1, XS2=ENX(SEQEL()-1), YS2=ENY(SEQEL()-1),
> TX="#DOFF=3,#TOOL=2", LV=0]
>
> PROF_SEQ[BA=0, EL="SEQEL()-3", ME=0]
> MOD_UEVENT[EL=SEQEL()-1, XS2=ENX(SEQEL()-1), YS2=ENY(SEQEL()-1),
> TX="#DOFF=2,#TOOL=1", LV=0]
>
> MAC_EXE[FN="C:\\mcl\\u.mcl"]//F2
>
> #Count=#Count+1
>
> ENDW
>
> //-------------- Clear names using loop -------------------
> #Count=1
> WHILE(#Count<=#No_Elmt)
>
> CL_NAME_ELMT[EL=STRTMP("E%Count")]
> #Count=#Count+1
>
> ENDW
> CL_NAME_ELMT[EL=STRTMP("Insert")]
>
> //--------------- change Clear_Z and Prof_Top to off for T1
> TOOL_GRP[AR=0, TL="1"]
> PCHG_ST[CN=0, PN=0, OF=3]
> NEW_GRP[]
>
> //--------------- sequence T1 after 0
> ELMT_SEQ[BA=1, EL="TOTEL()-TOTEL()", ME=1]
> // insert before 0 unsing the totel macro commenad
> STEP_GRP[AR=0, ST="1"]// select T1
> SEQ_MOVE[SC=1]// move T1 before 0
> NEW_GRP[]
> ELMT_SEQ[BA=1, EL="0", ME=1]
>
> GRAPHICS_ON[]
>
> Thanks in advance for any ideas
>
> Regards,
> Michael Senack
> <<3CN12NS.MCL>>
>
3CN12NS.MCL
Description: Binary data
