Change selected dims to new dimstyle

Change selected dims to new dimstyle

etilley327KA
Advocate Advocate
372 Views
3 Replies
Message 1 of 4

Change selected dims to new dimstyle

etilley327KA
Advocate
Advocate

How do I fix this to change the dimstyle of the selected dims?

 

(defun c:TEST (/ dimlst doc ss newDimStyle)
  (vl-load-com)

  (setq dimlst "ARCH DIM")

  (setq newDimStyle nil) ; Initialize newDimStyle to nil

  (vlax-for dim (vla-get-Dimstyles
                  (setq doc
                        (vla-get-ActiveDocument
                          (vlax-get-acad-object))))
    (if (equal (strcase (vla-get-Name dim)) (strcase dimlst))
        (setq newDimStyle dim) ; Set newDimStyle if a match is found
        )
    )

  (if newDimStyle
      (if (setq ss (ssget '((0 . "DIMENSION"))))
          (progn
            (repeat (sslength ss)
              (setq entity (ssname ss (setq i (1- i))))
              (vl-catch-all-apply
               '(lambda ()
                  (vla-put-Dimstyle
                   (vlax-ename->vla-object entity)
                   newDimStyle)
                  )
               )
              )
            )
          )
      )

  (princ)
)
0 Likes
Accepted solutions (1)
373 Views
3 Replies
Replies (3)
Message 2 of 4

Kent1Cooper
Consultant
Consultant

@etilley327KA wrote:

How do I fix this to change the dimstyle of the selected dims?

....

      (if (setq ss (ssget '((0 . "DIMENSION"))))
          (progn
            (repeat (sslength ss)
              (setq entity (ssname ss (setq i (1- i))))
....

I'm not sure this by itself will cover everything, but at least:

....

  (repeat (setq i (sslength ss))

....

Kent Cooper, AIA
0 Likes
Message 3 of 4

ronjonp
Mentor
Mentor

@etilley327KA  VLA-PUT-DIMSTYLE is not a function. Try: vla-put-StyleName

ronjonp_0-1696279940420.png

 

*You really don't need code for this .. select your dimensions and then change the style name in the properties palette.

0 Likes
Message 4 of 4

Sea-Haven
Mentor
Mentor
Accepted solution

Like ronjonp use this to get properties and correct name. Its one of those must have tools.

 

; StyleName = "Annotative"

 

0 Likes