Programación de precios paramétricos

Buenos días a todos aquellos lectores de este thread.
Acudo a este foro por una serie de dudas que mi amigo Google no me ha podido contestar.
Como todos han podido notar, mis dudas giran en torno a los conceptos paramétricos y he estado explorando dos maneras de explotar su potencial. Con Presto y con C++. Con Presto lo único que he podido encontrar son los tutoriales de las versiones 8 y un poco más por mi cuenta por medio de la observación, prueba y error. Con C++ lo seguí según indica la FIEBDC y al leer el código me cuesta bastante entender cómo funciona, y aun que las máquinas saben lo que hacen cuando el código está bien, este no es el caso, intenté infructuosamente compilar el código ofrecido en la pagina de la FIEBDC para enterarme que tenía errores de compilación que no entendí para nada.
Para poder plantear mis dudas en un entorno más familiar quisiera preguntar acerca de Presto y cómo funciona su código para parametrización.
Hasta donde tengo entendido, según la FIEBDC y Presto el número máximo de parámetros en un concepto es 4 y cada parámetro puede llegar a tener un máximo de 64 valores, eso a mi forma de ver es como infinito si uno tiene que digitar cada combinación posible. Bueno el caso, retornando a los parámetros y al ejemplo con el que he intentado extraer la mayor cantidad de información posible, tengo entendido que cada línea que comience con '\' es un parámetro y que los valores que van hasta el final de la linea y encerrado por '\' son valores que este parámetro puede tener.
Mi primera pregunta es, ¿en cada una de estas líneas se estarían declarando las variables 'A', 'B, 'C', 'D'?
Segunda pregunta, ¿cada variable creada 'A', 'B', 'C', 'D' tiene un valor numérico (%) y alfanumérico ($)?, es decir, ¿'$A' y '%A' son la misa variable pero con diferentes tipos de valor?

\ TIPO \ huecos \ macizos \ #<- ¿Creación e Inicialización de A?
\ FORMATO \ 40x10x5 \ 40x20x10 \ 40x20x12 \ 40x20x15 \ 40x20x20 \ 50x12x12 \ #<- ¿Creación e Inicialización de B?
\ MODELO \ Liso \ Rudolph \ Besana \ Sardinel \ Tubular \ Ranurado \ Flat \ Split \ #<- ¿Creación e Inicialización de C?

Ahora ya hemos superado la creación e inicialización de las variables, ahora comienza la parte de la selección de los valores. Al parecer, en el ejemplo para paramétricos del Presto 8 (XIVE). La variable A no contribuye mucho a la discriminación del formato y el modelo. Pero igual pasa algo confuso para mí, ¡aparece una nueva variable 'T'!, ¿no me enteré en qué momento la crearon o la estamos creando aquí? :confused: pero sé que sirve para todo al final, ¿será que por eso se llama 'T'? (sorry, pregunta estúpida).
Bueno, regresando al ejemplo, se puede observar esto:

# $B 40x10x5 40x20x10 40x20x12 40x20x15 40x20x20 50x12x12 formato bloques
%T(3,6)= 25.000, 13.000, 13.000, 13.000, 13.000, 17.400, # rendim. bloques
0.014, 0.005, 0.006, 0.007, 0.010, 0.008, # rendim. mortero
0.660, 0.680, 0.760, 0.840, 0.960, 0.860 # rendim. ofi. 1ª
# C,B 40x10x5 40x20x10 40x20x12 40x20x15 40x20x20 50x12x12 formato bloques
$T(8,6)= "","PFFH.7a","PFFH.7b","PFFH.7c","PFFH.7d", "", #Liso
"","PFFH.8a", "","PFFH.8b", "", "", #Rudolph
"","PFFH.9a", "", "", "", "", #Besana
"","PFFH10a","PFFH10b", "","PFFH10c", "", #Sardinel
"", "","PFFH11a", "","PFFH11b", "", #Tubular
"", "", "", "", "","PFFH12a", #Ranurado
"", "", "", "", "","PFFH13a", #Flat
"PFFH16a", "", "", "","PFFH14b","PFFH14a" #Split

Como podemos verla variable 'T' es creada y es realmente una matriz que retorna valores en función del valor de las variables 'B' y 'C'.
En la primera matriz lo que obtenemos es una serie de valores que vamos a utilizar en el futuro y que lo único que requiere es el valor de 'B', ya que es el que define que formato de bloque se seleccionará.
En la segunda matriz, lo que obtenemos es lo que podemos ver como verde o amarillo al momento de seleccionar el formato o el modelo, entonces al seleccionar 'liso' solo estarán disponibles los formatos '40x20x10', '40x20x12', '40x20x15', '40x20x20' que están representados por los conceptos "PFFH.7a", "PFFH.7b", "PFFH.7c", "PFFH.7d".
¿Por qué tienen diferente código? Porque son la conjunción de dos propiedades: 'liso' y cada uno de los formatos mencionados anteriormente.
Aquí surge mi tercera, cuarta y quinta pregunta: ¿Estos conceptos que están aquí mencionados tienen que haberse definido anteriormente? ¿en qué parte los tengo que definir? ¿cómo es que los busco en 'Conceptos' y algunos no aparecen mientras que otros sí? ¿por qué?
Continuando con el ejemplo aparece esto:

$E= "Formato de bloques no disponible" # texto de error
%E= ! $T(%C,%B)

Al parecer estas líneas de código describen una situación de error y el comportamiento que tienen que adoptar en caso de error.
Pero, aquí viene la sexta, ¿cómo es posible que uno se equivoque si la matriz anterior no lo permitía?
Retornemos, estamos llegando a la segunda parte más interesante del código (la primera fueron las matrices).

$T(%C,%B) : %T(1,%B) # bloques
PBPM.1ea : %T(2,%B) # mortero
MOOA28a : %T(3,%B) # oficial 1ª
MOOA28e : 0.5*%T(3,%B) # peón especializado
% : 2.000 # medios auxiliares

