Índice del Foro www.mediocad.com www.mediocad.com
TODO SOBRE MICROSTATION. MDL, MVBA, MACROS.
 
 F.A.Q.F.A.Q.   BuscarBuscar   Lista de MiembrosLista de Miembros   Grupos de UsuariosGrupos de Usuarios   RegístreseRegístrese 
 PerfilPerfil   Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   ConectarseConectarse 

Secuencia de actualización

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro www.mediocad.com -> MVBA
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
Segimer



Registrado: 10 Mar 2008
Mensajes: 38

MensajePublicado: Lun Nov 17, 2008 2:43 pm    Título del mensaje: Secuencia de actualización Responder citando

Hola.
Estoy trabajando con MicroStation V8. Tengo varios vínculos enlazados a un .dgn y mi pregunta es la siguiente:
¿Cómo se puede manipular POR CÓDIGO la secuencia de actualización de los distintos vínculos para dejar unos por encima de otros? (Referencias-> Ajustes->Secuencia de actualización).
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
mediocad
Gran Maestro
Gran Maestro


Registrado: 09 Jun 2005
Mensajes: 1509
Ubicación: Madrid

MensajePublicado: Lun Nov 17, 2008 4:54 pm    Título del mensaje: ¿Por? Responder citando

Hola,

Dando duro. ¿eh? La verdad es que no se me ha dado el caso nunca y es una buena pregunta. ¿Has mirado en la ayuda? Si que he trabajado con ficheros referenciados y leer su contenido pero a tanto no había llegado.

¿Para que lo quieres? ¿No te vale con abrir el cuadro de diálogo y hacerlo a mano? No sé, no sé, pero me da que los tiros van por MDL.

Si lo has intentado y tienes algo de código postéalo.

Un saludo
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor
Segimer



Registrado: 10 Mar 2008
Mensajes: 38

MensajePublicado: Mar Nov 18, 2008 10:59 am    Título del mensaje: Código inicial Responder citando

Pues la razón de querer hacerlo por código y no a mano es que hay líneas de unos vínculos que quiero que aparezcan por encima de las de otros, en un proceso por lotes, por lo que preferiría no tener que hacerlo a mano (aunque me da que no va a quedar otra)...
De todas formas la cosa empezaría así:
Se instancia una clase del manejador del evento que supone abrir el cuadro de diálogo. Se ejecuta la orden de comando que abre el diálogo de la secuencia de actualización y al final se restaura todo, esto es:
Código:

Sub SecuenciaActualizacion()
    Dim Manejador As New ManipularReferencias
    AddModalDialogEventsHandler Manejador

    Application.CadInputQueue.SendCommand "dialog -127"
   
    RemoveModalDialogEventsHandler Manejador
    CommandState.StartDefaultCommand
End Sub


Ahora habría que implementer los eventos de apertura y cierre en el módulo de clase 'ManipularReferencias'.

Código:
Implements IModalDialogEvents

Private Sub IModalDialogEvents_OnDialogClosed(ByVal DialogBoxName As String, ByVal DialogResult As MsdDialogBoxResult)
    ' El método es requerido aunque no haga nada
End Sub

Private Sub IModalDialogEvents_OnDialogOpened(ByVal DialogBoxName As String, DialogResult As MsdDialogBoxResult)
    If DialogBoxName = "Secuencia de actualización" Then
        ¿¿¿¿????       
       
        ' Elimina la siguiente línea para que el usuario pueda cerrar el cuadro de diálogo.
        DialogResult = msdDialogBoxResultOK
    End If  ' Secuencia de actualización
End Sub


Y donde van los interrogantes deberían realizarse las acciones necesarias para anteponer unas referencias a otras (o ráster, que también sirve, aunque éstas sólo pueden ir arriba del todo o abajo del todo), mediante código, llamando a alguna MDL, o algo...

Yo dejo aquí ésto por si alguien quiere seguir, aunque la verdad es que no pinta muy bien...

Un saludo a todos los forospectadores.
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
Segimer



Registrado: 10 Mar 2008
Mensajes: 38

MensajePublicado: Jue Nov 20, 2008 9:28 am    Título del mensaje: ¡Eureka! Responder citando

Me contesto a mí mismo, ya que encontré la solución (en parte de casualidad). Es mucho más fácil que todo lo contado antes. Basta con usar la propiedad 'UpdateOrder' de la clase 'Attachment'. Esta propiedad es equivalente a manipular la secuencia de actualización de las referencias.
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
mediocad
Gran Maestro
Gran Maestro


Registrado: 09 Jun 2005
Mensajes: 1509
Ubicación: Madrid

MensajePublicado: Jue Nov 20, 2008 9:42 am    Título del mensaje: Gracias Responder citando

Gracias por la información.

Un saludo
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro www.mediocad.com -> MVBA Todas las horas están en GMT + 1 Hora
Página 1 de 1

 
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas


Powered by phpBB © 2001, 2005 phpBB Group