<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
<S> <C> <C>
<PERIOD-TYPE> 9-MOS 9-MOS
<FISCAL-YEAR-END> JUL-31-2000 JUL-31-1999
<PERIOD-START> AUG-01-1999 AUG-01-1998
<PERIOD-END> APR-30-2000 APR-30-1999
<CASH> 653 614
<SECURITIES> 0 0
<RECEIVABLES> 13,377 18,748
<ALLOWANCES> (458) (925)
<INVENTORY> 11,629 18,060
<CURRENT-ASSETS> 25,994 38,401
<PP&E> 34,823 33,480
<DEPRECIATION> 27,443 25,211
<TOTAL-ASSETS> 34,929 47,336
<CURRENT-LIABILITIES> 10,860 15,227
<BONDS> 0 0
0 0
0 0
<COMMON> 377 377
<OTHER-SE> 10,018 8,204
<TOTAL-LIABILITY-AND-EQUITY> 34,929 47,336
<SALES> 56,150 66,730
<TOTAL-REVENUES> 56,150 66,730
<CGS> 35,058 44,428
<TOTAL-COSTS> 52,966 62,414
<OTHER-EXPENSES> 790 889
<LOSS-PROVISION> 0 0
<INTEREST-EXPENSE> 1,484 2,297
<INCOME-PRETAX> 910 1,130
<INCOME-TAX> 0 0
<INCOME-CONTINUING> 910 1,130
<DISCONTINUED> 0 0
<EXTRAORDINARY> 0 0
<CHANGES> 0 0
<NET-INCOME> 910 1,130
<EPS-BASIC> .24 .30
<EPS-DILUTED> .24 .30
</TABLE>