cherio 发表于 2002-10-15 20:44:00

如何用LISP来旋转图块的属性值?

图中插入一个块,块有属性。现在想让属性值旋转一个角度,要怎样实现,请各位大侠帮忙!:)

龙龙仔 发表于 2002-10-16 09:03:00

供參考!!

;;VxAlignAtts - Rotates all attributes of a block to n?/font>
;; -- Function VxAlignAtts
;; Rotates all attributes of a block to n?
;; Copyright:
;;   ?000 MENZI ENGINEERING GmbH, Switzerland
;; Arguments :
;;   Obj = Object
;;   Ang = Angle (Radians)
;; Return :
;;   > Null
;; Notes:
;;   None
;;
(defun VXALIGNATTS (OBJ ANG)
(mapcar
    '(lambda (ATT) (vla-put-rotation ATT ANG))
    (vlax-invoke OBJ "GetAttributes")
)
(vla-update OBJ)
(princ)
)
(defun DTR (X) (* pi (/ X 180.0)))

;;Usage:(VXALIGNATTS(vlax-ename->vla-object (car (entsel))) (DTR 30))

cherio 发表于 2002-10-21 20:31:00

谢谢了!我试试看,非常感谢!

sccat 发表于 2006-3-22 23:10:00

不明白,哪里可以查到vla和vlax的资料?<br>

<br><br>

dbx511 发表于 2012-1-12 08:56:06

这个好像有点问题啊,只能转90度以下,而且第二次调用程序的话,原来旋转过后的属性文字又恢复原来角度。不管旋转多少度。

寒潮大冬瓜 发表于 2024-8-25 22:35:49

感觉这个帖子应该和我看到的这个有相通之处!
[源码+教程]使用动态块函数简化AutoLisp参数设计编程
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=113384&fromuid=418631
(出处: 明经CAD社区)
页: [1]
查看完整版本: 如何用LISP来旋转图块的属性值?