Bueno, como podemos observar aquí, la variable 'T' toma su valor dependiendo del valor de 'C' y 'B'. Entonces selecciona el código del concepto dependiendo del valor que tengan para FORMATO y MODELO, es decir, si selecciono el formato '40x20x15', 'B' tendrá un valor numérico de '3' o de '4' dependiendo si empezamos a contar desde 0 o desde 1. Y si selecciono el modelo 'Rudolph', 'C' tendrá un valor numérico de '1' o de '2' dependiendo de lo mismo que antes, Sin embargo, el Presto empieza a contar desde 1. Entonces para conocer el código del concepto que agrupa esas dos características tengo que ubicarme en la matriz 'T' usando estos valores, siendo $T(4,2) = "PFFH.8b" (parte textual de T).
Bueno, luego sigue este intrigante operador ':' que asumí como un operador de asignación al campo 'PrPres'. Seguido de esto aparece nuevamente T, pero selecciona la cantidad de ladrillos que necesito para realizar la partida, para mi ejemplo seria %T(1,4) = 13.000 (parte numérica de T).
Bueno, aquí una repetición de mi tercera y cuarta pregunta: ¿Estos conceptos que están aquí mencionados tienen que haberse definido anteriormente? ¿en qué parte los tengo que definir?
Séptima pregunta: ¿los valores que estoy asignando a los conceptos modifica en alguna forma el resto de conceptos con el mismo código?
Retornemos al código, ya casi terminamos.

$U(2)= "BHV", "BMV" # rótulos para resumen

Aqui se crea una variable U de tamaño 2 con los valores mencionados arriba, para hueco y para macizo.

\ RESUMEN \ Fábrica CV $U(%A) $B $C \

Aquí se obtiene el valor de U por medio del valor de 'A' y se imprime en el resumen.

\ TEXTO \ Fábrica vista realizada con bloques $A de $B cm tipo '$C', aparejados y recibidos con mortero de cemento, según especificaciones de proyecto y NTE/FFB; incluso replanteo, nivelación y aplomado, p.p. de enjarjes, mermas, roturas y piezas especiales (medio, esquina, etc.), humedecido de las partes en contacto con el mortero, rejuntado y limpieza. Medida deduciendo huecos superiores a 1 m2. \

Y aquí se imprimen los valores textuales de 'A', 'B', y 'C'.
Fin de mi recorrido por el código de ejemplo de Presto y hemos visto cómo funciona para selección exclusiva entre dos parámetros, pero no tengo muy claro cómo hacerlo con tres e incluso cuatro parámetros. ¿Alguien, por favor, me podría ayudar?
Si alguien observa algo que yo haya omitido (que es MUY probable, puesto que llevo solo dos semanas indagando en esto de la parametrización en Presto), por favor, mencionadlo, agregadlo, etc. ya que esto es un foro y es para generar conocimiento libre en el que todos podemos aprender un poquito de los demás.
¡Muchas gracias por haber leído este post!
P. D.: Si no es mucho pedir que aporten pronto, que este tema me esta dando muchas vueltas en la cabeza, ¡gracias! :)
 
Buenos dias, en la entrada anterior vimos como manejar hasta dos dimensiones, he indagado un poco mas acerca de como manejar 3, en la especificacion del FIEBDC mencionan que son aceptables segun el formato hasta 4 dimensiones, la pregunta es como expresar cuatro dimensiones de una matriz en solo dos que es la que manejamos cuando manejamos texto?
La respuesta con la que me encontre fue la siguiente: agrupar!
Si alguna vez habiamos escuchado/leido "divide y vencerás!" este no es el caso xD!
Bueno aqui un ejemplo que he intentado desarrollar siguiendo o imitando uno encontrado en la base de datos del IVE, solo que los del IVE trabajan con dll y no con el editor de parametricos de presto. Para los que no saben aun como es que trabaja este dll (me imagino que todos ya lo saben), es una libreria de enlaces dinamicos (dll por sus siglas en ingles) es un archivo escrito y compilado en C++, hasta donde he podido seguir la pista, que almacena todas las combinaciones posibles como en el presto pero esta escrito en C++ y es muy complicado saber como es que funciona el parametrico por debajo de la interfaz de usuario y requiere un poco mas de trabajo entenderlo con respecto a la programacion de parametricos de presto, sin embargo pareciera que lo hace un poco mas sencillo al manejar mayores cantidades de conceptos derivados de los parametricos.

Bueno retornando al ejemplo/ fuente de dudas...
\FUNCIONAMIENTO\Diesel\Eléctrica\ #Definicion Variable A
\ALTURA\8\10\12\16\18\ #Definicion Variable B
\CARGA MÁX (Kg)\600\900\ #Definicion Variable C
\PESO TOTAL\2000\4000\6000\ #Definicion Variable D
#Definicion de los precios de cada maquinaria
# FUNCIONAMIENTO DIESEL
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
%T(2,5,2,3)= 61.8, 77.25, 113.3, #8 /600
67.98, 85.49, 124.63, #8 /900
77.25, 99.91, 128.75, #10 /600
85.49, 109.18, 142.14, #10 /900
82.4, 106.09, 136.99, #12 /600
90.64, 116.39, 150.38, #12 /900
98.88, 127.72, 164.8, #16 /600
109.18, 140.08, 181.28, #16 /900
118.45, 154.5, 198.79, #18 /600
130.81, 169.95, 218.36, #18 /900
# FUNCIONAMIENTO ELÉCTRICA
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
51.5, 64.89, 94.76, #8 /600
56.65, 71.07, 104.03, #8 /900
57.68, 72.1, 106.09, #10 /600
63.86, 79.31, 116.39, #10 /900
61.8, 77.25, 113.3, #12 /600
67.98, 85.49, 124.63, #12 /900
74.16, 92.7, 136.99, #16 /600
81.37, 101.97, 150.38, #16 /900
95.79, 111.24, 164.8, #18 /600
106.09, 122.57, 181.28 #18 /900
#Definicion del codigo de cada maquinaria
# FUNCIONAMIENTO DIESEL
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
$T(2,5,2,3)= "MAQM.1aaaa", "MAQM.1aaab", "MAQM.1aaac", #8 /600
"MAQM.1aaba", "MAQM.1aabb", "MAQM.1aabc", #8 /900
"MAQM.1abaa", "MAQM.1abab", "MAQM.1abac", #10 /600
"MAQM.1abba", "MAQM.1abbb", "MAQM.1abbc", #10 /900
"MAQM.1acaa", "MAQM.1acab", "MAQM.1acac", #12 /600
"MAQM.1acba", "MAQM.1acbb", "MAQM.1acbc", #12 /900
"MAQM.1adaa", "MAQM.1adab", "MAQM.1adac", #16 /600
"MAQM.1adba", "MAQM.1adbb", "MAQM.1adbc", #16 /900
"MAQM.1aeaa", "MAQM.1aeab", "MAQM.1aeac", #18 /600
"MAQM.1aeba", "MAQM.1aebb", "MAQM.1aebc", #18 /900
# FUNCIONAMIENTO ELÉCTRICA
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
"MAQM.1baaa", "MAQM.1baab", "MAQM.1baac", #8 /600
"MAQM.1baba", "MAQM.1babb", "MAQM.1babc", #8 /900
"MAQM.1bbaa", "MAQM.1bbab", "MAQM.1bbac", #10 /600
"MAQM.1bbba", "MAQM.1bbbb", "MAQM.1bbbc", #10 /900
"MAQM.1bcaa", "MAQM.1bcab", "MAQM.1bcac", #12 /600
"MAQM.1bcba", "MAQM.1bcbb", "MAQM.1bcbc", #12 /900
"MAQM.1bdaa", "MAQM.1bdab", "MAQM.1bdac", #16 /600
"MAQM.1bdba", "MAQM.1bdbb", "MAQM.1bdbc", #16 /900
"MAQM.1beaa", "MAQM.1beab", "MAQM.1beac", #18 /600
"MAQM.1beba", "MAQM.1bebb", "MAQM.1bebc" #18 /900
$E= "Combinacion Inexistente" # texto de error
%E= ! $T(%A,%B,%C,%D)
#Asignacion del precio del concepto seleccionado
:: %T(%A,%B,%C,%D)
$U(2)= "dsl", "elect" # rótulos para resumen
\ RESUMEN \ Plat tij $Bm $U(%A) crg-$C $DKg \
\ TEXTO \ Alquiler de plataforma elevadora móvil de personal PEMP de tijera $A, para una altura de trabajo de $Bm y una carga máxima en plataforma de $C Kg con un peso total de $D Kg, incluso manual de instrucciones y formación del operador, conforme UNE EN 280:2001.\
Bueno el unico incognita que tengo es el de los "::" al que llegue por puro ensayo y error. Al parecer los ":" son operadores de acceso o de alcance, la verdad lo resolvi por pura suerte, si hay alguien que entienda esto mejor por favor comente.
Muchas gracias por la oportunidad de ser leido.
 
Una sentencia con "::" indica que el precio paramétrico produce un precio simple (sin descomposición). Sólo puede aparecer una sentencia de éstas en la Descripción Paramétrica.

Las Descripciones Paramétricas que producen precios descompuestos emplean sentencias con ":", las cuales describen cada una de las líneas de descomposición, con la sintaxis:

codigo_del_concepto : cantidad_en_que_interviene

Una línea especial es la compuesta por:

% : porcentaje_de_medios_auxiliares

que define una línea de descomposición de medios auxiliares.

Y para terminar, las Descripciones Paramétricas no son patrimonio de Presto. Se definen en el estándar FIEBDC y la mayoría de programas de Mediciones y Presupuestos las contemplan.

Espero haberte servido de ayuda.
 
Gracias por el dato, ya habia revisado la pagina, y pues cada vez que la reviso descubro cosas nuevas, de verdad gracias.
Espero que una pregunta mas no haga daño, Qué es y cómo se usa la recursividad en conceptos paramétricos?
 
Una Descripción Paramétrica puede emplear en su descomposición un elemento de otra Descripción Paramétrica, basta con mencionar su código (que es el mismo que el de la familia, pero sustituyendo el caracter final '$' por las letras de los parámetros seleccionados, es decir, tantas letras minúsculas seguidas como parámetros tenga definida esa segunda Descripción Paramétrica).
 
Buenas Tardes a todos!
Hoy subire ejemplos de parametrizaciones no excluyentes y excluyentes.
Si les gusta comenten, si ven algo raro comenten, si no les gusta comenten, tambien lo pueden probar yo ya los he probado mientras los hacia!
Un saludo,

Parametrizacion con un parámetro

\GRUPO SEMAFORICO\2\3\4\6\7\8\9\10\11\12\14\16\17\18\20\21\23\24\25\26\27\28\30\32\ #Definicion variable A

$T(24)="PUSS16a", "PUSS1b", "PUSS16c", "PUSS16d", "PUSS16e", "PUSS16f",
"PUSS16g", "PUSS16h", "PUSS16i", "PUSS16j", "PUSS16k", "PUSS16l",
"PUSS16m", "PUSS16n", "PUSS16o", "PUSS16p", "PUSS16q", "PUSS16r",
"PUSS16s", "PUSS16t", "PUSS16u", "PUSS16v", "PUSS16w", "PUSS16x"

%T(24)=3374.72, 3619.36, 3864.00, 4353.29, 4597.93, 4842.57,
5087.23, 5331.87, 5576.51, 5821.15, 6310.44, 6799.73,
7044.36, 7289.01, 7778.30, 8022.94, 8512.23, 8756.87,
9001.52, 9246.17, 9490.80, 9735.45, 10224.74, 10714.02

$E= "Grupo No Disponible" # texto de error
%E= ! $T(%A)
:: %T(%A)
\ RESUMEN \Reg electr p/%A grup semafr\
\ TEXTO \Regulador electrónico para %A grupos semafóricos.\

*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-
 
Buenas Tardes a todos!
Hoy subire ejemplos de parametrizaciones no excluyentes y excluyentes.
Si les gusta comenten, si ven algo raro comenten, si no les gusta comenten, tambien lo pueden probar yo ya los he probado mientras los hacia!
Un saludo,

Parametrizacion con dos parámetros no excluyentes.

\ALTURA\0.8\1\2\2.4\ #Definicion variable A
\TIPO\base de fundicion\base de chapa\puerta y visera\portatil\ #Definicion variable B

$T(4,4)= "PUSS60aa", "PUSS60ab", "PUSS60ac", "",
"PUSS60ba", "PUSS60bb", "PUSS60bc", "",
"PUSS60ca", "PUSS60cb", "PUSS60cc", "",
"PUSS60da", "PUSS60db", "PUSS60dc", ""
%T(4,4)= 113.46, 142.95, 111.02, 112.12,
89.63, 91.48, 81.48, ,
115.44, 140.48, 112.97, ,
120.57, 145.90, 117.98,
$E= "Combinacion No Disponible" # texto de error
%E= ! $T(%A,%B)
#Asignacion del precio del concepto seleccionado
:: %T(%A,%B)
$U(4)= "bas fund", "camp ch", "prta Visera", "porta"
\ RESUMEN \Columna alt $A $U(%B)\
\ TEXTO \Columna de hierro, de $Am de altura, con $B de hierro galvanizado de 3.6mm de espesor, protegido con pintura de imprimación antioxidante , empotrada.\

