Í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 

Leer coordenadas de polígonos

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



Registrado: 17 Mar 2008
Mensajes: 10

MensajePublicado: Lun Mar 17, 2008 12:50 pm    Título del mensaje: Leer coordenadas de polígonos Responder citando

Hola, a ver si alguien me puede ayudar con esto...necesitaria leer las coordenadas (x,y) de los puntos que forman un polígono que tengo en Microstation, usando VBA. Si me pueden dar una idea de como hacerlo seria fantástico, estoy empezando con MS y VBA.
Saludos y gracias
Volver arriba
Ver perfil del usuario Enviar mensaje privado
mediocad
Gran Maestro
Gran Maestro


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

MensajePublicado: Lun Mar 17, 2008 3:36 pm    Título del mensaje: Leer coordenadas Responder citando

Hola,

En este vínculo tienes un ejemplo para ver como leer elementos tipo mediante cercado.

http://mediocad.com/phpBB2/viewtopic.php?t=2737

Una vez que hayas leído el elemento que buscas utiliza el método .GetVertices.

Por ejemplo:

Código:
If Elemento.Type = msdElementTypeLineString Then 'Si el elemento es LINESTRING  (TIPO 4)
      Dim P3PtosLinea() As Point3d
      Set elemLinea = Elemento
      P3PtosLinea = elemLinea.GetVertices
      ..............................
End If

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



Registrado: 21 Dic 2005
Mensajes: 38

MensajePublicado: Lun Jun 23, 2008 11:42 am    Título del mensaje: Error Responder citando

Pues se lo he agregado pero me envia un error en la linea de obtener los vertives:

If Elemento.Type = msdElementTypeLineString Then 'Si el elemento es LINESTRING (TIPO 4)
Dim P3PtosLinea() As Point3d
Set elemLinea = Elemento
P3PtosLinea = elemLinea.GetVertices
'..............................
txtcoordenada = Str(Round(P3PtosLinea, 3))
txtcoordenada = "XY: " & txtcoordenada

Set elemTextcoordenada = Application.CreateTextElement1(Nothing, txtcoordenada, Centroide, Matrix3dIdentity)
elemTextcoordenada.Color = 0
elemTextcoordenada.LineWeight = 0
elemTextcoordenada.TextStyle.Height = Application.ActiveSettings.TextStyle.Height
elemTextcoordenada.TextStyle.Width = Application.ActiveSettings.TextStyle.Width
elemTextcoordenada.TextStyle.Justification = msdTextJustificationCenterBottom
elemTextcoordenada.RotateAboutZ Centroide, 0
ActiveModelReference.AddElement elemTextcoordenada
elemTextcoordenada.Redraw

End If
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Orphen



Registrado: 21 Dic 2005
Mensajes: 38

MensajePublicado: Lun Jun 23, 2008 11:45 am    Título del mensaje: Oops!! Responder citando

No puedo obtener los vertices e imprimirlos.....
Volver arriba
Ver perfil del usuario Enviar mensaje privado
mediocad
Gran Maestro
Gran Maestro


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

MensajePublicado: Lun Jun 23, 2008 6:21 pm    Título del mensaje: P3PtosLinea() es un Array Responder citando

Hola,

P3PtosLinea() es un Array y primero tienes que inicializarlo. Visual Basic.

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