38 lines
1.1 KiB
Markdown
38 lines
1.1 KiB
Markdown
# Step Physical File Validator
|
|
|
|
Pure-python Step Physical File Validator and Parser implemented using Lark (`pip install -r requirements.in`).
|
|
|
|
## Example command line usage:
|
|
|
|
~~~
|
|
$ python main.py fixtures\fail_double_comma.ifc
|
|
On line 8 column 21:
|
|
Unexpected comma (',')
|
|
Expecting one of DBLQUOTE DOT HASH INT LPAR NONE QUOTE REAL STAR UPPER
|
|
00008 | #1=IFCPERSON($,$,'',,$,$,$,$);
|
|
^
|
|
|
|
$ python main.py fixtures\fail_double_semi.ifc
|
|
On line 27 column 66:
|
|
Unexpected semicolon (';')
|
|
Expecting one of ENDSEC HASH
|
|
00027 | #20=IFCPROJECT('2AyG2X0sb16Bjd4gQc07yZ',#5,'',$,$,$,$,(#11),#19);;
|
|
^
|
|
|
|
$ python main.py fixtures\fail_duplicate_id.ifc
|
|
On line 27:
|
|
Duplicate instance name #19
|
|
00027 | #19=IFCPROJECT('2AyG2X0sb16Bjd4gQc07yZ',#5,'',$,$,$,$,(#11),#19);
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
$ python main.py fixtures\fail_no_header.ifc
|
|
On line 2 column 1:
|
|
Unexpected hex ('F')
|
|
Expecting HEADER
|
|
00002 | FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
|
|
^
|
|
|
|
$ python main.py fixtures\pass_1.ifc
|
|
Valid
|
|
~~~
|