JONTHEPOPE 发表于 2022-7-6 15:08:00

rar公司

有人能帮我把代码也写出来吗

;;                         SQFT Area Lisp Program
;;                        Ghostrider @ Cadtutor   
;;                      WRITTEN:November 11, 1994

(defun c:SQ2 (/    P1P2    P3    P4    P5P6    A   B
   C    DE   F   PT    PTLIST      OS    ss
   ssl   wlctr   l1    l2    wnwlist llist vlist
   bn    dlist dllist      dvlist
    )
(setvar "CMDECHO" 0)
(setq wl 0)
(setq E 0)
(setq D 0)
(setq OS (getvar "OSMODE"))
   (setq l1 70)
(setvar "OSMODE" 32)
(while (/= nil
   (setq PT
   (getpoint
       "\nPick a room corner point, press return when done: _int "
   )
   )
   (progn
       (if PT
(/= nil (setvar "lastpoint" PT))
       )
       (setq PTLIST (cons PT PTLIST))
   )
)
)
(setq PTLIST (reverse PTLIST))
(setvar "OSMODE" 0)
(command "PLINE")
(while (/= nil
   (car PTLIST)
   (progn
       (command (car PTLIST))
       (setq PTLIST (cdr PTLIST))
   )
)
)
(command "AREA" "e" "l" "ERASE" "l" "")
(setvar "OSMODE" OS)
(command "redraw")
(setq A (/ (getvar "area") 144))

(setq P1 (getpoint "\nPick center point of text: "))
(setq P2 (list (car P1) (- (cadr P1) 5)))
(setq P3 (list (car P1) (- (cadr P2) 5)))
(setq P4 (list (car P1) (- (cadr P3) 5)))
(setq P5 (list (car P1) (- (cadr P4) 5)))
(setq P6 (list (car P1) (- (cadr P5) 5)))
(command "text" "c" P1 6 0 (strcat (rtos A 2 2) " SQFT."))
(setvar "cmdecho" 1)
(princ)
); end of c:SQ2
(princ "\n*** Type SQ2 to add sq root of room *** ")


JONTHEPOPE 发表于 2022-7-6 15:51:30

我试过了,但文字相互重叠,而且信息错误,这一定是因为我是法国人:)

(command "AREA" "e" "l" "ERASE" "l" "")
(setvar "OSMODE" OS)
(command "redraw")
(setq A (getvar "perimeter")

(setq P1 (getpoint "\nPick center point of text: "))
(setq P2 (list (car P1) (- (cadr P1) 5)))
(setq P3 (list (car P1) (- (cadr P2) 5)))
(setq P4 (list (car P1) (- (cadr P3) 5)))
(setq P5 (list (car P1) (- (cadr P4) 5)))
(setq P6 (list (car P1) (- (cadr P5) 5)))
(command "text" "c" P1 6 0 (strcat (rtos A 2 2) " perimeter."))
(setvar "cmdecho" 1)
(princ)

JONTHEPOPE 发表于 2022-7-6 16:13:56

Defun C:areaw()
(setq Q1(getreal“\n用户输入Q1的数据:”)
(*Q1 144)
(setq W1(getreal“\n用户输入Q1的数据:”)
(*W1 144)
(+Q1 W1)\setq P1(getpoint“\n点击文本的中心点:”)
(setq P2(列表(car P1)((cadr P1)5)))
(setq P3(列表(汽车P1)((cadr P2)5)))
(setq P4(列表(汽车P1)((cadr P3)5)))
(setq P5(列表(汽车P1)((cadr P4)5)))
(setq P6(列表(汽车P1)((cadr P5)5)))
(命令“text”“c”P1 6 0(strcat(rtos A 2 2)“SQFT”))
(setvar“cmdecho”1)
(普林斯)
页: [1]
查看完整版本: rar公司