ISO 10303-21

ISO 10303-21
걸음
파일 이름 확장자
.stp, .step, .stpnc, .p21, .210
인터넷 미디어 유형
model/step, model/step+xml, model/step+zip, model/step-xml+zip
매직 넘버ISO-10303-21
개발자ISO
초기 릴리즈1994
웹 사이트사양

STEP-File은 널리 사용되는 STEP의 데이터 교환 형식입니다.ISO 10303은 컴퓨터 지원 설계(CAD) 및 관련 정보로 3D 객체를 나타낼 수 있습니다.ASCII 구조로 인해 STEP 파일은 읽기 쉬우며 일반적으로 한 줄에 하나의 인스턴스가 있습니다.STEP-File 형식은 Exchange [2]Structure의 ISO 10303-21 클리어 텍스트 부호화에 정의되어 있습니다.

ISO 10303-21은 ISO 10303-11에서 지정된 EXPRESS 데이터 모델링 언어로 특정 스키마에 준거한 데이터를 나타내기 위한 부호화 메커니즘을 정의한다.STEP-File은 p21-File STEP Physical File이라고도 합니다.파일 확장자 .stp 및 .step은 파일에 STEP Application Protocols에 준거한 데이터가 포함되어 있음을 나타내며 확장자 .p21은 다른 모든 [3]용도로 사용해야 합니다.

역사

주의사항:

  • 초판 ISO 10303-21:1994에는 몇 가지 버그가 있어 기술 코리겐덤에 의해 수정되었습니다.따라서 사용자는 대신 제2판을 학습할 것을 권장합니다(아래 참조).
  • 제2판 ISO 10303-21:2002에는 여러 데이터 섹션에 대한 교정본과 확장이 포함되어 있었다.
  • 세 번째 에디션 ISO 10303-21:2016에서는 외부 참조 지원, ZIP 기반 아카이브 압축 교환 구조 지원, 디지털 서명 및 UTF-8 문자 인코딩을 [4]위한 앵커, 참조 및 서명 섹션이 추가되었습니다.
  • 파트 21은 두 개의 적합성 클래스를 정의했다.복잡한 엔티티 인스턴스를 인코딩하는 방법만 다릅니다.
    • 준거 클래스 1은 항상 사용되며, 보다 콤팩트한 이른바 내부 매핑을 적용합니다.
    • 실제로는 사용되지 않는 컴플라이언스클래스 2는 항상 외부 매핑을 적용합니다.이론상으로는 포스트 프로세서는 일부 슈퍼 타입을 처리하는 방법을 알고 있지만 지정된 서브 타입을 인식하지 못할 수 있기 때문에 AP의 상호 운용성이 향상됩니다.
  • 파트 21의 제1판에서는 제2판에서는 옵션인 이른바 쇼트네임 사용을 강제하고 있습니다.그러나 실제로는 SHORT NAME은 거의 사용되지 않습니다.
  • 제2판에서는 여러 데이터 섹션을 사용할 수 있습니다.그러나 실제로는 대부분의 구현에서는 단일 데이터 섹션(1차 에디션 부호화)만 사용합니다.

ISO 10303-21 빌딩 블록

일반적인 예는 다음과 같습니다.

ISO-10303-21; HEADER; FILE_DESCRIPTION( /* 설명 */ ('단일 부품으로 이루어진 최소 AP214 예'), /* 구현_레벨 */'2;1'), FILE_NAME( /* 이름 */'/demo', /* time_stamp */'/'/'-27-27T11:57/53')rization * / ' ;FILE_SCHEMA ( 'AUTOTIVE_DESIGN { 1 0 10303 214 2 1 } ) ; ENDSEC ; DATA ; #10 = Organization ( ' O0001 ' , LKSoft ' , company , # 11 = PRODUCTUCTUCTUCT _ DEFINITION _ CON _ CONT _ CON _ CON ( " " " " Part definition ) , 1 , 1 , 1 , 1 , 1 ) 、 1 ) ) 。',$15,#11),#15=PRODUCT_DEFINITION_FORMATION_FORMATION('1',$16),#16=PRODUCT('A0001','테스트 파트1','),#17=PRODUCT_RENATION_CATGE('),#18=PRODUCTOCTORAT_CON('),#16)

