(defun c:luo(/ ls_en ls_pg ls_bj ls_pt1 ls_pt2 ls_pt3 ls_dqst ls_zdst)
(setq ls_en (entsel "\n请选取需要三维的螺栓"))
(while ls_en
(setq ls_pg (substr(cdr(assoc 2(entget (car ls_en))))1 1))
(if (or(= ls_pg "a")(= ls_pg "b")(= ls_pg "c")(= ls_pg "d"))
(progn
(cond ((= ls_pg "a")(setq ls_color 2))
((= ls_pg "b")(setq ls_color 1))
((= ls_pg "c")(setq ls_color 5))
((= ls_pg "d")(setq ls_color 3))
(t nil)
)
(setq ls_bj (* 0.001(getreal "\n请输入螺栓的半径:")))
(setq ls_cd (* -0.001(getreal "\n请输入螺栓的长度:")))
(setvar "cmdecho" 0)
(command "ucs" "n" "ob" ls_en)
(setq ls_pt1 '(0.0 0.0 0.0))
(setq ls_pt2 '(0.0 0.01 0.0))
(setq ls_pt3 '(0.01 0 0))
(setq ls_pt1 (trans ls_pt1 1 0))
(setq ls_pt2 (trans ls_pt2 1 0))
(setq ls_pt3 (trans ls_pt3 1 0))
(command "ucs" "")
(if (null ls_p11)(setq ls_p11 "0"))
(if (null ls_p22)(setq ls_p22 "0"))
(setq ls_dqst (getstring (strcat "\n输入螺栓当前视图<" ls_p11 ">:")))
(if (= ls_dqst "")(setq ls_dqst ls_p11))
(setq ls_zdst (getstring (strcat "\n输入螺栓装载视图<" ls_p22 ">:")))
(if (= ls_zdst "")(setq ls_zdst ls_p22))
(setq ls_p11 ls_dqst)
(setq ls_p22 ls_zdst)
(command "ucs" "r" (strcat "ucsn" ls_dqst))
(setq ls_pt1 (trans ls_pt1 0 1))
(setq ls_pt2 (trans ls_pt2 0 1))
(setq ls_pt3 (trans ls_pt3 0 1))
(command "ucs" "r" (strcat "ucsn" ls_zdst))
(command "ucs" 3 ls_pt1 ls_pt2 ls_pt3 )
(command "layer" "m" "luoshuan" "c" ls_color "" "")
(command "color" ls_color)
(command "circle" '(0 0 0) ls_bj)
(command "extrude" (entlast) "" ls_cd 0)
(command "ucs" "")
)
)
(setq ls_en (entsel "\n请选取需要三维的螺栓"))
)
(setvar "cmdecho" 1)
(princ)
)
(prompt "\n>>>>>>>螺栓三维轨迹(命令:luo)<<<<<<<")