acad hispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Poner como actual Estilo de MLEADER

2 participantes

Ir abajo

Poner como actual Estilo de MLEADER Empty Poner como actual Estilo de MLEADER

Mensaje por eliasp Dom Mar 27, 2022 12:24 am

Buen día señores.

Navegando por aquí y por allá, me encontre esta rutina que crea un estilo de Mleader.
Código:

(defun _makemleaderstyle (name txtstyle / d mld mlo)
 ;; RJP - 09.16.2017
 (if
   (and
     (setq d (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))))
     (= 'vla-object (type (setq mld (vl-catch-all-apply 'vla-item (list d "ACAD_MLEADERSTYLE")))))
     (= 'vla-object
 (type
   (setq mlo (vl-catch-all-apply 'vlax-invoke (list mld 'addobject name "AcDbMLeaderStyle")))
 )
     )
   )
    (progn (vla-put-alignspace mlo 0.1)
    ;(vla-put-annotative mlo :vlax-true)
      (vla-put-annotative mlo :vlax-false)
    (vla-put-arrowsize mlo 0.3)
    (vla-put-blockconnectiontype mlo 0)
    (vla-put-breaksize mlo 0.2)
    (vla-put-description mlo "")
    (vla-put-dogleglength mlo 0.1)
    (vla-put-enablelanding mlo :vlax-true)
    (vla-put-firstsegmentangleconstraint mlo 0)
    (vla-put-landinggap mlo 0.05)
    (vla-put-maxleadersegmentspoints mlo 2)
    (vla-put-scalefactor mlo 1)
    (vla-put-secondsegmentangleconstraint mlo 0)
    (vlax-put mlo 'textalignmenttype 0)
    (vlax-put mlo 'textleftattachmenttype 1)
    (vlax-put mlo 'textrightattachmenttype 1)
    (vla-put-textheight mlo 0.25)
    ;; Make sure you load your texstyle first or it will default to standard
    (vla-put-textstyle
      mlo
      (if (tblobjname "style" txtstyle)
 txtstyle
 "standard"
      )
    )
    mlo
    )
 )
)
;; (_makemleaderstyle "Bazinga!" "Standard")
(vl-load-com)
;; Properties below
;Descargado de: https://www.cadtutor.net/forum/topic/63877-lisp-for-creating-mleader-style/
Funciona como se espera, pero... (siempre hay un pero verdad) Hay dos cosas que sigo pendiente.... no supe como ponerlo como actual y porque o para que llamarla con dos textos??? Según lo que entendí, el primer texto es el nombre del estilo a crear y el segundo "standard" no supe para que ponerlo, en fin. Con que ayuden a ponerlo como actual es suficiente. La explicación ya sería un bono extra.

Saludos y gracias

eliasp

Mensajes : 195
Fecha de inscripción : 17/03/2016

Volver arriba Ir abajo

Poner como actual Estilo de MLEADER Empty Re: Poner como actual Estilo de MLEADER

Mensaje por Gerardo Calvo Lun Mar 28, 2022 4:59 am

Hola

para establecer el estilo actual, pues igual que con otros estilos, es una variable:
Código:
(setvar "CMLEADERSTYLE" NombreDelEstilo)

Lo de los dos nombres, el primero como dices es el nombre del estilo de multileader a crear. El segundo es un nombre de un estilo de texto. Como la directriz multiple tiene asociado un contenido que puede ser un texto o un bloque; si se elige un texto, dentro de la definición del estilo de directriz debe indicarse en cual estilo de texto se crearan los textos asociados.
Esta parte del codigo:
Código:
(if (tblobjname "style" txtstyle)
    txtstyle
    "standard"
)
revisa si existe dentro del dibujo un estilo de texto con el nombre indicado, si este existe entonces ese se asigna dentro del estilo de mleader, y de lo contrario asigna el estilo standard que siempre existe dentro de todo dibujo

Gerardo Calvo

Mensajes : 46
Fecha de inscripción : 29/10/2019

Volver arriba Ir abajo

Poner como actual Estilo de MLEADER Empty Re: Poner como actual Estilo de MLEADER

Mensaje por eliasp Jue Abr 07, 2022 10:54 pm

Wow.... muchas gracias maestro. Claro como siempre.

Saludos

eliasp

Mensajes : 195
Fecha de inscripción : 17/03/2016

Volver arriba Ir abajo

Poner como actual Estilo de MLEADER Empty Re: Poner como actual Estilo de MLEADER

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.