HEADER

위의 예에서 보듯이 파일은 첫 번째 키워드 ISO-10303-21에 이어2개의 섹션으로 분할됩니다.

HEADER 섹션은 지정된 순서대로 3~6개의 그룹으로 구성된 고정 구조를 가지고 있습니다.time_stamp 및 FILE_SCHEMA 데이터 필드를 제외한 모든 필드에 빈 문자열을 포함할 수 있습니다.

  • 파일_설명
    • 묘사
    • implementation_level.이 파일의 버전 및 적합성 옵션.가능한 버전은 1994년 원래 표준의 경우 "1", 1995년 기술 코리겐덤의 경우 "2", 제2판의 경우 "3"이다.적합성 옵션은 내부에서는 "1"이고 복잡한 엔티티 인스턴스의 외부 매핑에서는 "2"입니다.흔히 여기서 __'2;1'_을 찾을 수 있습니다.외부 매핑을 적용하는 값 '2;2'도 사용할 수 있지만 거의 사용되지 않습니다.값 '3;1'과 '3;2'는 2001년 표준에서 정의된 확장 STEP-Files를 나타냅니다.몇 가지 DATA 섹션, 여러 스키마 및 FILE_POPULTION이 지원됩니다.
  • 파일_이름
    • 교환 구조의 이름입니다.파일 시스템의 파일 이름에 대응하거나 이 파일의 데이터를 반영할 수 있습니다.이 필드를 사용하는 방법에 대한 엄격한 규칙은 없습니다.
    • time_displays는 이 파일이 생성된 시간을 나타냅니다.시간은 국제 데이터 시간 형식 ISO 8601(예: 2003년 12월 27일의 경우 2003-12-27T 11:57:53), 정오까지 2분 동안 제공됩니다.
    • 교환 구조를 작성하는 사람의 이름과 메일 주소를 작성합니다.
    • 사람이 소속된 조직
    • preprocessor_version 이 STEP 파일을 생성하는 시스템 이름 및 버전
    • originating_system은 이 STEP 파일에 포함된 정보를 처음 작성한 시스템 이름 및 버전입니다.
    • 권한 부여: 이 파일을 승인한 사람의 이름과 메일 주소.
  • FILE_SCHEMA. 데이터 섹션의 정보를 관리하는 하나 이상의 Express 스키마를 지정합니다.초판 파일의 경우 스키마버전의 ASN.1 오브젝트 ID와 함께1개의 EXPRESS 스키마만 여기에 표시할 수 있습니다.세컨드 에디션파일은, 복수의 EXPRESS 스키마를 지정할 수 있습니다.

마지막 3개의 헤더 그룹은 두 번째 에디션 파일에서만 유효합니다.

  • FILE_POPULTION: EXPRESS 스키마에 준거한 유효한 모집단(엔티티 인스턴스 세트)을 나타냅니다.이는 여러 data_sections 및 다른 데이터 섹션의 참조 인스턴스를 수집함으로써 이루어집니다.
    • banging_schema: 지정된 모집단이 속한 EXPRESS 스키마로 검증할 수 있습니다.
    • determination_module을 사용하여 어떤 인스턴스가 모집단에 속하는지 확인합니다.SEPTION_BOUNDARY, INCLUDE_ALL_COMPATIBLE 및 INCLUDE_REferenced의 3가지 방법이 미리 정의되어 있습니다.
    • controled_sections: 엔티티 인스턴스가 완전히 모집단에 속하는 데이터 섹션입니다.
    • FILE_POPULTION의 개념은 SDAI의 schema_instance에 매우 가깝습니다.안타깝게도 표준화 과정에서는 이러한 개념을 병합하는 데 합의할 수 없었습니다.따라서 JSDAI는 FILE_POPULTION에 지능형 코멘트로 추가 속성을 추가하여 schema_instance에서 누락된 모든 정보를 처리합니다.이는 Import와 Export 모두에서 지원됩니다.
  • 섹션_LANGUAGE에서는 모든 데이터 섹션 또는 특정 데이터 섹션에 기본 언어를 할당할 수 있습니다.이는 이름이나 설명 등의 엔티티의 언어 문자열 속성을 지정하는 기능을 제공하지 않는 Express 스키마에 필요합니다.
  • 섹션_CONTEXT는 전체 또는 단일 데이터 섹션에 대한 추가 컨텍스트 정보를 지정하는 기능을 제공합니다.예를 들어 STEP-AP에서 특정 데이터 섹션이 다루는 적합 클래스를 나타낼 때 사용할 수 있습니다.