*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-

Parametrizacion con dos parámetros excluyentes.
\ALTURA\0.8\1\2\2.4\ #Definicion variable A
\TIPO\base de fundicion\base de chapa\puerta y visera\portatil\ #Definicion variable B

$T(4,4)= "PUSS60aa", "PUSS60ab", "PUSS60ac", "",
"PUSS60ba", "PUSS60bb", "PUSS60bc", "",
"PUSS60ca", "PUSS60cb", "PUSS60cc", "",
"PUSS60da", "PUSS60db", "PUSS60dc", "PUSS60dd"
%T(4,4)= 113.46, 142.95, 111.02, ,
89.63, 91.48, 81.48, ,
115.44, 140.48, 112.97, ,
120.57, 145.90, 117.98, 112.12
$E= "Combinacion No Disponible" # texto de error
%E= ! $T(%A,%B)
#Asignacion del precio del concepto seleccionado
:: %T(%A,%B)
$U(4)= "bas fund", "camp ch", "prta Visera", "porta"
\ RESUMEN \Columna alt $A $U(%B)\
\ TEXTO \Columna de hierro, de $Am de altura, con $B de hierro galvanizado de 3.6mm de espesor, protegido con pintura de imprimación antioxidante , empotrada.\

*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-
 
Buenas Tardes a todos!
Hoy subire ejemplos de parametrizaciones no excluyentes y excluyentes.
Si les gusta comenten, si ven algo raro comenten, si no les gusta comenten, tambien lo pueden probar yo ya los he probado mientras los hacia!
Un saludo,
Parametrizacion con tres parámetros no excluyentes.
\ TIPO \ huecos \ macizos \
\ FORMATO \ 40x10x5 \ 40x20x10 \ 40x20x12 \ 40x20x15 \ 40x20x20 \ 50x12x12 \
\ MODELO \ Liso \ Rudolph \ Besana \ Sardinel \ Tubular \ Ranurado \ Flat \ Split \
# Huecos
# 40x10x5 40x20x10 40x20x12 40x20x15 40x20x20 50x12x12 formato bloques/Modelo
%T(2,8,6)= 0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Liso
0.90, 0.9, 1.7, 1.7, 1.6, 1.7, #Rudolph
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Besana
0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Sardinel
0.90, 0.9, 1.7, 1.7, 1.6, 1.7, #Tubular
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Ranurado
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Flat
0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Split
# Macizos
0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Liso
0.90, 0.9, 1.7, 1.7, 1.6, 1.7, #Rudolph
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Besana
0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Sardinel
0.90, 0.9, 1.7, 1.7, 1.6, 1.7, #Tubular
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Ranurado
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Flat
0.9, 0.9, 1.3, 0.6, 0.6, 1.4 #Split
# Huecos
# 40x10x5 40x20x10 40x20x12 40x20x15 40x20x20 50x12x12 formato bloques/Modelo
$T(2,8,6)= "PFFH.7aaa", "PFFH.7aab", "PFFH.7aac", "PFFH.7aad", "PFFH.7aae", "PFFH.7aaf", #Liso
"PFFH.7aba", "PFFH.7abb", "PFFH.7abc", "PFFH.7abd", "PFFH.7abe", "PFFH.7abf", #Rudolph
"PFFH.7aca", "PFFH.7acb", "PFFH.7acc", "PFFH.7acd", "PFFH.7ace", "PFFH.7acf", #Besana
"PFFH.7ada", "PFFH.7adb", "PFFH.7adc", "PFFH.7add", "PFFH.7ade", "PFFH.7adf", #Sardinel
"PFFH.7aea", "PFFH.7aeb", "PFFH.7aec", "PFFH.7aed", "PFFH.7aee", "PFFH.7aef", #Tubular
"PFFH.7afa", "PFFH.7afb", "PFFH.7afc", "PFFH.7afd", "PFFH.7afe", "PFFH.7aff", #Ranurado
"PFFH.7aga", "PFFH.7agb", "PFFH.7agc", "PFFH.7agd", "PFFH.7age", "PFFH.7agf", #Flat
"PFFH.7aha", "PFFH.7ahb", "PFFH.7ahc", "PFFH.7ahd", "PFFH.7ahe", "PFFH.7ahf", #Split
# Macizos
"PFFH.7baa", "PFFH.7bab", "PFFH.7bac", "PFFH.7bad", "PFFH.7bae", "PFFH.7baf", #Liso
"PFFH.7bba", "PFFH.7bbb", "PFFH.7bbc", "PFFH.7bbd", "PFFH.7bbe", "PFFH.7bbf", #Rudolph
"PFFH.7bca", "PFFH.7bcb", "PFFH.7bcc", "PFFH.7bcd", "PFFH.7bce", "PFFH.7bcf", #Besana
"PFFH.7bda", "PFFH.7bdb", "PFFH.7bdc", "PFFH.7bdd", "PFFH.7bde", "PFFH.7bdf", #Sardinel
"PFFH.7bea", "PFFH.7beb", "PFFH.7bec", "PFFH.7bed", "PFFH.7bee", "PFFH.7bef", #Tubular
"PFFH.7bfa", "PFFH.7bfb", "PFFH.7bfc", "PFFH.7bfd", "PFFH.7bfe", "PFFH.7bff", #Ranurado
"PFFH.7bga", "PFFH.7bgb", "PFFH.7bgc", "PFFH.7bgd", "PFFH.7bge", "PFFH.7bgf", #Flat
"PFFH.7bha", "PFFH.7bhb", "PFFH.7bhc", "PFFH.7bhd", "PFFH.7bhe", "PFFH.7bhf" #Split
$E= "Formato de bloques no disponible" # texto de error
%E= ! $T(%A,%C,%B)
:: %T(%A,%C,%B)
$U(2)= "Hueco", "Macizo" # rótulos para resumen
\ RESUMEN \ Blq.$U(%A) "$C" $B. \
\ TEXTO \ Bloque $U(%A) caravista "$C" $B cm de hormigón vibrocomprimido color. \

*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-

