Đến nội dung


Hình ảnh
- - - - -

Nhờ Giúp Lisp Đánh Cấp


  • Please log in to reply
53 replies to this topic

#1 xaakiii_mboet

xaakiii_mboet

    biết vẽ line

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

Đã gửi 26 October 2009 - 08:12 PM

Em là thành viên mới của diễn đàn. Trước tiên xin chào và chúc mọi người trên diễn đàn khỏe mạnh---------------> giàu có......
Em xin nhờ mọi người viết giùm em cái LSP đánh cấp với bề rộng B được nhập vào bằng phím.
Em đang mày mò tập tành với Lisp nên mong mọi người dùng những lệnh cơ bản để em có thể học tập. Em cảm ơn...............
(PS:/ em đã tìm mà không thấy, nếu em tìm ko ra anh chị hướng dẫn...................đừng la em út tội nghiệp)
  • 1

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 26 October 2009 - 08:24 PM

Em là thành viên mới của diễn đàn. Trước tiên xin chào và chúc mọi người trên diễn đàn khỏe mạnh---------------> giàu có......
Em xin nhờ mọi người viết giùm em cái LSP đánh cấp với bề rộng B được nhập vào bằng phím.
Em đang mày mò tập tành với Lisp nên mong mọi người dùng những lệnh cơ bản để em có thể học tập. Em cảm ơn...............

Chào bạn 'xaakiii_mboet'
Trước tiên Tue_NV xin cảm ơn bạn vì lời chúc của bạn và mình cũng chúc bạn có những phút giây thực sự thoải mái và học được nhiều điều bổ ích từ diễn đàn CADVIET.

- Tue_NV vẫn chưa hiểu bạn đánh cấp với bề rộng B được nhập vào bằng phím thì cụ thể nó như thế nào? Chưa hình dung ra thì khó viết Lisp lắm. Bạn có thể diễn tả điều bạn nói qua file .dwg được không?
Mấy hôm nay, chức năng upload của diễn đàn bị lỗi. bạn có thể vào đây upload nhé : http://www.mediafire.com/
  • 1

#3 xaakiii_mboet

xaakiii_mboet

    biết vẽ line

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

Đã gửi 26 October 2009 - 08:29 PM

Chào bạn 'xaakiii_mboet'
Trước tiên Tue_NV xin cảm ơn bạn vì lời chúc của bạn và mình cũng chúc bạn có những phút giây thực sự thoải mái và học được nhiều điều bổ ích từ diễn đàn CADVIET.

- Tue_NV vẫn chưa hiểu bạn đánh cấp với bề rộng B được nhập vào bằng phím thì cụ thể nó như thế nào? Chưa hình dung ra thì khó viết Lisp lắm. Bạn có thể diễn tả điều bạn nói qua file .dwg được không?
Mấy hôm nay, chức năng upload của diễn đàn bị lỗi. bạn có thể vào đây upload nhé : http://www.mediafire.com/


Em đang cố gắng up file mà chưa được, dùng media........cũng có vấn đề khổ quá, rất mừng vì có anh trên đây...........
Anh Load hộ http://maxup.vn/tai-...hogiup.dwg.html
  • 0

#4 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 26 October 2009 - 10:02 PM

Em đang cố gắng up file mà chưa được, dùng media........cũng có vấn đề khổ quá, rất mừng vì có anh trên đây...........
Anh Load hộ http://maxup.vn/tai-...hogiup.dwg.html

Bạn thử Lisp này Tue_NV viết thử xem :
Bài toán : cho 1 Polyline -> vẽ đường đánh cấp với bề rộng là B như file bạn gửi kèm theo


(defun c:dcap(/ curve B sp ep Lx n po1 po2 po3 i oldos)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq curve (car(entsel "\n Ban Pick chon Pline :")) ss (ssadd))
(setq B (getdist "\n Nhap be rong danh cap :"))

