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 ;--------------------------------------------------------------------------- -------------------------------------------------------------------------
Well, 2004 does BETTER with regards to xrefs. Still not QUITE what I'd like to have available, however... Draworder seems to work with respects to the entities within each referenced drawing. And each reference drawing seems to work with respect to each other as a whole in the main drawing... BUT, what if I want a screened hatch in reference A to be "behind" a set of column marks in reference B, BUT a set of framing elements in reference A to be "in front of" a set of screened wall lines in reference B? IOW, what I'd really like to see with draworder is some kind of 'interleaving' capability with respects to nested xref objects. (Please enlighten me if this capability is in place now.) (BTW, I can't use pen merge when I need to make a pdf (with respects to the screened objects mentioned above) - and also, do wipeouts work with pen merge on? - I'm not sure on that issue) Don't get me wrong, I REALLY appreciate 2004's improvements. I just could really use more. Just my random thoughts on the matter, David Kozina
You could, with two insertions of the XRef, aliased with different names. XRef A->Alias "Joe"|Hatch (freeze Framing) XRef A->Alias "Fred"|Framing (freeze Hatch) XRef B -- R. Robert Bell, MCSE www.AcadX.com | Well, 2004 does BETTER with regards to xrefs. | Still not QUITE what I'd like to have available, however... | | Draworder seems to work with respects to the entities within each referenced | drawing. And each reference drawing seems to work with respect to each | other as a whole in the main drawing... | | BUT, what if I want a screened hatch in reference A to be "behind" a set of | column marks in reference B, BUT a set of framing elements in reference A to | be "in front of" a set of screened wall lines in reference B? IOW, what I'd | really like to see with draworder is some kind of 'interleaving' capability | with respects to nested xref objects. | | (Please enlighten me if this capability is in place now.) | | (BTW, I can't use pen merge when I need to make a pdf (with respects to the | screened objects mentioned above) - and also, do wipeouts work with pen | merge on? - I'm not sure on that issue) | | Don't get me wrong, I REALLY appreciate 2004's improvements. | I just could really use more. | | Just my random thoughts on the matter, | David Kozina | | | | "Dean Saadallah" <info from pendean at com> wrote in message | | > R2004 fixes this issue. | > Also, there is a lisp called FLOAT posted all over this NG if you want to | > try it. | > | > -- | > Dean Saadallah | > Add-on products for LT | > http://www.pendean.com/lt | > -- | > | > > 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 | > > | > | ;--------------------------------------------------------------------------- | > | | > > | > > | > | > | |
Dean, David and Robert: Thanks for your comments. Now I Know about DrawOrder works fine on AutoCAD 2004 with nested XRef. I'm still working on Land Desktop + Acad 2000 so that when I upgrade to acad 2004, I will discontinue my lisp function "LU:Order" Jesús Padilla
Hmmm. Hmmm. You know, that just might be sufficient for what I need to do sometimes. Potentially CONFUSING as all get out. But it just might work. Here's the file 'layering' that I envision with regards to my own xref usage, with xref file attachment sequencing starting at the bottom and working up to the top... Alias File Description / Layers (Last) XGRD S-G000 Grids XP10 S-FR00 Framing 100% ON | Screened OFF XCOR S-C000 "Core" ALL ON (Drawordered as reqd) (First) XP05 S-FR00 Framing Screened ON | 100% OFF Or something like that. Many thanks for the suggestion! 'It's so simple... a child could do it!'
Glad I could help. I've used this technique for many similar things. -- R. Robert Bell, MCSE www.AcadX.com | Hmmm. | Hmmm. | You know, that just might be sufficient for what I need to do sometimes. | | Potentially CONFUSING as all get out. But it just might work. | | Here's the file 'layering' that I envision with regards to my own xref | usage, with xref file attachment sequencing starting at the bottom and | working up to the top... | | | Alias File Description / Layers | (Last) XGRD S-G000 Grids | XP10 S-FR00 Framing 100% ON | Screened OFF | XCOR S-C000 "Core" ALL ON (Drawordered as reqd) | (First) XP05 S-FR00 Framing Screened ON | 100% OFF | | | Or something like that. | Many thanks for the suggestion! | | 'It's so simple... a child could do it!' | | | | | > You could, with two insertions of the XRef, aliased with different names. | > | > XRef A->Alias "Joe"|Hatch (freeze Framing) | > XRef A->Alias "Fred"|Framing (freeze Hatch) | > XRef B | > | > | > -- | > R. Robert Bell, MCSE | > www.AcadX.com | > | >
As I understand it, the pen merge and wipe out problem with PDFs is related to the PDF print driver thru Adobe Acrobat. Some third party utilities claim to not have this issue. I'm still using Adobe v5, I wonder if V6 has corrected this issue.