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.0.0.tar.gz (6.3 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.0.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file cmm_measurement_parser-1.0.0.tar.gz.

File metadata

  • Download URL: cmm_measurement_parser-1.0.0.tar.gz
  • Upload date:
  • Size: 6.3 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.0.0.tar.gz
Algorithm Hash digest
SHA256 3f3484ba8fa4510fc25a73e99ee88db857590926ffbb63011fd113749c71cefc
MD5 601993670758bb9e62dde111d5f8dd10
BLAKE2b-256 75f0b4140375746d034b5f0262d7abccf47aeea9706fa7d03de635a2f2111556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cmm_measurement_parser-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7003cfb54e0ff27a9eb04445664449ae7fe505e81c6c8248cde240d6799ab3aa
MD5 90f5d0d1b1aa23b2ab2360a7f3dd11af
BLAKE2b-256 66ed904256fd327a0644db1789c6dcc2033c83e1906bcc018f284d5e6140743d

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