DATA 섹션

DATA 섹션에는 특정 익스프레스 스키마에 따른 애플리케이션 데이터가 포함되어 있습니다.이 데이터의 부호화는 몇 가지 간단한 원칙을 따릅니다.

  • 인스턴스 이름:교환 구조의 모든 엔티티 인스턴스에는 "#1234" 형식으로 고유한 이름이 지정됩니다.인스턴스 이름은 양수(>0)로 구성되어야 하며 일반적으로 2보다63 작습니다.인스턴스 이름은 STEP 파일 내에서 로컬로만 유효합니다.시스템에서 동일한 콘텐츠를 다시 내보내는 경우 인스턴스 이름이 동일한 인스턴스에 대해 다를 수 있습니다.인스턴스 이름은 속성 값 또는 집약 멤버를 통해 다른 엔티티 인스턴스를 참조할 때도 사용됩니다.참조된 인스턴스는 현재 인스턴스 앞 또는 뒤에 정의할 수 있습니다.
  • 단일 엔티티 데이터 유형의 인스턴스는 엔티티 이름을 대문자로 쓴 다음 괄호 안에 정의된 순서로 속성 값을 표시하여 나타냅니다.위의 "#16=PRODUCT(...)"를 참조하십시오.
  • 복잡한 엔티티 데이터 유형의 인스턴스는 내부 매핑 또는 외부 매핑을 사용하여 STEP 파일에 표시됩니다.
    • 복잡한 엔티티 인스턴스가 둘 이상의 리프 엔티티로 구성된 경우 항상 외부 매핑을 사용해야 합니다.이 경우 모든 단일 엔티티 인스턴스 값은 위에서 정의한 대로 알파벳 순서로 서로 독립적으로 지정되며 모든 엔티티 값은 괄호 안에 함께 그룹화됩니다.
    • 내부 매핑은 복잡한 엔티티 인스턴스가 하나의 리프 엔티티로만 구성되어 있는 경우 컴플라이언스 옵션1에 기본적으로 사용됩니다.부호화는 서브타입 정의에 의해 추가 순서가 지정된 단일 엔티티 인스턴스 중 하나와 유사합니다.
  • 속성 값 매핑:
    • 명시적 속성만 매핑됩니다.Inverse, Derived 및 redeclared Atribute는 다른 Atribute에서 값을 추론할 수 있기 때문에 나열되지 않습니다.
    • 설정되지 않은 속성 값은 "$"로 지정됩니다.
    • 서브타입에서 파생된 것으로 재선언된 명시적 Atribut은 슈퍼타입 Atribute 위치에 "*"로 부호화됩니다.
  • 기타 데이터 유형 매핑:
    • 열거, 부울 및 논리 값은 "와 같은 선행 및 후행 점이 있는 대문자로 제공됩니다.맞다.
    • 문자열 값은 " " 에 나와 있습니다.코드가 126보다 큰 문자의 경우 특수 인코딩이 사용됩니다.ISO 8859 및 10646에 정의된 문자 집합이 지원됩니다.STEP 파일 문자열에 대해서는 일반적인 8(서유럽어 등) 또는 16(유니코드) 비트 문자 세트를 직접 사용할 수 없습니다.그것들은 매우 특별한 방식으로 해독되어야 한다.
    • 정수와 실제 값은 일반적인 프로그래밍 언어와 동일하게 사용됩니다.
    • 바이너리 값(비트시퀀스)은 16진수로 부호화되어 큰따옴표로 둘러싸여 선두 문자는 미사용 비트수(0, 1, 2, 또는 3) 뒤에 대문자 16진수 인코딩을 나타냅니다.바이너리 값 전체가 1개의 16진수로 부호화되어 첫 번째 16진수 문자의 상위 비트와 마지막 16진수 문자의 하위 비트가 포함된다는 점에 유의하십시오.
    • Aggregate 요소(SET, BAG, LIST, Array)는 괄호 안에 ","로 구분되어 있습니다.
    • 정의된 데이터 유형에 따라 선택한 데이터 유형에 주의해야 합니다.여기서 정의된 데이터 유형의 이름도 매핑됩니다.
  • 자세한 [clarification needed]내용은 "Express를 Java에 매핑"을 참조하십시오.

