| 
//스프링클러설비의 화재안전기준 10조 (헤드) 8항
check(NFSC103_10_8){
	(IF !(CS1) THEN KS1) or (IF CS1 THEN KS2)
}
KS1{
	Beam myBeam{
		hasObject(SpecificFireFightingBuilding, Beam) = TRUE
	}
	getElementDistance(myBeam, SprinklerHead, 1) = TRUE
	//Table
	getElementDistance(SprinklerHead.Deflector, Beam, a) + getObjectWidth(SprinklerHead.Deflector)*0.5 = SBD
	getObjectVerticalDistance(SprinklerHead.Deflector, Beam.BottomSurface, a) = SHD
	IF SBD < 0.75 m 
	THEN SHD < getObjectHeight(Beam.BottomSurface)
	IF 0.75 m <= SBD < 1 m 
	THEN SHD < 0.1 m
	IF 1 m <= SBD < 1.5 m
	THEN SHD < 0.15 m
	IF SBD >= 1.5 m 
	THEN SHD < 0.3 m 
}
CS1{
	getObjectDistance(Ceiling.Surface, Beam.BottomSurface) > 55 cm
	getObjectDistance(Beam.BottomSideSurface, SprinklerHead) = OD
	OD <= getElementDistance(SprinklerHead, c)*0.5
}
KS2{
	getObjectDistance(SprinklerHead, SprinklerHead.AttachingToSurface) <= 55 cm
} 
 | 
Python Code 변환 예정
 |