ISO 10303-21
Dateiname Erweiterung | .stp, .step, .stpnc, .p21, .210 |
---|---|
Internet -Medientyp | Modell/Schritt, Modell/Schritt+XML, Modell/Schritt+ZIP, Modell/Step-XML+ZIP |
magische Zahl | ISO-10303-21 |
Entwickelt von | ISO |
Erstveröffentlichung | 1994 |
Webseite | Spezifikation |
Stiefmeldung ist eine weit verbreitete [1] Datenaustauschform von SCHRITT. ISO 10303 kann 3D -Objekte in darstellen Computergestütztes Design (CAD) und verwandte Informationen. Wegen seines ASCII Struktur, eine Schrittmeldung ist leicht zu lesen, mit typischerweise eine Instanz pro Zeile. Das Format einer Stiefmeldung ist in ISO 10303-21 definiert Klare Textcodierung der Austauschstruktur.[2]
ISO 10303-21 definiert den Codierungsmechanismus zur Darstellung von Daten, die einem bestimmten Schema in der entsprechen AUSDRÜCKEN Datenmodellierungssprache angegeben in ISO 10303-11. Eine Schrittmeldung wird auch genannt P21-Datei und Physische Datei Schritt. Die Dateierweiterungen .stp und .Schritt Geben Sie an, dass die Datei während der Erweiterung Daten enthält, die an Schrittanwendungsprotokolle entsprechen .p21 sollte für alle anderen Zwecke verwendet werden.[3]
Geschichte
Einige Details zur Kenntnis nehmen:
- Die erste Ausgabe, ISO 10303-21: 1994, hatte einige Fehler, die durch ein technisches Korrigendum korrigiert wurden. Daher wird empfohlen, dass Benutzer stattdessen die zweite Ausgabe untersuchen (siehe unten).
- Die zweite Ausgabe, ISO 10303-21: 2002, enthielt den Corrigendum und die Erweiterungen für mehrere Datenabschnitte.
- Die dritte Ausgabe, ISO 10303-21: 2016, fügte Anker-, Referenz- und Signaturabschnitte zur Unterstützung externer Referenzen, Unterstützung für komprimierte Austauschstrukturen in einem Reißverschluss auf Reißverschluss, digitale Signaturen und UTF-8-Charaktercodierung hinzu.[4]
- Teil 21 definierte zwei Konformitätsklassen. Sie unterscheiden sich nur darin, komplexe Entitätsinstanzen zu codieren.
- Die Konformitätsklasse 1 wird immer verwendet interne Zuordnung, was kompakter ist.
- Konformitätsklasse 2, die in der Praxis nicht verwendet wird, erzwingt die immer die externe Zuordnung. Theoretisch würde dies eine bessere AP -Interoperabilität ermöglichen, da ein Postprozessor möglicherweise weiß, wie man mit einigen Supertypen umgeht, aber die angegebenen Subtypen möglicherweise nicht kennt.
- Die 1. Ausgabe von Teil 21 erzwingt die Verwendung von sogenannten kurzen Namen, die in der 2. Auflage optional sind. In der Praxis werden jedoch kurze Namen selten verwendet.
- Mit der 2. Auflage können mehrere Datenabschnitte verwendet werden. In der Praxis verwenden die meisten Implementierungen jedoch nur einen einzelnen Datenabschnitt (1st Edition Coding).
ISO 10303-21 Bausteine
Beispiel
Ein typisches Beispiel sieht Folgendes aus:
ISO-10303-21; HEADER; Datei_Description ( / * Beschreibung * / ('a minimales AP214 -Beispiel mit einem einzelnen Teil'), / * Implementation_level * / '2; 1'); Datei_Name ( / * Name * / 'Demo', / * time_stamp * / '2003-12-27t11: 57: 53', / * Autor * / ('Lothar Klein'), / * Organisation * / ('lksoft') , / * precessor_version * / '', / * Originating_System * / 'ida-Step', / * Autorisierung * / ''); Datei_schema (('Automotive_design {1 0 10303 214 2 1 1}')); EndeSec; DATEN; #10 = organisation ('o0001', 'lksoft', 'Company'); #11 = product_definition_context ('Part Definition',#12, 'Manufacturing'); #12 = application_context ('mechanisches Design'); #13 = application_protocol_definition ('', 'Automotive_design', 2003,#12); #14 = product_definition ('0', $,#15,#11); #15 = product_definition_formation ('1', $,#16); #16 = product ('A0001', 'Test Teil 1', '', (#18)); #17 = product_related_product_category ('Teil', $, (#16)); #18 = product_context ('',#12, ''); #19 = applied_organisation_assisignment (#10,#20, (#16)); #20 = organisation_role ('ID -Eigentümer'); EndeSec; End-ISO-10303-21;
Header -Abschnitt
Wie im obigen Beispiel zu sehen ist, wird die Datei nach dem ersten Schlüsselwort in zwei Abschnitte aufgeteilt ISO-10303-21;:
Das Header -Abschnitt hat eine feste Struktur, die aus 3 bis 6 Gruppen in der angegebenen Reihenfolge besteht. Mit Ausnahme der Datenfelder TIME_STAMP und Datei_schema Alle Felder können leere Saiten enthalten.
- DATEIBESCHREIBUNG
- Bezeichnung
- Implementation_Level. Die Option Version und Konformität dieser Datei. Mögliche Versionen sind "1" für den ursprünglichen Standard im Jahr 1994, "2" für den technischen Corrigendum im Jahr 1995 und "3" für die zweite Ausgabe. Die Konformitätsoption ist entweder "1" für interne und "2" für die externe Zuordnung komplexer Entitätsinstanzen. Oft findet man hier den Wert __ '2; 1' __. Der Wert '2; 2' durch die Durchsetzung der externen Zuordnung ist ebenfalls möglich, aber nur sehr selten verwendet. Die Werte '3; 1' und '3; 2' geben erweiterte Stieffilme an, wie im Standard 2001 mit mehreren Datenabschnitten, mehreren Schemas und Datei-Populationsunterstützung definiert.
- DATEINAME
- Name dieser Austauschstruktur. Es kann dem Namen der Datei in einem Dateisystem entsprechen oder Daten in dieser Datei widerspiegeln. Es gibt keine strenge Regel, wie dieses Feld verwendet werden kann.
- TIME_STAMP Zeigt die Zeit an, in der diese Datei erstellt wurde. Die Zeit ist im internationalen Datenzeitformat angegeben ISO 8601, z.B. 2003-12-27T11: 57: 53 Für 27. Dezember 2003 2 Minuten bis Mittag.
- Autor Der Name und die Versandadresse der Person, die diese Austauschstruktur erstellt
- Organisation die Organisation, zu der die Person gehört
- precessor_version Der Name des Systems und seine Version, die diese Stufendatei erzeugt
- Ursprung_System Der Name des Systems und seine Version, die ursprünglich die in dieser Schrittdatei enthaltenen Informationen erstellt haben.
- Genehmigung Der Name und die Versandadresse der Person, die diese Datei autorisiert hat.
- Datei_schema. Gibt einen oder mehrere an Äußern Schema, das die Informationen in den Datenabschnitt (n) regiert. Für Erstausstellungsdateien kann hier nur ein Express -Schema zusammen mit einer optionalen ASN.1 -Objektkennung der Schema -Version aufgeführt werden. Die zweiten Editionsdateien können mehrere Express -Schema angeben.
Die letzten drei Header -Gruppen sind nur in Dateien der zweiten Ausgabe gültig.
- Datei_Population, die eine gültige Bevölkerung (Satz von Entitätsinstanzen) angibt, die sich an einen Expressschemas entspricht. Dies erfolgt durch das Sammeln von Daten aus mehreren Daten- und Referenzinstanzen aus anderen Datenabschnitten.
- regieren_schema, das Expressschema, zu dem die angegebene Bevölkerung gehört und zu dem es validiert werden kann.
- Bestimmung_Method herauszufinden, welche Instanzen zur Bevölkerung gehören. Drei Methoden sind vordefiniert: Abschnitt_Boundary, include_all_compatible und include_reference.
- regiert_sektionen, die Datenabschnitte, deren Entitätsinstanzen vollständig zur Bevölkerung gehören.
- Das Konzept der File_Population liegt sehr nahe an Schema_instance von SDAI. Leider war es während des Standardisierungsprozesses nicht möglich, diese Konzepte zusammenzuführen. Daher fügt JSDAI File_Population als intelligente Kommentare weitere Attribute hinzu, um alle fehlenden Informationen von schema_instance abzudecken. Dies wird sowohl für Import als auch für den Export unterstützt.
- Section_Language ermöglicht die Zuordnung einer Standardsprache für alle oder einen bestimmten Datenabschnitt. Dies ist für diejenigen ausdrücklichen Schemata erforderlich, die nicht die Fähigkeit bieten, festzulegen, in welchen Sprachzeichenfolgenattributen von Entitäten wie Namen und Beschreibung angegeben sind.
- Section_Context geben die Fähigkeit zur Angabe zusätzlicher Kontextinformationen für alle Abschnitte für einzelne oder einzelne Daten an. Dies kann verwendet werden, z. Für Stufenabfälle, um anzuzeigen, welche Konformitätsklasse durch einen bestimmten Datenabschnitt abgedeckt ist.
Datenabschnitt
Das DATEN Der Abschnitt enthält Anwendungsdaten gemäß einem bestimmten Express -Schema. Die Codierung dieser Daten folgt einigen einfachen Prinzipien.
- Instanzname: Jede Entitätsinstanz in der Austauschstruktur erhält einen eindeutigen Namen in Form "#1234". Der Instanzname muss aus einer positiven Zahl (> 0) bestehen und ist normalerweise kleiner als 263. Der Instanzname gilt nur lokal innerhalb der Stufendatei. Wenn der gleiche Inhalt erneut aus einem System exportiert wird, können die Instanznamen für dieselben Instanzen unterschiedlich sein. Der Instanzname wird auch verwendet, um andere Entitätsinstanzen durch Attributwerte oder aggregierte Mitglieder zu verweisen. Die referenzierte Instanz kann vor oder nach der aktuellen Instanz definiert werden.
- Instanzen von Datentypen der Einzelentität werden durch das Schreiben des Namens der Entität in Großbuchstaben dargestellt und dann von den Attributwerten in der definierten Reihenfolge innerhalb von Klammern gefolgt. Siehe z. "#16 = Produkt (...)" oben.
- Instanzen komplexer Entitätsdatentypen werden in der Schrittdatei entweder durch die interne Zuordnung oder die externe Zuordnung dargestellt.
- Eine externe Zuordnung muss immer verwendet werden, wenn die komplexe Entitätsinstanz aus mehr als einer Blatteinheit besteht. In diesem Fall werden alle Werte für einzelne Entitätsinstanz in alphabetischer Reihenfolge unabhängig voneinander angegeben, wie oben mit allen in Klammern zusammengefassten Entitätswerten definiert.
- Die interne Zuordnung wird standardmäßig für die Konformität Option 1 verwendet, wenn die komplexe Entitätsinstanz nur aus einer Blatteinheit besteht. Die Codierung ähnelt der einer einzelnen Entitätsinstanz mit der zusätzlichen Reihenfolge der Subtypdefinition.
- Zuordnung von Attributwerten:
- Nur explizite Attribute werden zugeordnet. Umgekehrte, abgeleitete und neu deklarierte Attribute werden nicht aufgeführt, da ihre Werte von den anderen abgeleitet werden können.
- Ungesetzte Attributwerte werden als "angegeben"$".
- Explizite Attribute, die als in einem Subtyp abgeleiteten abgeleitet wurden, werden als "codiert"*"In der Position des Supertyp -Attributs.
- Zuordnung anderer Datentypen:
- Aufzählung, Boolesche und logische Werte werden in Großbuchstaben mit einem führenden und nachfolgenden Punkt wie "angegeben".STIMMT.".
- Stringwerte sind in "angegeben" ". Für Zeichen mit einem Code von mehr als 126 wird eine spezielle Codierung verwendet. Die in ISO 8859 und 10646 definierten Zeichensätze werden unterstützt. Beachten Für Stiefmodellschnüre müssen sie ganz besondere Weise dekodiert werden.
- Ganzzahlen und reale Werte werden identisch mit typischen Programmiersprachen verwendet
- Binärwerte (Bitsequenzen) werden als codiert als hexadezimal und umgeben von doppelten Zitaten mit einem führenden Charakter, der die Anzahl der nicht verwendeten Bits (0, 1, 2 oder 3) angibt, gefolgt von der hexadezimalen Großbuchstaben von Daten. Es ist wichtig zu beachten, dass der gesamte binäre Wert als einzelne hexadezimale Zahl mit den höchsten Ordnung im ersten Hex -Charakter und den niedrigsten Bits der niedrigsten Ordnung im letzten.
- Die Elemente von Aggregaten (Set, Tasche, Liste, Array) sind in Klammern angegeben, die durch getrennt sind ",".
- Für ausgewählte Datentypen basieren auf definierten Datentypen. Hier wird auch der Name des definierten Datentyps zugeordnet.
- Weitere Informationen dazu finden Sie auch "Mapping of Express to Java".[Klarstellung erforderlich]
Kritik
Möglicherweise ist der einzige Vorteil von Schrittdateien, dass sie in vielen CAD -Software weit verbreitet sind. Andererseits hat sein Format und insbesondere der Express einige Nachteile:
- Die Spezifikation ist nicht frei verfügbar (Sie müssen dafür bezahlen)
- Es ist nicht möglich, eine Schrittdatei nacheinander zu lesen. Entitäten können in beliebiger Reihenfolge sein und in der Datei auf andere Entitäten weiterleiten und rückwärts verweisen (siehe Entität Nr. 14 im obigen Beispiel). Daher muss die gesamte Datei vor der Parsen in den Speicher gelesen und tokenisiert werden.
- Das Format ist nicht speichereffizient. Zum Beispiel erfordert das Zuweisen eines RGB -Farbcodes einer Kante mindestens 6 weitere Entitäten, und das Angeben einer Transformation erfordert mindestens 5 zusätzliche Entitäten (Ebene, Axis2_placement_3d, ein cartesian_point und 2 Richtungsentitäten)
- Das Format ist nicht genau definiert. Zum Beispiel kann dasselbe Dreieck auf viele verschiedene Arten in einer Schrittdatei codiert werden (mit facet_brep, Advanced_face, Poly_loop, Edge_loop, als vielfältiger. Ein Importeur muss alle Varianten erkennen, um eine Schrittdatei konsistent zu lesen. Die meisten CAD -Software unterstützt nicht die vollständige Reihe von Schritteinträgen und sind als solche auf eine bestimmte Teilmenge von Schritteinheiten beschränkt. Zum Beispiel Autodesk Knowledge Base, Liste der unterstützten Stufeneinheiten.
- Infolgedessen verfügen die meisten CAD -Software über eine Art "Reparaturgeometriedaten nach dem Import", die möglicherweise funktionieren oder nicht.
Siehe auch
- Branchenstiftungskurse (IFC)
- Grenzdarstellung
- IGES
- STL (Dateiformat)
- DXF
- Open Cascade -Technologie - Eine Open Source -Schrittbibliothek, mit der zum Erstellen verwendet wurde Freecad
Externe Links
- ANSI ISO-10303-21 - Offizielle Spezifikation bei ANSI
- Stufendateianalysator und Betrachter - Analysieren und anzeigen Sie eine ISO 10303 Teil 21 -Stufendatei
- Online -Step -Datei Viewer
- STEP -Datei -Zuschauer
- STEPCODE - Nachfolger der Stufenklassenbibliothek von NIST, der offiziellen C ++ - Bibliothek zum Erstellen von Stufendatei -Importeuren und Exporteuren
Verweise
- ^ "Stieffile, ISO 10303-21". Kongressbibliothek. 3. Januar 2017.
- ^ ISO 10303-21: 2002 Industrielle Automatisierungssysteme und -integration-Produktdatenrepräsentation und -austausch-Teil 21: Implementierungsmethoden: Clear Text-Codierung der Austauschstruktur
- ^ ISO TC184/SC4 Sekretär "Kumulative Liste der Resolutionen" Resolution 583 (Stuttgart, Deutschland, Juni 2003) "Registrierung von SC4 -Mime -Typen", [1]
- ^ ISO 10303-21: 2016. Industrieautomatisierungssysteme und -integration - Produktdatenrepräsentation und -austausch - Teil 21: Implementierungsmethoden: Löschen der Textcodierung der Austauschstruktur [2]