Klima-flex 3 Latch Hinge
2-333
180° opening angle of hinges Universally right or left mounted Adjustable vertically (Y-axle) Lift-off function Classified according to VDI 6022 Latch with compression function

The patented Klima-flex 3 latch hinge is designed specifically for insulated and pressurized doors and provides supreme sealing qualities and tactile feedback. The latch hinge creates 3 mm compression and allows you to open the doors 180º in either direction, or to remove the door completely. Oval holes in frame part offer three mm vertical adjustment. The conical guide between frame and door part facilitates the fitting of the door during assembly.

The Klima-flex 3 latching hinges are combined with your choice of Klima-flex 3 handles (2-331).

There is one surface mount version which is mounted directly on the outer door skin. With the through mount version, options such as safety catches, inside handles or interlink rods can be mounted. Interlink rods which connect two or more Klima-flex 3 latching hinges gives the possibility to open all Latching hinges on one side by only operating one handle. This is also the to-go solution if latching hinges needs to be mounted at a height which is difficult to reach.

Frame part is identical for Klima-flex 3 Latch hinge as for Klima-flex 3 hinges (3-165), making it easy to chose later if a door with latching hinges on one side, and hinges on the other side, shall be left or right hinged.

Material
Pin : Steel, zinc plated
Frame part : Glass fibre reinforced Polyamide (PA6GF30) and zinc, black powder coated
Shaft : Zinc die cast, zinc plated
Base plate : Glass fibre reinforced Polyamid (PA6GF30)
Latching cam : Glass fibre reinforced polyamide (PA6GF30)
Cover : Glass fibre reinforced polyamide PA6 (PA6GF30)
Error executing template "Designs/Publications/Paragraph/ProductTable/PartsTable.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
   at CompiledRazorTemplates.Dynamic.RazorEngine_dc0c26542ddd451c9954650c9cbb3ca3.ExecuteAsync()
   at RazorEngine.Templating.TemplateBase.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineCore.RunTemplate(ICompiledTemplate template, TextWriter writer, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.DynamicWrapperService.Run(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass23_0.<Run>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at RazorEngine.Templating.RazorEngineServiceExtensions.Run(IRazorEngineService service, String name, Type modelType, Object model, DynamicViewBag viewBag)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.ParagraphViewModel> 2 @using Dynamicweb.Ecommerce.ProductCatalog 3 @using Industrilas.Data.Helpers 4 5 @{ 6 ProductViewModel? product = null; 7 8 if (Dynamicweb.Context.Current.Items.Contains("ProductDetails")) 9 { 10 product = (ProductViewModel?)Dynamicweb.Context.Current.Items["ProductDetails"]; 11 } 12 13 if (product is object && product.VariantGroups().Count == 0) 14 { 15 Dynamicweb.Ecommerce.ProductCategoryFieldService productCategoryFieldService = new Dynamicweb.Ecommerce.ProductCategoryFieldService(); 16 17 var loopMod = 1; 18 var parts = product.ProductCategories.Where(c => c.Key == "IndustrilasVariantfalt").FirstOrDefault(); 19 var translation = new Industrilas.Data.Business.Translation(); 20 var pattern = product.ProductFields["ProductNumberPattern"].Value; 21 22 <section> 23 <table class="sheet-product-propertytable"> 24 <tr> 25 @foreach (var field in parts.Value.Fields) 26 { 27 var fieldValue = field.Value.Name; 28 fieldValue = (fieldValue as string) == "False" ? Translate("No") : fieldValue; 29 fieldValue = (fieldValue as string) == "True" ? Translate("Yes") : fieldValue; 30 var tdClass = $"sheet-product-propertytable-column-cell{loopMod % 2}"; 31 var tableClass = $"sheet-product-fields-column{loopMod % 2}"; 32 if (fieldValue != null && fieldValue.ToString() != "") 33 { 34 <td class="@tdClass"> 35 36 @if (Convert.ToString(fieldValue).Contains("(")) 37 { 38 39 var separator = new string[] { ")", "(" }; 40 var valueSeparator = new string[] { "),(" }; 41 var columnHeaders = field.Value.Name.Split(separator, StringSplitOptions.RemoveEmptyEntries); 42 //var optionLabels = optionLabel.Split(valueSeparator, StringSplitOptions.RemoveEmptyEntries); 43 //var tableClass = $"propertytable-column-column{tableClass}"; 44 45 <table class="@tableClass"> 46 <thead> 47 <tr> 48 @foreach (var header in columnHeaders) 49 { 50 <td class="ilas-table-header"> 51 @translation.GetTranslation(header, false) 52 </td> 53 } 54 </tr> 55 </thead> 56 57 <tbody> 58 59 @{ 60 /* GetList() returns nothing when the field holds a 61 single selected option, which left single-option 62 columns (AAAA, DD, FF, GG ...) empty in the PDF. 63 Fall back to enumerating field.Value directly. */ 64 var optionRows = new List<Dynamicweb.Ecommerce.ProductCatalog.FieldOptionValueViewModel>(); 65 var listedOptions = field.Value.GetList(); 66 67 if (listedOptions != null && listedOptions.Any()) 68 { 69 optionRows.AddRange(listedOptions); 70 } 71 else if (field.Value.Value is System.Collections.IEnumerable rawOptions && !(field.Value.Value is string)) 72 { 73 foreach (var rawOption in rawOptions) 74 { 75 if (rawOption is Dynamicweb.Ecommerce.ProductCatalog.FieldOptionValueViewModel optionViewModel) 76 { 77 optionRows.Add(optionViewModel); 78 } 79 } 80 } 81 } 82 83 @foreach (var optionLabelValue in optionRows) 84 { 85 86 var optionLabelColumns = optionLabelValue.Name.Split(separator, StringSplitOptions.RemoveEmptyEntries); 87 <tr> 88 @foreach (var optionLabelColumn in optionLabelColumns) 89 { 90 var optionValue = string.Empty; 91 92 if (TextFunctions.IsNumeric(optionLabelColumn)) 93 { 94 optionValue = optionLabelColumn; 95 } 96 else 97 { 98 optionValue = translation.GetTranslation(optionLabelColumn, false); 99 } 100 <td>@optionValue</td> 101 } 102 </tr> 103 } 104 </tbody> 105 </table> 106 } 107 else 108 { 109 <div>@field.Value.Name</div> 110 <div>@field.Key</div> 111 <div>@field.Value.Value.ToString()</div> 112 } 113 </td> 114 } 115 116 loopMod++; 117 } 118 </tr> 119 </table> 120 </section> 121 } 122 }
Klima-flex 3 Latch Hinge