(setq sp (vlax-curve-getStartPoint curve))
(setq ep (vlax-curve-getEndPoint curve))
(if (> (cadr sp) (cadr ep))
(progn
(setq ep (vlax-curve-getStartPoint curve))
(setq sp (vlax-curve-getEndPoint curve))
))

(setq Lx (abs (- (car ep) (car sp)) ))
(setq n (abs(fix (/ (- Lx (rem Lx B )) B ))) i 1)
(setq po1 sp)

(Repeat n
(setq dvi (list (+ (car sp) (* i B )) (cadr sp) 0))
(command "Xline" "Ver" dvi "")

(setq po3 (car (giaodt curve (entlast))) )

(setq po2 (list (car po3) (cadr po1) 0))
(entdel (entlast))
(dline po1 po2)
(dline po2 po3)
(setq po1 po3)
(setq i (1+ i))
)

(setq po2 (list (car ep) (cadr po1) 0))
(dline po1 po2)
(dline po2 ep)
(setvar "osmode" oldos)
(command "undo" "end")
(princ)
)
;
(defun dline(p1 p2)
(entmake (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2)))
)
;
(defun GiaoDT (ent1 ent2)
(setq ob1 (vlax-ename->vla-object ent1)
ob2 (vlax-ename->vla-object ent2)
)
(setq g (vlax-variant-value
(vla-IntersectWith ob1 ob2 acExtendNone)
)
)
(if (/= (vlax-safearray-get-u-bound g 1) -1)
(setq g (vlax-safearray->list g))
(setq g nil)
)
(if g
(progn
(setq kq nil
sd (fix (/ (length g) 3))
)
(repeat sd
(setq kq (append kq (list (list (car g) (cadr g) (caddr g))))
g (cdddr g)
)
)
kq
)
nil
)

)


Hiện nay chức năng download Lisp file của diễn đàn bị lỗi. Nếu bạn sử dụng chức năng download Lisp file của diễn đàn bị lỗi thì hãy nhấn nút Reply bài viết này của Tue_NV -> chép hết code về (không sót đấy nhé về chạy thử là được
Chúc thành công :bigsmile:
  • 2

#5 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 27 October 2009 - 04:12 PM

Bạn thử Lisp này Tue_NV viết thử xem :
Bài toán : cho 1 Polyline -> vẽ đường đánh cấp với bề rộng là B như file bạn gửi kèm theo



(defun c:dcap();(/ curve B sp ep Lx n po1 po2 po3 i oldos)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq curve (car(entsel "\n Ban Pick chon Pline :")) ss (ssadd))
(setq B (getdist "\n Nhap be rong danh cap :"))

(setq sp (vlax-curve-getStartPoint curve))
(setq ep (vlax-curve-getEndPoint curve))
(if (> (cadr sp) (cadr ep))
(progn
(setq ep (vlax-curve-getStartPoint curve))
(setq sp (vlax-curve-getEndPoint curve))
))

(setq Lx (abs (- (car ep) (car sp)) ))
(setq n (abs(fix (/ (- Lx (rem Lx B )) B ))) i 1)
(setq po1 sp)

(Repeat n
(setq dvi (list (+ (car sp) (* i B )) (cadr sp) 0))
(command "Xline" "Ver" dvi "")

(setq po3 (car (giaodt curve (entlast))) )

(setq po2 (list (car po3) (cadr po1) 0))
(entdel (entlast))
(dline po1 po2)
(dline po2 po3)
(setq po1 po3)
(setq i (1+ i))
)

(setq po2 (list (car ep) (cadr po1) 0))
(dline po1 po2)
(dline po2 ep)
(setvar "osmode" oldos)
(command "undo" "end")
(princ)
)
;
(defun dline(p1 p2)
(entmake (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2)))
)
;
(defun GiaoDT (ent1 ent2)
(setq ob1 (vlax-ename->vla-object ent1)
ob2 (vlax-ename->vla-object ent2)
)
(setq g (vlax-variant-value
(vla-IntersectWith ob1 ob2 acExtendNone)
)
)
(if (/= (vlax-safearray-get-u-bound g 1) -1)
(setq g (vlax-safearray->list g))
(setq g nil)
)
(if g
(progn
(setq kq nil
sd (fix (/ (length g) 3))
)
(repeat sd
(setq kq (append kq (list (list (car g) (cadr g) (caddr g))))
g (cdddr g)
)
)
kq
)
nil
)

)


