Uno dei punti chiave della progettazione è stato lo studio della luce naturale, con la prerogativa che l'illuminazione naturale proveniente dai lucernari riuscisse a dialogare armoniosamente con l'illuminazione artificiale. Infine si è scelto di posizionare corpi illuminanti led nei punti di giunzione delle falde, capaci di integrarsi completamente nel soffitto e di creare degli accenti di luce, con un impatto anche scenografico
Sottotetto trasformato in spazio abitabile. Bianco e luce naturale per ampliare gli ambienti
Lo studio CC Ark accoglie il desiderio di una famiglia di ampliare gli spazi abitabili della propria casa, recuperando un intero piano del sottotetto e trasformandolo in un'abitazione. Il risultato è uno spazio inondato di luce che offre un'ottima qualità di vita
- #Europa>
- #Italia>
- #Recupero edilizio>
- #Residenza>
- #Attico>
- #Legno>
- #Intonaco>
- #Interior>
- #Interior Design>
Essendo le altezze dei locali determinate dall'inclinazione delle falde, si è optato per l'uso del colore bianco come colore primario di ogni locale, per rendere gli spazi ampi e luminosi e per aumentare la percezione visiva degli ambiente. Inoltre, oltre che a offrire una superficie neutra per gli arredi, il bianco permette una maggiore riflessione e diffusione della luce naturale
Per minimizzare le spese, si è scelto di ripensare l'arredo esistente. La doccia, con la duplice funzione di doccia e lavanderia, trova collocazione in una nicchia già esistente nel sottotetto. La scala gode anch'essa di luce naturale, grazie all'inserimento di inserti vetrati. Il pavimento è un parquet di rovere naturale posato su tutta la metratura
Gallery
Articolo di Alessia Raponi
The following has evaluated to null or missing: ==> value_list[seq_index] [in template "20101#20127#2776835" at line 127, column 62] ---- Tip: It's the final [] step that caused this error, not those before it. ---- Tip: If the failing expression is known to be 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 key_value = value_list[seq_in... [in template "20101#20127#2776835" at line 127, column 41] ----
1<#assign assetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") />
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
3<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
4<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
5
6<#--
7Mostro il titolo del portlet qui
8-->
9<#assign languageId = themeDisplay.getLanguageId()>
10<#assign propertyKey = "portletSetupTitle_"+languageId>
11
12<#assign title = "">
13<#assign counter = 1>
14
15<#if portletPreferences?has_content>
16 <#list portletPreferences?keys as key>
17
18 <#if key == propertyKey>
19 <#assign values = portletPreferences[key] />
20 <#if values?has_content>
21 <#list values as value>
22 <#assign title = value>
23 </#list>
24 </#if>
25 </#if>
26
27 </#list>
28</#if>
29
30<#assign size = 0>
31
32<#list entries as curEntry>
33 <#assign renderer = curEntry.getAssetRenderer() >
34 <#assign className = renderer.getClassName() >
35 <#if className == "com.liferay.journal.model.JournalArticle">
36 <#assign article = renderer.getArticle() >
37
38 <#assign currentArticleAssetEntryId = curEntry.getEntryId() />
39 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
40
41 <#assign relatedDesigner = "" />
42
43 <#list currentArticleRelatedLinks as related_entry>
44
45 <#assign relatedAssetEntryId = related_entry.getEntryId1() />
46
47 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
48
49 <#assign relatedGroup = groupLocalService.getGroup(relatedAssetEntry.groupId) />
50
51 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
52
53 <#assign relatedArticle = journalArticleLocalService.fetchLatestArticle(relatedAssetEntryPrimKey)!'' />
54
55 <#if relatedArticle?has_content>
56
57 <#assign relatedArticleStructureKey = relatedArticle.getDDMStructure().getStructureKey() />
58
59 <#if relatedArticleStructureKey = "DESIGNER-PROFILE">
60
61 <#assign size = size + 1>
62
63 </#if>
64
65 </#if>
66 </#list>
67 </#if>
68</#list>
69
70<#if (size > 0) >
71 <h2 class="portlet-title-text">${title}</h2>
72</#if>
73
74<#-- un ARTICLE può essere legato a un DESIGNER, un COMPANY, un SHOWCASE -->
75
76<#list entries as curEntry>
77
78 <#assign renderer = curEntry.getAssetRenderer() >
79 <#assign className = renderer.getClassName() >
80 <#if className == "com.liferay.journal.model.JournalArticle">
81 <#assign article = renderer.getArticle() >
82
83 <#assign currentArticleAssetEntryId = curEntry.getEntryId() />
84 <#assign currentArticleRelatedLinks = assetLinkLocalService.getDirectLinks(currentArticleAssetEntryId) />
85
86 <#assign relatedDesigner = "" />
87
88 <#list currentArticleRelatedLinks as related_entry>
89
90 <#assign relatedAssetEntryId = related_entry.getEntryId1() />
91
92 <#assign relatedAssetEntry = assetEntryLocalService.getEntry(relatedAssetEntryId) />
93
94 <#assign relatedGroup = groupLocalService.getGroup(relatedAssetEntry.groupId) />
95
96 <#assign relatedAssetEntryPrimKey = relatedAssetEntry.getClassPK() />
97
98 <#assign relatedArticle = journalArticleLocalService.fetchLatestArticle(relatedAssetEntryPrimKey)!'' />
99
100 <#if relatedArticle?has_content>
101
102 <#assign relatedArticleStructureKey = relatedArticle.getDDMStructure().getStructureKey() />
103
104 <#if relatedArticleStructureKey = "DESIGNER-PROFILE">
105
106 <#assign relatedDesigner = relatedArticle>
107
108 </#if>
109
110 </#if>
111 </#list>
112
113 <#if relatedDesigner?has_content>
114
115 <#assign relatedArticleId = relatedDesigner.getArticleId() />
116 <#assign articleGroupId = relatedDesigner.getGroupId() >
117
118 <#assign designer = journalArticleLocalService.getArticle(articleGroupId, relatedArticleId) />
119
120 <#assign designerFriendlyURL = "" />
121 <#assign designerFirendlyURLMap = designer.getFriendlyURLMap() />
122 <#assign key_list = designerFirendlyURLMap?keys/>
123 <#assign value_list = designerFirendlyURLMap?values/>
124 <#list key_list as key>
125 <#assign seq_index = key_list?seq_index_of(key) />
126 <#if seq_index != -1 >
127 <#assign key_value = value_list[seq_index]/>
128 <#if key == themeDisplay.getLocale()>
129 <#-- assign designerFriendlyURL = stringUtil.replace(key_value, "/-/", "") -->
130 <#assign designerFriendlyURL = key_value />
131 </#if>
132 </#if>
133 </#list>
134
135 <#assign hasLinkDesigner = false />
136 <#if designerFriendlyURL != "" >
137 <#assign hasLinkDesigner = articleLanguage.hasLanguageCategory(request, designer, themeDisplay.getScopeGroupId(), themeDisplay.getCompanyId(),
138 "/arkitube", true) && articleLanguage.isFriendlyURLCorrectLanguage(request, designer, themeDisplay.getLanguageId(),
139 designerFriendlyURL, themeDisplay.getScopeGroupId(), true, "/arkitube") />
140 </#if>
141
142 <#assign cssClassWrappDesigner = "mb-4" />
143 <#if (counter < entries?size)>
144 <#assign cssClassWrappDesigner = "mb-5" />
145 </#if>
146
147 <div class="${cssClassWrappDesigner}">
148 <#if hasLinkDesigner>
149 <a href="${assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, relatedAssetEntry, true)}">
150 </#if>
151 <@liferay_journal["journal-article"]
152 articleId="${relatedDesigner.getArticleId()}"
153 ddmTemplateKey="MINIMAL_DESIGNER_INFO"
154 groupId=articleGroupId />
155 <#if hasLinkDesigner>
156 </a>
157 </#if>
158 </div>
159
160 </#if>
161
162 </#if>
163
164 <#assign counter += 1>
165</#list>