<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
<S> <C> <C>
<PERIOD-TYPE> 12-MOS 6-MOS
<FISCAL-YEAR-END> DEC-31-1999 DEC-31-2000
<PERIOD-START> JAN-01-1999 JAN-01-2000
<PERIOD-END> DEC-31-1999 JUN-30-2000
<CASH> 10,456 2,632
<SECURITIES> 0 0
<RECEIVABLES> 36,832 50,067
<ALLOWANCES> 0 0
<INVENTORY> 53,561 55,731
<CURRENT-ASSETS> 106,703 115,038
<PP&E> 116,369 123,166
<DEPRECIATION> (44,081) (45,853)
<TOTAL-ASSETS> 179,463 192,987
<CURRENT-LIABILITIES> 24,791 23,391
<BONDS> 0 0
0 0
0 0
<COMMON> 172 173
<OTHER-SE> 152,452 155,973
<TOTAL-LIABILITY-AND-EQUITY> 179,463 192,987
<SALES> 156,368 74,353
<TOTAL-REVENUES> 156,368 74,353
<CGS> 106,419 49,473
<TOTAL-COSTS> 138,694 66,287
<OTHER-EXPENSES> 0 0
<LOSS-PROVISION> 0 0
<INTEREST-EXPENSE> (440) 28
<INCOME-PRETAX> 18,114 8,038
<INCOME-TAX> 6,349 2,806
<INCOME-CONTINUING> 11,765 5,232
<DISCONTINUED> 0 0
<EXTRAORDINARY> 0 0
<CHANGES> 0 0
<NET-INCOME> 11,765 5,232
<EPS-BASIC> 0.68 0.30
<EPS-DILUTED> 0.68 0.30
</TABLE>