Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Lisp offset nhiều đường tròn


  • Please log in to reply
44 replies to this topic

#41 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 27 December 2011 - 02:49 PM

Nếu đã dùng vla-put-radius thì dùng thuần vl nhanh hơn 2 bác ạ :

(defun c:artt()
(cond
((ssget '((0 . "ARC") (-4 . "<") (40 . 15)))
(vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (< (vla-get-TotalAngle obj) (/ (* 85 pi) 180.0))
(vla-put-Radius obj 10.0)
)
)
)
)
(princ))

  • 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


#42 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 27 December 2011 - 03:06 PM

Gởi chung các bác: Tue_NV, Gia Bach, Ketxu, Pham Thanh Binh, Thaistreetz... và nhiều bác khác không thể liệt kê hết!
Ngay mỗi topic này các bác đã cho thấy tài năng code lisp của mình: nhanh, hay, gọn...
Tôi thì đôi lúc code nó lúa không chịu nổi, nên luôn nhận được những góp ý của các bác.
Và tôi mượn topic này để nói lời cám ơn vậy. Hy vọng các bác vẫn còn giúp đỡ, và giúp "nhè nhẹ" cho nó dễ tiếp thu tí nghe.
Thân thương!
Srr, vì đã làm loãng topic.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#43 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 December 2011 - 03:19 PM

Nếu đã dùng vla-put-radius thì dùng thuần vl nhanh hơn 2 bác ạ :


(defun c:artt()
(cond
((ssget '((0 . "ARC") (-4 . "<") (40 . 15)))
(vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(if (< (vla-get-TotalAngle obj) (/ (* 85 pi) 180.0))
(vla-put-Radius obj 10.0)
)
)
)
)
(princ))

Hì hì, ssget là thuần Lisp, chứ đâu phải thuần vl đâu nè.
Muốn thuần Vl phải viết ssget thay bằng hàm vl khác và nó sẽ dài hơn....
  • 1

#44 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 27 December 2011 - 03:23 PM

Ý em nói trong vòng lặp ý mà. Check entity data bằng dxf code rồi xong lại chuyển nó sang vla để thay đổi thì khổ thân nó ^^. Còn ssget thì L hay VL cũng phải có cho nhanh chứ :D
@bác ĐVH : Mỗi lời mình nói, mỗi câu mình viết đều có những lời phản hồi. Và phản hồi đó là hay hay dở là do mình. Nghe hay không cũng là do mình ^^ k tự nhiên mà một người lại hoàn thiện hơn (trong 1 lĩnh vực nào đó).
Chúc bác ngày 1 phờ rồ ^^
  • 1

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


#45 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 27 December 2011 - 09:24 PM

@bác ĐVH : Mỗi lời mình nói, mỗi câu mình viết đều có những lời phản hồi. Và phản hồi đó là hay hay dở là do mình. Nghe hay không cũng là do mình ^^ k tự nhiên mà một người lại hoàn thiện hơn (trong 1 lĩnh vực nào đó).
Chúc bác ngày 1 phờ rồ ^^

Đỏ:đúng.
Tím: Dĩ hoà vi quý.
Xanh: Văn hoá ứng xử quan trọng hơn lisp.
Nâu: cám ơn lời động viên.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.