Stop "importing" scalelist from xrefs

Is there any way how to stop "importing" scalelists from xrefs to main DWG?

Not allways, but time to time, take dwg scalelists from attached DWGs, than are in DWG many (tons) of list, which make DWG very slowly and take it long time to open it. Yes ther ist scalelistedit command and reset option, but IMHO in BricsCAD it do nothing (AutoCad do reset whole list and leave only basic). Also deleting of this imported list is "impossible". I try use ALT+D, but I hold it over 5 minutes and still not reach end... I try make also LISP command, but -scalelistedit isn't yet imported.

When I have this case / dwg with tons of scalelists I must use AC2009LT to reset/delete it and then I can open it on BricsCad comfortly...

Any idea how to solve this problem?

Comments

  • The function of the Reset button in the SCALELISTEDIT dialog:
    Undo all changes applied in the CURRENT session.
    And "session" apparently refers to the SCALELISTEDIT command, not the CAD session.

    Some pointers to get you started on a Lisp solution:

    You can use this code to get a list of the enames of all the scales in a dwg:
    [code](vl-remove
      nil
      (mapcar
        '(lambda (a) (if (= (car a) 350) (cdr a)))
        (dictsearch (namedobjdict) "ACAD_SCALELIST")
      )
    )[/code]
    After analysing their (entget) lists you can use (entdel) to delete the ones you do not want.

    A blunt approach can be to delete the complete "ACAD_SCALELIST" dictionary.
    [code](entdel (cdr (assoc -1 (dictsearch (namedobjdict) "ACAD_SCALELIST"))))[/code]
    If you do that a new dictionary is created when you next use SCALELISTEDIT or scale a viewport. But I don't know if this approach is very wise. One problem is that the new dictionary will contain a standard (?) set of default scales which may not be to your liking.

  • Thanks for answer.
This discussion has been closed.