Coverage for bim2sim/__main__.py: 0%
31 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 17:09 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-12 17:09 +0000
1"""bim2sim main module.
3This tool can be used to create simulation models based on IFC4 files.
5Usage:
6 bim2sim project create <project_path> [-i <source>] [-s <target>] [-o]
7 bim2sim project load [<project_path>]
8 bim2sim --help
9 bim2sim --version
11Options:
12 load Load project from current working directory or given path
13 create Create project folder on given relative or absolute path
14 -h --help Show this screen.
15 -v --version Show version.
16 -s <target> --sim <target> Simulation to convert to.
17 -i <source> --ifc <source> Path to ifc file
18 -o --open Open config file
19"""
20from importlib.metadata import version
22import docopt
24from bim2sim import run_project
25from bim2sim.project import Project, FolderStructure
26from bim2sim.kernel.decision.console import ConsoleDecisionHandler
29def get_version():
30 """Get package version"""
31 try:
32 return version("bim2sim")
33 except Exception:
34 return "unknown"
37def commandline_interface():
38 """user interface"""
40 args = docopt.docopt(__doc__, version=get_version())
42 # arguments
43 project = args.get('project')
44 load = args.get('load')
45 create = args.get('create')
47 path = args.get('<project_path>')
48 target = args.get('--sim')
49 source = args.get('--ifc')
50 open_conf = args.get('--open')
52 if project:
53 if create:
54 FolderStructure.create(path, source, target, open_conf)
55 exit(0)
56 # pro = Project.create(path, source, target, open_conf)
57 elif load:
58 pro = Project(path)
59 handler = ConsoleDecisionHandler()
60 run_project(pro, handler)
61 handler.shutdown(True)
62 else:
63 print("Invalid arguments")
64 exit()
67commandline_interface()