 - (defun C:hh ()
- (setq v1 (getvar "cmdecho"))
- (setq v2 (getvar "osmode"))
- (setvar "cmdecho" 0)
- (setq mm (getpoint "\n选择第一个点:"))
- (setq ans (getstring "\nthe point is GJ or JJ.Enter gj or jj : "))
- (setq nn (getpoint "\n选择第二个点:"))
- (setq ane(getstring "\nthe point is GJ or JJ.Enter gj or jj : "))
- (setq angle1 (angle mm nn))
- (setvar "osmode" 0)
- (if(= ans "gj") (progn
- (setq p1(polar mm angle1 100))
- (setq p2(polar p1 angle1 300))
- (setq p3(polar p1 (+ (/ pi 2) angle1) 225))
- (setq p4(polar p1 (+ (/ (* 3 pi) 2) angle1) 225))
- (command "pline" p2 "w" 0 0 p3 p4 "c" "")
- (command "hatch" "solid" (entlast) "")
- (command "_chprop" (entlast) "" "c" 7 "")
- ))
- (if(= ans "jj") (progn
- (setq p5(polar mm angle1 100))
- (setq p6(polar p5 angle1 300))
- (setq p7(polar p6 (+ (/ pi 2) angle1 ) 225))
- (setq p8(polar p6 (+ (/ (* 3 pi) 2) angle1) 225))
- (command "pline" p5 "w" 0 0 p7 p8 "C" "")
- ))
- ;第一点的约束情况已经完成
- (if(= ane "gj") (progn
- (setq pp1(polar nn (+ pi angle1) 100))
- (setq pp2(polar pp1 (+ pi angle1) 300))
- (setq pp3(polar pp1 (+ (/ pi 2) angle1 ) 225))
- (setq pp4(polar pp1 (+ (/ (* 3 pi) 2) angle1) 225))
- (command "pline" pp2 "w" 0 0 pp3 pp4 "C" "")
- (command "hatch" "solid" (entlast) "")
- (command "_chprop" (entlast) "" "c" 7 "" )
- ))
- (if(= ane "jj") (progn
- (setq pp5(polar nn (+ pi angle1) 100))
- (setq pp6(polar pp5 (+ pi angle1) 300))
- (setq pp7(polar pp6 (+ angle1 (/ pi 2)) 225))
- (setq pp8(polar pp6 (+ angle1 (/ (* 3 pi) 2)) 225))
- (command "pline" pp5 "w" 0 0 pp7 pp8 "C" "")
- ))
- ;第二点的约束情况已经完成
- (if (and (= ans "jj") (= ane "gj"))
- (command "pline" p6 "W" 150 150 pp1 "")
- )
- ;一端铰接,一端刚接情况
- (if (and (= ans "jj") (= ane "jj"))
- (command "pline" p6 "W" 150 150 pp6 "")
- )
- ;两端铰接情况
- (if (and (= ans "gj") (= ane "jj"))
- (command "pline" p1 "W" 150 150 pp6 "")
- )
- ;一端刚接,一端铰接情况
- (if (and (= ans "gj") (= ane "gj"))
- (command "pline" p1 "W" 150 150 pp1 "")
- )
- ;两端刚接情况
- (setvar "osmode" v2)
- (setvar "cmdecho" v1)
- (princ)
- )
- (prompt "****<<C:hh>>*****")
- (princ)
|