Microstation - Para todos los expertos en Microstation

 
Vista:

Para todos los expertos en Microstation

Publicado por MaxZ (11 intervenciones) el 14/06/2002 19:07:52
Necesito saber como modifico la información del la cuarta palabra del Vinculo DMRS, es decir
el vinculo DMRS es 0000 0000 0000 0000

La primera palabra es para sabel el dAType es decir
puede ser 0000 0000 0000 0000 (dAtype 0)
o 0001 0000 0000 0000 (dAtype 1)

La segunda palabra es para el entity number, es decir entitynumber = 8
entonces será 0001 0008 0000 0000

La tercera palabra es para el mslink y en caso de ser de tipo long usa los dos
ultimo digitos de la cuarta palabra.

Lo que necesito saber que información esta en los 2dos primeros digitos de la cuarta palabra,
o sino ¿como lo puedo editar con Mbe?

el vinculo lo creo de esta manera:

Dim lnk as MbeDatabaseLink
lnk.entitynumber=8
lnk.mslink=51
lnk.dAType=0
lnk.LinkType=MBE_DMRS_Linkage
stat=elem.appendDBLinkage(lnk)

Muchas gracias
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
Imágen de perfil de Alejandro

Modificación de la cuarta palabra en vínculo DMRS

Publicado por Alejandro (129 intervenciones) el 22/12/2023 22:50:10
Para editar la información del cuarto "word" (palabra) del Vínculo DMRS en MicroStation, puedes usar la función mdlElement_editDBLinkage para modificar directamente esa parte del enlace. Aquí hay un ejemplo de cómo podrías hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void EditarCuartaPalabraDMRS(MSElementDescr elemDescr)
{
    MDLERR stat;
    MbeDatabaseLink lnk;
 
    // Obtener el enlace existente
    stat = mdlElement_getDBLinkage(elemDescr, &lnk);
    if (stat != SUCCESS)
    {
        // Manejar el error según sea necesario
        return;
    }
 
    // Modificar la cuarta palabra según tus requisitos
    // Por ejemplo, establecer los primeros dos dígitos en 01 (hexadecimal)
    lnk.data[3] = 0x00010000;
 
    // Actualizar el enlace en el elemento
    stat = mdlElement_editDBLinkage(elemDescr, &lnk);
    if (stat != SUCCESS)
    {
        // Manejar el error según sea necesario
        return;
    }
}

Este ejemplo asume que los dos primeros dígitos de la cuarta palabra se almacenan en `lnk.data[3]`. Puedes ajustar la manipulación de los dígitos según tus necesidades específicas.

Por favor, ten en cuenta que esta es una manipulación directa de los datos del enlace, y debes tener cuidado al hacerlo para garantizar que no se afecte la integridad de tus datos.

Espero que esto te sea útil, MaxZ.
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