%% %% This is file `stepv13.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% stepe.dtx (with options: `step') %% %% This work has been partially funded by the US government %% and is not subject to copyright. %% %% This program is provided under the terms of the %% LaTeX Project Public License distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% %% Author: Peter Wilson (CUA and NIST) %% now at: peter.r.wilson@boeing.com %% \ProvidesPackage{stepv13}[2002/01/10 v1.3.2 STEP general package] \let\stepemptystring\isoemptystring \gdef\thespartno{} \newcommand{\partno}[1]{\gdef\thespartno{#1}} \gdef\theseries{} \gdef\Theseries{} \newcommand{\series}[1]{\gdef\Theseries{#1} \gdef\theseries{\MakeLowercase{#1}}} \gdef\thed@ctitle{} \newcommand{\doctitle}[1]{\gdef\thed@ctitle{#1}} \newcommand{\st@pn@me}{Product data representation and exchange} \newcounter{b@cyc} \newcommand{\ballotcycle}[1]{\setcounter{b@cyc}{#1}} \newif\ifanir \anirfalse \newif\ifhaspatents \haspatentsfalse \newif\ifmapspec \mapspecfalse \renewcommand{\indexfill}{\dotfill} \renewcommand{\sindexfill}{\dotfill} \renewcommand{\ssindexfill}{\dotfill} \renewcommand{\alphaindexspace}[1]{} \renewcommand{\otherindexspace}[1]{} \renewcommand{\indexsee}[1]{\par \hspace*{2em} {\em see} #1} \renewcommand{\indexseealso}[1]{\par \hspace*{2em} {\em see also} #1} \newcommand{\ix}[1]{#1\index{#1}} \newcommand{\B}[1]{{\bf #1}} \newcommand{\E}[1]{{\em #1}} \newcommand{\BG}[1]{{\mbox{\boldmath $#1$}}} \newcommand{\Express}{{\sc EX\-PRESS}} \newcommand{\ExpressG}{{\sc EX\-PRESS-G}} \newcommand{\ExpressI}{{\sc EX\-PRESS-I}} \newcommand{\ExpressX}{{\sc EX\-PRESS-X}} \newcommand{\nexp}[1]{\textbf{#1}} \newcommand{\HASH}{\texttt{\small \#}} \newcommand{\LT}{\texttt{\small <}} \newcommand{\LE}{\texttt{\small <=}} \newcommand{\NE}{\texttt{\small <>}} \newcommand{\INE}{\texttt{\small :<>:}} \newcommand{\GE}{\texttt{\small >=}} \newcommand{\GT}{\texttt{\small >}} \newcommand{\CAT}{\texttt{\small ||}} \newcommand{\HAT}{\texttt{\small ^}} \newcommand{\QUES}{\texttt{\small ?}} \newcommand{\BS}{\texttt{\small \\}} \newcommand{\IEQ}{\texttt{\small :=:}} \newcommand{\INEQ}{\texttt{\small :<>:}} \newcommand{\xword}[1]{\textsc{\lowercase{#1}}} \newcommand{\mnote}[1]{\ifdr@ftd@c \marginpar{\raggedright\tiny #1} \fi} \newenvironment{specific@tion}[1]{}{} \newenvironment{espec}[1]{}{} \newenvironment{fspec}[1]{}{} \newenvironment{rspec}[1]{}{} \newenvironment{sspec}[1]{}{} \newenvironment{tspec}[1]{}{} \newenvironment{dtext}{}{} \newcommand{\pbre@k}{\pagebreak[2]} \newcommand{\nopbre@k}{\nopagebreak} \newcommand{\ehe@d}{\@startsection{ehe@d}{20} {\z@}% % indent {-\baselineskip}% % beforeskip {0.5\baselineskip}% % afterskip {}}% % normal body text style for heading \newcounter{ehe@d} \newcommand{\ehe@dmark}[1]{} \newenvironment{ecode}{% \ehe@d*{{\underline{\protect\Express{} specification}}:} \begin{Efont}}% {\end{Efont}} \newenvironment{eicode}{% \ehe@d*{{\underline{\protect\ExpressI{} specification}}:} \begin{Efont}}% {\end{Efont}} \newenvironment{excode}{% \ehe@d*{{\underline{\protect\ExpressX{} specification}}:} \begin{Efont}}% {\end{Efont}} \newcommand{\expdesclabel}[1]{{\bf #1:}} \newenvironment{expdesc}{\list{}% {\setlength{\leftmargin}{\z@} \setlength{\labelsep}{0.5em} \setlength{\itemindent}{\labelsep} \setlength{\labelwidth}{\z@} \setlength{\itemsep}{\z@ \@plus 0.2ex \@minus 0.1ex} \setlength{\parsep}{0.5\baselineskip} \let\makelabel\expdesclabel}}% {\endlist} \newenvironment{attrlist}{% \ehe@d*{{\underline{Attribute definitions}}:} \begin{expdesc}}% {\end{expdesc}} \newenvironment{fproplist}{% \ehe@d*{{\underline{Formal propositions}}:} \begin{expdesc}}% {\end{expdesc}} \newenvironment{iproplist}{% \ehe@d*{{\underline{Informal propositions}}:} \begin{expdesc}}% {\end{expdesc}} \newenvironment{enumlist}{% \ehe@d*{{\underline{Enumerated item definitions}}:} \begin{expdesc}}% {\end{expdesc}} \newenvironment{arglist}{% \ehe@d*{{\underline{Argument definitions}}:} \begin{expdesc}}% {\end{expdesc}} \newcommand{\ixent}[1]{\index{#1 (entity)}} \newcommand{\ixenum}[1]{\index{#1 (enumeration)}} \newcommand{\ixfun}[1]{\index{#1 (function)}} \newcommand{\ixproc}[1]{\index{#1 (procedure)}} \newcommand{\ixrule}[1]{\index{#1 (rule)}} \newcommand{\ixsc}[1]{\index{#1 (subtype\_constraint)}} \newcommand{\ixschema}[1]{\index{#1 (schema)}} \newcommand{\ixselect}[1]{\index{#1 (select)}} \newcommand{\ixtype}[1]{\index{#1 (type)}} \gdef\thestepparttitle{} \newcommand{\scivm@in}{Industrial automation systems and integration ---\newline} \newcommand{\stepc@mp}{Product data representation and exchange ---\newline} \newcommand{\thisp@rtno}[1]{Part #1 :\newline} \newcommand{\sptitle}[1]{#1\par} \newcommand{\stepparttitle}[1]{% \cleardoublepage\pagenumbering{arabic} %%% \setcounter{section}{0} \setcounter{clause}{0} \ifotherdoc \else \protect\thispagestyle{isotitlehead} \fi \gdef\thestepparttitle{{\Tfont\bf \scivm@in \stepc@mp \thisp@rtno{\thespartno} \sptitle{#1}}} \if@twocolumn \twocolumn[\vspace*{2\baselineskip}\vbox to 35mm{\thestepparttitle}] \else \vspace*{2\baselineskip}\vbox to 35mm{\thestepparttitle} \fi} \newcommand{\Foreword}{% \begin{foreword} %%% \input{isofwdbp} \fwdbp \ifhaspatents\else\fwdnopatents\fi \iftechspec ISO/TS~10303--\thespartno\ \else \ifpaspec ISO/PAS~10303--\thespartno\ \else ISO~10303--\thespartno\ \fi \fi was prepared by Technical Committee ISO/TC~184, \textit{Industrial automation systems and integration}, Subcommittee SC4, \textit{Industrial data}. } \gdef\endForeword#1#2{% \par A complete list of parts of ISO~10303 is available from the Internet:\\ \centerline{\isourl{http://www.nist.gov/sc4/editing/step/titles/}} \par \if\stepemptystring{#1} \else% #1 a normative part of this part of ISO~10303. \fi% %% an integral part of this part of ISO~10303. \fi% \if\stepemptystring{#2} \else% #2 for information only. \fi \end{foreword} } \newcommand{\steptrid}{% ISO/TR~10303--\thespartno, which is a Technical Report of type 2, was prepared by Technical Committee ISO/TC~184, \textit{Industrial automation systems and integration,} Subcommittee SC4, \textit{Industrial data.} } \newcommand{\fwdshortlist}{\input{stppdlst}} \newenvironment{Introduction}{% \clearpage \begin{introduction} \input{bpfs1} }% {\end{introduction}} \newenvironment{majorsublist}{% \majorsubname \begin{itemize}}{\end{itemize}} \newcommand{\majorsubname}{% Major subdivisions of this part of ISO~10303 are:} \newcommand{\partidefhead}{\sclause{Terms defined in ISO~10303-1}} \newcommand{\refdefhead}[1]{\sclause{Terms defined in #1}} \newcommand{\otherdefhead}{\sclause{Other terms and definitions}} \let\schemahead=\clause \newcommand{\schemaintro}[1]{% The following \Express{} declaration begins the \nexp{#1} and identifies the necessary external references.\par} \newcommand{\introsubhead}{\sclause{\introductionname}} \newcommand{\fcandasubhead}{\sclause{\fcandaname}} \newcommand{\singletypehead}[2]{\sclause{#1 type definition: #2}} \newcommand{\typehead}[1]{\sclause{#1 type definitions}} \newcommand{\atypehead}[1]{\ssclause{#1}} \newcommand{\singleentityhead}[2]{\sclause{#1 entity definition: #2}} \newcommand{\entityhead}[2]{% \if\stepemptystring{#2} \sclause{#1 entity definitions} \else \sclause{#1 entity definitions: #2} \fi } \newcommand{\anentityhead}[1]{\ssclause{#1}} \newcommand{\singlerulehead}[2]{\sclause{#1 rule definition: #2}} \newcommand{\rulehead}[1]{\sclause{#1 rule definitions}} \newcommand{\arulehead}[1]{\ssclause{#1}} \newcommand{\singlefunctionhead}[2]{\sclause{#1 function definition: #2}} \newcommand{\functionhead}[1]{\sclause{#1 function definitions}} \newcommand{\afunctionhead}[1]{\ssclause{#1}} \newcommand{\shortnamehead}{\normannex{Short names of entities}\label{;ssne}} \newcommand{\objreghead}{\normannex{Information object registration}\label{;sior}} \newcommand{\docidhead}{\sclause{Document identification}} \newcommand{\schemaidhead}{\sclause{Schema identification}} \newcommand{\aschemaidhead}[1]{\ssclause{#1 identification}} \newcommand{\expresshead}{\infannex{EXPRESS listing}} \newcommand{\listingshead}{\infannex{Computer interpretable listings}\lable{;scil}} \newcommand{\expressghead}{\infannex{EXPRESS-G diagrams}\label{;seg}} \newcommand{\picshead}{\normannex{Protocol Implementation Conformance Statement (PICS) proforma}\label{;spics}} \newcommand{\techdischead}{\infannex{Technical discussions}\label{;std}} \newcommand{\exampleshead}{\infannex{Examples}\label{;sex}} \newcommand{\expressgdef}{\ExpressG{} is defined in annex~D of ISO 10303-11} \DeclareRobustCommand{\maptableorspec}{% \ifmapspec specification\else table\fi} \newcommand{\shortnames}{\input{bpfir1}} \newcommand{\docreg}[1]{% To provide for unambiguous identification of an information object in an open system, the object identifier \begin{center} \{~iso standard 10303 part(\thespartno) version(#1)~\} \end{center} is assigned to this part of ISO~10303. The meaning of this value is defined in ISO/IEC~8824-1, and is described in ISO~10303-1. } \newcommand{\schemareg}[6]{% To provide for unambiguous identification of the schema-name % #2 in an open information system, the object identifier \begin{center} \{~iso standard 10303 part(\thespartno) version(#1) schema(#3) #4(#5)~\} \end{center} is assigned to the \nexp{#2} schema (see #6). The meaning of this value is defined in ISO/IEC~8824-1, and is described in ISO~10303-1. } \newcommand{\expurls}[2]{\input{bpfir2} Short names: \isourl{#1} \\ \Express: \isourl{#2} \input{bpfir3}} \newcommand{\nrefasni}{\isref{ISO/IEC 8824-1:1998}{% Information technology --- Abstract Syntax Notation One (ASN.1): Specification of basic notation.}} \newcommand{\nrefparti}{\isref{ISO 10303-1:1994}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 1: Overview and fundamental principles.}} \newcommand{\nrefpartxi}{\isref{ISO 10303-11:1994}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 11: Description methods: The EXPRESS language reference manual.}} \newcommand{\nrefpartxii}{\isref{ISO/TR 10303-12:1997}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 12: Description method: The EXPRESS-I language reference manual.}} \newcommand{\nrefpartxxi}{\isref{ISO 10303-21:1994}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 21: Implementation methods: Clear text encoding of the exchange structure.}} \newcommand{\nrefpartxxii}{\disref{ISO 10303-22:---}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 22: Implementation method: Standard data access interface specification.}} \newcommand{\nrefpartxxxi}{\isref{ISO 10303-31:1994}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 31: Conformance testing methodology and framework: General concepts.}} \newcommand{\nrefpartxxxii}{\disref{ISO 10303-32:---}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 32: Conformance testing methodology and framework: Requirements on testing laboratories and clients.}} \newcommand{\nrefpartxli}{\isref{ISO 10303-41:1994}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 41: Integrated generic resources: Fundamentals of product description and support.}} \newcommand{\nrefpartxlia}{\isref{ISO 10303-41:2001}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 41: Integrated generic resources: Fundamentals of product description and support.}} \newcommand{\nrefpartxlii}{\isref{ISO 10303-42:1994}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 42: Integrated generic resources: Geometric and topological representation.}} \newcommand{\nrefpartxliia}{\isref{ISO 10303-42:2001}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 42: Integrated generic resources: Geometric and topological representation.}} \newcommand{\nrefpartxliii}{\isref{ISO 10303-43:1994}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 43: Integrated generic resources: Representation structures.}} \newcommand{\nrefpartxliiia}{\isref{ISO 10303-43:2001}{% Industrial automation systems and integration --- Product data representation and exchange --- Part 43: Integrated generic resources: Representation structures.}} \newcommand{\bibidefo}{\reference{}{% IDEF0 (ICAM Definition Language 0),}{% Federal Information Processing Standards Publication 183, Integration Definition for Information Modeling (IDEF0), FIPS PUB 183, National Institute for Standards and Technology, December 1993.}\label{bibidefo}} \newcommand{\brefidefo}{\bref{bibidefo}} \newcommand{\bibidefix}{\reference{}{% IDEF1X (ICAM Definition Language 1 Extended),}{% Federal Information Processing Standards Publication 184, Integration Definition for Information Modeling (IDEF1X), FIPS PUB 184, National Institute for Standards and Technology, December 1993.}\label{bibidefix}} \newcommand{\bibieeeidefix}{\reference{IEEE Std 1320.2--1998,}{% Standard for Conceptual Modeling Language --- Syntax and Semantics for IDEF1X.}{}\label{bibidefix}} \newcommand{\brefidefix}{\bref{bibidefix}} \gdef\thest@tus{} \ifisstandard \gdef\thest@tus{} \fi \iffdisstandard \gdef\thest@tus{/FDIS} \fi \ifdisstandard \gdef\thest@tus{/DIS} \fi \ifcdstandard \gdef\thest@tus{/CD} \fi \ifwdstandard \gdef\thest@tus{/WD} \fi \iftechrep \gdef\thest@tus{/TR} \fi \iftechspec \gdef\thest@tus{/TS} \fi \ifpaspec \gdef\thest@tus{/PAS} \fi \ifotherdoc \gdef\thest@tus{} \fi \newcommand{\@wg}{} \newcommand{\wg}[1]{\def\@wg{\put(47,235){\Large\textbf{#1}}}} \newcommand{\@docnumber}{} \newcommand{\docnumber}[1]{\def\@docnumber{\put(72,235){\Large\textbf{#1}}}} \newcommand{\@docdate}{} \newcommand{\docdate}[1]{\def\@docdate{\put(148,235){#1}}} \newcommand{\@oldwg}{} \newcommand{\oldwg}[1]{\def\@oldwg{\put(58,227){\textbf{#1}}}} \newcommand{\@olddocnumber}{} \newcommand{\olddocnumber}[1]{\def\@olddocnumber{\put(78,227){\textbf{#1}}}} \newcommand{\@abstract}{} \newcommand{\abstract}[1]{% \def\@abstract{\put(2,110){\parbox[t]{161mm}{#1}}}} %%% \def\@abstract{\put(2,120){\parbox[t]{161mm}{#1}}}} \newcommand{\@keywords}{} %%% \newcommand{\keywords}[1]{\def\@keywords{\put(35,77){#1}}} \newcommand{\keywords}[1]{\def\@keywords{\put(35,87){#1}}} \newcommand{\@comread}{} \newcommand{\comread}[1]{% %%% \def\@comread{\put(2,65){\parbox[t]{161mm}{#1}}}} \def\@comread{\put(2,75){\parbox[t]{161mm}{#1}}}} \newcommand{\@owner}{} \newcommand{\owner}[1]{\def\@owner{\put(35,45){#1}}} \newcommand{\@address}{} \newcommand{\address}[1]{\def\@address{\put(22,40){\parbox[t]{59mm}{#1}}}} \newcommand{\@telephone}{} \newcommand{\telephone}[1]{\def\@telephone{\put(25,11){#1}}} \newcommand{\@fax}{} %%%\newcommand{\fax}[1]{\def\@fax{\put(30,6){#1}}} \newcommand{\fax}[1]{\def\@fax{\put(25,6){#1}}} \newcommand{\@email}{} %%%\newcommand{\email}[1]{\def\@email{\put(35,1){#1}}} \newcommand{\email}[1]{\def\@email{\put(22,1){#1}}} \newcommand{\@altowner}{} \newcommand{\altowner}[1]{\def\@altowner{\put(117.5,45){#1}}} \newcommand{\@altaddress}{} \newcommand{\altaddress}[1]{\def\@altaddress{\put(104.5,40){\parbox[t]{59mm}{#1}}}} \newcommand{\@alttelephone}{} \newcommand{\alttelephone}[1]{\def\@alttelephone{\put(107.5,11){#1}}} \newcommand{\@altfax}{} %%%\newcommand{\altfax}[1]{\def\@altfax{\put(112.5,6){#1}}} \newcommand{\altfax}[1]{\def\@altfax{\put(107.5,6){#1}}} \newcommand{\@altemail}{} %%%\newcommand{\altemail}[1]{\def\@altemail{\put(117.5,1){#1}}} \newcommand{\altemail}[1]{\def\@altemail{\put(104.5,1){#1}}} \newcommand{\STEPcover}[1]{% #1 \drawcoversheet \clearpage \thispagestyle{startpage} \mbox{} \ifc@pyright\@copyrighttext\fi \newpage } \newcommand{\drawcoversheet}{% \protect\thispagestyle{nohead} \setlength{\unitlength}{1mm} \begin{picture}(165,200)(0,40) %% actual size is (165,240) \thicklines %%%%% Revision notice for the cover sheet layout. \put(165,-1){\makebox(0,0)[tr]{\tiny revision 8, 1/02 (PRW)}} %%%%% Project leader information. (Box at y=0, height 50) \put(0,0){\framebox(82.5,50){}} \put(2,1){\bf E-mail:} \put(2,6){\bf Facsimile:} \put(2,11){\bf Telephone:} \put(2,40){\bf Address:} \put(2,45){\bf Project Leader:} %%%%%%% Document editor information. \put(82.5,0){\framebox(82.5,50){}} \put(84.5,1){\bf E-mail:} \put(84.5,6){\bf Facsimile:} \put(84.5,11){\bf Telephone:} \put(84.5,40){\bf Address:} \put(84.5,45){\bf Project Editor:} %%%%%%% Comments to reader box. (Box at y=50, height 35, total height 85) %%% \put(0,50){\framebox(165,25){}} %%% \put(2,70){\large\bf COMMENTS TO READER:} \put(0,50){\framebox(165,35){}} \put(2,80){\large\bf COMMENTS TO READER:} %%%%%% Draw abstract and keyword headings. (Box at y=85, height 35, total 120) \put(0,85){\framebox(165,35){}} \put(2,87){\large\bf KEYWORDS:} \put(2,115){\large\bf ABSTRACT:} %%\put(0,85){\framebox(165,45){}} %%\put(2,87){\large\bf KEYWORDS:} %%\put(2,125){\large\bf ABSTRACT:} %%%%% Do the copyright element. (Box at y=120, height 80, total 200) \put(0,120){\framebox(165,80)[t]{ %%%\put(0,130){\framebox(165,70)[t]{ \ifc@pyrightopt \begin{minipage}{161mm} \ifisstandard \input{bpfs2} %% unknown at present \fi \iffdisstandard \input{bpfs2} \fi \ifdisstandard \input{bpfs2} \fi \ifcdstandard \input{bpfs3} \fi \ifwdstandard \input{bpfs3} \fi \iftechrep \input{bpfs3} %% unknown at present \fi \end{minipage} \else %%% \put(2,195){{\large\bf COPYRIGHT NOTICE:}} {\vspace*{\baselineskip} \textbf{\large\space COPYRIGHT NOTICE}\hfill\vspace*{\fill}} \fi}} %%%%% Draw the STEP title. (y=215 and 210) \put(0,215){% \ifnum\value{b@cyc} < 2 {\bf ISO\thest@tus\ 10303-\thespartno} \else {\bf ISO\thest@tus\ 10303-\thespartno.\theb@cyc} \fi} \put(0,210){\begin{minipage}[t]{165mm} {\bf \st@pn@me: \Theseries: \thed@ctitle} \end{minipage}} %%%%% Identify the slots for the superseded document information. \put(0,227){\bf Supersedes ISO TC 184/SC4/} % (y=227) \put(67,226){\line(1,0){5}} \put(73,227){\bf N} \put(78,226){\line(1,0){8}} %%%%% Draw the heading block \put(0,235){\Large\bf ISO TC 184/SC4/} % (y=235) \put(58,234){\line(1,0){7}} \put(67,235){\Large\bf N} \put(72,234){\line(1,0){11}} \put(135,235){\bf Date:} \@wg \@docnumber \@docdate \@oldwg \@olddocnumber \@abstract \@keywords \@comread \@owner \@address \@telephone \@fax \@email \@altowner \@altaddress \@alttelephone \@altfax \@altemail \end{picture} \setlength{\unitlength}{1pt} \clearpage \undef@covercmds } \newcommand{\undef@covercmds}{% \let\@wg\relax \let\wg\relax \let\@docnumber\relax \let\docnumber\relax \let\@docdate\relax \let\docdate\relax \let\@oldwg\relax \let\oldwg\relax \let\@olddocnumber\relax \let\olddocnumber\relax \let\@abstract\relax \let\abstract\relax \let\@keywords\relax \let\keywords\relax \let\@comread\relax \let\comread\relax \let\@owner\relax \let\owner\relax \let\@address\relax \let\address\relax \let\@telephone\relax \let\telephone\relax \let\@fax\relax \let\fax\relax \let\@email\relax \let\email\relax \let\@altowner\relax \let\altowner\relax \let\@altaddress\relax \let\altaddress\relax \let\@alttelephone\relax \let\alttelephone\relax \let\@altfax\relax \let\altfax\relax \let\@altemail\relax \let\altemail\relax } \newcommand{\draftctr}{Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation. } \endinput %% %% End of file `stepv13.sty'.