参考来源 http://bbs.mjtd.com/forum.php?mo ... =%BC%FD%CD%B7%B1%E4 caoyin大佬的代码
 - (defun c:tt (/ SS N OBJ ARROW_VAL)
- ;; 初始化箭头类型参数
- (initget "S H D B P F")
- (setq kw (getkword "\n选择箭头类型 [实心闭合(S)/空心闭合(H)/斜线(D)/实心小点(B)/空心小点(P)/无(F)] <B>: "))
- (or kw (setq kw "B")) ; 默认实心小点
- ;; 设置箭头类型映射
- (setq ARROW_VAL
- (cond
- ((= kw "S") 0) ; 实心闭合
- ((= kw "H") 1) ; 空心闭合
- ((= kw "D") 5) ; 斜线
- ((= kw "B") 11) ; 实心小点
- ((= kw "P") 13) ; 空心小点
- ((= kw "F") 19) ; 空
- (T 11) ; 默认值
- )
- )
- ;; 执行修改
- (if (setq SS (ssget '((0 . "*DIMENSION"))))
- (progn
- (repeat (setq N (sslength SS))
- (setq OBJ (vlax-ename->vla-object (ssname SS (setq N (1- N)))))
- (vla-put-Arrowhead1Type OBJ ARROW_VAL)
- (vla-put-Arrowhead2Type OBJ ARROW_VAL)
- )
- (princ (strcat "\n已修改 " (itoa (sslength SS)) " 个标注"))
- )
- (princ "\n未选择标注对象!")
- )
- (princ)
- )
欢迎各位留下宝贵意见
|