Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
huunhantvxdts

[nhờ chỉnh sữa ] lisp vẽ taluy

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

Đây là lisp vẽ taluy mà mình đã chỉnh sửa theo mong muốn của mình nhưng còn 1 số vướng mắc không biết làm sao mong mọi người giúp đỡ.

Những vướng mắc sau đây.

1. Có thể undo lại sau khi vẽ

- Nhập lại khoảng cách giữa các vạch ngắn dài

-Đổi chiều đánh taluy từ đắp sang đào hoặc ngược lại

2. Có thể chọn được điểm bắt đầu và kết thúc đánh taluy (vì chỉ muốn đánh 1 đoạn)

rất cám ơn mọi người giúp đỡ

Sau đây là lisp

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=5947
;;; ======================== VE DUONG TALUY - LENH B1 (BATTER) =========================
;;; ================================================================================
=======
;; ============================================= Batter ================================================
(defun c:Batter()
  (setvar "cmdecho" 0)
  (setvar "blipmode" 0)
  (setvar "aunits" 0)
  (setvar "angbase" (/ pi 2))
  (setvar "angdir" 1)
  (if (not lint) (setq lint 10.0))
  (setq int (getdist (strcat "\nKhoang cach giua vach ngan - vach dai <" (rtos lint 2 3) ">: ")))
  (if int (setq lint int) (setq int lint))
  (command "line" (list 0.0 0.0) (list 0.0 0.0001) "")
  (if (tblsearch "block" "tadtick")
  (command "block" "tadtick" "y" (list 0.0 0.0) (entlast) "")
  (command "block" "tadtick" (list 0.0 0.0) (entlast) "")
  )
  (while (setq refent (entsel "\nChon duong thu nhat: "))
  (command "undo" "group")
  (redraw (car refent) 3)
  (initget 1 "Dao Mai")
  (setq reply (getkword "\nMai [D]ao or [M]ai dap: "))
  (setq s (ssget))
  (command "measure" refent "b" "tadtick" "y" int)
  (setq p (ssget "p") cn 0)
  (if s
  (progn
  (while (< cn (sslength p))
 	(setq en (entget (ssname p cn)) p0 (cdr (assoc 10 en)) pt1 p0 pt2 nil b (cdr (assoc 50 en)))
 	(entdel (ssname p cn))
 	(setq p1 (polar p0 (+ (/ pi 2) B) 0.0001))
 	(command "line" p0 p1 "")
 	(command "extend" s "" (list (entlast) p1) "")
 	(setq xent (entget (entlast)))
 	(setq xdist (distance (cdr (assoc 10 xent)) (cdr (assoc 11 xent))))
 	(if (not (equal xdist 0.0001 0.0001))
 	(setq pt2 (cdr (assoc 11 xent)))
 	(progn
 	(command "extend" s "" (list (entlast) p0) "")
 	(setq xent (entget (entlast)))
 	(setq xdist (distance (cdr (assoc 10 xent)) (cdr (assoc 11 xent))))
 	(if (not (equal xdist 0.0001 0.0001))
 	(setq pt2 (cdr (assoc 10 xent)))
 	)
 	)
 	)
 	(entdel (entlast))
 	(if pt2
 	(if (= reply "Mai")
 	(if (= (rem cn 2) 0)
 	(progn
 	(command "-layer" "set" "canh dai" "")
 	(command "line" pt1 pt2 "")
 	)
 	(progn
 	(command "-layer" "set" "canh ngan" "")
 	(command "line" pt1 (polar pt1 (angle pt1 pt2) (/ (distance pt1 pt2) 2)) "")
 	)
 	)
 	(if (= (rem cn 2) 0)
 	(progn
 	(command "-layer" "set" "canh dai" "")
 	(command "line" pt2 pt1 "")
 	)
 	(progn
 	(command "-layer" "set" "canh ngan" "")
 	(command "line" pt2 (polar pt2 (angle pt2 pt1) (/ (distance pt2 pt1) 2)) "")
 	)
 	)
 	)
 	)
 	(setq cn (1+ cn))
  )
  )
  )
  (command "undo" "en")
  )
  (setvar "blipmode" 1)
  (princ)
)
(prompt "\nDraw cut/fill batter slope lines.")
;====================== BAT1 (BATTER)===========================================
(defun c:B1( / mode)
(command "-layer" "new" "canh dai" "color" "8" "canh dai" "")
(command "-layer" "new" "canh ngan" "color" "2" "canh ngan" "")
;(command "-layer" "set" "canh dai" "")
(setvar "osmode" 0)
(c:batter)
(setvar "blipmode" 0)
(setvar "osmode" 167)
)

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

Nọi ngọng, việt cũng ngọng được nữa sao hã trời! "chỉnh sửa" chứ không phải "chỉnh sữa".

Topic đầu tiên bị các sếp quăng vô thùng rác mà không nhận ra sao hả bạn?

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

K biết kiếm sửa ở đâu ra bây giờ... Haiza. Cái này theo mình nên dùng Linetype, đừng lạm dụng lisp. Còn muốn lisp hẳn thì cứ search chữ Batter, bạn sẽ thấy hàng lô lisp ngoại xịn.

- Bạn chú ý gửi topic đúng tiêu đề. Gửi câu hỏi ngay tại nới download lisp là tốt nhất

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

Nọi ngọng, việt cũng ngọng được nữa sao hã trời! "chỉnh sửa" chứ không phải "chỉnh sữa".

Topic đầu tiên bị các sếp quăng vô thùng rác mà không nhận ra sao hả bạn?

Thì ra là vì vậy nên bị đưa vào sọt rác heeeee sorry do không đọc kỹ cứ nghĩ là đưa không đúng tiêu đề nên bị xóa

rút kinh nghiệm lần sau

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

Đăng nhập để thực hiện theo  

×