Net check |
Top |
If a net of knot and edges tests for correctness. As a Default a net is built up from the selected objects according to the knot and edges list of a selection file by knot and edges. The net can be checked, on the one hand, for given and on the other hand on from the user in a file specified conditions. To the objects which do not keep to conditions announcements occur. Net, knot and edges The function tests one Net from knot and edges. Knot originate from the choice of the bases of string elements, from symbolic elements and text elements. As a position they receive the co-ordinates of the base or element from which they have originated. Edge originate from the choice of string elements. They own two ends, in each case either with the co-ordinates of the first and last base of the string element as a position or, if they break places (see. and) disintegrate, with the co-ordinates of the beginning and end of the sections as a position. An edge hangs at an end in a knot if the end has the same position like this. She can also have one or two free ends if there are no suitable knots. Many can hang on a knot arbitrarily – also none – edges. A special knot type is of her Multiknot. He originates either from one or several bases one Of string element or from a choice of the symbols one Of object and receives accordingly one or several positions. With only one position he behaves like a normal knot. With several positions an edge at an end hangs on the multiknot if the position of the end is immediately of one of the positions of the multiknot. An other special case is of her Combination knots (see. u). He makes possible to summarise several knots with identical position which can be worked on then as a knot. Pseudo knots can be generated with the edge selection. If a string element on the sheet edge begins or ends (the exactness can be put with the RANDEPSILON parametre), then a pseudo knot can be generated for this position, presumed the knot list still includes to no suitable knots. Without pseudo knots would become in the check of the accompanying edge the announcement Edge end without knot occur. The sole purpose of the pseudo knot is to prevent in this case the issue of the announcement. Active and passive elements As a Default the net from the objects of the selection amount is generated according to the knot and edges list of the selection file. With the information of the parametre INCLUDE_UNSELECTED the objects not contained in the selection amount are also considered. Also to them knots and edges are generated according to the knot and edges list of the selection file. The knots and edges from objects of the selection amount become as active one Elements calls, remaining as passive one Elements. If without information actively or passively from knot and edges the speech is, only the active ones are meant basically. to passive ones Elements become as opposed to him to active ones To elements not on the observance of conditions (see. and) tested, therefore, no announcements occur to them. With the test of the active elements, however, the passive elements are as valued as the active, i.e. passive edges count in knot just as active edges, edge ends hang on passive knots as correctly as in active knots, and combination knots (see. and) are as formed from an active one and a passive knot as from two active knots. Test Net check tests the observance of the following conditions and spends suitable announcements by offence. Some of the tests can be switched on and switch off about parametre straight. Internal points if all bases of a string element call in the following up to the first one and the last. There may be no knots with the same co-ordinates. Every edge end hangs on a knot. The condition can be switched on or switched off with the parametre ALLEDGES. At least one edge hangs on every knot which is not tested by an instruction of the condition file. The condition can be switched on or switched off with the parametre ALLNODES. The internal points of string elements may lie only on other bases if they are a break place and a knot has the same co-ordinates. The condition can be switched on or switched off with the parametre EQUALCOORDS. The knots must fulfil the test instructions of the condition file. Beside the edges explicitly tested in the instruction none may hang next on the knot. Single test With Single test – steered by the parametre Single test (see. and) – only one edge or a knot is tested as a rule. If the element specification applies, however, to several knots or edges because they have originated from a string element, then are tested this all one. One can take the specification from an announcement of the preceding test run. Thus is, e.g., in the announcement <Node MSP>: String 1 object 1, plan NC160, sheet type 42, ID 40000020000042there: Error 300: Knot of the same co-ordinates. the specification String 1 object 1, plan NC160, sheet type 42, ID 40000020000042there: Error 300 contain. She exists of one of the element types string, symbol or text, followed from the element number, and the key words Object, Plan, Sheet type, ID and Error, in each case followed from her value. Parametre Instead of some of the parametres global variables can be used accordingly. If the global variable is booked and the parametre is given, nevertheless, by the functional call, then the value of the parametre has precedence before him the global variable. the parametres with suitable global variables
/INCLUDE_UNSELECTED With this counter the net from all objects is built up, instead of only from those of the selection amount. To the special meaning of the knots entstandenden from not selected objects and edges see above under the point Active and passive elements. EPSILON/N Co-ordinates of points are looked as same if they do not deviate more than the amount of Epsilon of each other. The Defaultwert is 0. RANDEPSILON/N Edge ends without knot whose co-ordinates are not removed more than the amount of Randepsilon from the sheet edge are potential pseudo knots. The Defaultwert is the 5-fold of the resolution. ALLEDGES/N With n incomparably 0 occur announcements with edges at the free ends, as a Default they are with n immediately 1 switched on. ALLNODES/N With n incomparably 0 occur announcements with knot without edges, as a Default they are with n immediately 1 switched on. EQUALCOORDS/N n=0: The co-ordinates of bases are any. n=1: This is of the Defaultwert. The co-ordinates of the bases which themselves own the link type LINK_P or their successor are any. With the bases with another link type announcements occur under certain conditions: The first point or the last point or a break place of a string element lies not on a knot, but on another base. An internal point of a string element is no break place and lies on a knot. n=2: The announcements occur like with n=1, but also with bases with LINK_P. "SINGLE TEST / SPECIFICATION" Single test for the edge or the knots of the specified element. One can take the specification from an announcement of the preceding test run, and the entire parametre is, e.g. "Single test / string 1 object 1, plan NC160, sheet type 42, ID 40000020000042there: Error 300" TEST REPORT / N Determines the contents of the announcements with knot which do not keep to a test instruction or own untested edges. n=0: File name and line number in the condition file. This is Default. n=1: Text of the test instruction. n=2: how with 0 and the edges in the knot with her number. n=3: Combination of 1 and the edges of 2. SELECTION/FILE NAME The name of the selection file with the knot and edges selection. If they the standard ending .sel has, then the ending with must not be given. The Defaultname is default.sel. If the name contains no path, it is searched in the list which becomes by the Environmentvariable GDS$TABLES_CHECK referenziert. CONDITIONS/FILE NAME The name of the condition file with the test instructions. If they the standard ending .cond has, then the ending with must not be given. The Defaultname is default.cond. As with the parametre SELECTION the list referenzierte by GDS$TABLES_CHECK is used. Announcements Before the error messages stands the mistake number. Three points ... in the announcements stand for object, lines and other numbers. Three points in Small and greater-than signs <...> stand for the names of edges and knots. With anonymous edges and knots nothing stands between the Smaller and greater-than sign. Three points in Hochkammata '...' stand for the names of selection and condition files. General announcements ---------------------------- Net check whole test ---------------------------- The normal start announcement. -------------------------- Net check single test -------------------------- The start announcement with the single test. ------------------------- Net check finishes. ------------------------- The final announcement. 100: Text elements are inadmissible in the edge selection. 101: Symbolic elements are inadmissible in the edge selection. In the edge selection only string elements may be selected. 103: The first point of a string element may be no Sollbruchstelle. 104: The last point of a string element may be no Sollbruchstelle. 105: The ends of a string element may be no Sollbruchstelle. Sollbruchstellen may be defined only in the internal points of the string elements. 106: The definition of edge points is inadmissible in the knot selection. Edge points may be defined only in the edge selection. 107: Mistake in line... of the selection file'...': parse error With parsen of the selection a mistake has appeared in the given line. 108: The selection file'...' cannot be opened. The file does not exist or the path GDS$CHECK is not put correctly. 109: Inadmissible break place in the knot selection, selection file'...' Line... Break places may be defined only in the edge selection. 110: Base knot<... of> the combination knot<...> is not defined, selection file'...' Line... Of the base knots must be defined in the selection file before the combination knot. 111: Inadmissible Equalcoords information in the knot selection, selection file'...' Line... The EqualCoords specific for edge may be defined only in the edge selection. 112: Invalid Equalcoords value..., selection file'...' Line... With an EqualCoords definition specific for edge none of the permissible values was given. 200: Mistake in line... of the condition file'...': parse error With parsen of the conditions a mistake has appeared in the given line. 201: The condition file'...' cannot be opened. The file does not exist or the path GDS$CHECK is not put correctly. 203: Unknown function'...' in line... of the condition file'...'. A condition contains a functional name which corresponds none of the known functions #END, #QTX etc. 204:. instead of... Arguments in line... of the condition file'...'. A function is called with a wrong number of arguments. 205:. instead of at least... Arguments in line... of the condition file'...'. A function is called with an insufficient number of arguments.
LocateObject can discover with the contents of the announcements specific for object the suitable object. If there are to an object several knots of the same name with which the same condition is not fulfilled, then the same announcement is given several times. Not switchable announcements specific for object Type is either string, symbol or text. <...> Error 300: Type ... Object..., plan..., sheet type..., ID...: Knot of the same co-ordinates The knot list already contains a knot with the same position. <...> : Type ... Object..., plan..., sheet type..., ID... Error 206: fallen through. Details. Of the knots has not passed the test. Depending on the parametre Test report become Details spent. This is either the name of the condition file and the number of the line with the accompanying key word TEST, e.g.: Condition file 'nc201' line 1. or the test instruction, e.g.: Condition: TEST station (# (MSP) in 1, 2) AND (#END (NSP)> = 1) With the single test the condition contains not only having to go but in clips also the Istwerte: Condition: TEST MAST (# (MSP) (1)> = 1) OR (# (NSP) (0)> = 1) Also the issue of the names of the edges hanging on the knot with her number is possible, examples: Edges: 1 "NSP" ** 1 "Bel" ** 1 <unnamed edge> Edges: <no edges> The edges are separated by two starlets of each other, edges without name <>are led under the name <unnamed edge>. <...> : Type ... Object..., plan..., sheet type..., ID...: Error 207: Knots with untested edges. Details. The edges which are not grasped by a condition of the test instruction hang on the knot. The parametre Test report determines like with the previous announcement them Details. Switchable announcements specific for object <...> 212: Type ... Object..., plan..., sheet type..., ID...: Knots without edges No edge hangs on the knot. <...> 400: Type ... Object..., plan..., sheet type..., ID...: Edge beginning without knot No knot has the same position like the edge beginning. <...> 401: Type ... Object..., plan..., sheet type..., ID...: Edge end without knot No knot has the same position like the edge end. <...> 402: Type ... Object..., plan..., sheet type..., ID...: Bases of the same co-ordinates Bases of different string elements have identical co-ordinates. <...> 403: Type ... Object..., plan..., sheet type..., ID...: Base on knot<...>. A base – no break place – owns the same co-ordinates like a knot. At the beginning of the announcement stands the name of the edge, at the end the name of the knot. Example The example illustrates the approach of the net test with an easy sentence of elements and rules. It encloses a selection file and a condition file, a plan, the net resulting from it and the announcements occurred with the wetting. Elements, object keys and symbolic numbers
The first and last bases of the string elements become as End called, remaining as internal points. MSP-and NSP pipelines are shortened with MSP and NSP. The following rules are valid for the elements. (1) Stations lie on any bases of MSP, but never again as one per point. In every station at least one NSP begins. (2) On an Abzweigmuffe NSP there lie exactly three NSP ends. (3) On a final sleeve MSP end lies exactly one MSP. (4) On a final sleeve NSP end lies exactly one NSP. (5) MSP ends lie on stations, on final sleeves MSP or the sheet edge. (6) NSP ends lie on stations, on NSP Putting on one side or final sleeves NSP. As a knot stations, Putting on one side and Final sleeves are selected. Elements and her knot names
MSP-and NSP pipelines become edges. Elements and her edge names
According to rule (1) stations on all bases of MSP may lie. Therefore, in the edge list the internal points are defined by MSP with the key word INTERNAL as a Sollbruchstellen, so that the edges of the MSP are divided in knot. But exactly one edge would originate from every MSP, and would become with internal points on stations Base on knot announced. The rule (5) permits MSP ends on the sheet edge. ""Therefore, the ""definition MSP in the edge list contains the key word EDGE, so that from edge points MSP Pseudo knot are generated if they do not lie already on a knot. The pseudo knots prevent the announcements Edge beginning without knot and Edge end without knot. Selection file nc201.sel !----------------------------------------------------------- KNOT LIST "Knot selection plan NC201" !----------------------------------------------------------- KEY 1420 SYMBOL "Abzweigmuffe NSP" NUM 70! Symbolic number KEY 1223 SYMBOL "final sleeve MSP" NUM 53 KEY 1423 SYMBOL "final sleeve NSP" NUM 73 KEY 2200 SYMBOL "station" NUM 160 !----------------------------------------------------------- EDGE LIST "Edge selection plan NC201" !----------------------------------------------------------- KEY 1200 "LINE MSP" INTERNAL! all internal points are Sollbruchstellen EDGE! Edge points can become pseudo knots KEY 1400 "LINE NSP"
MSP may lie with any bases on stations. The condition (# "(MSP") IN 1.2) hence, of the first test instruction """station counts all edges "MSP" in the knot"". With the test of the "final sleeve MSP," however, become in the condition (#END "(MSP") = 1) only the edges "MSP" in the knot counted with which the edge end in the knot on a MSP bases end. The third and last possibility – #PASS "(MSP") – ""would count only the edges "MSP" in a knot with which the edge end in the knot on an internal point is based. With the "NSP" no Sollbruchstellen are defined, instead of #END "(NSP") hence, would also be able in the test instructions # "(NSP") are used because all edge ends of the "NSP" on NSP base ends. As well as it is made now, however, it is surer compared with later changes, if, e.g., the NSP, nevertheless, once Sollbruchstellen received. Condition file nc201.cond TEST "Station" (# ("MSP") in 1.2) AND (#END ("NSP") >= 1)
TEST "Abzweigmuffe NSP" (#END ("NSP") = 3) TEST "Final sleeve NSP" (#END ("NSP") = 1) TEST "Final sleeve MSP" (#END ("MSP") = 1) The sketch of the plan contains a MSP, four NSP, two stations, a NSP Abzweigmuffe and two final sleeves NSP. Draftsman's broad representation of the elements
Plan NC201
Both ends of the MSP lie on the sheet edge. A NSP lies at an end on the sheet edge, with an internal point on an internal point of the MSP and at the other end on a station. The other NSP in the station runs to the Abzweigmuffe, and both remaining ones lie at an end on the Abzweigmuffe and at the other end on a final sleeve. On the other station lie neither MSP nor NSP. From the plan and the selection file there results a net with seven knots and six edges. In the following picture the circles correspond to the knots and the lines to the edges. Beside the elements stand – as far as available – her names. Both pseudo knots – originated from the edge points of the MSP - are drawn sketched. They bear no names because nobody was assigned to them in the selection file. From the MSP two edges "MSP" have originated because it lies with a Sollbruchstelle on a knot. One of the edges "NSP" has an open end, all the other edges hang at both ends on knots. ""No edge hangs on the lower knot "station".
The wetting is begun with the following order. Net check sel / nc201 cond / nc201 The selection file and the condition file have the standard endings.sel and.cond, therefore, the endings must be given by the call of the net tests not with. The wetting proves the following announcements.
------------------- Net check whole test ------------------- The start announcement. <NSP>: String 1 object 2, plan NC201, sheet type 42, ID 4000002000002385: Error 402: Bases of the same co-ordinates. <MSP>: String 1 object 1, plan NC201, sheet type 42, ID 400000200000238c: Error 402: Bases of the same co-ordinates. A NSP lies with a base on a base of the MSP, and no knot lies with this position, but it would become Base on knot Announcement occur. <NSP>: String 1 object 2, plan NC201, sheet type 42, ID 4000002000002385: Error 400: Edge beginning without knot. An edge <NSP> hangs with her starting point not on a knot. <Station>: Symbol 1 object 11, plan NC201, sheet type 42, ID 4000002000002361: Error 206: fallen through. Condition file 'nc201' line 1. <>No edge hangs on a knot <station>. With it he injures in line 1 of the condition file 'nc201 the' beginning test instruction which <><><>demands one or two edges <MSP> and at least one edge <NSP> in the knot <station>. ----------------- Net check finishes. ----------------- The final announcement.
The selection file Knots and edges are generated with the knot and edges list of the selection file. The lists exist of object definitions and element definitions (see. and). By the production of the lists one must pay attention to it, the fact that no element is grasped by several definitions, but delusive announcements as for example „knot of the same co-ordinates“ occur, although definitively only one element lies with the suitable co-ordinates. On the other hand, it is absolutely allowed that to a definition no suitable element exists, in this case no announcement occurs. The name Sign chain stands for any number enclosed in single quotation marks of sign which may also contain blank, e.g., "NSP station of type X“. Name if a combination of sign calls without blanks which are not enclosed in single quotation marks. One Figure list if one or several arbitrarily combinable figures and areas which are separated by commas of each other include. Areas are two figures with a hyphen in between. These must be integers which may be positive or negative. Areas of negative figures are used, e.g., with the definition by object keys. Three examples of figure lists are
4-5 1, 3,-5,-7-8, 10, 20 - 22, 40 With the description of the syntax optional components are put in embowed clips. E.g., correspond to the syntax KEY ALL {MULTIKNOT} both orders KEY ALL and KEY ALL MULTIKNOT. Syntax of the selection file The selection file contains a knot list (1) and an edge list (2) in this order and one or also both lists may be cancelled. Every list contains any number of object definitions, (1.1) with the knot list and (2.1) with the edge list. An object definition contains any number of element definitions (1.1.1), (1.1.2) etc. an element definition exists of any combination of her choice criteria, e.g. (1.1.1.1), (1.1.1.2) etc. with a LINE element. The sign '|' stands for alternative possibilities. 'KEY ALL |' Hence, figure list KEY' means that either 'KEY ALL' or 'figure list KEY' can be used. The numbers at the line beginning are not a component of the syntax, but serve as a reference with the description of the semantics.
(1) KNOT LIST sign chain (1.1) KEY ALL {sign chain QTX sign chain} {sign chain ON | MULTIKNOT} {sign chain IGNORE} | KEY Figure list {sign chain QTX sign chain} {sign chain ON | MULTIKNOT} {sign chain IGNORE} (1.1.1) LINE {sign chain} (1.1.1.1) figure list DKY (1.1.1.2) figure list DKA (1.1.1.3) ART name (1.1.1.4) RIDGE (1.1.1.5) READ (1.1.1.6) ENDS (1.1.1.7) INTERNAL (1.1.1.8) EVEN (1.1.1.9) ODD (1.1.1.10) figure list NUM (1.1.1.11) figure list PCL (1.1.1.12) figure list PSY (1.1.1.13) CIRCLE (1.1.2) SYMBOL {sign chain} (1.1.2.1) figure list NUM (1.1.3) TEXT {sign chain} (1.1.3.1) figure list DKY (1.1.3.2) figure list DKA (1.1.3.3) ART name (1.1.3.4) figure list SIZE (1.1.3.5) figure list FACE (2) EDGE LIST sign chain (2.1) KEY ALL {sign chain QTX sign chain} | Figure list KEY {sign chain QTX sign chain} (2.1.1) LINE {sign chain} (2.1.1.1) figure list DKY (2.1.1.2) figure list DKA (2.1.1.3) ART name (2.1.1.4) INTERNAL (2.1.1.5) EVEN (2.1.1.6) ODD (2.1.1.7) figure list NUM (2.1.1.8) figure list PCL (2.1.1.9) figure list PSY (2.1.1.10) EDGE {sign chain} (2.1.1.11) FORCE_BREAKS (2.1.1.12) number EQUALCOORDS (2.1.1.13) CIRCLE Semantics of the selection file (1) KNOT LIST sign chain The knot list begins with the key word KNOT LIST, followed by a sign chain, which is not further used at present yet. The knot list selects bases of string elements, symbolic elements and text elements as a knot. The knots receive the co-ordinates of the point or element from which they have originated, as a position, and optionally a name. The bases of a string element can be summarised to a multiknot. As the next follows any number of the object definitions which are initiated in each case with the key word KEY. (1.1) KEY ALL {sign chain QTX sign chain} {Sign chain ON | MULTIKNOT} {sign chain IGNORE} | Figure list KEY {sign chain QTX sign chain} {Sign chain ON | MULTIKNOT} {sign chain IGNORE} One begins with the key word KEY Object definition. Follows KEY either ALL or one Figure list with object keys. With ALL if all objects are selected. With that Figure list if only those objects whose keys correspond to those of the list are selected. Knots can originate only from the elements of the well-chosen objects. The figure list can contain positive and negative figures and areas. The keys correspond to the list if they fulfil the following conditions. (1) One of the keys must be able to be assigned to every positive number and every positive area. (2) From every negative number and every negative area their absolute values to which to itself one of the keys may allow to assign are formed. (3) Every key can be assigned to own number or own area. The figure list is 100, 200-250,-6000-6002,-7000 Suitable key combination are among other things. 100, 201, IN 6000 100, 250 Not suitable combinations are 100, 201, 202, in 7000 because two keys lie in the area 200-250 200, in 6001, in 7000 because the key 100 is absent 100, 200, 300 because the key 300 cannot be assigned With the optional key word QTX if the object choice about her attributes can be limited. QTX follow one Attribute name and one regular expression, in each case in single quotation marks enclosed. Only the objects with an attribute of the given name are selected whose value corresponds to the regular expression. A regular expression may contain the following special characters:
For example: KEY ALL QTX "TYPE" “*20?“ All objects with an attribute called the TYPE whose contents on "20" end with any sign behind it e.g. "copper 200" or "brass 20x" are selected. The key words ON and IGNORE are optional and serve for the definition from Combination knots. They are described further below. The key word MULTIKNOT it is also optional. It matters only with string elements and with symbols. With string elements originates from the well-chosen points in each case one Of string element one Multiknot with the co-ordinates of the points as positions. With symbols originates from the well-chosen symbols in each case one Of object one Multiknot with the co-ordinates of the symbols as positions. If only one point of the string element or a symbol of the object is selected, only one position has of the multiknots and does not differ from normal knots. The other components of the object definition are Element definitions. They begin with one of the key words LINE, SYMBOL or TEXT for string elements, symbolic elements or text elements and generate knot from the elements. (1.1.1) LINE {sign chain} LINE generates knot with the co-ordinates of the bases of the string elements of the objects from the object definition. If a sign chain is given, the knots receive them as names. About him they can be identified in the test terms and be tested on certain qualities. The name must not be unequivocal, but may be used with different element definitions. With the information of the choice criteria DKY and/or DKA only those string elements are used which have a suitable key, but everybody is used. The remaining criteria select the bases to which knots are generated. If no other criterion is given, all bases are selected. But only those are used, to all correspond to given criteria. Not given criteria are any. Therefore the order chooses KEY ALL LINE – without other criteria the bases of all string elements from, during KEY ALL RIDGE LINE READ nothing selects possibly the first one, because this choice not and the last base meets, but those which are the first as well as last base what can apply on account of the least number of two bases of the string elements to none of them. The criteria EVEN, ODD and NUM refer to the indexes of the bases. The first base of the string element has the index 1, the second one the index 2 etc. A special role holds the key word CIRCLE. Without his definition becomes to middle base one Of arc (this is the second one of three bases the course of the arc fix) in no case a knot generated. If CIRCLE is defined, are also generated to the middle arc bases according to knot of the choice criteria. However, with the numbering of the bases the middle arc bases help count anyway. Choice criteria of string elements
Choice criteria of bases as a knot
Specific features
Examples: LINE DKY 1.2 ENDS Choice of the starting points and terminator points of all string elements with the sign keys 1 and 2. LINE "Y1 A9" DKY 1 DKA 9 ART LP Choice of the points with the link types l and P of the string elements with the sign key to 1 and the surface key 9. The resulted knots receive the name "Y1 A9". LINE PSY 2-4,6-8 Choice of the points with the point symbols from from 2 to 4 and 6 to 8 all string elements. (1.1.2) SYMBOL {sign chain} SYMBOL generates knot with the co-ordinates of the symbolic elements of the well-chosen objects. If the optional sign chain is given, the knots receive them as names. With the criterion NUM if the choice of the symbolic elements can be limited to those with certain symbolic numbers, without NUM everybody is used. (1.1.2.1) figure list NUM E.G. SYMBOL NUM 8.9 The symbolic elements with the symbolic numbers 8 and 9 become knot. (1.1.3) TEXT {sign chain} TEXT generates knot with the co-ordinates of the text elements of the well-chosen objects. If the optional sign chain is given, the knots receive them as names. With the information of choice criteria only those text elements are used, to all correspond to given criteria, but everybody is used. Choice criteria of text elements as a knot
Example: TEXT DKY 1 ART LR SIZE 300 The text elements with the sign key 1 and in the left or right edge straightened text of the size 300 become knot. (2) EDGE LIST sign chain The edge list begins with the key word EDGE LIST, followed by a sign chain, which is not further used at present yet. The edge list generates edges to the well-chosen string elements. Normally a string element generates an edge. If internal points of a string element as Sollbruchstellen are defined and on a knot lie, then the element disintegrates in them into several edges, and with the key word FORCE_BREAKS if the element disintegrates in every internal point into edges. As opposed to the knot definition with which all points of a string element become knot if no other choice takes place become with the edge definition points only a Sollbruchstelle if they are explicitly selected. The edge list follows basically the construction of the knot list. An object definition begins with the key word KEY. However, as element definitions she may contain only LINE definitions because edges can originate only from string elements. (2.1) KEY ALL {sign chain QTX sign chain} | KEY Figure list {sign chain QTX sign chain} As with the knot list become with ALL all objects well-chosen and with that Figure list those whose keys correspond to those of the list. The use of the figure list and from QTX is with the description of the knot list (see. supra) explains. (2.1.1) LINE {sign chain} LINE generates edges to the string elements of the objects from the object definition. If a sign chain is given, the edges receive them as names, they can be identified with him in the test terms. The name must not be unequivocal, but may be used with different element definitions. With the information of the choice criteria DKY and/or DKA only those string elements are used which have a suitable key, but everybody is used. The remaining choice criteria determine them Sollbruchstellen the edge. The starting points and terminator points of the string elements cannot become Sollbruchstellen. If a choice meets them, this is simply ignored. If a Sollbruchstelle on a knot lies, the edge disintegrates in her into two parts, and the end of the first one and the beginning of the second part are hung on the knots. As with the knot list the key word CIRCLE has a special function. Only if CIRCLE is defined, the middle arc bases can also become Sollbruchstellen. However, with the numbering of the bases they help count anyway. Choice criteria of string elements as edges
Choice criteria of bases as a Sollbruchstellen
Specific features
(2.1.1.10) EDGE {sign chain} If a string element in the sheet edge begins and/or ends, becomes when in this position still no knot exists, for the end one Pseudo knots generated ''to suppress the announcement 'Edge end without knot'. Of the pseudo knots the optional sign chain receives as names and can be tested like the other knots. Examples: LINE DKY 1 DKA 9 INTERNAL The string elements with the sign key to 1 and the surface key 9 become edges, all internal points are Sollbruchstellen. LINE NUM 2 EDGE "edge knot" All string elements become edges, in each case her second base is a Sollbruchstelle. For every starting point and terminator point of the string elements which on the sheet edge and not on a knot lie a pseudo knot with the name "Edge knot" is generated. (2.1.1.11) FORCE_BREAKS The string element disintegrates in every internal point into edges. CIRCLE also steers in this case the treatment of the middle arc bases. (2.1.1.12) number EQUALCOORDS The given EqualCoords value is valid for the edges which originate from this element definition instead of the global one. As latter he can accept the values 0, 1 and 2 and they own the same meaning like the global value: n=0: The co-ordinates of bases are any. n=1: The co-ordinates of the bases which themselves own the link type LINK_P or their successor are any. With the bases with another link type announcements occur under certain conditions: The first point or the last point or a break place of a string element lies not on a knot, but on another base. An internal point of a string element is no break place and lies on a knot. n=2: The announcements occur like with n=1, but also with bases with LINK_P. The impact of the EqualCoords value specific for edge can be simply explained in such a way that the edges become visible for the abovementioned tests or become invisibl. If e.g., an edge with an EqualCoords value of 0 is invisible and another with an EqualCoords value of 1 or 2 is visible, none occurs Bases of the same co-ordinates The announcement because the edge with the value 0 is invisible for the test. Combination knots With knot and/or multiknot of identical co-ordinates announcements usually occur. To prevent this, one is able Combination knots are generated which summarises knot in the same position, so that no announcement occurs. He can be tested like the other knots in the condition file. The definition of a combination knot in the selection file differs from that of a normal knot by the additional key word ON, followed from Base names. The base name is the name one before in the knot list of defined knot, of the so-called Of base knot. Therefore, must have received of the base knots with his definition a name. Syntax of normal knots or from multiknot: KEY <Keys> {MULTIKNOT} <element specification> Syntax of combination knot: KEY <Key> <base name ON> <Element specification of the second knot> Of the combination knots receives the name from the element specification of the second knot, this may be identical with the base name. This makes sense when the same conditions are valid for the combination knots like for the base knots. If no name is given in the specification, remains of the combination knots anonymous. A combination knot may not be defined as a multiknot, however, this quality inherits if necessary from the base knot. Of the base knots a combination knot may be, many elements can be thereby summarised successive arbitrarily to a combination knot. If may also appear only of the second knots, he has to go once again with the name of the combination knot are defined as knots to be ignored. Syntax of her Ignore- Definition: KEY <Key> <combination name IGNORE> <Element specification> The order of the knot definitions in the selection file is fixed with it as follows, step three is optional: 1. Definition of the base knot 2. Definition of the combination knot 3. Definition of the second knot with the combination knot to be ignored Example The symbolic element with the object key 800 and the symbolic number 17 defines to the knots "mast", the symbolic element with the object key 801 and the symbolic number 19 to the knots "sleeve". They may appear alone as well as with identical co-ordinates as a combination knot "sleeve mast". The suitable segment from the selection file is: KEY 800 SYMBOL "mast" NUM 17 KEY 801 "mast ON" SYMBOL "sleeve mast" NUM 19 KEY 801 "sleeve mast IGNORE" SYMBOL "sleeve" NUM 19 Example of a selection file !----------------------------------------------------------- KNOT LIST "Knot selection plan NECLTG1" !----------------------------------------------------------- KEY 1523 SYMBOL "Wooden mast" NUM 79 KEY 2000! Cable private connection ÜWA SYMBOL "ÜWA" NUM 140 KEY 2200 SYMBOL "Building station" NUM 150 KEY 2250 SYMBOL "KV" NUM 153 ! !----------------------------------------------------------- EDGE LIST "Edge selection plan NECLTG1" !----------------------------------------------------------- ! KEY 1200 "LINE MSP" KEY 1400 "LINE NSP" INTERNAL! all bases up to the first one ! and last are Sollbruchstellen Grammar of the selection file The grammar already contains some future enlargements, with yet does not implement are marked. From // if everything is up to the end of a line a comment. The non-appointment ale of the grammar begin with a small letter. Become the simplification Number, String and Word in the grammar did not describe closer, here her meanings:
Appointment ale of the grammar KNOT LIST EDGE LIST KEY ALL ON IGNORE MULTIKNOT SYMBOL LINE TEXT NAME DKY DKA ART RIDGE ENDS READ INTERNAL EDGE ODD EVEN CIRCLE NUM PCL PSY FORCE_BREAKS EQUALCOORDS SIZE FACE, -
Production rules of the grammar all: nodes edges |//only knot, then edges nodes |//only knot edges |//only edges ;//neither knot nor edges nodes: KNOT LIST string nodeList; edges: EDGE LIST string edgeList; nodeList: objectEntry nodeList |; edgeList: objectEntry edgeList |;
objectEntry: objDef optQtx options elements; objDef: String CLASS |//does not implement yet KEY ALL | KEY list; optQtx: String QTX string |;//the first string is the attribute name, //the second one a regular expression options: optOn. optRest |; optOn: String ON; optRest: optMulti. ignoreList. optMulti ignoreList; optMulti: MULTIKNOT |; ignoreList: ignoreNode. ignoreList ignoreNode; ignoreNode: String IGNORE;//string is the knot name
elements: elementDef elements |; elementDef: LINE optName linedefs | SYMBOL optName symdefs | TEXT optName textdefs;
linedefs: lineDefi linedefs |; lineDefi: NAME String |//does not implement yet DKY list | DKA list | ART Word |//combination of the link types l, R, C, P RIDGE | LOAD | ENDS | INTERNAL | ODD | EVEN | NUM list |//the point numbers PCL list | PSY list | EDGE optName |//edge points can become pseudo knot FORCE_BREAKS | EQUALCOORDS Number |//0, 1 or 2 CIRCLE;
symdefs: symdefi symdefs |; symdefi: NAME String |//does not implement yet NUM list;//the symbolic numbers
textdefs: textDefi textdefs |; textDefi: NAME String |//does not implement yet DKY list | DKA list | ART Word |//combination of the adjustments L, C, R SIZE list | FACE list;//1, 2, 3 for normal, narrowly, broadly //From 4 to 6 in italics, from 7 to 9 inversely in italics list: listElem. list, listElem; listElem: number. range; range: number-number;//an area, e.g., 5-15
number: Number |-Number; optName: String |;//optional name
Syntax of the condition file General rules to the syntax of the test instructions: Separators are blanks, tabulators and the line change. Between a key word and the next sign chain at least one separator must stand. Between a key word and the next number at least one separator must stand. The components of the test instruction – key words, sign chains, figures, clips etc. – may be set down arbitrarily with separator of each other. From it follows among other things that test instructions about several lines may apply. It is syntactically correct, e.g. TEST "knot xy" (# ("edges abc") in 2 - 4) It is wrong TEST"-MISSING Separators" (#"kante abc" IN9) The condition file contains any number of test instructions of the format (1). The italic Bezeichner are to be interpreted in such a way that they are to be substituted with one of her formats. Thus is able (1.1) – Expression – are substituted with (1.1.2) (1.1.1) etc. This representation form was chosen in such a way to do justice to the interlocking structure of the expressions. Optional components stand in embowed clips. Function of the formats from the 1.1.1.1 to the 1.1.1.4 is described to the simplicity half only once under the point 1.1.1.x.1, because it can be substituted with each of these formats with one of the formats 1.1.1.x.1.1 etc. (1) TEST sign chain Expression (1.1) Expression (1.1.1) Condition (1.1.1.1) ( Function (Arguments) relOp number) (1.1.1.2) ( Function (Arguments) in figure cunning) (1.1.1.3) ( Function (Arguments) EVEN) (1.1.1.4) ( Function (Arguments) ODD) (1.1.1.x.1) Function (1.1.1.x.1.1) # (1.1.1.x.1.2) #END (1.1.1.x.1.3) #PASS (1.1.1.x.1.4) #QTX (1.1.1.x.1.5) #QTX_DIFF (1.1.1.x.1.6) #QTX_VAL (1.1.2) ( Expression ) (1.1.3) NEED Expression (1.1.4) Expression AND Expression (1.1.5) Expression OR Expression (1.1.6) Expression EQUAL Expression (1.1.7) Expression UNEQUAL Expression (1.1.8) Expression IF_THEN Expression Expressions with clips can be interlaced by the point (1.1.2). The following easy example gives the first impression of the possibilities arising from it for the formulation of expressions. At the beginning of the lines stand the numbers of the suitable formats. (1.1) Expression (1.1.4) Expression AND Expression (1.1.2) Expression AND ( Expression ) (1.1.5) Expression AND ( Expression OR Expression ) Semantics of the condition file (1) TEST sign chain expression The test instructions refer to the knot and edges names of the selection. The sign chain is a knot name from the selection file. The expression exists of one or to several Conditions, with clips interlaces and with to logical operations can be tied together. logical operations
With that IF_THEN- Operation the second expression is tested only if the first expression is true. If the first expression is wrong, the result of the test is true anyway, all the same which value the second expression has. E.g.: TEST "xy" (#"msp_kabel" >= 1) IF_THEN (#"nsp_kapel" = 0) If msp_kabel hang on the knot xy, none may hang nsp_kabel on the knot. Hangs nobody msp_kabel on the knot, then the number nsp_kabel is any. The following table contains an overview of the two-digit logical operations – which with two parametres – with her results. Besides, Par_1 is the first and Par_2 the second parametre of the operation. Results of the two-digit logical operations
The expressions are evaluated from the left to the right, the logical operations have all same priority. E.g., proves Ausdruck1 AND Ausdruck2 OR Ausdruck3 true if only Ausdruck1 and Ausdruck2 are true or only Ausdruck3 is true or if everybody is true three, with it Ausdruck1 AND (Ausdruck2 OR Ausdruck3) proves true, Ausdruck1 and at least one of both remaining expressions must be true. (1.1.1) condition A condition must be enclosed in round clips, she has one of the in the following described formats. (1.1.1.1) ( Function ( Arguments ) relOp number) relOp is one of the following relations:
(1.1.1.2) ( Function ( Arguments ) IN Figure list) The condition is true if the functional result in the figure list is included. (1.1.1.3) ( Function ( Arguments ) EVEN) The condition is true if the functional result just is. (1.1.1.4) ( Function ( Arguments ) ODD) The condition is true if the functional result is odd. (1.1.1.x.1) Function A function exists of her name and her arguments enclosed in round clips. The arguments are separated by commas of each other. The functional names are #, #END, #PASS, #QTX, #QTX_DIFF and #QTX_VAL. The functions and her arguments are more exactly described in the following. (1.1.1.x.1.1) # (sign chain) The result of the function # if is the number of the edges called the sign chain in the knot. (1.1.1.x.1.2) #END (sign chain) The result of the function #END if is the number of the edges called the sign chain in the knot with which the starting point or terminator point of her original string element on the knot lies. (1.1.1.x.1.3) #PASS (sign chain) The result of the function #PASS if is the number of the edges called the sign chain in the knot with which an internal point of her original string element on the knot lies. (1.1.1.x.1.4) #QTX (sign chain, sign chain) Only the edges called the first sign chain in the knot are looked. The result of the function #QTX if the number is that of these edges which own an attribute called the second sign chain. To slopes, e.g., the following edges in the knot: To Kant ""attribute MSP "cross section" To Kant ""attribute NSP "cross section" To Kant ""attribute NSP "cross section" To Kant ""attribute NSP "cross section" To Kant ""attribute NSP "isolation" thus delivers the function #QTX ("NSP", "cross section") as a result 3 because three of the NSP edges own a cross section attribute. (1.1.1.x.1.5) #QTX_DIFF (sign chain, sign chain) Only the edges called the first sign chain in the knot are looked. Only the attributes called the second sign chain are looked by their original string elements again. The result of the function #QTX_DIFF if is the number of the different values which are accepted by these attributes. To slopes, e.g., the following edges in the knot: To Kant ""attribute MSP "cross section" value 25 To Kant ""attribute NSP "cross section" value 10 To Kant ""attribute NSP "cross section" value 5 To Kant ""attribute NSP "cross section" value 5 To Kant ""attribute NSP "isolation" value 3 thus delivers the function #QTX_DIFF ("NSP", "cross section") as a result 2 because the cross section attributes of the NSP edges own two different values 5 and 10. (1.1.1.x.1.6) #QTX_VAL (sign chain, sign chain, sign chain...) Only the edges called the first sign chain are looked. Only the attributes called the second sign chain are looked by their original string elements again. The result of the function #QTX_VAL if the number is that of these attributes which own one of the next sign chains as a value. At least one value must be given, upwards her number is open. To slopes, e.g., the following edges in the knot: To Kant ""attribute MSP "cross section" value 25 To Kant ""attribute NSP "cross section" value 10 To Kant ""attribute NSP "cross section" value 5 To Kant ""attribute NSP "cross section" value 5 To Kant ""attribute NSP "isolation" value 3 thus delivers the function #QTX_VAL ("NSP", "cross section", "5", "3") as a result 2 because two cross section attributes of the NSP edges own the value 5 and of nobody the value 3. Examples of test instructions TEST "Knot type alpha" (# ("edge type 10") = 2) AND (# ("edge type 11") IN 2-4) The condition "is checked on all knots with the name "alpha“. She is in each case true if exactly two edges with the name "Edge type 10“ and from two to four edges with the name "Edge type 11“ hang on the knot"". TEST "msp_station" (# ("msp_kabel") = 2) The number of the edges "msp_kabel" which ""hang on the knots "msp_station" must amount to in each case exactly two. TEST "msp_station" (#END ("msp_kabel") = 2) The number of the edges "msp_kabel" which ""hang at an end which corresponds to the first or last point of a string element, on the knots "msp_station" must amount to in each case exactly two. TEST "msp_station" (#PASS ("msp_kabel") = 2) The number of the edges "msp_kabel" which ""hang at an end which corresponds to one of the internal points of a string element, on the knots "msp_station" must amount to in each case exactly two. TEST "msp_multi "(# ("msp_kabel") =1) AND (# ("nsp_kapel") =2) AND (# ("bel_kabel") >=0) In this example all not necessary separators have been left out. TEST "msp_deka" (#PASS ("msp_kabel") IN 0-5,10,20) OR ((# ("bel_kabel") EVEN) AND (# ("nsp_kabel") ODD)) Test instructions may apply about several lines. Example of a condition file TEST "Building station" (# "(MSP") >= 1) AND (# "(NSP") >= 1) TEST "KV": (# "(NSP") >= 2) Grammar of the condition file From // if everything is in the grammar description up to the end of a line a comment. The non-appointment ale of the grammar begin with a small letter. Become the simplification Function, Number and String in the grammar did not describe closer, here her meanings:
Appointment ale of the grammar TEST () NEED EVEN ODD IN =<><> <= >= - AND OR EQUAL UNEQUAL IF_THEN Production rules of the grammar table: entry table |; entry: TEST string expression;//string is the knot name expression: condition | (expression) | NEED expression | expression logOp expression;
condition: (Function (args) relOp number) | (Function (args) IN list) | (Function (args) EVEN) | (Function (args) ODD);
args: String | args, string;
list: elem rest; rest: elem rest |; elem: number. range; range: number-number;//an area, e.g., 5-15
logOp: AND | OR | EQUAL | UNEQUAL | IF_THEN; relOp: = |<> |< |> | <= | >=; number: Number |-Number;
Remark The function net check is an independent additional module and does not count therefore to the normal functional extent of Moskito.
|