【求助】帮忙看1下哪里错了!!!
(defun c:ljjx ()(setq czlx (ssadd)
czbz (ssadd)
)
(setq jihe (ssget '((-4 . "<or") (8 . "梁虚线") (8 . "梁原位标注") (-4 . "or>"))))
(setq njihe (sslength jihe))
(setq aa 0)
(repeat njihe
(if
(and (= (cdr (assoc 8 (entget (ssname jihe aa)))) "梁虚线")
(= (cdr (assoc 0 (entget (ssname jihe aa)))) "LINE")
)
(progn
(setq pt1 (assoc 10 (entget (ssname jihe aa))))
(setq pt2 (assoc 11 (entget (ssname jihe aa))))
(setq pt3 (list (nth 1 pt1) (nth 2 pt1)))
(setq pt4 (list (nth 1 pt2) (nth 2 pt2)))
(setq angle1 (angle pt3 pt4))
(if
(or (< (abs (- angle1 (/ pi 2))) 0.08)
(< (abs (- angle1 (* 3 (/ pi 2)))) 0.08)
)
(progn
(ssadd (ssname jihe aa) czlx) ;垂直梁线集合
(setq aa (1+ aa))
)
(setq aa (1+ aa))
)
)
)
(if
(and (= (cdr (assoc 8 (entget (ssname jihe aa)))) "梁原位标注")
(= (cdr (assoc 0 (entget (ssname jihe aa)))) "TEXT")
)
(progn
(setq angle2 (cdr (assoc 50 (entget (ssname jihe aa)))))
(if
(or (< (abs (- angle2 (/ pi 2))) 0.08)
(< (abs (- angle2 (* 3 (/ pi 2)))) 0.08)
)
(progn
(ssadd (ssname jihe aa) czbz) ;垂直标注集合
(setq aa (1+ aa))
)
(setq aa (1+ aa))
)
)
)
(setq aa (1+ aa))
)
)
提示lentityp nil ,哪位知道哪里错了?
初学,水平低,能帮忙精简1下最好,先谢了!!!
(defun c:ljjx ()
(setq czlx (ssadd)
czbz (ssadd)
)
(setq jihe (ssget '((-4 . "<or") (8 . "梁虚线") (8 . "梁原位标注") (-4 . "or>"))))
(if jihe (progn
(setq njihe (sslength jihe))
(setq aa 0)
(repeat njihe
(if
(and (= (cdr (assoc 8 (entget (ssname jihe aa)))) "梁虚线")
(= (cdr (assoc 0 (entget (ssname jihe aa)))) "LINE")
)
(progn
(setq pt1 (assoc 10 (entget (ssname jihe aa))))
(setq pt2 (assoc 11 (entget (ssname jihe aa))))
(setq pt3 (list (nth 1 pt1) (nth 2 pt1)))
(setq pt4 (list (nth 1 pt2) (nth 2 pt2)))
(setq angle1 (angle pt3 pt4))
(if
(or (< (abs (- angle1 (/ pi 2))) 0.08)
(< (abs (- angle1 (* 3 (/ pi 2)))) 0.08)
)
(progn
(ssadd (ssname jihe aa) czlx) ;垂直梁线集合
(setq aa (1+ aa))
)
(setq aa (1+ aa))
)
)
)
(if
(and (= (cdr (assoc 8 (entget (ssname jihe aa)))) "梁原位标注")
(= (cdr (assoc 0 (entget (ssname jihe aa)))) "TEXT")
)
(progn
(setq angle2 (cdr (assoc 50 (entget (ssname jihe aa)))))
(if
(or (< (abs (- angle2 (/ pi 2))) 0.08)
(< (abs (- angle2 (* 3 (/ pi 2)))) 0.08)
)
(progn
(ssadd (ssname jihe aa) czbz) ;垂直标注集合
(setq aa (1+ aa))
)
(setq aa (1+ aa))
)
)
)
(setq aa (1+ aa))
)
)
(alert "没有满足条件的选择")
)
)
不行啊,还是有那个错误。。。 本帖最后由 ljpnb 于 2011-8-31 17:23 编辑
(defun c:ljjx ()
(setq czlx (ssadd)
czbz (ssadd)
)
(setq ss (ssget '((-4 . "<or")
(8 . "梁虚线")
(8 . "梁原位标注")
(-4 . "or>")
)
)
)
(setq k 0)
(repeat (sslength ss)
(setq en(ssname ss k)
ent (entget en)
)
(if
(and (= (cdr (assoc 8 ent)) "梁虚线")
(= (cdr (assoc 0 ent)) "LINE")
)
(progn
(setq pt1 (cdr (assoc 10 ent)))
(setq pt2 (cdr (assoc 11 ent)))
(setq angle1 (angle pt1 pt2))
(if
(or (< (abs (- angle1 (/ pi 2))) 0.08)
(< (abs (- angle1 (* 3 (/ pi 2)))) 0.08)
)
(ssadd en czlx) ;垂直梁线集合
)
)
)
(if
(and (= (cdr (assoc 8 ent)) "梁原位标注")
(= (cdr (assoc 0 ent)) "TEXT")
)
(progn
(setq angle2 (cdr (assoc 50 ent)))
(if
(or (< (abs (- angle2 (/ pi 2))) 0.08)
(< (abs (- angle2 (* 3 (/ pi 2)))) 0.08)
)
(ssadd en czbz) ;垂直标注集合
)
)
)
(setq k (1+ k))
)
)
结构同行前来观光
页:
[1]