Parametrizacion con tres parámetros excluyentes.
\ TIPO \ huecos \ macizos \
\ FORMATO \ 40x10x5 \ 40x20x10 \ 40x20x12 \ 40x20x15 \ 40x20x20 \ 50x12x12 \
\ MODELO \ Liso \ Rudolph \ Besana \ Sardinel \ Tubular \ Ranurado \ Flat \ Split \
# Huecos
# 40x10x5 40x20x10 40x20x12 40x20x15 40x20x20 50x12x12 formato bloques/Modelo
%T(2,8,6)= 0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Liso
, 0.9, 1.7, 1.7, 1.6, 1.7, #Rudolph
1.3, , 1, 0.8, 1.1, 1.2, #Besana
0.9, 0.9, , 0.6, 0.6, 1.4, #Sardinel
0.90, 0.9, 1.7, , 1.6, 1.7, #Tubular
1.3, 1.1, 1, 0.8, , 1.2, #Ranurado
1.3, 1.1, 1, 0.8, 1.1, , #Flat
0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Split
# Macizos
0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Liso
0.90, 0.9, 1.7, 1.7, 1.6, 1.7, #Rudolph
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Besana
0.9, 0.9, 1.3, 0.6, 0.6, 1.4, #Sardinel
0.90, 0.9, 1.7, 1.7, 1.6, 1.7, #Tubular
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Ranurado
1.3, 1.1, 1, 0.8, 1.1, 1.2, #Flat
0.9, 0.9, 1.3, 0.6, 0.6, 1.4 #Split
# Huecos
# 40x10x5 40x20x10 40x20x12 40x20x15 40x20x20 50x12x12 formato bloques/Modelo
$T(2,8,6)= "PFFH.7aaa", "PFFH.7aab", "PFFH.7aac", "PFFH.7aad", "PFFH.7aae", "PFFH.7aaf", #Liso
"", "PFFH.7abb", "PFFH.7abc", "PFFH.7abd", "PFFH.7abe", "PFFH.7abf", #Rudolph
"PFFH.7aca", "", "PFFH.7acc", "PFFH.7acd", "PFFH.7ace", "PFFH.7acf", #Besana
"PFFH.7ada", "PFFH.7adb", "", "PFFH.7add", "PFFH.7ade", "PFFH.7adf", #Sardinel
"PFFH.7aea", "PFFH.7aeb", "PFFH.7aec", "", "PFFH.7aee", "PFFH.7aef", #Tubular
"PFFH.7afa", "PFFH.7afb", "PFFH.7afc", "PFFH.7afd", "", "PFFH.7aff", #Ranurado
"PFFH.7aga", "PFFH.7agb", "PFFH.7agc", "PFFH.7agd", "PFFH.7age", "", #Flat
"PFFH.7aha", "PFFH.7ahb", "PFFH.7ahc", "PFFH.7ahd", "PFFH.7ahe", "PFFH.7ahf", #Split
# Macizos
"PFFH.7baa", "PFFH.7bab", "PFFH.7bac", "PFFH.7bad", "PFFH.7bae", "PFFH.7baf", #Liso
"PFFH.7bba", "PFFH.7bbb", "PFFH.7bbc", "PFFH.7bbd", "PFFH.7bbe", "PFFH.7bbf", #Rudolph
"PFFH.7bca", "PFFH.7bcb", "PFFH.7bcc", "PFFH.7bcd", "PFFH.7bce", "PFFH.7bcf", #Besana
"PFFH.7bda", "PFFH.7bdb", "PFFH.7bdc", "PFFH.7bdd", "PFFH.7bde", "PFFH.7bdf", #Sardinel
"PFFH.7bea", "PFFH.7beb", "PFFH.7bec", "PFFH.7bed", "PFFH.7bee", "PFFH.7bef", #Tubular
"PFFH.7bfa", "PFFH.7bfb", "PFFH.7bfc", "PFFH.7bfd", "PFFH.7bfe", "PFFH.7bff", #Ranurado
"PFFH.7bga", "PFFH.7bgb", "PFFH.7bgc", "PFFH.7bgd", "PFFH.7bge", "PFFH.7bgf", #Flat
"PFFH.7bha", "PFFH.7bhb", "PFFH.7bhc", "PFFH.7bhd", "PFFH.7bhe", "PFFH.7bhf" #Split

$E= "Formato de bloques no disponible" # texto de error
%E= ! $T(%A,%C,%B)
:: %T(%A,%C,%B)
$U(2)= "Hueco", "Macizo" # rótulos para resumen
\ RESUMEN \ Blq.$U(%A) "$C" $B. \
\ TEXTO \ Bloque $U(%A) caravista "$C" $B cm de hormigón vibrocomprimido color. \
*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-
 
Buenas Tardes a todos!
Hoy subire ejemplos de parametrizaciones no excluyentes y excluyentes.
Si les gusta comenten, si ven algo raro comenten, si no les gusta comenten, tambien lo pueden probar yo ya los he probado mientras los hacia!
Un saludo,

Parametrizacion con cuatro parámetros no excluyentes.
\FUNCIONAMIENTO\Diesel\Eléctrica\ #Definicion Variable A
\ALTURA\8\10\12\16\18\ #Definicion Variable B
\CARGA MÁX (Kg)\600\900\ #Definicion Variable C
\PESO TOTAL\2000\4000\6000\ #Definicion Variable D
#Definicion de los precios de cada maquinaria
# FUNCIONAMIENTO DIESEL
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
%T(2,5,2,3)= 61.8, 77.25, 113.3, #8 /600
67.98, 85.49, 124.63, #8 /900
77.25, 99.91, 128.75, #10 /600
85.49, 109.18, 142.14, #10 /900
82.4, 106.09, 136.99, #12 /600
90.64, 116.39, 150.38, #12 /900
98.88, 127.72, 164.8, #16 /600
109.18, 140.08, 181.28, #16 /900
118.45, 154.5, 198.79, #18 /600
130.81, 169.95, 218.36, #18 /900

# FUNCIONAMIENTO ELÉCTRICA
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX

51.5, 64.89, 94.76, #8 /600
56.65, 71.07, 104.03, #8 /900
57.68, 72.1, 106.09, #10 /600
63.86, 79.31, 116.39, #10 /900
61.8, 77.25, 113.3, #12 /600
67.98, 85.49, 124.63, #12 /900
74.16, 92.7, 136.99, #16 /600
81.37, 101.97, 150.38, #16 /900
95.79, 111.24, 164.8, #18 /600
106.09, 122.57, 181.28 #18 /900

