FRP (Fibre Reinforced Plastic)

FRP (Fibre Reinforced Plastic)

Project Name : WESTERN COURT ANNEXE, JANPATH, NEW DELHI

Western Court Annexe has site area of 7.72 acres with built up area of 9220 sqm with two level basements. It is grade II heritage building. The House Committee under the Chairmanship of Shri Arjun Ram Meghwal, MP the then Chairperson House Committee decided to construct the Western court Annexe with additional 88 suites as transit accommodation to the newly elected Members of Parliament.

img

700 Lakh

Project Budget

img

05 Dec 2016

Start Date

img

04 Apr 2018

Completion Date

img

NEW DELHI

Location

Project Team / Contact Us

S.No. Name(Mr/Mrs) Designation Office Address Office Number Mobile Number Email ID
1 Jayesh Kumar ADG (NDR)
2 Dr. Sonia Mehta Chief Architect
3 Rajiv Singhal CPM

MATERIAL

Name
FRP (Fibre Reinforced Plastic)

Description

In Wesern Court Annexe project combination of  FRP and GRC are used  for Cornices and Jali respectively to ease out the construction in time frame. This helped in speedy construction at the time of execution.

FRP cornice mouldings have become one of the most popular use of fiberglass. Not only for its ease of use, but fiberglass cornice can be manufactured to replicate most finishes including cast iron, terra cotta, limestone, sandstone, marble, granite, copper, steel, wood, sheet metal and other popular building materials. Finishes can range from a smooth, dull, matte to a high gloss polished look, or a slight texture to a rough stone texture.  

FRP cornice is very practical when compared with the material, maintenance, and installation cost of other traditional materials. One should not assume that the material cost of fiberglass is low, but the installation methods and procedures allow for lower installed costs and lower life cycle costs.

Advantages of GRC jail overweigh conventional concrete jail.  GRC is modern day product. It is light weight and available in wide range of innovative designs.


Major Gains

Over and above all the above mentioned characteristics these helped in speedy construction at the time of execution. The Project completed before expected time.


Implementation Strategy

S.No. Description Images
1

Architectural planning:

  • Identification of land- The Western court building with rear unutilized land had been earmarked for the additional requirement of Suites for MP’s.
  • Concept evolution-The our storied with linear & symmetrical plan, designed in harmony with the Western court, a grade II heritage building in terms of its height and façade.
  • Components- It has 88 guest suites with double occupancy having a balcony and kitchette, dining area with kitchen, Gymnasiums, Meeting rooms, yoga room and multipurpose hall. The accessible suite is also provided at ground floor level .The parking facility is provided at surface as well as in the basements. The traffic movement is provided by means of 6 mtr wide internal roads and integrated with the existing vehicular movement pattern of the whole campus.
  •  Landscape- the landscape of the site holds aesthetic value adding glory to the building while keeping the campus dominantly green. The design in both front lawns are symmetrical and justifying the symmetrical form of the building. The limited scope of landscape with its intricate detail all around the building plays major role in adding value and meaning to overall project.

Structural planning:

  • It is R.C.C. frame structure and earth quake resistant building.     The building designed on the basis of latest IS 456, IS 1893 & IS 13920.

            Other services:

  • The project has housed electrical substation, Pump room, VRV system etc. It is  one such building where  through use of LED lighting and solar power generation, CO2 emissions have been reduced to 226.4 ton/year. The total saving of energy consumption due to provision of led light fitting including pole lights instead of conventional light fitting and installation of 75KWP rooftop solar power plant is 251563.3 KWH.

             Site implementation-

  • The project has been periodically monitored from day first of its execution to last day in terms of its timely delivery without compromising the quality. The selection of material is in accordance with the suitability and availability. 

Lessons Learnt / Take Aways

S.No. Description Images
1

The use of FPR cornices ease the execution and reduce the complications of on-site construction. These also help in speedy construction.

 

