本帖最后由 ftmm 于 2023-11-17 11:02 编辑
使用LISP(List Processing Language)来批量修改所有标注样式的标注箭头。以下是一种可能的代码示例:
- (defun change-dim-arrows ()
- (vl-load-com)
- (if (not (setq ss (ssget ":L" '((0 . "DIMENSION")))))
- (prompt "\n没有找到标注对象!")
- (progn
- (setq arrow-style "新的箭头样式名称") ; 替换为你想要设置的箭头样式名称
-
- (vlax-for obj (setq dim-objs (vl-remove-if-not 'vlax-etypep (mapcar 'vlax-ename->vla-object (vla-get-entities (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) 0)))) :vlax-true)
- (setq dim-style (vla-get-dimensionstyle obj))
- (vla-put-dimensionstyle obj (vla-add-dimensionstyle (vla-get-activedocument (vlax-get-acad-object)) arrow-style))
- (vla-delete dim-style)
- )
-
- (prompt "\n标注箭头样式已经批量修改!")
- )
- )
- )
- (change-dim-arrows)
上述代码将会将所有标注对象的箭头样式更改为指定的新箭头样式。在代码中,你需要将`arrow-style`的值替换为你想要设置的箭头样式的名称。
上面代码,我就把 值改为"倾斜" 了....貌似不行
执行代码后,所有标注对象的箭头样式都会被批量修改为新的箭头样式。注意保存你的工作文件以确保修改结果生效。
|