AutoCad - CAMPO (Letra anterior y posterior)

 
Vista:
sin imagen de perfil
Val: 19
Ha aumentado 1 puesto en AutoCad (en relación al último mes)
Gráfica de AutoCad

CAMPO (Letra anterior y posterior)

Publicado por jose218 (9 intervenciones) el 03/07/2022 11:20:37
Buenas.
Quiero crear dos bloques que contengan un campo dependiente de un texto de tal manera que si el dato es una "B"
en uno de los bloques aparezca la letra anterior, es decir, la "A" y en el otro bloque aparezca la posterior, "C".
Lo único que se me ocurre es crear un atributo dentro del bloque que por campos lleguen a poder obtenerse las letras anterior y posterior.... no se si por fórmula, por lenguaje diesel o de que manera..
no tengo ni idea de como se puede hacer.
a ver si me podéis ayudar, por favor.
un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.285
Oro
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

CAMPO (Letra anterior y posterior)

Publicado por Gerardo (1000 intervenciones) el 06/07/2022 20:10:41
Hola

Es muy complejo lo que buscas, por ser con letras

Si fuera con números es muy fácil porque los campos te permiten sumarle o restarle al contenido de un atributo que contiene un número, pero no así con letras, me parece que a nivel usuario es imposible y se debe meter un poquito de programación

Para resolverlo de la forma que propones, creo que se podría hacer el campo solo con programación ya que desde el creador de contenido de campos no puedes anidar campos dentro una expresion DIESEL, y como DIESEL no tiene nada parecido a CHR o ASCII para convertir debe usarse nth o index con una lista o cadena de letras.

Por ejemplo poner en el bloque dos atributos, uno oculto variable con un valor numérico y otro visible constante con la letra correspondiente, así cada atributo numérico excepto el del primer bloque solo contiene un campo que le suma o resta 1 al anterior o siguiente. Y el atributo visible constante contiene algun DIESEL del tipo $(index,IND,"A,B;C,D,E,F") pero el problema es que el IND debe ser un campo anidado que obtenga el valor del atributo oculto, y como el editor no te deja insertar campos ahí hay que definir el texto del campo, supongo que sería algo así:
%<\AcDiesel ($(index,%<\AcObjProp Object(%<\_ObjId -ID-DEL-ATRIBUTO-INVISIBLE->%).TextString>%,"A,B,C,D,E,F,G,H,I,J"))>%

Ahora bien, si te vas a meter a programar algo tan complejo desconociendo cuantos obstaculos adicionales van a salir en el camino, pues mejor programar un reactor, que al final es como funcionan los campos. Será más sencillo, intuitivo y te dará abrirá muchas más posibilidades. Y con un poco de suerte, ya que en la nube hay tanto, lo consigas ya hecho y con un mínimo de ajustes te quede lo que ocupas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 19
Ha aumentado 1 puesto en AutoCad (en relación al último mes)
Gráfica de AutoCad

CAMPO (Letra anterior y posterior)

Publicado por jose218 (9 intervenciones) el 07/07/2022 10:59:04
Muchas gracias.
Llevo unos días intentando al tema y no he sido capaz.
Ya imaginaba que al ser letras sería complejo.... con números es muy sencillo, pues se le aplica una simple fórmula.
Le daré otra vuelta a ver si se me ocurre como llegar al resultado aunque sea por otro lado
Muchas gracias por tu tiempo y tus explicaciones
un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar