{ The following macros are not supported } { The program "ROUND_DETAIL" may not be resold or included in other } { packages. } { The program "ROUND_DETAIL" may be used only by those receiving the } { original files. } { Copying and subsequent distribution to a third party is forbidden. } { Darren Litherland cannot be made responsible for errors resulting from } { the use or misuse of the software. } { All use of this software is the responsiblity of the recipient. } { CATEGORY: ME10 parts_2d } { AUTHOR: Darren Litherland } { CONTACT OPTION: me10@nethut.net } { VIDEO MODE: (Native ME10) } { MONITOR RESOLUTION: n/a } { MACRO TITLE: Round_detail } { DESC: CREATE_DETAIL that is "trimmed" to a circle } { MACRO VERSION: 1.2 } { DATE: 1999.08.04 } { REVISION INFO: 1.1 Better feedback for detail circle collisions. } { Readme includes info about missing geometry bug. } { 1.2 Provision made for detailing of subparts. } { APPLICATION: ME10 v.6-9.0 } { OPSYS: HP-UX 9.x/10.x Windows95/NT } { KEYWORDS: round_detail create_detail rd } DEFINE RD ROUND_DETAIL END_DEFINE DEFINE ROUND_DETAIL LOCAL P1 LOCAL P2 LOCAL P3 LOCAL R LOCAL A LOCAL START_PNUM LOCAL SC LOCAL X LOCAL SHORT_PNUM LOCAL P5 LOCAL P6 LOCAL TEST LOCAL N LOCAL C LOCAL NDET LOCAL PNUM LOCAL PNAME LOCAL PB1 LOCAL ICONC READ NUMBER "Enter detail scale" SC READ PNT "First center of detail area" P1 LOOP READ PNT "Indicate point on radius of detail area" RUBBER_CIRCLE_CEN P1 P2 EXIT_IF (P1<>P2) BEEP END_LOOP INQ_PART "." LET START_PNUM (INQ 302) LET P4 P1 LET R (LEN (P2-P1)) LET P1 (P4-(PNT_XY R R)) LET P2 (P4+(PNT_XY R R)) READ PNT "Where would you like the detail to be placed" RUBBER_LINE P4 P3 LOOP EXIT_IF ((LEN (P3-P4))>(R+(R*SC))) READ PNT "Detail too close to original. Try again." RUBBER_LINE P4 P3 END_LOOP TABLE_STATUS 'PBT_GENTAB' MAP LET TEST (READ_LTAB 'PBT_LTAB' 2 1) LET ICONC 0 IF (TEST="") TRAP_ERROR PART_ICON 0 LET ICONC (CHECK_ERROR) END_IF TRAP_ERROR CREATE_DETAIL 1 P1 P2 P4 P3 LET C (CHECK_ERROR) IF (C=0) UPDATE_SCREEN LET PNUM (READ_LTAB "PBT_LTAB" 2 2) TRAP_ERROR EDIT_PART PNUM LET C (CHECK_ERROR) IF (C=0) ADD_CURRENT_INFO "detail_circle" CIRCLE P4 R CHANGE_CURRENT_INFO "detail_circle" "" SPLIT ALL DELETE INFOS "detail_circle" DELETE SELECT POLY LET A 0 LOOP (P4+(PNT_RA (R*1.001) A)) EXIT_IF (A=360) LET A (A+.5) END_LOOP NOT CONFIRM CIRCLE SOLID GREEN P4 R RENAME_PART "Round detail" EDIT_PART START_PNUM UNSHARE_PART PNUM CIRCLE GREEN P4 R WHITE END END_IF PART_DRW_SCALE_REF REF_PNT PART_DRW_SCALE PNUM SC END_IF IF ((TEST="") AND (ICONC=0)) PART_ICON 0 END_IF TABLE_STATUS 'PBT_GENTAB' UNMAP END_DEFINE