#Definicion del codigo de cada maquinaria
# FUNCIONAMIENTO DIESEL
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
$T(2,5,2,3)= "MAQM.1aaaa", "MAQM.1aaab", "MAQM.1aaac", #8 /600
"MAQM.1aaba", "MAQM.1aabb", "MAQM.1aabc", #8 /900
"MAQM.1abaa", "MAQM.1abab", "MAQM.1abac", #10 /600
"MAQM.1abba", "MAQM.1abbb", "MAQM.1abbc", #10 /900
"MAQM.1acaa", "MAQM.1acab", "MAQM.1acac", #12 /600
"MAQM.1acba", "MAQM.1acbb", "MAQM.1acbc", #12 /900
"MAQM.1adaa", "MAQM.1adab", "MAQM.1adac", #16 /600
"MAQM.1adba", "MAQM.1adbb", "MAQM.1adbc", #16 /900
"MAQM.1aeaa", "MAQM.1aeab", "MAQM.1aeac", #18 /600
"MAQM.1aeba", "MAQM.1aebb", "MAQM.1aebc", #18 /900
# FUNCIONAMIENTO ELÉCTRICA
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
"MAQM.1baaa", "MAQM.1baab", "MAQM.1baac", #8 /600
"MAQM.1baba", "MAQM.1babb", "MAQM.1babc", #8 /900
"MAQM.1bbaa", "MAQM.1bbab", "MAQM.1bbac", #10 /600
"MAQM.1bbba", "MAQM.1bbbb", "MAQM.1bbbc", #10 /900
"MAQM.1bcaa", "MAQM.1bcab", "MAQM.1bcac", #12 /600
"MAQM.1bcba", "MAQM.1bcbb", "MAQM.1bcbc", #12 /900
"MAQM.1bdaa", "MAQM.1bdab", "MAQM.1bdac", #16 /600
"MAQM.1bdba", "MAQM.1bdbb", "MAQM.1bdbc", #16 /900
"MAQM.1beaa", "MAQM.1beab", "MAQM.1beac", #18 /600
"MAQM.1beba", "MAQM.1bebb", "MAQM.1bebc" #18 /900

$E= "Formato de bloques no disponible" # texto de error
%E= ! $T(%A,%B,%C,%D)
#Asignacion del precio del concepto seleccionado
:: %T(%A,%B,%C,%D)
$U(2)= "dsl", "elect" # rótulos para resumen
\ RESUMEN \ Plat tij $Bm $U(%A) crg-$C $DKg \
\ TEXTO \ Alquiler de plataforma elevadora móvil de personal PEMP de tijera $A, para una altura de trabajo de $Bm y una carga máxima en plataforma de $C Kg con un peso total de $D Kg, incluso manual de instrucciones y formación del operador, conforme UNE EN 280:2001.\
*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-

Parametrizacion con cuatro parámetros excluyentes.
\FUNCIONAMIENTO\Diesel\Eléctrica\ #Definicion Variable A
\ALTURA\8\10\12\16\18\ #Definicion Variable B
\CARGA MÁX (Kg)\600\900\ #Definicion Variable C
\PESO TOTAL\2000\4000\6000\ #Definicion Variable D

# FUNCIONAMIENTO DIESEL
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
%T(2,5,2,3)= 61.8, 77.25, 113.3, #8 /600
67.98, 85.49, 124.63, #8 /900
77.25, 99.91, 128.75, #10 /600
85.49, 109.18, 142.14, #10 /900
82.4, 106.09, 136.99, #12 /600
90.64, 116.39, 150.38, #12 /900
98.88, 127.72, 164.8, #16 /600
109.18, 140.08, 181.28, #16 /900
118.45, 154.5, 198.79, #18 /600
130.81, 169.95, 218.36, #18 /900

# FUNCIONAMIENTO ELÉCTRICA
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX

51.5, 64.89, 94.76, #8 /600
56.65, 71.07, 104.03, #8 /900
57.68, 72.1, 106.09, #10 /600
63.86, 79.31, 116.39, #10 /900
61.8, 77.25, 113.3, #12 /600
67.98, 85.49, 124.63, #12 /900
74.16, 92.7, 136.99, #16 /600
81.37, 101.97, 150.38, #16 /900
95.79, 111.24, 164.8, #18 /600
106.09, 122.57, 181.28 #18 /900


# FUNCIONAMIENTO DIESEL
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX
$T(2,5,2,3)= "MAQM.1aaaa", "", "", #8 /600
"MAQM.1aaba", "MAQM.1aabb", "", #8 /900
"MAQM.1abaa", "MAQM.1abab", "", #10 /600
"MAQM.1abba", "MAQM.1abbb", "MAQM.1abbc", #10 /900
"MAQM.1acaa", "MAQM.1acab", "MAQM.1acac", #12 /600
"MAQM.1acba", "MAQM.1acbb", "MAQM.1acbc", #12 /900
"MAQM.1adaa", "MAQM.1adab", "MAQM.1adac", #16 /600
"MAQM.1adba", "MAQM.1adbb", "MAQM.1adbc", #16 /900
"MAQM.1aeaa", "MAQM.1aeab", "MAQM.1aeac", #18 /600
"MAQM.1aeba", "MAQM.1aebb", "MAQM.1aebc", #18 /900

# FUNCIONAMIENTO ELÉCTRICA
# PESO TOTAL 2000 4000 6000 #ALTURA/ CARGA MÁX

"MAQM.1baaa", "", "", #8 /600
"MAQM.1baba", "", "", #8 /900
"MAQM.1bbaa", "MAQM.1bbab", "", #10 /600
"MAQM.1bbba", "MAQM.1bbbb", "", #10 /900
"MAQM.1bcaa", "MAQM.1bcab", "MAQM.1bcac", #12 /600
"MAQM.1bcba", "MAQM.1bcbb", "MAQM.1bcbc", #12 /900
"MAQM.1bdaa", "MAQM.1bdab", "MAQM.1bdac", #16 /600
"MAQM.1bdba", "MAQM.1bdbb", "MAQM.1bdbc", #16 /900
"", "", "", #18 /600
"", "", "" #18 /900

$E= "Formato de bloques no disponible" # texto de error
%E= ! $T(%A,%B,%C,%D)

:: %T(%A,%B,%C,%D)

$U(2)= "dsl", "elect" # rótulos para resumen

