77 lines
2.6 KiB
Python
77 lines
2.6 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
DXF 처리 모듈 테스트 스크립트
|
|
수정된 _extract_title_block_info 함수와 관련 기능들을 테스트
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
sys.path.append(os.path.dirname(__file__))
|
|
|
|
try:
|
|
from dxf_processor import DXFProcessor, AttributeInfo, TitleBlockInfo, BoundingBox
|
|
print("[SUCCESS] DXF 처리 모듈 import 성공")
|
|
|
|
# DXFProcessor 인스턴스 생성
|
|
processor = DXFProcessor()
|
|
print("[SUCCESS] DXFProcessor 인스턴스 생성 성공")
|
|
|
|
# AttributeInfo 데이터 클래스 테스트
|
|
test_attr = AttributeInfo(
|
|
tag="TEST_TAG",
|
|
text="테스트 텍스트",
|
|
position=(100.0, 200.0, 0.0),
|
|
height=5.0,
|
|
width=50.0,
|
|
rotation=0.0,
|
|
layer="0",
|
|
prompt="테스트 프롬프트",
|
|
style="Standard",
|
|
invisible=False,
|
|
const=False,
|
|
verify=False,
|
|
preset=False,
|
|
insert_x=100.0,
|
|
insert_y=200.0,
|
|
insert_z=0.0,
|
|
estimated_width=75.0,
|
|
entity_handle="ABC123"
|
|
)
|
|
print("[SUCCESS] AttributeInfo 데이터 클래스 테스트 성공")
|
|
print(f" Tag: {test_attr.tag}")
|
|
print(f" Text: {test_attr.text}")
|
|
print(f" Position: {test_attr.position}")
|
|
print(f" Prompt: {test_attr.prompt}")
|
|
print(f" Handle: {test_attr.entity_handle}")
|
|
|
|
# TitleBlockInfo 데이터 클래스 테스트
|
|
test_title_block = TitleBlockInfo(
|
|
block_name="TEST_TITLE_BLOCK",
|
|
drawing_name="테스트 도면",
|
|
drawing_number="TEST-001",
|
|
all_attributes=[test_attr]
|
|
)
|
|
print("[SUCCESS] TitleBlockInfo 데이터 클래스 테스트 성공")
|
|
print(f" Block Name: {test_title_block.block_name}")
|
|
print(f" Drawing Name: {test_title_block.drawing_name}")
|
|
print(f" Drawing Number: {test_title_block.drawing_number}")
|
|
print(f" Attributes Count: {test_title_block.attributes_count}")
|
|
|
|
# BoundingBox 테스트
|
|
test_bbox = BoundingBox(min_x=0.0, min_y=0.0, max_x=100.0, max_y=50.0)
|
|
print("[SUCCESS] BoundingBox 데이터 클래스 테스트 성공")
|
|
print(f" Width: {test_bbox.width}")
|
|
print(f" Height: {test_bbox.height}")
|
|
print(f" Center: {test_bbox.center}")
|
|
|
|
print("\n[COMPLETE] 모든 테스트 통과! DXF 속성 추출 기능 개선이 성공적으로 완료되었습니다.")
|
|
|
|
except ImportError as e:
|
|
print(f"[ERROR] Import 오류: {e}")
|
|
except Exception as e:
|
|
print(f"[ERROR] 테스트 실행 중 오류: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
print("\nDXF 처리 모듈 테스트 완료")
|