Đến nội dung


Hình ảnh
- - - - -

Nhờ Chỉnh Sửa Lại Vòng Lặp Và Lisp


  • Please log in to reply
1 reply to this topic

#1 khanh phong

khanh phong

    biết pan

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

Đã gửi 25 November 2016 - 07:02 PM

Nhờ các anh chỉnh lại vòng lặp giúp em, lisp dim kích thước dưới chỉ chạy trên 1 line em chọn, em chọn 2 line là chạy lung tung. Cám ơn nhiều

(defun c:SDF()
(if (setq ss (ssget))
(progn
(setq n (sslength ss)
	i 0)
(while (< i n)
(setq B (ssname ss i)
	A1 (getpoint "\nDiem 1 phuong dim: ")
	A2 (getpoint "\nDiem 2 phuong dim: ")
	C (getpoint "\nVi tri TEXT dim "))
(command "_line" A1 A2 "")
(setq L0 (entlast))
(command ".copy" L0 "" "0,0,0" "@")
(setq L00 (entlast))
(command ".rotate" L00 "" A1 "90")
(setq L1 (entlast))
(setq D1 (car(acet-geom-intersectwith L1 B 1)))
(setq D2 (car(acet-geom-intersectwith L1 L0 1)))
(command "_.dimaligned" D1 D2 C)
(command ".erase" L0 L1 "")
(setq i (+ 1 i))
))
(princ "\nKhong co duong line nao duoc chon !")
)
(princ)
)

  • 0

#2 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 25 November 2016 - 10:47 PM

Bạn tim đến các lệnh (acet-geom-intersectwith L1 B 1) rồi sửa lại (acet-geom-intersectwith L1 B 3) , 1+2=3 là mở rộng cả 2 đối tượng. Sau khi kết thúc lệnh SDF Bạn cần phải khử biến, khi vẽ các line bằng lệnh command thì nên tắt osnap trước khi vẽ


  • 2