An error occurred while processing the template.
The following has evaluated to null or missing:
==> request.getParameter("param3")  [in template "20096#20121#888624" at line 17, column 84]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign param1 = request.getParameter...  [in template "20096#20121#888624" at line 17, column 66]
----
1<#assign Project_related_to =""/> 
2<#assign Project_related_to ="Project related to"/> 
3				<#if locale?contains("hi")> 
4				<#assign Project_related_to ="प्रोजेक्ट से सम्बंधित"/> 
5			</#if> 
6 
7<#assign Material =""/> 
8<#assign Material ="Material"/> 
9				<#if locale?contains("hi")> 
10				<#assign Material ="सामग्री"/> 
11			</#if> 
12 
13<section class="w-100 clearfix cpwdOurUnitsSec" id="cpwdOurUnitsSec"> 
14         <div class="cpwdOurUnitsInner"> 
15            <div class="container-fluid container-space custom-container-xxl"> 
16               <div class="cpwdOurUnitsCarousel"> 
17								 <#assign param1 = request.getParameter("param3")/> 
18                 	 <div class="cpwdHeadingCommon"> 
19                     <h2> ${Project_related_to} ${param1} ${Material}</h2> 
20                  </div> 
21                  <div class="owl-carousel owl-theme ourUnitsOwlCarousel"> 
22										 
23 
24     <#if entries?has_content> 
25   <#list entries as entry> 
26	 <#assign assetRenderer = entry.getAssetRenderer()/> 
27	 <#assign className = assetRenderer.getClassName()/> 
28	 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))/> 
29	 <#assign viewURL= assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry,true)/>		  								 
30		  <#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL)/>		  
31	 <#assign fields = entry.getAssetRenderer().getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/> 
32    
33		  
34	<#if fields[1].getValue().getString(locale)== param1>		 
35 <#assign docValJSON = fields[2].getValue().getString(locale) /> 
36 <#assign imageUrl = jsonFactoryUtil.createJSONObject(docValJSON).getString("url")/> 
37  <#if imageUrl?has_content> 
38<#assign Post =""/> 
39<#assign Post ="Post on"/> 
40				<#if locale?contains("hi")> 
41				<#assign Post ="भेजा गया दिनांक"/> 
42			</#if> 
43			 
44			 
45			<#assign Viewmore =""/> 
46      <#assign Viewmore ="View More"/> 
47				<#if locale?contains("hi")> 
48				<#assign Viewmore ="अधिक देखें"/> 
49			</#if> 
50 
51 
52<#else> 
53<#assign imageUrl = "/documents/676924/681064/m+%2811%29.jpg/a0c0f980-bfa5-d8df-22f4-1467ba79e9e4?t=1669215621911"/> 
54</#if> 
55 
56					 
57                <div class="item"> 
58									<#if entry.getAssetRenderer().hasEditPermission(themeDisplay.getPermissionChecker())> 
59        <#assign redirectURL = renderResponse.createRenderURL() /> 
60 
61        ${redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect")} 
62        ${redirectURL.setWindowState("pop_up")} 
63 
64        <#assign editPortletURL = entry.getAssetRenderer().getURLEdit(renderRequest, renderResponse)!"" /> 
65 
66        <#if validator.isNotNull(editPortletURL)> 
67            <#assign title = languageUtil.format(locale, "edit-x", entry.getTitle(locale)) /> 
68				    <a class="content-edit-icon-profile" href="${editPortletURL}"><i class="fas fa-edit"></i></a> 
69        </#if> 
70    </#if> 
71			 
72													 
73									 <div class="projectBox"> 
74                           <a href="${viewURL}"> 
75                              <div class="projectBoxInner"> 
76                                 <div class="projectImg"> 
77                                    <img style= "border-radius:10px; height:300px;" src="${imageUrl}" alt="img" > 
78                                 </div> 
79                                 <div class="projectTxt"> 
80                                    <h4>${fields[0].getValue().getString(locale)}</h4> 
81                                    <span><@liferay.language key="read_more" /></span> 
82                                 </div> 
83                              </div> 
84													</a> 
85                        </div> 
86                     </div> 
87	</#if> 
88											 
89											</#list> 
90										</#if> 
91										 
92											</div> 
93											</div> 
94							<div class="owlControlGroup w-100 d-flex align-items-center justify-content-center"> 
95                     <div class="owlNavBtn"> 
96                        <div class="btn-wrap owl-nav"> 
97                           <button class="prev-btn owl-prev"><span>‹</span></button> 
98                           <div id="custom-owl-dots3" class="custom-owl-dots owl-dots"></div> 
99                           <button class="next-btn owl-next"><span>›</span></button> 
100                        </div> 
101                     </div> 
102                  </div> 
103								  
104    </section> 
105									 
106									 
107						 
108 <script> 
109        $(document).ready(function() { 
110    // Function to highlight active link based on scroll position 
111    function highlightActiveLink() { 
112      const scrollPosition = $(window).scrollTop(); 
113 
114      $('section').each(function() { 
115        const sectionTop = $(this).offset().top - 50; // Adjust offset if needed 
116        const sectionBottom = sectionTop + $(this).outerHeight(); 
117 
118        if (scrollPosition >= sectionTop && scrollPosition < sectionBottom) { 
119          const targetId = '#' + $(this).attr('id'); 
120          $('.scrollNav a').removeClass('active'); 
121          $('.scrollNav a[href="' + targetId + '"]').addClass('active'); 
122
123      }); 
124
125 
126    // Function for smooth scrolling on link click 
127    $('.scrollNav a').on('click', function(e) { 
128      e.preventDefault(); 
129      const targetId = $(this).attr('href'); 
130      const $targetSection = $(targetId); 
131 
132      if ($targetSection.length) { 
133        $('html, body').animate({ 
134          scrollTop: $targetSection.offset().top 
135        }, 100, 'swing', function() { 
136          highlightActiveLink(); // Highlight active link after scrolling 
137        }); 
138
139    }); 
140 
141    // Highlight active link on initial page load 
142    highlightActiveLink(); 
143 
144    // Highlight active link on scroll 
145    $(window).on('scroll', function() { 
146      highlightActiveLink(); 
147    }); 
148  }); 
149      </script> 
150      
151      <script> 
152          
153         // Get all video containers 
154         var videoContainers = document.querySelectorAll('.video-container'); 
155          
156         // Iterate through each video container 
157         videoContainers.forEach(function (container) { 
158             // Get video and button inside each container 
159             var video = container.querySelector('.video-item'); 
160             var btn = container.querySelector('.video-btn'); 
161          
162             // Function to play/pause video and change button text 
163             function myFunction() { 
164                 if (video.paused) { 
165                     video.play(); 
166                     btn.innerHTML = '<i class="fa fa-pause" aria-hidden="true"></i>'; 
167                 } else { 
168                     video.pause(); 
169                     btn.innerHTML = '<i class="fa fa-play" aria-hidden="true"></i>'; 
170
171
172          
173             // Attach the myFunction to the button's click event 
174             btn.addEventListener('click', myFunction); 
175         }); 
176          
177          
178          
179          
180          
181          
182          
183          
184      </script> 
185 
186      <script> 
187         // Parallax background 
188         $('.jarallax').jarallax({ 
189             speed: 0.5, 
190         }) 
191          
192          
193          
194          
195         $(".youtube-link").grtyoutube({ 
196             autoPlay: true, 
197             theme: "dark", 
198         }); 
199         $(".ourUnitsOwlCarousel").owlCarousel({ 
200             loop: false, 
201             margin: 20, 
202             dots: true, 
203             // autoplay: true, 
204             autoplayTimeout: 5000, 
205             smartSpeed: 1000, 
206             nav: true, 
207             autoplayHoverPause: true, 
208             dotsContainer: '#custom-owl-dots3', 
209             responsive: { 
210                 0: { 
211                     items: 1, 
212                     dots: false, 
213                 }, 
214                 600: { 
215                     items: 3, 
216                     dots: false, 
217                 }, 
218                 768: { 
219                     items: 3, 
220                 }, 
221                 1200: { 
222                     items: 5, 
223                 }, 
224             }, 
225         }); 
226          
227         $(document).ready(function ($) { 
228             var owl = $(".ourUnitsOwlCarousel"); 
229             owl.owlCarousel(); 
230             $(".next-btn").click(function () { 
231                 owl.trigger("next.owl.carousel"); 
232             }); 
233             $(".prev-btn").click(function () { 
234                 owl.trigger("prev.owl.carousel"); 
235             }); 
236             $(".prev-btn").addClass("disabled"); 
237             $(owl).on("translated.owl.carousel", function (event) { 
238                 if ($(".owl-prev").hasClass("disabled")) { 
239                     $(".prev-btn").addClass("disabled"); 
240                 } else { 
241                     $(".prev-btn").removeClass("disabled"); 
242
243                 if ($(".owl-next").hasClass("disabled")) { 
244                     $(".next-btn").addClass("disabled"); 
245                 } else { 
246                     $(".next-btn").removeClass("disabled"); 
247
248             }); 
249         }); 
250      </script> 
251      <script> 
252         const element = document.querySelector(".cpwdTimeline"); 
253         let isDragging = false; 
254         let previousX; 
255         let autoplayInterval; // Variable to store autoplay interval 
256          
257         function handleMove(event) { 
258             if (isDragging) { 
259                 const clientX = event.clientX || event.touches[0].clientX; 
260                 const deltaX = clientX - previousX; 
261                 element.scrollLeft -= deltaX; 
262                 previousX = clientX; 
263
264
265          
266         element.addEventListener('mousedown', (event) => { 
267             isDragging = true; 
268             previousX = event.clientX; 
269         }); 
270          
271         element.addEventListener('touchstart', (event) => { 
272             isDragging = true; 
273             previousX = event.touches[0].clientX; 
274         }); 
275          
276         element.addEventListener('mousemove', handleMove); 
277         element.addEventListener('touchmove', handleMove); 
278          
279         window.addEventListener('mouseup', () => { 
280             isDragging = false; 
281         }); 
282          
283         element.addEventListener('selectstart', () => { 
284             const selection = window.getSelection(); 
285             if (selection.toString().length > 0 && selection.focusNode.parentElement === element) { 
286                 element.scrollLeft = 0; 
287
288         }); 
289          
290         function startAutoplay() { 
291             autoplayInterval = setInterval(() => { 
292                 // Change the scrollLeft value here for smooth autoplay 
293                 element.scrollLeft += 1; // Adjust this value for the desired scrolling speed 
294             }, 20); // Change the interval for smoother/faster scrolling 
295
296          
297         function stopAutoplay() { 
298             clearInterval(autoplayInterval); 
299
300          
301         element.addEventListener('mouseenter', stopAutoplay); // Pause autoplay on hover 
302         element.addEventListener('mouseleave', startAutoplay); // Resume autoplay on mouse leave 
303          
304         // Initial handling of window size on load 
305         function handleResize() { 
306             isDragging = false; 
307
308          
309         window.addEventListener('resize', handleResize); 
310         handleResize(); 
311          
312         $('.counting').each(function () { 
313             var $this = $(this), 
314                 countTo = $this.attr('data-count'); 
315          
316             $({ countNum: $this.text() }).animate({ 
317                 countNum: countTo 
318             }, { 
319                 duration: 3000, 
320                 easing: 'linear', 
321                 step: function () { 
322                     $this.text(Math.floor(this.countNum)); 
323                 }, 
324                 complete: function () { 
325                     $this.text(this.countNum); 
326
327             }); 
328         }); 
329          
330         // Start autoplay initially 
331         startAutoplay(); 
332          
333          
334          
335      </script> 
336      <script> 
337        //  var $sidebar = $('#sidebar-nav'); 
338        //  var $content = $('#content'); 
339        //  var sidebarTop = $sidebar.position().top; 
340          
341        //  $(window).scroll(function () { 
342        //      var windowScrollTop = $(window).scrollTop(); 
343        //      var blogHeight = $content.outerHeight(); 
344          
345        //      if (windowScrollTop >= sidebarTop) { 
346        //          $sidebar.toggleClass('sticky', windowScrollTop < blogHeight); 
347        //      } else { 
348        //          $sidebar.removeClass('sticky'); 
349        //      } 
350        //  }); 
351          
352          
353          
354      </script>