비판

STEP 파일의 유일한 장점은 많은 CAD 소프트웨어에서 널리 채택되고 있다는 것입니다.한편, 그 형식, 특히 EXPRESS에는 몇 가지 단점이 있습니다.

  • 사양은 무료로 이용하실 수 없습니다(비용은 지불하셔야 합니다).
  • STEP 파일을 순차적으로 읽을 수 없습니다.엔티티는 임의의 순서로 정렬할 수 있으며 파일 내에서 다른 엔티티를 정방향 또는 역방향으로 참조할 수 있습니다(위 예의 엔티티 #14 참조).따라서 해석하기 전에 파일 전체를 메모리로 읽어 토큰화해야 합니다.
  • 형식이 스토리지 효율적이지 않습니다.예를 들어 엣지에 RGB 색상 코드를 할당하려면 적어도 6개의 다른 엔티티가 필요하며 변환을 지정하려면 최소 5개의 추가 엔티티(PLANE, AX)가 필요합니다.IS2_PLACECTION_3D, DECARTS_POINT 및 2DIRECTION 엔티티)
  • 형식이 제대로 정의되지 않았습니다.예를 들어 동일한 삼각형을 STEP 파일로 여러 가지 방법으로 부호화할 수 있습니다(FACET_BREP, Advanced_).FACE, POLY_LOOP, EDGE_LOOP, 매니폴드_SOLID_REPRESENTION 또는 셸_BASED_REPRESENTION 등).임포터는 STEP 파일을 일관되게 읽으려면 모든 변형을 인식해야 합니다.대부분의 CAD 소프트웨어는 STEP 엔트리의 풀세트를 지원하지 않기 때문에 STEP 엔티티의 특정 서브셋으로 제한됩니다.를 들어, 지원되는 STEP 엔티티 목록인 오토데스크 기술 자료입니다.
  • 따라서 대부분의 CAD 소프트웨어에는 "가져온 후 지오메트리 데이터 복구" 기능이 있으며, 이 기능은 작동하거나 작동하지 않을 수 있습니다.

「 」를 참조해 주세요.

외부 링크

레퍼런스

  1. ^ "STEP-file, ISO 10303-21". Library of Congress. 3 January 2017.
  2. ^ ISO 10303-21:2002 산업 자동화 시스템 및 통합 - 제품 데이터 표현 및 교환 - Part 21: 구현 방법: 교환 구조의 클리어 텍스트 인코딩
  3. ^ ISO TC184/SC4 비서 "결의 누적 목록" 결의안 583(독일 슈투트가르트 - 2003년 6월) "SC4 MIME-Type 등록", [1]
  4. ^ ISO 10303-21:2016.산업 자동화 시스템 및 통합 - 제품 데이터 표현 및 교환 - Part 21: 구현 방법: 교환 구조의 클리어 텍스트 부호화 [2]