display order and blocks

Discussion in 'AutoCAD' started by Daron Denton, Sep 10, 2003.

  1. Daron Denton

    Daron Denton Guest

    2000 / 2004

    one of my programs which creates dynamic label blocks, puts a solid/solids
    behind all other objects in the label. when creating the block, the sset of
    solids are first, the other objects are added.

    here's the problem:

    when using acad's display order on objects not relating in any way to the
    labels, any new blocks created by this program display backwards - solids in
    front.

    have already tried sending the solid objects layer to the back - nada.

    thanks
     
    Daron Denton, Sep 10, 2003
    #1
  2. Daron Denton

    Daron Denton Guest

    i'm not trying to use draworder, but some of my users do and it messes up
    the drawings.

    i want to know how to fix my program to overcome draworder, if it's possible
     
    Daron Denton, Sep 10, 2003
    #2
  3. Daron Denton

    Dan Allen Guest

    Could it be that acad reverses selection sets? If you copy overlapping
    objects sorted by creation order (not draworder), the copy is reversed. I
    have a copy routine that reverses the selection set to maintain the sort
    order.

    Dan
     
    Dan Allen, Sep 10, 2003
    #3
  4. Daron Denton

    Daron Denton Guest

    it appears so, but what i don't understand is that none of the layers
    involved in the label are being selected by user during the draworder
    command.

    if layer order is:
    A
    B
    C
    D
    E

    and you bring D to the front, why are objects on B and C being altered?
     
    Daron Denton, Sep 10, 2003
    #4
  5. Daron Denton

    mataeux Guest

    off the top of my head, to remove draworder table ...

    for each block name in drawing including *Model_space, do this:

    (dictremove
    (cdr
    (assoc 360
    (member'(102 . "{ACAD_XDICTIONARY")
    (entget(cdr(assoc 330(entget(tblobjname"BLOCK"<block name>)))))
    )
    )
    )
    "ACAD_SORTENTS"
    )
     
    mataeux, Sep 10, 2003
    #5
  6. Daron Denton

    Daron Denton Guest

    if i supply a name of a block that is displaying incorrectly,
    (assoc 330(entget(tblobjname"BLOCK" "ROOMLBL-6021911")))
    returns nil
     
    Daron Denton, Sep 11, 2003
    #6
  7. Daron Denton

    mataeux Guest

    sorry,
    i suppose what i said only applies to *Model_space block.
    the 330 code of a block is its block_record which has an extension
    dictionary which has the acad_sortents

    so in your startup procedure, ...(tblobjname"BLOCK""*model_space")... and
    (setvar"SORTENTS"127)
    should keep everybody in line
     
    mataeux, Sep 11, 2003
    #7
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.