Reactor limit??

Discussion in 'AutoCAD' started by Steve Jones, Apr 13, 2004.

  1. Steve Jones

    Steve Jones Guest

    Hello All,

    Is anyone aware of problems with having too many reactors running in an
    AutoCAD session?
    We're experiencing problems with AutoCAD crashing when multiple drawings are
    open, all have 10+ reactors running in them.
    Not loading the reactors appears to solve the problem.
    Any ideas??

    Steve
     
    Steve Jones, Apr 13, 2004
    #1
  2. Steve Jones

    Steve Jones Guest

    Luis,
    They are .lsp files loaded into each drawing via acaddoc.lsp
    I'd honestly not know how to do what you are asking.
    Would this help, and if so, any tips on how to do it?

    Steve
     
    Steve Jones, Apr 13, 2004
    #2
  3. Steve Jones

    Steve Jones Guest

    Luis

    They are a combination of reactors, mainly (vlr-command-reactor), nothing
    too fancy.
     
    Steve Jones, Apr 13, 2004
    #3
  4. Steve Jones

    Guest Guest

    Luis,

    No objects being modified, ADT 3.3 and no setvars.
    AutoCAD usually crashes on opening a drawing, usually the 4th or 5th in the
    session.
    I thought maybe it was a maximum number of reactor problem??
    Would separate namespaces make any difference?

    Steve
     
    Guest, Apr 13, 2004
    #4
  5. Steve Jones

    Doug Broad Guest

    Steve,
    Did you look at your code? There are several setvars.

    You should also make arrangements to disable your reactors
    when the drawings are closed.

    There are better ways to layer your dimensions. Check
    out Eric Schnider's Autolay functions.

    Regards,
    Doug
     
    Doug Broad, Apr 13, 2004
    #5
  6. Steve Jones

    Doug Broad Guest

    Hi Luis,

    Have missed your contributions. Welcome back.

    I'm certainly not always right.

    Your proposed function does not improve matters though.
    The situation is rather complicated. There are cases when
    a dimension command ends without a resulting dimension
    and others where cases where many dimensions have
    been created.

    For instance: DIM puts one in the dimension mode.
    Exit returns to command mode and flags an end to the
    "DIM" command. There may be no dimensions or many
    dimensions within that "DIM" command. If one cancelled
    out of that command, there could be many dimensions left
    un-relayered, since a commandended event would not flag.
    During the "DIM" mode, no commandended reactors fire.

    A test for entlast should be added to ensure that the object
    is some sort of dimension to eliminate incorrect re-layering.

    For the cases where a single command results in numerous
    dimensions, a method of getting finding those dimensions would
    need to be used. That case would need to be checked. Examples:
    DIMBASELINE and DIMCONTINUE

    In addition, certain objects that are dimension-like such
    as leaders and their associated text might be tracked as well.

    I would lean toward some sort of database reactor but a more
    complex command reactor might work as long as one doesn't
    expect to see the layer changes immediately.

    The setvar that Steve uses might work also. There is no guarantee
    that the setvar is what is causing his problems.

    My own solution, which I have had since R14, was to redefine
    all the dimension commands. I wouldn't do it that way today.


    Regards,
    Doug
     
    Doug Broad, Apr 13, 2004
    #6
  7. Steve Jones

    Steve Jones Guest

    Thanks for the input gents, at least I've learned a bit more regarding
    reactors.
    Unless I'm completely wrong though, I'd have thought that any code within my
    reactors wouldn't crash AutoCAD when a drawing was opening (unless there was
    a reactor that fired on the open command, which there isn't)

    I'll investigate Luis's web-site more thoroughly in hope of discovering the
    answer.

    Steve
     
    Steve Jones, Apr 14, 2004
    #7
  8. Steve Jones

    Doug Broad Guest

    Looks good Luis. Just downloaded it this morning.
    First time it ran, I got one error. I include a command log below.
    After that, everything seemed to work well. I haven't exhaustively
    tested it but it handles the situations that I mentioned well. Good
    job!

    Saludos


    Command log:---------------------------------------------------------V
    AutoCAD menu utilities loaded.
    AutoCAD Express Tools Menu loaded.
    Command: (load "layerdim")

    DIMLAYER by Caddximation Software - http://www.draftteam.com
    nil

    Command: on-dimlayer

    DIM to layer ability - Enabled.

    Command:
    Command: dim

    Dim: hor
    Specify first extension line origin or <select object>:
    Specify second extension line origin:
    Non-associative dimension created.
    Specify dimension line location or [Mtext/Text/Angle]:
    Enter dimension text <2.1685>:

    Dim: ver
    Specify first extension line origin or <select object>:
    Specify second extension line origin:
    Non-associative dimension created.
    Specify dimension line location or [Mtext/Text/Angle]:
    Enter dimension text <1.6667>:

    Dim: al
    Specify first extension line origin or <select object>:
    Specify second extension line origin:
    Non-associative dimension created.
    Specify dimension line location or
    [Mtext/Text/Angle]:
    Enter dimension text <3.5887>:

    Dim: ro
    Specify angle of dimension line <0>: Specify second point:
    Specify first extension line origin or <select object>:
    Specify second extension line origin:
    Non-associative dimension created.
    Specify dimension line location or [Mtext/Text/Angle]:
    Enter dimension text <1.8200>:

    Dim: rad
    Select arc or circle:
    Dim: RADIUS
    Select arc or circle: *Cancel*

    Dim: *Cancel*
    ; error: bad argument type: VLA-OBJECT nil

    Command log --------------------------------------------^
     
    Doug Broad, Apr 14, 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.