Đến nội dung


Hình ảnh

AutoLISP cho kỹ sư xây dựng


  • Please log in to reply
21 replies to this topic

#21 Hoang Van An

Hoang Van An

    biết zoom

  • Members
  • Pip
  • 10 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 28 October 2011 - 10:04 PM

Bạn tìm dòng lệnh
(_save) và (_restore) ở trong file lisp trên để xóa đi hoặc thêm dấu chấm phẩy [;] vào đằng trước thì sẽ dùng lệnh ngon.

Đây là 2 lệnh save và restore cấu hình nhưng không ảnh hưởng đến lệnh.

Nghe danh bác Hoanh đã lâu giờ em mới có dịp tham gia diễn đàn để tỏ lòng khâm phục Bác. Còn trình độ Cad của em thì có lẽ không thể nói chuyện với Bác được rồi. Mong rằng các bác post lên nhiều bài hay hơn nữa để tụi em xài ké với////////
  • 0

#22 hoangtranlong

hoangtranlong

    biết vẽ polygon

  • Members
  • PipPip
  • 77 Bài viết
Điểm đánh giá: 4 (bình thường)

Đã gửi 06 December 2011 - 02:14 PM

Xin mở đầu mục này bằng một tiện ích được viết bởi thành viên của chúng tôi.
Tiện ích viết từ Autolisp nhắm tiện dụng hoá phần thống kê thanh dàn , lệnh được gọi là tktd

(defun c:tktd( / lstThanh ss pp)
(defun sudung (ham ss / sodt index entdt soapp)
(setq sodt (cond
(ss (sslength ss))
(t 0)
)
soapp 0
index 0
)
(repeat sodt
(setq entdt (ssname ss index)
index (1+ index)
)
(if (ham entdt)
(setq soapp (1+ soapp))
)
)
soapp
)
(defun prone(ent / tt p1 p2 L cothem)
(defun them(dt)
(if (equal L (car dt) 1.0)
(progn
(setq cothem t)
(list L (1+ (cadr dt)))
)
dt
)
)
(setq
tt (entget ent)
p1 (cdr (assoc 10 tt))
p2 (cdr (assoc 11 tt))
L (distance p1 p2)
cothem nil
lstThanh (mapcar 'them lstThanh)
)
(if (not cothem)
(setq lstThanh
(append lstThanh (list (list L 1))
)
)
)
)
;;-------- Main ------------------
(princ "\nHay chon thanh: ")
(setq
ss (ssget '((0 . "LINE")))
lstThanh nil
)
(sudung prone ss)
(princ "\nSo luong cac thanh:")
(foreach pp lstThanh
(princ (strcat "\nThanh dai " (rtos (car pp)) ": " (itoa (cadr pp))))
)
(princ)
)

<a href="http://www.cadviet.c...files/TKTD.lsp" target="_blank">http://www.cadviet.c...pfiles/TKTD.lsp</a>

Mong bác Jin hướng dẫn chi tiết cách sử dụng list với. tôi down về khi đánh lệnh TKTD nó bắt chọn đối tượng nhưng sau đó thực hiện như thế nào thì tôi chịu chết. MOng bác chỉ bảo cho.
  • 0