Professional CMM measurement data parser for coordinate measuring machines
Project description
CMM Measurement Parser
Professional Python package for parsing CMM (Coordinate Measuring Machine) measurement data from Japanese measurement reports, specifically Carl Zeiss CALYPSO format.
Features
- ✅ Parse Japanese CMM Reports: Handles Japanese characters and measurement formats
- ✅ Structured DataFrame Output: Clean, analyzable pandas DataFrames
- ✅ Automatic Tolerance Analysis: PASS/FAIL determination with tolerance utilization
- ✅ Excel Export: Proper Japanese character encoding for Excel compatibility
- ✅ Summary Statistics: Grouped analysis by measurement element
- ✅ Quality Control Ready: Professional reporting for manufacturing QC
Installation
pip install cmm-measurement-parser
Quick Start
import cmm_measurement_parser as cmp
# Parse your CMM measurement data
lines = your_text_data.split('\n') # Your extracted CMM report text
df, summary = cmp.process_cmm_data(lines)
# Export results to Excel
cmp.export_to_excel(df, 'My_CMM_Analysis')
# View results
print(f"Parsed {len(df)} measurements from {len(summary)} elements")
print(f"Pass rate: {len(df[df['status'] == 'PASS']) / len(df) * 100:.1f}%")
Usage Examples
Basic Parsing
import cmm_measurement_parser as cmp
# Simple parsing
df = cmp.parse_cmm_data(lines)
# Complete processing with summary
df, summary = cmp.process_cmm_data(lines)
Advanced Usage
# Using the class directly for more control
parser = cmp.CMMParser()
df = parser.parse_lines_to_dataframe(lines)
summary = parser.create_summary_by_element(df)
Working with Results
# Filter failed measurements
failed = df[df['status'] == 'FAIL']
print(f"Failed measurements: {len(failed)}")
# Analyze by element
element_summary = df.groupby('element_name')['status'].value_counts()
# Export different formats
cmp.export_to_excel(df, 'Detailed_Analysis')
cmp.export_to_excel(summary, 'Summary_Report')
DataFrame Structure
The output DataFrame includes these columns:
| Column | Description |
|---|---|
element_name |
Measurement element (d-1, 円1, etc.) |
measurement_type |
Type of measurement (円(最小二乗法), etc.) |
coordinate_type |
X, Y, Z, or D coordinate |
measured_value |
Actual measured value |
reference_value |
Target/reference value |
deviation |
Difference from reference |
upper_tolerance |
Upper tolerance limit |
lower_tolerance |
Lower tolerance limit |
within_tolerance |
Boolean pass/fail |
status |
'PASS' or 'FAIL' |
tolerance_utilization |
Percentage of tolerance used |
Supported Formats
- Carl Zeiss CALYPSO measurement reports
- Japanese measurement data with proper character encoding
- Coordinate measurements: X, Y, Z coordinates and diameter (D) measurements
- Multiple element types: Circles (円), planes (平面), lines (線), dimensions (d-)
Requirements
- Python 3.7+
- pandas >= 1.0.0
- numpy >= 1.18.0
- openpyxl >= 3.0.0 (for Excel export)
License
MIT License - see LICENSE file for details.
Contributing
Contributions welcome! Please feel free to submit a Pull Request.
Support
For issues and questions, please use the GitHub Issues page.
Author
Created by shuhei for professional CMM measurement analysis.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cmm_measurement_parser-1.1.0.tar.gz.
File metadata
- Download URL: cmm_measurement_parser-1.1.0.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fe4e4c1e298a6f503722614db02c9eb39699aca1e8bfb880c77d52e2525b4a8
|
|
| MD5 |
aa16067fe89b8848484a3358c9ef1cac
|
|
| BLAKE2b-256 |
b5f9ca07d29bc94e5906c0d58d012b330482532706769217a1d1d45e229b35f2
|
File details
Details for the file cmm_measurement_parser-1.1.0-py3-none-any.whl.
File metadata
- Download URL: cmm_measurement_parser-1.1.0-py3-none-any.whl
- Upload date:
- Size: 8.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bca4e78e6a597ce8df877628a0c31d79e8590c081c9e82a321aabed88b7fd896
|
|
| MD5 |
15a38f785629d88f634e69a4515e01de
|
|
| BLAKE2b-256 |
6ef52ecf97191031778870b96d2ff6db3098eb1a681301c0e914c2e961f674d9
|