| Fecha de anulación: |
2008-08-01
Anulada
|
|---|---|
| Idiomas disponibles: | Inglés, Alemán |
| Resumen: | The document specifies the composition, mechanical properties and other relevant characteristics of the materials. The sampling procedures and test methods for the verification of conformity to the requirements of this document are also specified. It is applicable to copper alloy ingots intended to be remelt for the production of castings; and copper and copper alloy casting which are intended for use without subsequent working other than machining. The castings may be manufactured by the sand, permanent mould, centrifugal or continouous casting processes or by pressure diecasting. Das Dokument legt die Zusammensetzung, mechanischen Eigenschaften und andere wichtige Werkstoffeigenschaften fest. Es legt auch die Abläufe bei der Probenahme und die Prüfverfahren zur Prüfung der Konformität mit den Anforderungen des Dokuments fest. Es ist anwendbar für: Blockmetalle aus Kupferlegierungen, die zur Herstellung von Gußstücken umzuschmelzen sind; und Gußstücke aus Kupfer und Kupferlegierungen die für den Gebrauch ohne nachfolgende Bearbeitung, ausgenommen der mechanische Bearbeitung, bestimmt sind. Die Gußstücke können nach dem Sand-, Kokillen-, Schleuder-, Stang- oder druckgießverfahren hergestellt sind. |
| Keywords: | Cast materials|Castings|CE marking|Chemical composition|Composition|Conformity|Copper|Copper alloys|Definitions|Designations|Ingot metals|Marking|Material designations|Material properties|Mechanical properties|Non-ferrous metals|Order indications|Sampling methods|Specification (approval)|Symbols|Tables (data)|Test certificates|Testing |
| ICS: | 77.150.30 - Productos de cobre |
| CTN: | |
|
Reemplazo Normas |
Reemplaza a DIN 1705/A1:1984-06 Reemplaza a DIN 17933-90:1995-08 Reemplaza a DIN 1705:1981-11 Reemplaza a DIN 1716 Beiblatt 1:1981-11 Reemplaza a DIN 1709:1981-11 Reemplaza a DIN 1709 Beiblatt 1:1981-11 Reemplaza a DIN 1714:1981-11 Reemplaza a DIN 1714 Beiblatt 1:1981-11 Reemplaza a DIN 1716:1981-11 Reemplaza a DIN 17655:1981-11 Reemplaza a DIN 17656:1973-06 Reemplaza a DIN 1705 Beiblatt 1:1981-11 Reemplaza a DIN 17658:1973-06 Es reemplazada por DIN EN 1982:2008-08 |
',
'
<script id="ecom-norma-referenced">
//TODO: repasar y quitar lo relacionado con selectores y precio.
/*TODO:
-Se llama a la [async function init()] dentro de aqui [ecomNormaReferencedScript]
desde fragment [dxp-ecom-portal/misc/fragments/Collection Tienda/ECOM-Global_functions/index.js] de la siguiente manera:
if (typeof window.ecomNormaReferencedScript?.init === "function") {
await window.ecomNormaReferencedScript.init();
}
*/
window.ecomNormaReferencedScript = (function ($) {
/* === CONFIG === */
let DEBUG = false;
let ROOT_SELECTOR = null;
function log(...args) {
if (DEBUG) console.log("[ecomNorma]", ...args);
}
/* === FUNCIONES PRIVADAS === */
function _euros(v) {
const n = Number(v) || 0;
return n.toLocaleString("es-ES", { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + " €";
}
function _uniq(a) {
return Array.from(new Set(a));
}
function _fill($sel, values, textFn) {
const keep = $sel.val();
$sel.empty();
values.forEach(v => {
$sel.append($("<option>", { value: v, text: textFn ? textFn(v) : v }));
});
if (keep && values.includes(keep)) $sel.val(keep);
else if (values.length) $sel.val(values[0]);
}
function _relabel($sel, textFn) {
$sel.find("option").each(function () {
const v = $(this).attr("value");
$(this).text(textFn ? textFn(v) : v);
});
}
/* === initCarousel — PÚBLICA === */
function initCarousel(force = false) {
const $owl = $(ROOT_SELECTOR + " .standards-container");
// no inicializar si no existe, está oculto o no tiene items
if (!$owl.length || !$owl.hasClass("owl-carousel") || !$owl.is(':visible') || $owl.children().length === 0) {
log("initCarousel abortado: no visible o sin items", $owl);
return;
}
if (force && $owl.hasClass("owl-loaded") && $owl.data("owl.carousel")) {
log("initCarousel Destruyendo Owl Carousel existent:", $owl);
$owl.trigger('destroy.owl.carousel');
// limpiar también owl-hidden para permitir reinicialización
$owl.removeClass('owl-loaded owl-hidden');
// limpiar markup de Owl
$owl.find('.owl-stage-outer').children().unwrap();
}
if ($owl.length && !$owl.hasClass("owl-loaded") && !$owl.data("owl.carousel")) {
$owl.owlCarousel({
nav: true,
navText: [
'<i class="fa-solid fa-chevron-left"></i>',
'<i class="fa-solid fa-chevron-right"></i>'
],
loop: false,
dots: false,
pagination: false,
margin: 25,
autoHeight: false,
responsive: {
0: { items: 1 }, 500: { items: 1 }, 767: { items: 2 }, 1000: { items: 3 }, 1200: { items: 4 }
}
});
$owl.off("initialized.owl.carousel refreshed.owl.carousel resized.owl.carousel translated.owl.carousel")
.on("initialized.owl.carousel refreshed.owl.carousel resized.owl.carousel translated.owl.carousel", adjustHeights);
log("initCarousel executed");
}
}
/* === initCard — PÚBLICA === */
function initCard($card) {
const dataNode = $card.find("script.normas-data")[0];
let data = [];
if (dataNode) {
try { data = JSON.parse(dataNode.textContent); } catch {}
}
const hasData = Array.isArray(data) && data.length > 0;
let langMap = {};
const mapNode = $card.find("script.lang-map")[0];
try { if (mapNode) langMap = JSON.parse(mapNode.textContent); } catch {}
const $lang = $card.find(".select-language");
const $fmt = $card.find(".select-format");
const $price = $card.find(".price-ae");
const toUC = s => (s || "").toString().toUpperCase();
const labelOf = lang => langMap[toUC(lang)] || lang;
const formatsFor = lang => _uniq(data.filter(d => d.language === lang).map(d => d.format));
const languagesFor = fmt => _uniq(data.filter(d => d.format === fmt).map(d => d.language));
const priceOf = (lang, fmt) => {
const m = data.find(d => d.language === lang && d.format === fmt);
return m ? Number(m.price) || 0 : 0;
};
const parsePriceText = (text) => {
if (!text) return 0;
const clean = String(text).replace(/[^\d,.-]/g, "").trim();
if (!clean) return 0;
if (clean.includes(",") && clean.includes(".")) {
const normalized = clean.replace(/\./g, "").replace(",", ".");
return Number(normalized) || 0;
}
const normalized = clean.replace(",", ".");
return Number(normalized) || 0;
};
if (hasData) {
function onLanguageChange() {
const lang = $lang.val();
const fmts = formatsFor(lang);
_fill($fmt, fmts);
$price.text(_euros(priceOf(lang, $fmt.val())));
}
function onFormatChange() {
const fmt = $fmt.val();
const langs = languagesFor(fmt);
_fill($lang, langs, labelOf);
$price.text(_euros(priceOf($lang.val(), fmt)));
}
const l0 = $lang.val();
const f0 = $fmt.val();
if (!data.find(d => d.language === l0 && d.format === f0)) onLanguageChange();
else $price.text(_euros(priceOf(l0, f0)));
_relabel($lang, labelOf);
$lang.off("change.ae").on("change.ae", onLanguageChange);
$fmt.off("change.ae").on("change.ae", onFormatChange);
}
async function onAdd(e) {
e.preventDefault();
var entryType = ($card.data('entrytype') || 'Norma');
var code = ($card.data('code') || '').toString();
var codIdioma = ($card.find('.select-language').val() || '').toString();
var codFormato = ($card.find('.select-format').val() || '').toString();
if (!code) code = ($card.find('.title-standard').text() || '').trim();
await window.ecomGlobalScripts.functions.addToCart({
entryType: entryType,
code: code,
codIdioma: codIdioma,
codFormato: codFormato,
price: Number(priceOf(codIdioma, codFormato)) || 0,
name: ($card.data('title') || '').toString(),
amount: 1
});
}
$card.find(".standard-button").off("click.ae").on("click.ae", function(e){
const btn = this;
const run = () => onAdd(e);
const helper = window.ecomGlobalScripts?.functions?.withButtonSpinner;
if (typeof helper === "function") {
return helper(btn, run, { spinnerClass: "spinner-border spinner-border-sm text-light", mode: "replace" });
}
return run();
});
// Evita que Owl Carousel interprete el click como drag horizontal
$card.find(".standard-button")
.off("pointerdown.owl mousedown.owl touchstart.owl")
.on("pointerdown.owl mousedown.owl touchstart.owl", function(e){
e.stopPropagation();
});
}
/* === adjustHeights — PÚBLICA === */
function adjustHeights() {
if ($(window).width() > 766.98) {
let hT = 0, hD = 0;
$(ROOT_SELECTOR + " .title-standard").css("height","auto").each(function(){ hT=Math.max(hT,$(this).outerHeight()); });
$(ROOT_SELECTOR + " .description-text").css("height","auto").each(function(){ hD=Math.max(hD,$(this).outerHeight()); });
$(ROOT_SELECTOR + " .title-standard").height(hT);
$(ROOT_SELECTOR + " .description-text").height(hD);
} else {
$(ROOT_SELECTOR + " .title-standard, .description-text").css("height","auto");
}
log("adjustHeights executed");
}
/* === init — PÚBLICA === */
async function init() {
// debug externo
DEBUG = window.ecomNormaScripts?.properties?.isDebug === true;
// prefijo para todos los selectores
ROOT_SELECTOR =
window.ecomGlobalScripts?.properties?.querySelectors?.rootSelector ||
window.ecomNormaScripts?.properties?.querySelectors?.rootSelector ||
"#ecom-norma-detail-normas-referenced .standards-section";
log("window.ecomNormaReferencedScript init");
$(ROOT_SELECTOR + " .item-standard").each(function(){ initCard($(this)); });
initCarousel(true);
adjustHeights();
$(window).off("resize.standards").on("resize.standards", adjustHeights);
log("init executed");
}
/* === API pública === */
return { init, initCard, adjustHeights, initCarousel };
})(jQuery);
'
],
loop: false,
dots: false,
pagination: false,
margin: 25,
autoHeight: false,
responsive: {
0: { items: 1 }, 500: { items: 1 }, 767: { items: 2 }, 1000: { items: 3 }, 1200: { items: 4 }
}
});
$owl.off("initialized.owl.carousel refreshed.owl.carousel resized.owl.carousel translated.owl.carousel")
.on("initialized.owl.carousel refreshed.owl.carousel resized.owl.carousel translated.owl.carousel", adjustHeights);
log("initCarousel executed");
}
}
/* === initCard — PÚBLICA === */
function initCard($card) {
const dataNode = $card.find("script.normas-data")[0];
let data = [];
if (dataNode) {
try { data = JSON.parse(dataNode.textContent); } catch {}
}
const hasData = Array.isArray(data) && data.length > 0;
let langMap = {};
const mapNode = $card.find("script.lang-map")[0];
try { if (mapNode) langMap = JSON.parse(mapNode.textContent); } catch {}
const $lang = $card.find(".select-language");
const $fmt = $card.find(".select-format");
const $price = $card.find(".price-ae");
const toUC = s => (s || "").toString().toUpperCase();
const labelOf = lang => langMap[toUC(lang)] || lang;
const formatsFor = lang => _uniq(data.filter(d => d.language === lang).map(d => d.format));
const languagesFor = fmt => _uniq(data.filter(d => d.format === fmt).map(d => d.language));
const priceOf = (lang, fmt) => {
const m = data.find(d => d.language === lang && d.format === fmt);
return m ? Number(m.price) || 0 : 0;
};
const parsePriceText = (text) => {
if (!text) return 0;
const clean = String(text).replace(/[^\d,.-]/g, "").trim();
if (!clean) return 0;
if (clean.includes(",") && clean.includes(".")) {
const normalized = clean.replace(/\./g, "").replace(",", ".");
return Number(normalized) || 0;
}
const normalized = clean.replace(",", ".");
return Number(normalized) || 0;
};
if (hasData) {
function onLanguageChange() {
const lang = $lang.val();
const fmts = formatsFor(lang);
_fill($fmt, fmts);
$price.text(_euros(priceOf(lang, $fmt.val())));
}
function onFormatChange() {
const fmt = $fmt.val();
const langs = languagesFor(fmt);
_fill($lang, langs, labelOf);
$price.text(_euros(priceOf($lang.val(), fmt)));
}
const l0 = $lang.val();
const f0 = $fmt.val();
if (!data.find(d => d.language === l0 && d.format === f0)) onLanguageChange();
else $price.text(_euros(priceOf(l0, f0)));
_relabel($lang, labelOf);
$lang.off("change.ae").on("change.ae", onLanguageChange);
$fmt.off("change.ae").on("change.ae", onFormatChange);
}
async function onAdd(e) {
e.preventDefault();
var entryType = ($card.data('entrytype') || 'Norma');
var code = ($card.data('code') || '').toString();
var codIdioma = ($card.find('.select-language').val() || '').toString();
var codFormato = ($card.find('.select-format').val() || '').toString();
if (!code) code = ($card.find('.title-standard').text() || '').trim();
await window.ecomGlobalScripts.functions.addToCart({
entryType: entryType,
code: code,
codIdioma: codIdioma,
codFormato: codFormato,
price: Number(priceOf(codIdioma, codFormato)) || 0,
name: ($card.data('title') || '').toString(),
amount: 1
});
}
$card.find(".standard-button").off("click.ae").on("click.ae", function(e){
const btn = this;
const run = () => onAdd(e);
const helper = window.ecomGlobalScripts?.functions?.withButtonSpinner;
if (typeof helper === "function") {
return helper(btn, run, { spinnerClass: "spinner-border spinner-border-sm text-light", mode: "replace" });
}
return run();
});
// Evita que Owl Carousel interprete el click como drag horizontal
$card.find(".standard-button")
.off("pointerdown.owl mousedown.owl touchstart.owl")
.on("pointerdown.owl mousedown.owl touchstart.owl", function(e){
e.stopPropagation();
});
}
/* === adjustHeights — PÚBLICA === */
function adjustHeights() {
if ($(window).width() > 766.98) {
let hT = 0, hD = 0;
$(ROOT_SELECTOR + " .title-standard").css("height","auto").each(function(){ hT=Math.max(hT,$(this).outerHeight()); });
$(ROOT_SELECTOR + " .description-text").css("height","auto").each(function(){ hD=Math.max(hD,$(this).outerHeight()); });
$(ROOT_SELECTOR + " .title-standard").height(hT);
$(ROOT_SELECTOR + " .description-text").height(hD);
} else {
$(ROOT_SELECTOR + " .title-standard, .description-text").css("height","auto");
}
log("adjustHeights executed");
}
/* === init — PÚBLICA === */
async function init() {
// debug externo
DEBUG = window.ecomNormaScripts?.properties?.isDebug === true;
// prefijo para todos los selectores
ROOT_SELECTOR =
window.ecomGlobalScripts?.properties?.querySelectors?.rootSelector ||
window.ecomNormaScripts?.properties?.querySelectors?.rootSelector ||
"#ecom-norma-detail-normas-referenced .standards-section";
log("window.ecomNormaReferencedScript init");
$(ROOT_SELECTOR + " .item-standard").each(function(){ initCard($(this)); });
initCarousel(true);
adjustHeights();
$(window).off("resize.standards").on("resize.standards", adjustHeights);
log("init executed");
}
/* === API pública === */
return { init, initCard, adjustHeights, initCarousel };
})(jQuery);
window.ecomNormaScripts = window.ecomNormaScripts || (function () {
/* =====================================
PROPIEDADES PRIVADAS
===================================== */
const privateProps = window.ecomNormaScripts?.privateProps || {
//test1: {},
//test2: 0
};
/* =====================================
INICIALIZACIÓN DE PROPERTIES PRIVADAS
===================================== */
(function initPrivateProps() {
/* privateProps.test1 = {
test11: "",
test111: {
test1112: "00,00",
test1113: "€",
test1114: "00",
test1115: "000-00-000",
test1116: "0000",
test1117: "000"
},
test2: ""
};*/
})();
/* =====================================
PROPIEDADES PÚBLICAS
===================================== */
const publicProps = {
funcsEcomGlobalScripts: null,
propsEcomGlobalScripts: null,
isDebug: false
};
/* =====================================
INICIALIZACIÓN DE PROPERTIES PÚBLICAS
===================================== */
(function initPublicProps() {
//publicProps.TEST1 = "";
//publicProps.TEST2 = 0;
})();
/* =====================================
FUNCIONES PÚBLICAS
===================================== */
//En functions declaramos la functions publicas
const functions = {};
functions.init = async function () {
await _initPublicProps();
await _DOMContentLoaded();
};
/* =====================================
FUNCIONES PRIVADAS
===================================== */
const _initPublicProps = async function() {
// Obtener referencias de ecomGlobalScripts
publicProps.funcsEcomGlobalScripts = window.ecomGlobalScripts?.functions || {};
publicProps.propsEcomGlobalScripts = window.ecomGlobalScripts?.properties || {};
// Configurar debug
publicProps.isDebug = (false || publicProps.propsEcomGlobalScripts?.isDebug) ?? false;
// Asegurar que querySelectors existe (crearlo si no existe)
publicProps.propsEcomGlobalScripts.querySelectors ??= {};
// Agregar las propiedades querySelectors
publicProps.propsEcomGlobalScripts.querySelectors.rootSelector = "#ecom-norma-detail-normas-referenced .standards-section";
};
const _DOMContentLoaded = async function () {
//Se llama desde [dxp-ecom-portal/misc/adt/tienda/Detalle producto/ECOM-Global-Scripts.ftl] desde: document.addEventListener("DOMContentLoaded")
if (publicProps.isDebug) console.log("DOMContentLoaded ecom Norma scripts");
window.ecomGlobalScripts?.functions?.pushViewItemEvent?.({
name: "DIN EN 1982:1998-12",
id: "8711291",
category: "Normas DIN"
});
};
// ---- Execute Listener DOMContentLoaded ----
document.addEventListener("DOMContentLoaded", async function() {
//Se llama desde [dxp-ecom-portal/misc/adt/tienda/Detalle producto/ECOM-Global-Scripts.ftl] desde: document.addEventListener("DOMContentLoaded")
//await _DOMContentLoaded();
});
/* =====================================
API PÚBLICA
===================================== */
return {
properties: publicProps, // properties public
functions: functions // functions public
};
})();
//TODO: repasar y quitar lo relacionado con selectores y precio.
/*TODO:
-Se llama a la [async function init()] dentro de aqui [ecomNormaReferencedScript]
desde fragment [dxp-ecom-portal/misc/fragments/Collection Tienda/ECOM-Global_functions/index.js] de la siguiente manera:
if (typeof window.ecomNormaReferencedScript?.init === "function") {
await window.ecomNormaReferencedScript.init();
}
*/
window.ecomNormaReferencedScript = (function ($) {
/* === CONFIG === */
let DEBUG = false;
let ROOT_SELECTOR = null;
function log(...args) {
if (DEBUG) console.log("[ecomNorma]", ...args);
}
/* === FUNCIONES PRIVADAS === */
function _euros(v) {
const n = Number(v) || 0;
return n.toLocaleString("es-ES", { minimumFractionDigits: 2, maximumFractionDigits: 2 }) + " €";
}
function _uniq(a) {
return Array.from(new Set(a));
}
function _fill($sel, values, textFn) {
const keep = $sel.val();
$sel.empty();
values.forEach(v => {
$sel.append($("", { value: v, text: textFn ? textFn(v) : v }));
});
if (keep && values.includes(keep)) $sel.val(keep);
else if (values.length) $sel.val(values[0]);
}
function _relabel($sel, textFn) {
$sel.find("option").each(function () {
const v = $(this).attr("value");
$(this).text(textFn ? textFn(v) : v);
});
}
/* === initCarousel — PÚBLICA === */
function initCarousel(force = false) {
const $owl = $(ROOT_SELECTOR + " .standards-container");
// no inicializar si no existe, está oculto o no tiene items
if (!$owl.length || !$owl.hasClass("owl-carousel") || !$owl.is(':visible') || $owl.children().length === 0) {
log("initCarousel abortado: no visible o sin items", $owl);
return;
}
if (force && $owl.hasClass("owl-loaded") && $owl.data("owl.carousel")) {
log("initCarousel Destruyendo Owl Carousel existent:", $owl);
$owl.trigger('destroy.owl.carousel');
// limpiar también owl-hidden para permitir reinicialización
$owl.removeClass('owl-loaded owl-hidden');
// limpiar markup de Owl
$owl.find('.owl-stage-outer').children().unwrap();
}
if ($owl.length && !$owl.hasClass("owl-loaded") && !$owl.data("owl.carousel")) {
$owl.owlCarousel({
nav: true,
navText: [
'
Se ha producido un error inesperado.










