谢谢你的评论。
要按特定图层过滤标签,只需使用图层名称修改以下代码:
- (defun C:MoveLabels( / thePoint label1st label2nd moveSet entList)
- (while (and (setq thePoint (getpoint "\nInsertion point: "))
- (setq label1st (ssget "_:S:E" '((0 . "TEXT") (8 . "[color=magenta]XXX[/color]"))))
- (setq label2nd (ssget "_:S:E" '((0 . "TEXT") (8 . "[color=magenta]YYY[/color]")))))
- (progn
- (setq label1st (ssname label1st 0)
- label2nd (ssname label2nd 0))
- (foreach moveSet (list (list label1st 300.0 0.0)
- (list label2nd 300.0 400.0))
- (setq entList (entget (car moveSet)))
- (entmod (subst (cons '10 (trans (list (+ (car thePoint) (cadr moveSet)) (+ (cadr thePoint) (caddr moveSet)) (caddr thePoint)) 1 0))
- (assoc 10 entList)
- entList))
- )
- )
- )
- (princ)
- )
当做
米尔恰 |