Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
4 replies to this topic

#1 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 26 July 2012 - 02:24 PM

Đâ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)
)

  • 0

#2 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 26 July 2012 - 04:05 PM

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?
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#3 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 26 July 2012 - 05:20 PM

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
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#4 huunhantvxdts

huunhantvxdts

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 366 Bài viết
Điểm đánh giá: 53 (tàm tạm)

Đã gửi 26 July 2012 - 05:36 PM

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
  • 0

#5 nguyenbd1

nguyenbd1

    biết lệnh text

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

Đã gửi 25 November 2014 - 06:26 AM

nhờ anh em xem lisp dùm sao khong chay dc ahttp://www.cadviet.c...4/122369_11.lsp


  • 0