Home › Forums › Problems and solutions in GDL › Doors and windows › Wallniche in curved Walls › Reply To: Wallniche in curved Walls
October 28, 2019 at 10:02
#18321
Keymaster
Hi Joachim,
Yes, it is possible. ROTX -90, then cut with a crescent-shaped polygon.
For example, this cuts a niche when placed properly (you’d have to handle left and right curved walls, and flipped/mirrored state too):
hotspot 0,0,0
rotx -90
_wallRadius = sqr(WIDO_ORIG_DIST **2 + A **2 / 4)
dict _arcCenter
_arcCenter.x = 0
_arcCenter.y = -WIDO_ORIG_DIST
! surface of wall
dict _faceCircle
_faceCircle.center = _arcCenter
_faceCircle.radius = _wallRadius - WIDO_SILL
! chord at window plane
dict _chord
_chord.points[1].x = -A/2
_chord.points[1].y = 0.0
_chord.points[2].x = A/2
_chord.points[2].y = 0.0
! project points of chord to _faceCircle, from _arcCenter centrally
dict _faceArc
call "BasicGeometry" parameters iFunction = 18, ! BasicGeometry.PROJECT_POINTS_CIRCLE_2D
points2D = _chord,
pointFrom = _arcCenter,
circleA = _faceCircle,
returned_parameters _faceArc! should have exactly 1 intersection
hotspot _arcCenter.x, _arcCenter.y, 0
hotspot _faceArc.points[1].x, _faceArc.points[1].y, 0
hotspot _chord.points[1].x, _chord.points[1].y, 0
hotspot _faceArc.points[2].x, _faceArc.points[2].y, 0
hotspot _chord.points[2].x, _chord.points[2].y, 0
put _arcCenter.x, _arcCenter.y + _wallRadius, 1+4+8+16+64
put _arcCenter.x, _arcCenter.y, 931
put _chord.points[1].x, _chord.points[1].y, 3031
put _faceArc.points[1].x, _faceArc.points[1].y, 31
put _arcCenter.x, _arcCenter.y + _faceCircle.radius, 0
resol WALL_RESOL
wallniche NSP / 3, 1, 2, ! n, method, status
0, 0, 1, ! rx, ry, rz
B, ! d
use(NSP) ! x, y, s
mulx -1
wallniche NSP / 3, 1, 2, ! n, method, status
0, 0, 1, ! rx, ry, rz
B, ! d
get(NSP) ! x, y, s
del 1
Péter Baksa
Library Platform, Software Engineer
GRAPHISOFT SE