Đến nội dung


Hình ảnh
- - - - -

[Đã xong] Tao dynamic block bằng Autolisp


  • Please log in to reply
4 replies to this topic

#1 mynameisadn

mynameisadn

    biết pan

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

Đã gửi 13 August 2012 - 10:23 PM

Gửi các bạn một lisp tạo dynamic block.

(defun c:dynamicblock()
(setvar "cmdecho" 0)
(command "_rectangle" (list 0 0) (list 1000 1000));
(setq objName (entlast))
(setq BlockName "test")
(command "-block" BlockName (list 0 0) objName "")
(command "-insert" BlockName (list 0 0) 1 1 0)
(command "-bedit" BlockName)
(command ".Bparameter" "linear" (list 0 0) (list 0 1000) (list(- 0 100) 100) 2)
(setq nameofParameterLinear (cdr(assoc (- 0 1) (entget (entlast)))))
(setq ss1 (ssget "C" (list (- 0 500) 1500) (list 1500 500)))
(command ".Bactiontool" "stretch" nameofParameterLinear (list 0 1000) (list 1500 500) (list (- 0 500) 1500) (list 1500 500) ss1 "")
(command "_bclose" "")

)
  • 1

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 14 August 2012 - 12:40 AM

Mục đích là để làm gì bạ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.


#3 mr.trunghd

mr.trunghd

    biết lệnh mirror

  • Advance Member
  • PipPipPip
  • 150 Bài viết
Điểm đánh giá: 46 (tàm tạm)

Đã gửi 14 August 2012 - 05:51 PM

Không hiểu??
  • 0

Đừng bao giờ mất kiên nhẫn, đó chính là chiếc chìa khoá cuối cùng mở được cửa.

-Saint Exupery-


#4 mynameisadn

mynameisadn

    biết pan

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

Đã gửi 19 August 2012 - 11:01 PM

À thực ra thì đây là một vấn đề mà mình kiếm trên diễn đàn cadviet.com lâu nay mà không thầy ai trả lời hết (có bạn trả lời là không thể làm được với VBA hay Autolisp). Vấn đề là : "TẠO DYNAMIC BLOCK BẰNG LẬP TRÌNH NHƯ LÀ HOẶC AUTOLISP, HOẶC VBA HOẶC OBJECTARX HOẶC AUTOCAD.NET" .
Mình muốn mọi người cùng chia sẽ cách mình tạo ra dynamic block (dĩ nhiên là bằng lập trình) vì nó sẽ có nhiều ứng dụng hay.
Ở trên là lisp mình tạo ra Dynamic block bằng autolisp, nếu ai có cách nào làm thì post lên cho mọi người cùng học hỏi với.
  • 0

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 19 August 2012 - 11:04 PM

À thực ra thì đây là một vấn đề mà mình kiếm trên diễn đàn cadviet.com lâu nay mà không thầy ai trả lời hết (có bạn trả lời là không thể làm được với VBA hay Autolisp). Vấn đề là : "TẠO DYNAMIC BLOCK BẰNG LẬP TRÌNH NHƯ LÀ HOẶC AUTOLISP, HOẶC VBA HOẶC OBJECTARX HOẶC AUTOCAD.NET" .
Mình muốn mọi người cùng chia sẽ cách mình tạo ra dynamic block (dĩ nhiên là bằng lập trình) vì nó sẽ có nhiều ứng dụng hay.
Ở trên là lisp mình tạo ra Dynamic block bằng autolisp, nếu ai có cách nào làm thì post lên cho mọi người cùng học hỏi với.

Ở đây, bạn à : http://www.cadviet.c...showtopic=63839
  • 0