\ RESUMEN \ Plat tij $Bm $U(%A) crg-$C $DKg \

\ TEXTO \ Alquiler de plataforma elevadora móvil de personal PEMP de tijera $A, para una altura de trabajo de $Bm y una carga máxima en plataforma de $C Kg con un peso total de $D Kg, incluso manual de instrucciones y formación del operador, conforme UNE EN 280:2001.\
 
Hola.
Observando el documento del FIEBDC para paramétricos menciona la posibilidad de aplicar expresiones lógicas y dependiendo de si la evaluación es verdadera o falsa devuelve un valor, valor que se utilizara para realizar otro tipo de operaciones.
Bueno aquí está la definición del FIEBDC de las expresiones lógicas, aunque no lo menciona en este apartado la a=1, b=2, c=3,d=4,… y asi sucesivamente, al parecer dicen que cada variable puede tener hasta 64 valores, sin embargo una vez se llega a ‘z’ sigue con el ‘aa’ o eso ya es otra historia?
<expresiones lógicas>:
Son aquellas que dan como resultado VERDADERO o FALSO. En expresiones numéricas el verdadero se considera como 1 y el falso como 0, en alfanuméricas el falso se considera suprimir texto.
%I = 323*(%A=a) + 345*(%A=b) + 1523*($I=$A & $J=$B)
$I = "blanco"*(%C=c) + "negro"*(%C=d)

Bueno como los ejemplos no contextualizados pueden hacer daño siempre se les tiene uno con todo el contexto y todo lo necesario. En este ejemplo podemos observar que dependiendo del valor que la variable %A tome se selecciona el coste indirecto complementario. Es decir si el paramento es interior se cobrara un 2.000 y si el paramento es exterior se cobrara un 3.000

\PARAMENTO\horizontal interior\vertical interior\horizontal exterior\vertical exterior\
%V(4)=0.240,0.220,0.265,0.240
%W=2.000*(%A<c)+3.000*(%A>b)
PC1E.4a: 0.429 #Cleniacrilic
MOOA.1a: %V(%A) #Oficial 1ª
%: %W #Costes Directos Complementarios
$F(4)="int hrz","int vert","ext hrz","ext vert"
$G(4)="horizontales interiores","verticales interiores","horizontales exteriores","verticales exteriores"
\RESUMEN\Rev CLENIACRILIC AS-80 $F(%A)\
\TEXTO\Revestimiento de superficies $G(%A) con pintura acrílica semimate, "Cleniacrilic
Exterior AS-80" de CLENIN, antimoho - antimusgo, en envase de 15 litros y acabado sedoso, una mano de fondo y dos de acabado aplicadas mediante brocha o rodillo.\

Espero que a alguien le pueda servir esta informacion, hasta una proxima oportunidad.

Si hay algun dato erroneo, tienen un ejemplo mas elaborado, les ha gustado, servido, o confundido comenten!
Probablemente no tenga la respuesta, soy nuevo pero con buenas intensiones, alguien quiza responda.... Juaz!
 
Buenos dias, ya he resuelto grandes dudas acerca de la parametrizacion y como funciona, ahora mi pregunta es la siguiente, hablando de conceptos parametrizados, parametrizacion recursiva, parametrizacion excluyente, no excluyente (estos dos ultimos terminos me los invente yo), etc que tan complejo puede ser parametrizar?
El caso creo que tengo entendido que puedo utilizar conceptos parametrizados para estos casos:
-Crear nuevos conceptos y asignarles un precio presupuestado, definirles un resumen y una descripcion amplia.
-Crear nuevos conceptos que se componen de otros conceptos, asignarles una cantidad presupuestada a los elementos que lo componen, definirles un resumn y una descripcion amplia.
-En cualquiera de los dos casos uno puede parametrizar excluyente (las opciones se vuelven no disponibles) o no excluyente (ninguna opcion se vuelve no disponible).
Lo que no puedo aterrizar aun es la complejidad que implica parametrizar, en los pocos lugares en los que encuentro informacion acerca de la parametrizacion lo unico que se menciona es que es muy eficiente, que ahorra espacio, que previene errores y cosas asi por el estilo, sin embargo muy a mi pesar no mencionan la complejidad de implementar conceptos parametricos, ni tampoco lo tedioso, abrumador y aburrido que puede llegar a ser.
Por que digo que puede ser aburrido? hasta ahora no he encontrado nada que me permita escribir parametrizaciones sin cometer errores, practicamente uno tiene que saberse de A-Z la bendita Base de Precios para poderla parametrizar en limpio.
Tambien en el caso de utilizacion de parametrizacion recursiva que creo haberla visto en varios casos ya y que resulta ser una bobada, de llamar un concepto que es producto de una parametrizacion, pero en ningun momento una parametrizacion recurre a la otra como el nombre aludia, el caso el uso de parametrizaciones recursivas es aun mas tedioso, incluso podria atreverme a decir que es una actividad no apta para humanos, ya que conocer una combinacion de un concepto que estara probablemente lejos del alcance de la mano, porque el presto es multiventana-unitarea es decir tiene 10000 que se encargan de la misma cosa si tengo texto1, presupuesto, texto2, seleccion de parametricos abiertos esas ventanas no permanecen ahi quieticas sino que a medida que uno va navegando el contenido de las 10000 ventanas tambien lo esta haciendo, entonces le toca a uno abrir 2 instancias de presto, bueno el caso, es una labor o de genios o de locos o de quienes...
Mi pregunta es como hacer de la parametrizacion una actividad viable para mi? Como es posible que haya instutuciones que saquen cada año un mar de conceptos parametricos? Tendran ayuda divina?
Otra pregunta, en vista que realizar conceptos parametricos "a mano" es un trabajo que nunca acaba, tambien tengo conocimiento acerca de la prametrizacion en c++, sin embargo el unico recurso disponible es de hace mas de 10 años y cuando intento leer el codigo (yo aprendi un poco de c++, durante los primeros 2 años de uni), hay cosas que puedo entender a simple vista a nivel de concepto mas sin embargo no soy capaz de seguirle el hilo a nivel de programacion (no soy capaz de abstraer las instrucciones de codigo en mi cabeza)...El caso es que hacer las parametrizaciones en C++, a pesar que hacen la parametrizacion mas segura, por aquello que nadie puede ver el codigo de parametrizacion, sigue siendo casi igual o mas de engorroso que realizarlo a mano, no entiendo la verdadera ventaja de parametrizar en C++.
Ahora la pregunta mas grande, no existe un generador de codigo de codigos parametricos? es decir, una aplicacion que le colabore a uno creando el codigo que resulta el inconveniente mas grande?
No existe algo que le haga a uno el trabajo un poco menos imposible?
Por Favor si alguien sabe, por favor contestenme!!!
esto es de vida o muerte
 

