Another method for showing breaks in profiles or non-contiguous geometry is
by selecting "Utility - Display Modes" and set the "Draw Tools" selection
box to "Blips". This will graphically place  a box on the start of each
profile and a 45 line at the end of each profile. This is display mode
effects geometry both on layers and with steps.

=============================================
 Fred Lauzus, CAM Programming Coordinator
 High Steel Structures, Incorporated
 mailto:[EMAIL PROTECTED] http://www.highsteel.com
=============================================
 


-----Original Message-----
From: Dave Hayden [mailto:[EMAIL PROTECTED]]
Sent: Monday, January 29, 2001 8:10 AM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: [mfg-smartcam] dxf & or iges files


Broken geometry has been and remains a real problem for us,
Below is a macro I wrote a few years ago to address the problem.
I kept the macro on a network drive we usually mapped as D:
It seem to work ok but I think most of the programmers are just
grouping geometry then modifying the elements to have very long lead-in and
lead-out lines. . .that way they can quickly identify where the breaks are.

I hope this helps.

David

//  Created by David S. Hayden

//  There is a new macro that will check the layers you indicate for non-
//  contiguous geometry.

//  To run it:
//  1.    Select Macro from the top menu
//  2.    Select Execute from the pull down menu
//  3.    If your geometry is new or recently changed you will be prompted
to
save your
//          work, the choice is yours.
//  4.    Enter the name D:\master\checklay for the macro name
//  5.    Next you will be prompted for the layer to check.  You can enter
any
number from
//          0-99.  If you enter 0 the program will exit.
//  6.    You will also be asked to enter a:
//          1 if the boundary is closed or a
//          0 if the boundary is open.
//     if you indicate the boundary is closed when it is in fact open, it
will
indicate that
//     you have a break and a line pointing to the break will be added at
the
end of the
//     last element in the chain.

//  7.    The program will stay in the loop until you escape out or enter a
0 to
 exit, at
//          which point you will be told whether or not the program found
any
breaks.

//  Any breaks found will have a line on layer 85 pointing to them.  The
start
point of the
//  line will be at the point of the break.  When you make your corrections
you
can group
//  layer 85 elements and delete them.  No other changes will be made to
your
part
//  besides grouping and chaining the layers you selected.

//  Using this macro should make the job of finding non-contiguous geometry
or
extra
//  elements much simpler and quicker.

//  If you have any questions or suggestions regarding the use of this
macro,
give me a
//  call at extension 8452.

//  - Dave -

// ***********  Revisions   ***********
//  03-21-96 DSH - Date created
//  03-22-96 DSH - Added a point to layer 85 so when only one layer exists
and
is it free from errors, macro
//                           will run w/o problems

#LYR=1
#Bndary=0
#BrkLine=0
ELMT_SEQ[BA=0, EL="1", ME=1]
ON_LAYER[LY=85, WP="ZX_PLANE", LV=0, PT=?]
LINE[XS=0, YS=0, ZS=0, ZE=0, ZI=0, AN=0, DS=3, SE=2, SS=2, PK=0]
NAME_ELMT[EL="1", EN="TEST_LN"]// used for testing layer 22 for elements



WHILE(#LYR<>0)
  PROMPT[TX="What layer do you wish to check?  Enter 0 to exit", VN="LYR",
DV=1]
IF(#LYR>0)
  PROMPT[TX="Enter 1 if this is a closed boundary?  Enter 0 if it is open.",
VN="Bndary", DV=1]
  NEW_GRP[]
  ELMT_SEQ[BA=0, EL="1", ME=1]
  LAYER_GRP[AR=0, LY="#LYR"]
  SEQ_MOVE[SC=1]
  GRP_CHAIN[PJ=0]
  #Counter=0

  WHILE(#Counter<GRP(0))
     #Counter=#Counter+1
     #Brk=#Counter+1
     IF(#Bndary=0)
       IF(ENX(#Counter)<>STX(#Brk),OR ENY(#Counter)<> STY(#Brk),AND
#Counter<>
GRP(0))
         COLOR_CHG[CO=3, TY=1, TL=85, ST=0]
         ON_LAYER[LY=85, WP="ZX_PLANE", LV=0, PT=0]
         IF(#Counter>1)
           LINE[XS=ENX(#Counter), YS=ENY(#Counter), ZS=0, ZE=0, ZI=0,
AN=ANG(#Counter)+115, DS=3,
                   SE=2, SS=2, PK=0]
         ENDIF
         IF(#Counter=1)
           LINE[XS=STX(#Counter), YS=STY(#Counter), ZS=0, ZE=0, ZI=0,
AN=ANG(#Counter)+115, DS=3,
                   SE=2, SS=2, PK=0]
         ENDIF
         #BrkLine=#Brkline+1
//         NAME_ELMT[EL=#EL, EN=STRTMP("Break%#BrkLine")]
       ENDIF
    ENDIF
     IF(#Bndary=1)
       IF(ENX(#Counter)<>STX(#Brk),OR ENY(#Counter)<> STY(#Brk))
         COLOR_CHG[CO=3, TY=1, TL=85, ST=0]
         ON_LAYER[LY=85, WP="ZX_PLANE", LV=0, PT=0]
          IF(ENX(#Counter)<>STX(1),OR ENY(#Counter)<> STY(1))
             LINE[XS=ENX(#Counter), YS=ENY(#Counter), ZS=0, ZE=0, ZI=0,
AN=ANG(#Counter)+115, DS=3,
                     SE=2, SS=2, PK=0]
              #BrkLine=#Brkline+1
           ENDIF
//        NAME_ELMT[EL=#Brk, EN=STRTMP("Break%#BrkLine")]
       ENDIF
     ENDIF
  ENDW
ENDIF
ENDW

NEW_GRP[]
DELETE[EL=TEST_LN]
IF(#BrkLine=0)
   PAUSE[TX="No breaks were found on the layers selected.     Thank you for
using CheckLay.mcl.",PT=0]
ELSE
   PAUSE[TX="At least one break was found on the layers you selected.    The
breaks are indicated by lines at
break point.    All break point lines are on LAYER 85.   Thank you for using
CheckLay.mcl.",PT=0]
ENDIF







[EMAIL PROTECTED] on 01/26/2001 04:55:23 PM

To:   [EMAIL PROTECTED]
cc:    (bcc: Dave Hayden/elliott)
Subject:  [mfg-smartcam] dxf & or iges files



Does anybody else have problems with broken lines in flat pattern translated
files?
Often when using provided electronic data to make customer parts the lines
adjacent to scallops and radii dont meet by a few tenths and will not chain.
To drive a tool around perimeter a lot of time is used to connect the lines.
Does anybody know of a software or method that will make this process less
of
a task?

any input would be greatly appreiatiated

======================================================================
To find out more about this mailing list including how to unsubscribe,
send the message "info mfg-smartcam" to [EMAIL PROTECTED]
======================================================================

Reply via email to