Chuyển đến nội dung
Diễn đàn CADViet
nhunhapro123

Nhờ chỉnh sửa code lisp

Các bài được khuyến nghị

(defun C:TKCD (D H1 H2 WF TL1 K P1 P2 P3 P4 P5 P6 P7 P8 PT PT1 P9 P10 P11 P12 P13 TTL L)
(SETVAR "cmdecho" 0)
(COMMAND "undo" "begin")
(setq LADIN (GETVAR "dimzin"))
(setq LAOS (GETVAR "osmode"))
(setq STY (GETVAR "textstyle"))
(setq D (TBLSEARCH "style" STY))
(setq H1 (CDR (ASSOC 40 D)))
(setq H2 (CDR (ASSOC 42 D)))
(setq WF (CDR (ASSOC 41 D)))
(setq H H1)
(setq H Then OR Else)
(setq TL 1)
(setq TL1 (GETREAL (STRCAT TL (RTOS TL 2 0) " >: 1/")))
(setq TL TL1)
(setq K 1)
(setq TTL 0)
(SETVAR "dimzin" 0)
(SETVAR "OSMODE" 0)
(setq PT (GETPOINT "\nChon diem xuat bang thong ke dien tich (mep trai):"))
(setq P1 (LIST (+ (CAR PT) (* 6 H)) (CADR PT)))
(setq P2 (LIST (+ (CAR PT) (* 22 H)) (CADR PT)))
(setq P3 (LIST (CAR PT) (- (CADR PT) (* 3 H))))
(setq P4 (LIST (CAR P1) (CADR P3)))
(setq P5 (LIST (CAR P2) (CADR P3)))
(setq P6 (LIST (+ (CAR PT) (* 11 H)) (+ (CADR PT) (* 2 H))))
(setq P7 (LIST (+ (CAR PT) (* 3 H)) (- (CADR PT) (* 1.5 H))))
(setq P8 (LIST (+ (CAR PT) (* 14 H)) (- (CADR PT) (* 1.5 H))))
(COMMAND "pline" PT P2 P5 P3 "C")
(COMMAND "pline" P1 P4 "")
(COMMAND "TEXT" "M" "BANG THONG KE CHIEU DAI" P6)
(COMMAND "TEXT" "M" "STT" P7)
(COMMAND "TEXT" "M" "CHIEU DAI" P8)
(setq E (CAR (ENTSEL "\n Chon doi tuong tinh chieu dai : ")))
(setq K (1+ K))
(setq PT (LIST (CAR P3) (CADR P3)))
(setq P1 (LIST (+ (CAR PT) (* 6 H)) (CADR PT)))
(setq P2 (LIST (+ (CAR PT) (* 22 H)) (CADR PT)))
(setq P3 (LIST (CAR PT) (- (CADR PT) (* 3 H))))
(setq P4 (LIST (CAR P1) (CADR P3)))
(setq P5 (LIST (CAR P2) (CADR P3)))
(setq P7 (LIST (+ (CAR PT) (* 3 H)) (- (CADR PT) (* 1.5 H))))
(setq P8 (LIST (+ (CAR PT) (* 14 H)) (- (CADR PT) (* 1.5 H))))
(setq P9 (LIST (CAR PT) (- (CADR P3) (* 3 H))))
(setq P10 (LIST (CAR P1) (CADR P9)))
(setq P11 (LIST (CAR P2) (CADR P9)))
(setq P12 (LIST (CAR P7) (- (CADR P3) (* 1.5 H))))
(setq P13 (LIST (CAR P8) (CADR P12)))
(setq L (* (LEN E) TL))
(setq TTL (+ L TTL))
(COMMAND "pline" PT P2 P5 P3 "C")
(COMMAND "pline" P1 P4 "")
(COMMAND "TEXT" "M" (RTOS K 2 0) P7)
(COMMAND "TEXT" "M" (RTOS L 2 2) P8)
(setq E (CAR (ENTSEL (STRCAT "\nTong chieu dai = " (RTOS TTL 2 3) ". Chon doi tuong tiep theo..."))))
(SETVAR "DIMZIN" LADIN)
(COMMAND "pline" P3 P9 P11 P5 "C")
(COMMAND "pline" P10 P4 "")
(COMMAND "TEXT" "M" "TONG" P12)
(COMMAND "TEXT" "M" (RTOS TTL 2 2) P13)
(SETVAR "OSMODE" LAOS)
(COMMAND "undo" "end")
  )
(defun LEN (E)
(defun WTXT_M (TXT  P)
((STY D H1 H2 WF H))
(setq STY (GETVAR "textstyle"))
(setq D (TBLSEARCH "style" STY))
(setq H1 (CDR (ASSOC 40 D)))
(setq H2 (CDR (ASSOC 42 D)))
(setq WF (CDR (ASSOC 41 D)))
(setq H H1)
(setq H Then OR Else)
);;;

Nhờ các Anh trên diễn đàn chỉnh sửa giúp code này ạ

 

Thong ke chieu dai doi tuong.lsp

Chỉnh sửa theo Danh Cong
Danh Công: Đã kiểm tra vị trí lỗi.
  • Vote giảm 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
33 phút trước, nhunhapro123 đã nói:

Đây là lisp thống kê chiều dài các đoạn thẳng line, pline và ghi ra bảng. Bạn #Danh Cong có thể chỉnh sửa giúp được không ạ?

+ Nếu là copy bài từ đâu thì hãy liên hệ với người viết. Còn nếu tự viết thì bạn có thể tự sửa được. 

Kiểu viết tùm lum sai, rồi mò mẫm tìm lỗi mệt lắm. Tôi không có thời gian ! Nếu bạn có thời gian, thì trên diễn đàn đầy lisp, tự tìm lisp khác phù hợp mà dùng.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×