soloarquitectura

Administrador
Miembro del equipo
Deberías ponerte en contacto con el IVE o similar.
Sé que en el caso particular del IVE utilizaban el programa Menfis para crear sus bases de precios, que incluye una enorme cantidad de paramétricos.
Sin embargo, no te sé decir si es el mismo Menfis que puede comprar un usuario normal.
 
1. Ninguna institución saca un mar de paramétricos al año. En su momento, casi todas copiaron los del IVE, salvo que se me demuestre lo contrario. Además, hace muchos años que nadie escribe ninguno nuevo, excepto Guadalajara, que ha sacado 82 conceptos paramétricos en la base del 2009.
2. Hacer paramétricos es difícil, porque es difícil analizar el problema y modelarlo, no porque sea difícil escribir la sintaxis de las reglas.
3. Es más difícil escribirlos en C++, porque es más complejo como lenguaje y encima tiene menos restricciones, por lo que se tiende a modelar peor.
4. Ya que estamos, Presto tiene un módulo Matrices con el que se puede revisar la sintaxis según se va escribiendo, generar los derivados, crear estadísticas, etc.

Una curiosidad, ¿para qué quieres los paramétricos?
 

sisifo

Platino
Sólo en la primera versión del Generador de precios para rehabilitación se incluyeron unos 600 precios paramétricos nuevos.
 
Hola, a petición de otro forista publico lo que te envie por interno...
Buenos dias,
primero que todo muchas gracias por leer mi thread y aun mas por contestarlo. Basicamente estoy averiguando acerca de los conceptos parametricos porque es la razon por la cual estoy haciendo practicas en empresa, yo soy estudiante de ingenieria informatica, y aunque no lo quiera reconocer una base de precios es una base de datos, y a los informaticos es a los que les asignan las bases de datos... Pues mi mision aqui en la empresa es depurar, organizar y parametrizar la base de datos... como aqui en la empresa utilizan presto, comence a preguntarles a ellos, como era de esperarse me dijeron que tenia que adquirir presto matrices antes de hacer cualquier consulta, para ese entonces no habia escrito ni mi primer post, y deje a un lado a los de soft y me dedique a buscar y leer y releer el fiebcd y otras bases de precios en presupuesta.com y asi poco a poco he afianzado lo que se al dia de hoy.
Al parecer tu cononces un poco mas que yo de la parametrizacion en Presto 10, yo la verdad estoy probando lo que he aprendido en bloc de notas y pegando el texto en presto 8(version de prueba no oficial) y pues hasta ahora lo que he posteado es lo que he descubierto, por favor comentame mas acerca del Presto Matrices en Presto 10.
Creo que ahi respondo a la duda tuya y la de sisfo...
:D
un saludo,
 

sisifo

Platino
Interesante. Si quieres trastear con lo precios paramétricos y la especificación del formato FIEBDC y no tienes ganas de programar, puedes utilizar Arquímedes. Tanto la versión de pago como las versiones gratuitas ("Arquímedes. Versión Estudiantes", "Arquímedes. Edición ASEMAS" y las Licencias Colectivas) implementan la fuincionalidad completa de análisis de precios paramétricos con el formato FIEBDC. No tendrás que adquirir "Arquímedes Matrices", entre otras cosas porque no existe. Además, en vez de usar la "versión de prueba no oficial" (exquisito eufemismo, por cierto), podrás usar la "versión de prueba oficial", con lo que podrás consultar tus dudas antes de adquirir la licencia.
 
Al igual que con los mensajes anteriores que he enviado internamente lo publico para que sea de conocimiento publico.

Hola, he estado revisando lo que me habias dicho en posts anteriores y me hace que sabes bastante de parametricos, la FIEBDC y de presto. Te quiero preguntar cual es la verdadera ventaja de parametrizar, ya que la parecer hasta donde he podido llegar es demasiado complicado parametrizar una base de datos ya existente o incluso generar una base de datos desde cero es un trabajo de locos. Existe una manera mas rapida de parametrizar? el presto matrices facilita esta labor?
Tambien tengo creo que entendido dos formas de parametrizar unos parametricos que generan conceptos nuevos y le asignan un valor presupuestado, y otros que "llaman" a otros conceptos y le asignan la cantidad presupuestada, como me habias comentado tambien en un post anterior acerca de la parametrizacion recursiva, bueno como se supone que funciona?, porque hasta donde yo lo entendi uno tiene que saberse la combinacion exacta del concepto parametrico que se esta llamando, dentro del concepto paramtrico que esta escribiendo...
Realmente me estoy empezando a sentir ahogado en este mundo de los conceptos parametricos, ya que lo poco que se lo he deducido de nuestras conversaciones via foro publico y de leer y releer lo de FIEBDC, leer el ejemplo en c++ que por cierto si entendi el 20% es mucho, de leer el ejemplo de presto y ya...no nada mas de informacion en la red, y es realmente desesperante, desilusionante y hasta deprimente. Bueno muchas gracias por leer y espero tu respuesta.
 
El paramétrico es muy útil, por ejemplo, si tienes una fábrica de ladrillo visto, el número de ladrillos y cantidad de mortero cambiará dependiendo del ancho del ladrillo, o se puede generar un paramétrico de forjado que dependerá las cantidades de componentes dependiendo si es vigueta sencilla, doble vigueta, semivigueta, altura del forjado, etc. En lugar de cada vez calcularte cada vez las cantidades o tener que echar mano de algún descompuesto que guardes para cada variante. Puedes sustituir un gran número de descompuestos por un paramétrico.
Vale la pena, pero mi opinión personal es que si es solo una persona quien los está desarrollando es más importante la formación en Arquitectura que en Informática para poder hacerlos, ya que en la parte informática hay que dominar las matrices pero en la parte arquitectura hay muchos más componentes. Son complejos, pero muy útiles una vez realizados y es cierto que no hay ninguna documentación clara de cómo hacerlos, lo que hay en el FIEBDC y en algunos foros, como este mismo hilo.

Un saludo.
 
Arriba