mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-20 23:36:20 +00:00
Let IFCClash be used either as a standalone or as a library
This commit is contained in:
@@ -6,6 +6,7 @@ import ifcopenshell.geom
|
|||||||
import multiprocessing
|
import multiprocessing
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import json
|
import json
|
||||||
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
@@ -145,6 +146,7 @@ class IfcClasher:
|
|||||||
element.ObjectPlacement.RelativePlacement.RefDirection.DirectionRatios = (1., 0., 0.)
|
element.ObjectPlacement.RelativePlacement.RefDirection.DirectionRatios = (1., 0., 0.)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
description='Clashes geometry between two IFC files')
|
description='Clashes geometry between two IFC files')
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
@@ -161,24 +163,15 @@ parser.add_argument(
|
|||||||
type=str,
|
type=str,
|
||||||
help='The JSON diff file to output. Defaults to clashes.json',
|
help='The JSON diff file to output. Defaults to clashes.json',
|
||||||
default='clashes.json')
|
default='clashes.json')
|
||||||
parser.add_argument(
|
|
||||||
'-l',
|
|
||||||
'--legacy',
|
|
||||||
default=False,
|
|
||||||
action='store_true',
|
|
||||||
help='Use legacy element parser')
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
class IfcClashSettings:
|
class IfcClashSettings:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.logger = None
|
self.logger = None
|
||||||
self.should_use_legacy = False
|
|
||||||
|
|
||||||
settings = IfcClashSettings()
|
settings = IfcClashSettings()
|
||||||
settings.should_use_legacy = args.legacy
|
|
||||||
settings.logger = logging.getLogger('Clash')
|
settings.logger = logging.getLogger('Clash')
|
||||||
settings.logger.setLevel(logging.DEBUG)
|
settings.logger.setLevel(logging.DEBUG)
|
||||||
import sys
|
|
||||||
handler = logging.StreamHandler(sys.stdout)
|
handler = logging.StreamHandler(sys.stdout)
|
||||||
handler.setLevel(logging.DEBUG)
|
handler.setLevel(logging.DEBUG)
|
||||||
settings.logger.addHandler(handler)
|
settings.logger.addHandler(handler)
|
||||||
Reference in New Issue
Block a user