我的拍摄:
- (defun C:test ;| credits to: Lee Mac |; ( / Lst p1 p2 choice )
- (setq Lst
- '(
- ("1" . "C.BOX Room")
- ("2" . "Gen.Room")
- ("3" . "Waiting.Room")
- ("4" . "Conference.Hall")
- ("5" . "Kitchen.Room")
- )
- ); setq
- (if
- (and
- (setq p1 (getpoint "\nSpecify first point: "))
- (setq p2 (getcorner p1 "\nSpecify second point: "))
- (not (initget 1 (apply 'strcat (mapcar '(lambda (x) (strcat x " ")) (mapcar 'car Lst)))))
- (setq choice (getkword (strcat "\nSpecify option [" (vl-string-right-trim "/" (apply 'strcat (mapcar '(lambda (x) (strcat x "/")) (mapcar 'car Lst)))) "]: ")))
- (setq
- p1 (trans p1 1 0)
- p2 (trans p2 1 0)
- )
- )
- (entmakex
- (list
- (cons 0 "MTEXT")
- (cons 100 "AcDbEntity")
- (cons 100 "AcDbMText")
- (cons 10 (apply 'mapcar (cons '(lambda (a b) (/ (+ a b) 2.)) (list p1 p2))))
- (cons 1
- (strcat
- (cdr (assoc choice Lst))
- "\\P" (rtos (abs (apply '- (mapcar 'car (list p1 p2)))) 2 2) "x" (rtos (abs (apply '- (mapcar 'cadr (list p1 p2)))) 2 2)
- )
- )
- (cons 71 5)
- )
- )
- )
- (princ)
- )
很抱歉,我们不使用英制单位,因此必须由其他人为您修复。 |