Unreconciled layers

Hello,
Several of my designs indicate "Unreconciled layers" in autocad.
How can I fix this problem in bricscad ?

Comments

  • 'Unreconciled layers' means that layers exist in your file that are not part of the template AutoCAD references here.

  • I don't work with autocad but want to fix this problem on bricscad before send to my clients

  • As explained in the poopoo discussion, set LAYERNOTIFY=0.

  • No.
    As explain in my post, the problem is not on my side.
    I work with bricscad and when i send my drawings to my clients and that the open it, it display this message.
    I couldn't ask to m client to set this variable off.
    They want that when they open drawings that any message apperas.
    How can I recounciled layers in bricscad ?

  • The LAYERNOTIFY variable is part of the .DWG file.

  • Bricscad doesn't find this variable in VARMODIFY command list

  • Tristan, I don't know what VARMODIFY is. I can't find anything about it by googling or by searching manuals.

    To set a variable, I first type the variable name on the command line. If that doesn't work, I open the Settings dialog and type the name of the variable there, which starts a search for it among all the settings.

    Older versions don't have the LAYERNOTIFY variable. What version are you using?

  • Anthony, doesn't find LAYERNOTIFY in v20.
    I look in command line and settings.
    Maybe because of a french traduction ?

  • Anthony, i download english version and don't find LAYERNOTIFY
    Where do you find this variable in Bricscad ?

  • Anthony Apostolaros
    edited March 2020

    I'm sorry, Tristan. I thought it would be there. They usually include all autocad variables that could cause compatibility problems.

    This problem would affect many users, not just you. Perhaps Bricsys has some other solution for it. You should file a support request, at https://www.bricsys.com/en-us/support/

  • Roy Klein Gebbinck
    edited March 2020

    It is a different variable than I first thought.
    Try this Lisp code:

    (defun KGA_Data_DictGet (lst / tmp)
      (setq tmp (car lst))
      (vl-every
        '(lambda (a) (setq tmp (vle-dictobjname tmp a)))
        (cdr lst)
      )
      tmp
    )
    
    (defun KGA_Data_DictGetOrMake (lst / tmp)
      (setq tmp (car lst))
      (mapcar
        '(lambda (a)
          (setq tmp
            (cond
              ((vle-dictobjname tmp a))
              ((dictadd tmp a (entmakex '((0 . "DICTIONARY") (100 . "AcDbDictionary") (280 . 1)))))
            )
          )
        )
        (cdr lst)
      )
      tmp
    )
    
    (defun c:LayerNotifyOff ( / doc dict enm)
      (setq doc (vla-get-activedocument (vlax-get-acad-object)))
      (vla-endundomark doc)
      (vla-startundomark doc)
      (cond
        ((setq enm (KGA_Data_DictGet (list (namedobjdict) "AcDbVariableDictionary" "LAYERNOTIFY")))
          (vle-entmod 1 enm "0")
        )
        ((setq dict (KGA_Data_DictGetOrMake (list (namedobjdict) "AcDbVariableDictionary")))
          (dictadd
            dict
            "LAYERNOTIFY"
            (setq enm
              (entmakex
                '(
                  (0 . "DICTIONARYVAR")
                  (100 . "DictionaryVariables")
                  (280 . 0)
                  (1 . "0")
                )
              )
            )
          )
          (vle-entmod 1 enm "0") ; Required (strangely enough).
        )
      )
      (vla-endundomark doc)
      (princ)
    )
    
  • Hi Roy,
    not that I would bother about sending files with layers someone else might believe to be 'unreconciled', but thanks a lot for the insight!

  • Sorry Roy, but doesn't work.
    I have the impression that from the beginning we tried to play on a variable so as not to display the problem. But can't we, as in Autocad, solve the source of the problem by recounciled the layers?
    In autocad from the layer manager by right-clicking on the non-reconciled layers to reconcile them.

  • @Tristan_Haehnel
    I do not have an AutoCAD license to test with, but do believe the code will change the correct setting in the drawing. Maybe somebody with AutoCAD can verify?

    A lot of course depends on your client's exact use case. You would need to provide more information.

  • Anthony Apostolaros
    edited March 2020

    @Tristan_Haehnel said:
    .... But can't we, as in Autocad, solve the source of the problem by recounciled the layers?

    If Roy can add a variable to a dwg file and set it to 0 (I assume that's what his function does, though for me it's like trying to read cuneiform), then he can probably add a layer property and set it to "reconciled" for all layers. But you'd have to remember to run that function every time you add a layer, whether intentionally or by pasting something in or inserting or xref-ing, or every time you send the file to the client. Creating a LayerNotify variable and setting it to 0 only has to be done once for each file, or only to your template file. Better still would be to set LayerEvalCtl to 0, which would apply to all drawing files opened by a user, regardless of their LayerNotify value. But it would have to be done by your client.

    If you file a support request, Bricsys might consider adding layer reconciliation. Some users might complain about that, but it would help in cases like yours.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Click one of the buttons on the top bar to get involved!