mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-10-03 05:22:06 +00:00
New UI to manage IFC constraints in the file
This commit is contained in:
@@ -483,6 +483,36 @@ class ClashSet(PropertyGroup):
|
||||
b: CollectionProperty(name='Group B', type=ClashSource)
|
||||
|
||||
|
||||
class Constraint(PropertyGroup):
|
||||
name: StringProperty(name='Name')
|
||||
description: StringProperty(name='Description')
|
||||
constraint_grade: EnumProperty(items=[
|
||||
('HARD', 'HARD', 'Qualifies a constraint such that it must be followed rigidly within or at the values set.'),
|
||||
('SOFT', 'SOFT', 'Qualifies a constraint such that it should be followed within or at the values set.'),
|
||||
('ADVISORY', 'ADVISORY', 'Qualifies a constraint such that it is advised that it is followed within or at the values set.'),
|
||||
('USERDEFINED', 'USERDEFINED', 'A user-defined grade indicated by a separate attribute at the referencing entity.'),
|
||||
('NOTDEFINED', 'NOTDEFINED', 'Grade has not been specified.'),
|
||||
], name='Grade')
|
||||
constraint_source: StringProperty(name='Source')
|
||||
user_defined_grade: StringProperty(name='Custom Grade')
|
||||
objective_qualifier: EnumProperty(items=[
|
||||
('CODECOMPLIANCE', 'CODECOMPLIANCE', 'A constraint whose objective is to ensure satisfaction of a code compliance provision.'),
|
||||
('CODEWAIVER', 'CODEWAIVER', 'A constraint whose objective is to identify an agreement that code compliance requirements (the waiver) will not be enforced.'),
|
||||
('DESIGNINTENT', 'DESIGNINTENT', 'A constraint whose objective is to ensure satisfaction of a design intent provision.'),
|
||||
('EXTERNAL', 'EXTERNAL', 'A constraint whose objective is to synchronize data with an external source such as a file'),
|
||||
('HEALTHANDSAFETY', 'HEALTHANDSAFETY', 'A constraint whose objective is to ensure satisfaction of a health and safety provision.'),
|
||||
('MERGECONFLICT', 'MERGECONFLICT', 'A constraint whose objective is to resolve a conflict such as merging data from multiple sources.'),
|
||||
('MODELVIEW', 'MODELVIEW', 'A constraint whose objective is to ensure data conforms to a model view definition.'),
|
||||
('PARAMETER', 'PARAMETER', 'A constraint whose objective is to calculate a value based on other referenced values.'),
|
||||
('REQUIREMENT', 'REQUIREMENT', 'A constraint whose objective is to ensure satisfaction of a project requirement provision.'),
|
||||
('SPECIFICATION', 'SPECIFICATION', 'A constraint whose objective is to ensure satisfaction of a specification provision.'),
|
||||
('TRIGGERCONDITION', 'TRIGGERCONDITION', 'A constraint whose objective is to indicate a limiting value beyond which the condition of an object requires a particular form of attention.'),
|
||||
('USERDEFINED', 'USERDEFINED', ''),
|
||||
('NOTDEFINED', 'NOTDEFINED', '')
|
||||
], name='Qualifier')
|
||||
user_defined_qualifier: StringProperty(name='Custom Qualifier')
|
||||
|
||||
|
||||
class BcfTopic(PropertyGroup):
|
||||
name: StringProperty(name='Name')
|
||||
|
||||
@@ -956,6 +986,8 @@ class BIMProperties(PropertyGroup):
|
||||
active_document_reference_index: IntProperty(name='Active Document Reference Index')
|
||||
clash_sets: CollectionProperty(name='Clash Sets', type=ClashSet)
|
||||
active_clash_set_index: IntProperty(name='Active Clash Set Index')
|
||||
constraints: CollectionProperty(name='Constraints', type=Constraint)
|
||||
active_constraint_index: IntProperty(name='Active Constraint Index')
|
||||
|
||||
|
||||
class BCFProperties(PropertyGroup):
|
||||
|
||||
Reference in New Issue
Block a user