Attribute editor

Can the color of the highlighted row be changed?
Currently not very obvious.


Comments

  • I know this is an old post, but I found it because I was looking for a solution to the same thing. It's really hard to see what line is being edited when using this, so I would also like to know if there is a way to change it. If not, I would put my vote in that it needs to be updated in the program.

  • Still the same in V25

  • ALANH
    edited September 27

    Just a comment if you double click a single attribute it does what you want.

    If you select another attribute it is highlighted V25.2 is that what you mean. The value if empty is not highlighted.

  • ALANH,

    The first image you show is what we're looking for, so that when the value is being entered you know what prompt you're entering it for, and as you hit enter and move to the next prompt you know where you are at in filling out all the attributes. It's not that it needs to be highlighted like something you click on.

    It looks like in the light theme you're using it shows up well, but in the dark theme it blends in and is very difficult to see.

  • @JonB I don't know how you do your block insertions, so this might be a bit long-winded, but if you just OK the Attribute dialogue box and use the attributes in the Properties Palette, then they are much easier to see.

    I'm using a 4k screen, but I grant you it would be much clearer if it were the same as the Properties Palette.

  • @David Waight I appreciate that thought. We may just all have to use the properties palette like you're saying. We're switching over from AutoCAD and have multiple users, so I'm trying to think through how each person is used to filling out blocks with attributes. For those that like to open up the dialogue box and fill it out, I was hoping to make it easier for them, but we can adjust.

  • ALANH
    edited September 30

    If you have less than 20 attributes I have a make a dcl on the fly and use it to display tagname and Attribute value so can edit any of them. It is the same as the normal edit attribute just a light grey background.

    ; Change an attribute value in blocks
    ; Using creation order rather than by tag name
    ; BY Alan H Sept 2025

    (defun AH:blchange( / ss1 blname x inc atts)

    (if (not AH:getvalsm)(load "Multi Getvals.lsp"))

    (setq obj (vlax-ename->vla-object (car (entsel "\nPick block object "))))

    (setq atts (vlax-invoke obj 'Getattributes))

    (setq lst '())
    (setq lst '("Enter new values "))
    (foreach att atts
    (setq lst (cons (vlax-get att 'tagstring) lst))
    (setq lst (cons 19 lst))
    (setq lst (cons 20 lst))
    (setq lst (cons (vlax-get att 'Textstring) lst))
    )
    (setq lst (reverse lst))

    (setq ans (AH:getvalsm lst))

    (setq x -1)
    (foreach att atts
    (vlax-put att 'Textstring (nth (setq x (1+ x)) ans))
    )

    (princ)
    )
    (aH:blchange)

    Save multi getvals.lsp into a support path its autoloaded. Or edit (load "c:\\your\\saved\\path")

  • Thanks for sharing this. I don't know a lot about lisp routines, so I'm struggling to figure out how to use it. I think I loaded it correctly, but can't seem to figure out how to run it.

  • ALANH
    edited October 1

    Ok you need to save Multi getvals.lsp into a support path or change the (load "Multi getvals.lsp") to have the full path of where you saved the program eg (load "D:\\Alan\\lisp\\multi getvals.lsp") it is auto loaded when needed. Note the double backslashes.

    Did you copy the code and paste it into say notepad and save as say "blockedit.lsp". Then use either a (load "blockedit.lsp") or drag and drop via explorer onto your CAD screen.

    For me I would have this in a POP menu, this is my last menu that I made for multiple users.

  • Got it now, thanks! Lisps are something I've been wanting to use, so this is helpful for me to learn.

  • ALANH
    edited October 1

    No worries, I would look at using a custom POP menu they are easy to make as you can use Notepad to make them. Yes they are in the CUI but its more complicated to use compared to notepad once you know how they work.

    happy to help you make a MNU file then you just use menuload command to do just load your menu.

    ***MENUGROUP=Jonb

    ***POP20
    **CADLIB
    [LIBRARY]
    [Show attributes]^C^C(LOAD ""blockedit.lsp")