Jesús Padilla
Usenet Archive
- Joined
- Aug 18, 2003
- Messages
- 29
- Reaction score
- 0
I use Xref allways, DrawOrder doesn´t work on the entities of a XRef
I explain, Draworder Works fine on the current drawing. But when this drawing is attached to another, the display shows the entities on a different order.
So I did a function to order the entities. I sould like to know your opinios about , or another solution.
All the comments are written on spanish, so if anybody is interested on it, I could translate to english I do not speak enough englich, so i'm sorry.
it uses DOSLIB
Jesús Padilla
----
Para los hispanos:
En mi trabajo uso frecuentemente XRef, por lo tanto, DrawOrder no funciona en archivos cargados como XRef, La función incluida levanta objetos.
Es Necesario DOSLib
ME gustaría conocer sus opiniones al respecto.
LA función
Jesús Padilla
;--------------------------------------------------------------------------- example:
(LU:Order 8 '("Layer1""Layer 2"))
(LU:Order 8 "Layer1")
(LU:Order 0 '("Line""Text"))
(LU:Order PickSet 1)
(LU:Order EName 1)
;--------------------------------------------------------------------------- ;Levanta Objetos 20030222 ;; (LU:ORDER 8 (Lista de Layer)) ;; (LU:ORDER 0 (Lista de Entidades)) ;; (LU:ORDER (Selección de Objetos) 1) ;; (LU:ORDER (Lista de Filtros) 1) ;; (LU:Order ENAME 1) (DEFUN LU:ORDER (#-TIPO #-DATO / #CNTDR #TX-LY #LI-LY #-DATO #SS-OR) (COND ( (OR (= #-TIPO 8)(= #-TIPO 0)) (PROGN (COND ( (= (TYPE #-DATO) 'LIST) (PROGN (SETQ #TX-LY "" ) (FOREACH #ELEME #-DATO (SETQ #TX-LY (STRCAT #TX-LY #ELEME "," ))) );PROGN ) ( (= (TYPE #-DATO) 'STR) (SETQ #TX-LY #-DATO) ) );COND (SETQ #SS-OR (SSGET "X" (LIST (CONS #-TIPO #TX-LY)(Cons 410 (GETVAR "CTAB"))))) );PROGN ) ( (EQ (TYPE #-TIPO)'PICKSET) (SETQ #SS-OR #-TIPO) ) ( (EQ (TYPE #-TIPO)'ENAME) (SETQ #SS-OR (SSAdd #-TIPO))
)
(
(AND #-TIPO (listp #-TIPO))
;Corregido 20030924
;(SETQ #SS-OR (SSGET "X" #-TIPO))
(SETQ #SS-OR (SSGET "X" (Append #-TIPO (List (Cons 410 (Getvar "CTab")))))) ) );COND (IF #SS-OR (PROGN (SETQ #CNINI (SSLENGTH (SSGET "X" (List(Cons 410 (Getvar "CTab")))))) (DOS_CLIPBOARD "(LU:ORDER) Ha Fallado consúltalo con Jesús, Posible Perdida de datos") (Vlax-Put-Property (vlax-get-acad-object)"windowstate" 3) (VL-CMDF "UNDO" "MARK" "COPYBASE" '(0 0 0) #SS-OR "" "PASTECLIP" '(0 0 0) "ERASE" #SS-OR "" );VL-CMDF (DOS_CLIPBOARD "(LU:ORDER) Ha Vaciado el Porta Papeles") (SETQ #CNFIN (SSLENGTH (SSGET "X" (List(Cons 410 (Getvar "CTab")))))) (IF (/= #CNINI #CNFIN) (DOS_MSGBOX (STRCAT "LU:ORDER\n\nHay Peligro de haber dañado el archivo\npues la Cantidad No Concuerda\n\n" "Elementos Iniciales: "(ITOA #CNINI) "\n" "Elementos Finales: "(ITOA #CNFIN) ) "Consúltalo con Jesús" 1 2 ) );IF (PROMPT (STRCAT "\n(LU:ORDER) Procesando: " (ITOA (SSLENGTH #SS-OR)) " Objetos" " (en CTab: Antes / Después) " "("(ITOA #CNINI) " / " (ITOA #CNFIN) ")" );STRCAT );PROMPT (DOS_SPEAKER 1500 1) );PROGN (PROGN ;(DOS_MSGBOX "Sin Elementos por Seleccionar" "LU:ORDER Selección Nula" 1 3 1) (PROMPT "\n(LU:ORDER) Selección Nula") (DOS_SPEAKER 3500 1) );PROGN );IF );DeFun ;---------------------------------------------------------------------------
I explain, Draworder Works fine on the current drawing. But when this drawing is attached to another, the display shows the entities on a different order.
So I did a function to order the entities. I sould like to know your opinios about , or another solution.
All the comments are written on spanish, so if anybody is interested on it, I could translate to english I do not speak enough englich, so i'm sorry.
it uses DOSLIB
Jesús Padilla
----
Para los hispanos:
En mi trabajo uso frecuentemente XRef, por lo tanto, DrawOrder no funciona en archivos cargados como XRef, La función incluida levanta objetos.
Es Necesario DOSLib
ME gustaría conocer sus opiniones al respecto.
LA función
Jesús Padilla
;--------------------------------------------------------------------------- example:
(LU:Order 8 '("Layer1""Layer 2"))
(LU:Order 8 "Layer1")
(LU:Order 0 '("Line""Text"))
(LU:Order PickSet 1)
(LU:Order EName 1)
;--------------------------------------------------------------------------- ;Levanta Objetos 20030222 ;; (LU:ORDER 8 (Lista de Layer)) ;; (LU:ORDER 0 (Lista de Entidades)) ;; (LU:ORDER (Selección de Objetos) 1) ;; (LU:ORDER (Lista de Filtros) 1) ;; (LU:Order ENAME 1) (DEFUN LU:ORDER (#-TIPO #-DATO / #CNTDR #TX-LY #LI-LY #-DATO #SS-OR) (COND ( (OR (= #-TIPO 8)(= #-TIPO 0)) (PROGN (COND ( (= (TYPE #-DATO) 'LIST) (PROGN (SETQ #TX-LY "" ) (FOREACH #ELEME #-DATO (SETQ #TX-LY (STRCAT #TX-LY #ELEME "," ))) );PROGN ) ( (= (TYPE #-DATO) 'STR) (SETQ #TX-LY #-DATO) ) );COND (SETQ #SS-OR (SSGET "X" (LIST (CONS #-TIPO #TX-LY)(Cons 410 (GETVAR "CTAB"))))) );PROGN ) ( (EQ (TYPE #-TIPO)'PICKSET) (SETQ #SS-OR #-TIPO) ) ( (EQ (TYPE #-TIPO)'ENAME) (SETQ #SS-OR (SSAdd #-TIPO))
)
(
(AND #-TIPO (listp #-TIPO))
;Corregido 20030924
;(SETQ #SS-OR (SSGET "X" #-TIPO))
(SETQ #SS-OR (SSGET "X" (Append #-TIPO (List (Cons 410 (Getvar "CTab")))))) ) );COND (IF #SS-OR (PROGN (SETQ #CNINI (SSLENGTH (SSGET "X" (List(Cons 410 (Getvar "CTab")))))) (DOS_CLIPBOARD "(LU:ORDER) Ha Fallado consúltalo con Jesús, Posible Perdida de datos") (Vlax-Put-Property (vlax-get-acad-object)"windowstate" 3) (VL-CMDF "UNDO" "MARK" "COPYBASE" '(0 0 0) #SS-OR "" "PASTECLIP" '(0 0 0) "ERASE" #SS-OR "" );VL-CMDF (DOS_CLIPBOARD "(LU:ORDER) Ha Vaciado el Porta Papeles") (SETQ #CNFIN (SSLENGTH (SSGET "X" (List(Cons 410 (Getvar "CTab")))))) (IF (/= #CNINI #CNFIN) (DOS_MSGBOX (STRCAT "LU:ORDER\n\nHay Peligro de haber dañado el archivo\npues la Cantidad No Concuerda\n\n" "Elementos Iniciales: "(ITOA #CNINI) "\n" "Elementos Finales: "(ITOA #CNFIN) ) "Consúltalo con Jesús" 1 2 ) );IF (PROMPT (STRCAT "\n(LU:ORDER) Procesando: " (ITOA (SSLENGTH #SS-OR)) " Objetos" " (en CTab: Antes / Después) " "("(ITOA #CNINI) " / " (ITOA #CNFIN) ")" );STRCAT );PROMPT (DOS_SPEAKER 1500 1) );PROGN (PROGN ;(DOS_MSGBOX "Sin Elementos por Seleccionar" "LU:ORDER Selección Nula" 1 3 1) (PROMPT "\n(LU:ORDER) Selección Nula") (DOS_SPEAKER 3500 1) );PROGN );IF );DeFun ;---------------------------------------------------------------------------