It is done the other way around. features are NOT copied in ifcopenshell source code but steps are copied to the features and deleted after the run. IMHO a much cleaner way to do it and it would work if bimtester is installed in a write protected directory.
I plan to make some small FreeCAD workbench out of bimtester. In there I will propose another way of file copy. The ifc, the feature files and the step files will be copied into tmp. In there the behave tests will be run thus the report will be saved in tmp as well. The report than will be opened in webbrowser.
@Moult
I run into trouble with bimtester in the regard of the purging. I did wrote my own run_test method (this is very good news since I will start using bimtester at work). I saw you did wrote a purging class which does some replacement in the feature files. Would you give some informations what is this about.
@bernd the purging function detects if there are any tests which mention an IFC GlobalId, and if the GlobalId doesn't exist in the active IFC file, it simply removes the test. This is to allow for IFC updates where people delete objects.
if I make changes to the step files and include some prints for debugging, nothing is printed
if I run bimtester from FreeCAD twice I run into a behave.step_registry.AmbiguousStep failure see https://github.com/behave/behave/issues/871 . Means I have to restart FreeCAD for a second ifc test. Have you had this problem?
@ReD_CoDE said: @shanmama RDF/OWL is not smooth, because it's NoSQL, but could be useful, especially when it's a trend nowadays and many like zombies want it
Comments
thanks jesusbill
done another step.
behave (this is what is behind bimtester) needs a special folder structure. In the directory with the feature files there need to be a directory called step with the step implementation. The problem with bimtester is, the features may change from project to project, whereas the step will not be changed.
https://aditamasblog.wordpress.com/2018/07/18/setup-pythons-behave-library-to-read-steps-from-subfolders/
https://www.testaddict.space/understanding-behaves-feature-files-and-step-implementations/
https://behave.readthedocs.io/en/latest/tutorial.html
my version of bimtester:
https://gist.github.com/berndhahnebach/2774f553643c275f8a8e912a426e413d
It is done the other way around. features are NOT copied in ifcopenshell source code but steps are copied to the features and deleted after the run. IMHO a much cleaner way to do it and it would work if bimtester is installed in a write protected directory.
I plan to make some small FreeCAD workbench out of bimtester. In there I will propose another way of file copy. The ifc, the feature files and the step files will be copied into tmp. In there the behave tests will be run thus the report will be saved in tmp as well. The report than will be opened in webbrowser.
@Moult
I run into trouble with bimtester in the regard of the purging. I did wrote my own run_test method (this is very good news since I will start using bimtester at work). I saw you did wrote a purging class which does some replacement in the feature files. Would you give some informations what is this about.
cheers bernd
@bernd the purging function detects if there are any tests which mention an IFC GlobalId, and if the GlobalId doesn't exist in the active IFC file, it simply removes the test. This is to allow for IFC updates where people delete objects.
thanks for the information.
Two problems resist:
behave.step_registry.AmbiguousStep
failure see https://github.com/behave/behave/issues/871 . Means I have to restart FreeCAD for a second ifc test. Have you had this problem?https://github.com/IfcOpenShell/IfcOpenShell/blob/v0.6.0/src/ifcbimtester/features/steps/steps.py#L47-L147
I do not get these tests to work. Do you have example featue files for them. They are missing here: https://wiki.osarch.org/index.php?title=Using_MicroMVDs_for_exchange_requirements
Why not try Ontology? IFCOWL is so smooth
To be honest I have no idea how this ifcowl works ... Not much around on the web, which does describe it or give some examples ...
@shanmama RDF/OWL is not smooth, because it's NoSQL, but could be useful, especially when it's a trend nowadays and many like zombies want it
Yes. I try to manage it based on MongoDB