| Ver tema anterior :: Ver siguiente tema |
| Autor |
Mensaje |
paulov Aficionado


Registrado: 14 Feb 2008 Mensajes: 129
|
Publicado: Vie Dic 11, 2009 9:28 pm Título del mensaje: poner activo un estilo de línea |
|
|
Hola
Tiempo atrás hicel una pequeña utilidad que tenía unos botones en los que cada uno tenía una propiedades del ActiveSettings definidas, como era el color, el grosor etc...
Por ejemplo una podia ser tabiques otra tabiquesmedianeros... y así cada elemento que dibujase tras este click se iva a la capa correcta con las propiedades correctas.
El tema es que ahora queiro hacer algo similar y con la estructura de la última vez pues quería aplicar también un estilo de línea pero no lo consigo y me esoty volviendo loco!
tras tropecientas vartiaciones me he plantado con esto:
Option Explicit
| Código: |
Public Function SelectEstiloLinea()
Dim Propiedades As Settings
Dim oLineSt As LineStyle
oLineSt = Application.ActiveDesignFile.LineStyles("M-2.1")
Set Application.ActiveSettings.LineStyle = oLineSt
End Function
|
___________________________
Mi idea es cuando esto me funcione poder llamar a esta función que la tendré en un módulo pasándole unos parámetros que serán el estilo de línea, capa de destino etc...
Y cuando ya controle un poco más poder hacer que estos parámetros le lleguen desde un excell o similar y que este se pueda "editar" toqueteando combos desde una pestaña del programa. Pero vamos, poco a poco porque mi nivel es de amateur total.
Un empunjoncito pido por favor>> |
|
| Volver arriba |
|
 |
mediocad Gran Maestro

Registrado: 09 Jun 2005 Mensajes: 1226 Ubicación: Madrid
|
Publicado: Lun Dic 14, 2009 8:47 am Título del mensaje: Varias cosas |
|
|
Hola,
¿Ese estilo de línea es para aplicarlo a un elemento?
En tu código, primero te falta un SET al inicio:
Set oLineSt = Application.ActiveDesignFile.LineStyles("M-2.1")
pero si lo que quieres es asignar un estilo de línea a los Settings de MS para que lo tome por defecto directamente, lo puedes poner de la siguiente forma:
| Código: | | CadInputQueue.SendKeyin "lc=" & "M-2.1" |
En tu caso sustituyes "M-2.1" por una vble. que lleve el estilo de línea.
Un saludo |
|
| Volver arriba |
|
 |
paulov Aficionado


Registrado: 14 Feb 2008 Mensajes: 129
|
Publicado: Lun Dic 14, 2009 7:23 pm Título del mensaje: |
|
|
Hola!
gracias por la respuesta!
pues poniendo el Set ha funcionado.. estaba cerca después de todo.
Normalmente prefiero hacer las cosas sin keyins porque asi practico más y voy a prendiendo en los ratos libres.
Muchas muchas gracias. |
|
| Volver arriba |
|
 |
mediocad Gran Maestro

Registrado: 09 Jun 2005 Mensajes: 1226 Ubicación: Madrid
|
Publicado: Mar Dic 15, 2009 7:33 am Título del mensaje: Funciona |
|
|
Hola,
Pues me alegro que te haya funcionado. Ya sabes que cualquier duda puedes consultarla aquí e intentaremos darle respuesta.
Un saludo |
|
| Volver arriba |
|
 |
paulov Aficionado


Registrado: 14 Feb 2008 Mensajes: 129
|
Publicado: Jue Jun 03, 2010 10:54 am Título del mensaje: |
|
|
Hola!, vengo a mendigar un poco de ayuda.
Estoy de exámenes y me he buscado un huekito para mover un tema ke tenia parado y asi para kuando termina ya lo puedo retomar directamente.
Muy en la línea de lo que pregunté en su día, ahora quiero poner activas en las active settings los niveles.
Entonces, pues he intentado hacerlo como con los estilos de línea pero me da un error.
Compile error:
Method or data member not found
Y me marca el .Level que viene después del ActivedesignFiles....
Es cierto que no sale en la lista que te ofrece, pero el LineStyle tampoco salia y no me peta.
| Código: |
Public Function Settings(NomNivel As String, NomEstiloLinea As String)
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
'ESTILO DE LÍNEA
'-------------------------------------------------------------------------
Dim oLineSt As LineStyle
Dim oLevel As Level
'SI OPT POR ELEMENTO ACTIVO:
If FrmMVL.OptPorElem.Value = True Then
Set oLineSt = Application.ActiveDesignFile.LineStyles(NomEstiloLinea)
Set Application.ActiveSettings.LineStyle = oLineSt
Set oLevel = Application.ActiveDesignFile.Levels(NomNivel)
Set Application.ActiveDesignFile.Level = oLevel
End If |
|
|
| Volver arriba |
|
 |
Urq Aficionado

Registrado: 12 Jun 2005 Mensajes: 158 Ubicación: Madrid
|
Publicado: Lun Jun 07, 2010 7:55 am Título del mensaje: |
|
|
| Código: |
.
.
.
Set oLevel = Application.ActiveDesignFile.Levels(NomNivel)
Set Application.ActiveSettings.Level = oLevel
|
Prueba esto... |
|
| Volver arriba |
|
 |
paulov Aficionado


Registrado: 14 Feb 2008 Mensajes: 129
|
Publicado: Lun Jun 07, 2010 1:31 pm Título del mensaje: |
|
|
aaaah!!!!
dios ke pakete soy. Funciona. |
|
| Volver arriba |
|
 |
Urq Aficionado

Registrado: 12 Jun 2005 Mensajes: 158 Ubicación: Madrid
|
Publicado: Lun Jun 07, 2010 1:57 pm Título del mensaje: |
|
|
| paulov escribió: | aaaah!!!!
dios ke pakete soy. Funciona. |
Jajajaja, hay veces que se obceca uno, y por más que intenta buscar el error no es capaz de dar con él.
Saludos |
|
| Volver arriba |
|
 |
|