Alternative to drawOrder / Alternativas a DrawOrder

Discussion in 'AutoCAD' started by Jesús Padilla, Jan 22, 2004.

  1. 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
    ;---------------------------------------------------------------------------
    -------------------------------------------------------------------------
     
    Jesús Padilla, Jan 22, 2004
    #1
  2. I think it will work better attachins the lisp file

    JPAdilla
     
    Jesús Padilla, Jan 22, 2004
    #2
  3. Jesús Padilla

    David Kozina Guest

    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



     
    David Kozina, Jan 23, 2004
    #3
  4. 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
    | > >
    | >
    |
    ;---------------------------------------------------------------------------
    | >
    |
    | > >
    | > >
    | >
    | >
    |
    |
     
    R. Robert Bell, Jan 23, 2004
    #4
  5. 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
     
    Jesús Padilla, Jan 24, 2004
    #5
  6. Jesús Padilla

    David Kozina Guest

    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!'
     
    David Kozina, Jan 24, 2004
    #6
  7. 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
    | >
    | >
     
    R. Robert Bell, Jan 24, 2004
    #7
  8. Jesús Padilla

    The real JD Guest

    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.
     
    The real JD, Jan 27, 2004
    #8
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.