isff.txt

来自「支持各种栅格图像和矢量图像读取的库」· 文本 代码 · 共 2,219 行 · 第 1/5 页

TXT
2,219
字号
Title: ISFFTable of Contents=================    Intergraph Standard File Formats (Element Structure)    Intergraph Standard File Formats (Element Structure)====================================================The Intergraph Standard File Formats (ISFF) are the file formats common to     MicroStation and Intergraph's Interactive Graphics Design System     (IGDS). ISFF is now available to the public. This enables Intergraph     customers and third-party developers to create custom applications for     MicroStation that read and write ISFF format without a license from     Intergaph.        Types of Files    Design File Header    Primitive and complex elements    Element Representation    Common Element Parameters    Level Symbology (Type 10)    Library Cell Header (Type 1)    Cell Header (Type 2)    Line Elements (Type 3)    Line String (Type 4), Shape (Type 6), Curve (Type 11), and B-spline     Pole Element (Type 21)    Text Node Header (Type 7)    Complex Chain Headers (Type 12) and Complex Shape Headers (Type 14)    Ellipse Elements (Type 15)    Arc Elements (Type 16)    Text Elements (Type 17)    3D Surface Header (Type 18) and 3D Solid Header (Type 19)    Point String Elements (Type 22)    Cone Elements (Type 23)    B-spline Elements (Type 21, 24, 25, 26, 27, 28)    Raster Header Element (Type 87)    Raster Data Elements (Type 88)    Group Data Elements (Type 5)    MicroStation Application Elements (Type 66) Types of Files--------------ISFF consists of several types of binary files *  Design files are sequential, variable-length files with variable-length     records for the Design File Header, file set-up information, graphic     elements, and non-graphic data.    User-defined elements begin with the fourth element.    Design files are typically designated with the extension ".dgn." *  Cell libraries store cell definitions for placement in design files. A     cell library consists of a file header (type 5) element followed by     individual cell descriptions. Each cell is a complex element that     contains a cell library header (type 1) element and component elements.    Cell descriptions can be nested. Nested cells contain a type 2 header     and component elements. If the cell library already contains the nested     cell, its component elements are not repeated.    Cell libraries are typically designated with the extension ".cel.". Design File Header------------------The first three elements of the design file are called the design file  header.  Type:                      Stores:   8. Digitizer setup         Used only by IGDS; it is ignored by MicroStation.   9.                         Settings that are saved when FILEDESIGN is executed (File menu/Save                             Settings). See the appendix "Terminal Control Block (TCB).   10. Level symbology        The symbology (color, line style, and line weight) that elements on a                             level display with in a view for which Level Symbology is on.     Primitive and complex elements------------------------------    Primitive elements    Complex elements Primitive elements------------------The primitive elements are lines, line strings, shapes, ellipses, arcs,  text, and cones.  Complex elements----------------A complex element is a set of elements that logically forms a single  entity.  Complex elements are stored in the design file as a header followed by the  component elements. Text nodes, complex chains, and complex shapes are  stored in the design file as shown in the illustration at right.  Other complex elements are cells, surfaces, solids, and B-splines. See the  sections about those elements for information about how their headers and  component elements are arranged in the design file.  The complex element header contains information about the entire set of  elements, including the number of component elements. Word 19 of the  header contains the total length in words of the component elements plus  the number of words following word 19 in the header.  The maximum combined length of the header and all component elements  cannot be greater than 65535 words.  Element Representation----------------------This appendix shows the formats for ISFF elements. Each figure shows the  components of the element, the member names for each structure, and the  word (1 word = 16 bits) offsets for each member. The figure represents the  element as it appears in the design file and its internal representation  on the VAX, PC (DOS), and Macintosh. This is the only figure that is  important to most programmers.  Note:  The in-memory format of elements on the Intergraph CLIPPER, Sun SPARC, and  Hewlett Packard HP700 differs slightly from the figures in this appendix.  Long integers always start on even word boundaries, and double-precision,  floating point values always start on four-word boundaries in this format.     Byte ordering    Floating-point values    Elements not described in this appendix Byte ordering-------------Computers differ in their storage byte order, that is they differ in which  byte they consider to be the first of a longer piece such a short or long  integer. Illustration:                                                         (32-bit) integer is                                                         address of:    (left-to-right)   IBM RS6000    (right-to-left)   Alpha    In design files: *  Short integers are stored with little-endian ordering. *  Long integers are stored with middle-endian byte ordering (as on the     PDP-11).     Floating-point values---------------------All floating-point variables are stored in the design file in VAX D-Float  format. MDL and MicroCSL automatically convert floating-point variables to  the native format of the CPU in use. Bits are labeled from the right,  0-63.                                                               Sign                                                      :A                                                             :A+2                                                             :A+4                                                             :A+6                                                                  Elements not described in this appendix---------------------------------------These element types are not described in this appendix. They are not  supported by IGDS and versions of MicroStation prior to Version 4.0. They  cannot be manipulated directly and must be accessed with MDL built-in  functions. *  33. Dimension *     34. Shared Cell Definition *  35. Shared Cell Instance *  36. Multi-line     All of these elements begin with the standard element header and display  header. Type 34 is a complex element in which the total length of the  definition is given in the word following the display header.  Common Element Parameters-------------------------The parameters that are common to one or more elements are explained here.     Element header    Point coordinates    Rotation angle (2D) and quaternion (3D)    Attribute linkage data Element header--------------The first 18 words of an element in the design file are its fixed header --  containing the element type, level, words to follow, and range  information. The C declaration for this header is as follows    typedef struct      {      unsigned          level:6              ;            /* level element is on */      unsigned          :1                   ;           /* reserved */      unsigned          complex:1            ;          /* component of complex elem.*/      unsigned          type:7               ;          /* type of element */      unsigned          deleted:1            ;          /* set if element is deleted */      unsigned short             words       ;           /* words to follow in element */      unsigned long           xlow           ;            /* element range - low */      unsigned long           ylow           ;      unsigned long           zlow           ;      unsigned long           xhigh          ;           /* element range - high */      unsigned long           yhigh          ;      unsigned long           zhigh          ;      } Elm_hdr                              ; In addition, the next several components of all displayable elements are  identical. This additional header is defined as follows:   typedef struct      {      unsigned    short grphgrp              ;               /* graphic group number */      short    attindx                       ;               /* words between this and                                                                             attribute linkage */      union         {         short s                             ;         struct            {            unsigned       class:4           ;         /* class */            unsigned       res:4             ;        /* reserved by Intergraph */            unsigned       l:1               ;       /* locked */            unsigned       n:1               ;       /* new */            unsigned       m:1               ;       /* modified */            unsigned       a:1               ;       /* attributes present */            unsigned       r:1               ;       /* view independent */            unsigned       p:1               ;       /* planar */            unsigned       s:1               ;       /* 1=nonsnappable */            unsigned       h:1               ;       /* hole/solid (usually) */            } b                              ;         } props                             ;      union      {         short    s                          ;         Symbology   b                       ;         } symb                              ;      } Disp_hdr                             ; Here, Symbology is defined as:   typedef struct      {      unsigned       style:3                 ;            /* line style */      unsigned       weight:5                ;           /* line weight */      unsigned       color:8                 ;            /* color */      } Symbology                            ;           /* element symbology word 652 */    Element type and level    Words to follow    Range    Graphic group number    Index to attribute linkage    Properties indicator    Element symbology Element type and level----------------------The first word in the header defines the element's type and level.                                                                                                                                                                                          The fields in the first word are:  U        clear if element is active; set if the element is deleted   Type     number that denotes the element's type   C        set if the element is part of a complex element; otherwise clear   R        reserved (equals zero)   Level    number that indicates the element's level (0-63)    Words to follow---------------Word 2 of the element header indicates the number of words in the element  excluding words 1 and 2; that is the word count to the next element in the  design file (commonly referred to as "words to follow" or "WTF").  For complex elements, this defines the length of the header element only  and does not include component elements.  Range-----Words 3-14 of the element header contain the six long (double precison)  integers that define the element's range -- its low and high x, y, and z  coordinates in absolute units of resolution (UOR).  All points in an element must be completely contained in the design plane.  Graphic group number--------------------Word 15 contains the element's graphic group number. If zero, the element  is not in a graphic group. If non-zero, the element is in a graphic group  with all other elements that have the same graphic group number.  Index to attribute linkage--------------------------Word 16 defines the number of words existing between (and excluding) word  16 and the first word of the attribute data. Attribute data is optional  and may or may not be present.  Properties indicator--------------------Word 17 descibes the element's properties                                                                                                                                                                                 Bit      Indicates:   H        For closed element types (shape, complex shape, ellipse, cone, B-spline surface header, and           closed B-spline curve header), the H-bit indicates whether the element is a solid or a           hole. * 0 = Solid           * 1 = Hole           For a cell header (type 2), if the H-bit is:           * 0 = Header for a cell           * 1 = Header for an orphan cell (created by GROUP SELECTION or application)           For a line, if the H-bit is:           * 0 = Line segment           * 1 = Infinite-length line           For a point string element, if the H-bit is:           * 0 = Continuous           * 1 = Disjoint           The H-bit has no meaning in other elements.   S        Whether the element is snappable.           * 0 = Snappable           * 1 = Not snappable   P        If a surface is planar or non-planar.           * 0 = Planar           * 1 = non-planar   R        Element orientation           * 0 = Oriented relative to design file           * 1 = Oriented relative to screen   A        Whether attribute data is present           * 0 = Attribute data not present           * 1 = Attribute data present   M        Whether the element has been graphically modified           * 0 = Not modified           * 1 = Has been modified   N        Whether the element is new           * 0 = Not new           * 1 = New (set to 1 when the element is placed)   L        Whether the element is locked.           * 0 = Not locked           * 1 = Locked   4-7      Reserved.   Class    Represented as follows:           0. Primary; 1. Pattern component; 2. Construction element; 3. Dimension element; 4. Primary           rule element; 5. Linear patterned element; 6. Construction rule element.    Element symbology-----------------Word 18 defines the element's symbology (color, line style, and line  weight).                                                                                                                                                Color             Number (0-255) that indicates the element's color   Weight            Number (0-31) that indicates line weight   Style             The line style is represented as follows: 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?