//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항 1호 Check(RSSB_35_1_1){ KS } KS{ Wall myWall1{ isObjectProperty(Wall.isRightAngleCrossingWall) = TRUE isInstalled(Wall, Floor.One) = TRUE } Wall myWall2{ isPartitioned(Wall, , myWall1) = TRUE } WL = getObjectWidth(myWall2) OW = getObjectWidth(myOpening) Opening myOpening{ isInstalled(Opening, Wall) = TRUE } Sum(OW) <= WL * 1/2 }
Python Code 변환 예정
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 2항 Check(RSSB_35_2){ getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF (!CS1 AND CS2) THEN KS } Wall myWall1{ isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE } CS1{ isObjectProperty(Opening.UpperSideShape) = "Arc" } CS2{ isInstalled(Opening, myWall1) = TRUE } KS{ Wall myWall2{ isObejctProperty(Wall.isRightAngleCrossingWall) = TRUE isInstalled(Wall, myWall1.Floor) = TRUE } WD = getObjectProperty(myWall1.depth) getObject(Floor.One.Opening) (getObjectInterval(Opening, ) >= 2* WD OR getObjectDistance(Opening, myWall2.Center) >= 2* WD }