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 + -
显示快捷键?