home *** CD-ROM | disk | FTP | other *** search
- (DEFUN DI0()
- (SETQ P1 (GETPOINT "\nFrom point:"))
- (COMMAND "OSNAP" "PER")
- (SETQ P2 (GETPOINT P1 "\nSelect object:<Per>"))
- (COMMAND "OSNAP" "NONE")
- (SETQ S (SSGET "C" P1 P2))
- )
- ; ********************
- (DEFUN DI1()
- (SETQ KK (SSLENGTH S))
- (SETQ K 0 S1 NIL)
- (WHILE (< K KK)
- (SETQ S2 (SSNAME S K))
- (SETQ S2 (ENTGET S2))
- (SETQ S3 (CDR (ASSOC 0 S2)))
- (IF (= S3 "LINE") (SETQ S1 (CONS S2 S1)))
- (SETQ K (1+ K))
- )
- )
- ; ********************
- (DEFUN DI2()
- (SETQ KK (LENGTH S1))
- (SETQ K 0 S2 NIL)
- (SETQ A1 (ABS (ANGLE P1 P2)))
- (SETQ A4 (* 0.5 PI))
- (SETQ A5 (* 1.5 PI))
- (WHILE (< K KK)
- (SETQ S3 (NTH K S1))
- (SETQ S4 (CDR (ASSOC 10 S3)))
- (SETQ S5 (CDR (ASSOC 11 S3)))
- (SETQ A2 (ABS (ANGLE S4 S5)))
- (SETQ A3 (ABS (- A1 A2)))
- (SETQ A6 (ABS (- A3 A4)))
- (SETQ A7 (ABS (- A3 A5)))
- (IF (OR (< A6 0.00001) (< A7 0.00001)) (PROGN
- (SETQ S (INTERS P1 P2 S4 S5))
- (SETQ S2 (CONS S S2))))
- (SETQ K (1+ K))
- )
- )
- ; **********************
- (DEFUN DI3()
- (SETQ KK (LENGTH S2))
- (SETQ K 0 S NIL S3 NIL)
- (WHILE (< K KK)
- (SETQ P (NTH K S2))
- (SETQ S1 (DISTANCE P2 P))
- (SETQ P (CONS S1 P))
- (SETQ S (CONS P S))
- (SETQ S3 (CONS S1 S3))
- (SETQ K (1+ K))
- )
- )
- ; ***********************
- (DEFUN DI4()
- (SETQ K 0 S1 NIL)
- (WHILE (< K KK)
- (SETQ S2 (CAR S3))
- (SETQ K1 1)
- (WHILE (< K1 KK)
- (SETQ S4 (NTH K1 S3))
- (IF (< S2 S4) (SETQ S2 S4))
- (SETQ K1 (1+ K1))
- )
- (SETQ S1 (CONS S2 S1))
- (SETQ S3 (SUBST 0.0 S2 S3))
- (SETQ K (1+ K))
- )
- )
- ; *******************************
- (DEFUN DI5()
- (SETVAR "DIMEXO" 1)
- (SETVAR "DIMEXE" 1)
- (SETQ P3 (CADR S1))
- (DI10 P3)
- (SETQ P4 (CDR (ASSOC P3 S)))
- (COMMAND "DIM" "ALI" P2 P4 P2 X)
- (SETQ K 2)
- (WHILE (< K KK)
- (SETQ P4 (NTH K S1))
- (SETQ S2 (- P4 P3))
- (DI10 S2)
- (SETQ P5 (CDR (ASSOC P4 S)))
- (SETQ P3 P4)
- (COMMAND "CON" P5 X)
- (SETQ K (1+ K))
- )
- (COMMAND "EXIT")
- )
- ; ******************************8
- (DEFUN DI10(X1)
- (SETQ X1 (+ X1 0.0001))
- (SETQ X (FIX X1))
- (SETQ X2 (- X1 X))
- (SETQ X2 (* 100 X2))
- (SETQ X2 (FIX X2))
- (SETQ X (ITOA X))
- (IF (/= X2 0) (PROGN
- (SETQ X2 (ITOA X2))
- (SETQ X (STRCAT X "." X2))))
- )
- ; **************************8
- (DEFUN C:DIMP2()
- (COMMAND "LAYER" "MAKE" "D1" "C" "1" "D1" "")
- (DI0)
- (DI1)
- (DI2)
- (DI3)
- (DI4)
- (DI5)
- (COMMAND "LAYER" "SET" "0" "")
- )