Hiện nay chức năng download Lisp file của diễn đàn bị lỗi. Nếu bạn sử dụng chức năng download Lisp file của diễn đàn bị lỗi thì hãy nhấn nút Reply bài viết này của Tue_NV -> chép hết code về (không sót đấy nhé về chạy thử là được
Chúc thành công :tongue2:

Bác Tue_NV ơi,
Cái đoạn code này có ý nghĩa gì vậy???
(setq n (fix (/ (- Lx (rem Lx "http://img2.cadviet.com/forum/style_emoticons/default/cool.gif" style="vertical-align: middle;" emoid="B)" alt="cool.gif" border="0">) "http://img2.cadviet.com/forum/style_emoticons/default/cool.gif" style="vertical-align: middle;" emoid="B)" alt="cool.gif" border="0">) i 1)
Có phải là do lỗi của trang upload không bác?? Nếu vậy bác cho xin lại cái code gốc của bác được không ạ.??? Cám ơn bác nhiều.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#6 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 27 October 2009 - 04:30 PM

Không Load được.........Lisp loi rồi, nhờ anh UP ho lại. Thanks
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 27 October 2009 - 05:00 PM

Bác Tue_NV ơi,
Cái đoạn code này có ý nghĩa gì vậy???
(setq n (fix (/ (- Lx (rem Lx "http://img2.cadviet.com/forum/style_emoticons/default/cool.gif" style="vertical-align: middle;" emoid="B)" alt="cool.gif" border="0">) "http://img2.cadviet.com/forum/style_emoticons/default/cool.gif" style="vertical-align: middle;" emoid="B)" alt="cool.gif" border="0">) i 1)
Có phải là do lỗi của trang upload không bác?? Nếu vậy bác cho xin lại cái code gốc của bác được không ạ.??? Cám ơn bác nhiều.


Không Load được.........Lisp loi rồi, nhờ anh UP ho lại. Thanks

Buồn cho 2 bạn quá. 2 bạn không đọc kỹ bài viết trên của Tue_NV hay sao???

Hiện nay chức năng download Lisp file của diễn đàn bị lỗi. Nếu bạn sử dụng chức năng download Lisp file của diễn đàn bị lỗi thì hãy nhấn nút Reply bài viết này của Tue_NV -> chép hết code về (không sót đấy nhé về chạy thử là được
Chúc thành công

Buồn quá :D

Chào bạn 'hoa tam that'
Bạn nhấn nút Reply bài viết của Tue_NV chép hết code của Tue_NV (không sót nhé) về chạy là được.
Chức năng download Lisp file của diễn đàn bị lỗi mấy hôm nay.

Ôi! ngày nào cũng viết lại điệp khúc này đến mỏi tay mất thui :tongue2: :D
Mọi người trong Ban Quản trị có ai biết sửa lại Chức năng download Lisp file thì xin hãy sửa lại cho anh em sử dụng được dễ dàng hơn.

Cảm ơn.


  • 1

#8 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 27 October 2009 - 09:42 PM

Thế là được rồi hay quá, bây giờ tha hồ mà giật cấp, không phải copy dán trim........nữa...
Thế mà lúc sáng không biết sao em cũng copy mã lsp trong phan reply là nó vẫn không hiểu, và ko chạy. Cảm ơn anh một lần nữa. Chúc một ngày vui vẻ. Lisp thật tuyệt vời..........
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#9 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 28 October 2009 - 07:09 AM

Thế là được rồi hay quá, bây giờ tha hồ mà giật cấp, không phải copy dán trim........nữa...
Thế mà lúc sáng không biết sao em cũng copy mã lsp trong phan reply là nó vẫn không hiểu, và ko chạy. Cảm ơn anh một lần nữa. Chúc một ngày vui vẻ. Lisp thật tuyệt vời..........

Bạn dkkx3a và bạn xaakiii_mboet có thể cho biết bạn đánh cấp cho Pline gấp khúc, nhưng bạn đánh cấp với trường hợp các cấp nằm dưới Pline sử dụng trong trường hợp thực tế nào không?
Tue_NV sử dụng Lisp đánh cấp với các cấp nằm trên Pline trong trường hợp đánh bậc cấp.
Tue_NV xin nâng cấp vào Lisp : đánh cấp cho pline gấp khúc ở 2 trường hợp :
1. Các cấp nằm trên pline
2. các cấp nằm dưới pline
Các bạn sử dụng thử xem : (áp dụng đúng luôn cho Spline)



(defun c:dcap(/ curve B sp ep Lx n po1 po2 po3 i oldos ans)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq curve (car(entsel "\n Ban Pick chon Pline :")) ss (ssadd))
(while (null curve) (setq curve (car(entsel "\n Ban Pick chon lai Pline :"))))
(setq B (getdist "\n Nhap be rong danh cap :"))
(initget "T D")
(setq ans (getkword "\n Ban danh cap Tren hay Duoi duong pline < T / D > :"))
(setq sp (vlax-curve-getStartPoint curve))
(setq ep (vlax-curve-getEndPoint curve))
(if (> (cadr sp) (cadr ep))
(progn
(setq ep (vlax-curve-getStartPoint curve))
(setq sp (vlax-curve-getEndPoint curve))
))

(setq Lx (abs (- (car ep) (car sp)) ))
(setq n (abs(fix (/ (- Lx (rem Lx B )) B ))) i 1)
(setq po1 sp)

(Repeat n
(setq dvi (list (+ (car sp) (* i B )) (cadr sp) 0))
(command "Xline" "Ver" dvi "")

(setq po3 (car (giaodt curve (entlast))) )
(entdel (entlast))

(if (= ans "D")
(setq po2 (list (car po3) (cadr po1) 0))
(setq po2 (list (car po1) (cadr po3) 0))
)

(dline po1 po2)
(dline po2 po3)

(setq po1 po3)
(setq i (1+ i))
)

(if (= ans "D")
(setq po2 (list (car ep) (cadr po1) 0))
(setq po2 (list (car po1) (cadr ep) 0))
)
(dline po1 po2)
(dline po2 ep)
(setvar "osmode" oldos)
(command "undo" "end")
(princ)
)
;
(defun dline(p1 p2)
(entmake (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2)))
)
;
(defun GiaoDT (ent1 ent2)
(setq ob1 (vlax-ename->vla-object ent1)
ob2 (vlax-ename->vla-object ent2)
)
(setq g (vlax-variant-value
(vla-IntersectWith ob1 ob2 acExtendNone)
)
)
(if (/= (vlax-safearray-get-u-bound g 1) -1)
(setq g (vlax-safearray->list g))
(setq g nil)
)
(if g
(progn
(setq kq nil
sd (fix (/ (length g) 3))
)
(repeat sd
(setq kq (append kq (list (list (car g) (cadr g) (caddr g))))
g (cdddr g)
)
)
kq
)
nil
)

)



Hiện nay chức năng download Lisp file của diễn đàn bị lỗi. Nếu bạn sử dụng chức năng download Lisp file của diễn đàn bị lỗi thì hãy nhấn nút Reply bài viết này của Tue_NV -> chép hết code về (không sót đấy nhé về chạy thử là được
Chúc thành công :tongue2:
  • 2

#10 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 28 October 2009 - 12:06 PM

Nói vậy chắc bạn không phải dân cầu đường nhẩy. Cái này mình thường sử dụng trong thiết kế đường. Chẳng hạn khi đắp đất mà độ dốc đường sườn lớn thì mình phải giật cấp (tránh trượt)... Nói chung là cái này rất hay dùng và cảm ơn bạn đã giúp đỡ.
Nhưng mình còn chút ít này nữa là các đường giật cấp bạn có thể cho chúng vào một Polyline được không, Chứ hiện tại nó là những đường riêng biệt. Bạn có thể thêm mã vào được không.
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#11 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 28 October 2009 - 12:49 PM

Nhưng mình còn chút ít này nữa là các đường giật cấp bạn có thể cho chúng vào một Polyline được không, Chứ hiện tại nó là những đường riêng biệt. Bạn có thể thêm mã vào được không.

Bạn thử cái này nữa coi sao :




(defun c:dcap(/ curve B sp ep Lx n po1 po2 po3 i oldos ans ss)
(vl-load-com)
(command "undo" "be")
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq curve (car(entsel "\n Ban Pick chon Pline :")) ss (ssadd))
(while (null curve) (setq curve (car(entsel "\n Ban Pick chon lai Pline :"))))
(setq B (getdist "\n Nhap be rong danh cap :"))
(initget "T D")
(setq ans (getkword "\n Ban danh cap Tren hay Duoi duong pline < T / D > :"))
(setq sp (vlax-curve-getStartPoint curve))
(setq ep (vlax-curve-getEndPoint curve))
(if (> (cadr sp) (cadr ep))
(progn
(setq ep (vlax-curve-getStartPoint curve))
(setq sp (vlax-curve-getEndPoint curve))
))

(setq Lx (abs (- (car ep) (car sp)) ))
(setq n (abs(fix (/ (- Lx (rem Lx b )) b ))) i 1)
(setq po1 sp)

(Repeat n
(setq dvi (list (+ (car sp) (* i b )) (cadr sp) 0))
(command "Xline" "Ver" dvi "")

(setq po3 (car (giaodt curve (entlast))) )
(entdel (entlast))

(if (= ans "D")
(setq po2 (list (car po3) (cadr po1) 0))
(setq po2 (list (car po1) (cadr po3) 0))
)

(setq ss (ssadd (dline po1 po2) ss))
(setq ss (ssadd (dline po2 po3) ss))

(setq po1 po3)
(setq i (1+ i))
)

(if (= ans "D" )
(setq po2 (list (car ep) (cadr po1) 0))
(setq po2 (list (car po1) (cadr ep) 0))
)
(setq ss (ssadd (dline po1 po2) ss))
(setq ss (ssadd (dline po2 ep) ss))
(command "pedit" "m" ss "" "Y" "j" "0" "")
(setvar "osmode" oldos)
(command "undo" "end")
(princ)
)
;
(defun dline(p1 p2)
(entmakex (list (cons 0 "LINE") (cons 10 p1) (cons 11 p2)))
)
;
(defun GiaoDT (ent1 ent2)
(setq ob1 (vlax-ename->vla-object ent1)
ob2 (vlax-ename->vla-object ent2)
)
(setq g (vlax-variant-value
(vla-IntersectWith ob1 ob2 acExtendNone)
)
)
(if (/= (vlax-safearray-get-u-bound g 1) -1)
(setq g (vlax-safearray->list g))
(setq g nil)
)
(if g
(progn
(setq kq nil
sd (fix (/ (length g) 3))
)
(repeat sd
(setq kq (append kq (list (list (car g) (cadr g) (caddr g))))
g (cdddr g)
)
)
kq
)
nil
)

)




:tongue2:
  • 2

#12 pfievxd

pfievxd

    biết vẽ spline

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

Đã gửi 23 October 2010 - 11:58 PM

Cai lisp cua bac chỉ đánh cấp được từ khi polyline từ phải qua trái thôi, em vừa thử
  • 0

#13 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 24 October 2010 - 07:03 AM

Cai lisp cua bac chỉ đánh cấp được từ khi polyline từ phải qua trái thôi, em vừa thử

Sửa lại cho bạn đây. Bạn thử lại nhé :
http://www.cadviet.c...iles/3/dcap.lsp
  • 2

#14 pfievxd

pfievxd

    biết vẽ spline

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

Đã gửi 14 November 2010 - 02:55 PM

Hôm nay mới xem kỹ code của lisp đánh cấp trên, nhận xét của em là :
Lisp này vướng phải 2 nhược điểm ảnh hưởng đến tính thực tế của nó :
1.Do bác lấy góc kiểm tra là giữa startpoint và endpoint của curve nên khi curve có hình dạng kiểu như chữ V thì ko hoàn toàn là đánh cấp bên dưới (nếu chọn dưới)
2.Thông thường lisp đánh cấp được áp dụng cho 1 đoạn của curve có độ dốc lớn hơn hoặc bằng 30% vì thế bác nên để cho người dùng chọn điểm đầu và điểm cuối đánh cấp (trên curve)
:iluvyousmiley:
Nói vậy thôi chứ thuật toán của bác là quá ổn rồi
  • 0

#15 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 14 November 2010 - 03:17 PM

Hôm nay mới xem kỹ code của lisp đánh cấp trên, nhận xét của em là :
Lisp này vướng phải 2 nhược điểm ảnh hưởng đến tính thực tế của nó :
1.Do bác lấy góc kiểm tra là giữa startpoint và endpoint của curve nên khi curve có hình dạng kiểu như chữ V thì ko hoàn toàn là đánh cấp bên dưới (nếu chọn dưới)
2.Thông thường lisp đánh cấp được áp dụng cho 1 đoạn của curve có độ dốc lớn hơn hoặc bằng 30% vì thế bác nên để cho người dùng chọn điểm đầu và điểm cuối đánh cấp (trên curve)
:iluvyousmiley:
Nói vậy thôi chứ thuật toán của bác là quá ổn rồi

2 yêu cầu trên của bạn đối với mình là không khó, có thể vận dụng lại code, ý tưởng về cách giải bài toán của Tue_NV để sửa lại theo ý của các bạn.
Vì thứ nhất là Tue_NV không phải ở trong ngành của các bạn, không biết cấp kiếc gì ráo trọi, và mình viết Lisp trên yêu cầu mà chủ Topic đưa ra từ đầu
thứ hai nữa là mình lười viết lại Lisp và cái thứ ba nữa là mình không có nhiều thời gian rãnh. Các bạn thông cảm

Chúc các bạn cuối tuần vui vẻ
  • 0

#16 pfievxd

pfievxd

    biết vẽ spline

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

Đã gửi 14 November 2010 - 05:28 PM

He, đúng là em đang ngồi chỉnh sửa cái lisp của bác Tue_NV đây, vì thực tế em cũng chỉ cần đánh cấp phía dưới thôi.
^^ Em có dám ghi là yêu cầu đâu, em chỉ dám ghi là nhận xét đấy chứ ^^ Oan cho em quá !
  • 0

#17 catly

catly

    Chưa sử dụng CAD

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

Đã gửi 28 July 2012 - 09:19 AM

Anh ơi cho em hỏi em muốn đánh cấp theo chiều cao thì sửa lisp như thế nào? thanks
  • 0

#18 trieubb

trieubb

    biết vẽ ellipse

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

Đã gửi 18 September 2012 - 03:16 PM

Em xin chào bác Tue_NV, lisp của bác rất hay, nhưng bác có thể sửa lại dùm em là nó có thể đánh từ trên xuống hay không ạ.
Lisp của bác nó toàn đánh từ dưới lên thôi ạ. Và em cũng đồng tình với bác catly là đánh theo chiều cao thì sao hả bác.
Bác có thể giúp em không ạ. Em đang cần dùng lisp này ạ
  • 0

#19 2899nb

2899nb

    biết vẽ line

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

Đã gửi 28 June 2014 - 09:43 AM

lisp của bác chưa ổn tý nào. Có cao thủ nào giúp tôi với

nhờ bác viết lại theo yêu cầu của tôi được không.yêu cầu tôi đã viết hết trong bản cad gửi cùng


  • 0

#20 2899nb

2899nb

    biết vẽ line

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

Đã gửi 28 June 2014 - 09:44 AM

File cadhttp://www.cadviet.c...23_danh_cap.dwg


  • 0