Skip to main content

Professional CMM measurement data parser for coordinate measuring machines

Project description

CMM Measurement Parser

PyPI version Python 3.7+ License: MIT

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmm_measurement_parser-1.1.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cmm_measurement_parser-1.1.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

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

Hashes for cmm_measurement_parser-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9fe4e4c1e298a6f503722614db02c9eb39699aca1e8bfb880c77d52e2525b4a8
MD5 aa16067fe89b8848484a3358c9ef1cac
BLAKE2b-256 b5f9ca07d29bc94e5906c0d58d012b330482532706769217a1d1d45e229b35f2

See more details on using hashes here.

File details

Details for the file cmm_measurement_parser-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cmm_measurement_parser-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bca4e78e6a597ce8df877628a0c31d79e8590c081c9e82a321aabed88b7fd896
MD5 15a38f785629d88f634e69a4515e01de
BLAKE2b-256 6ef52ecf97191031778870b96d2ff6db3098eb1a681301c0e914c2e961f674d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page