Đến nội dung


Hình ảnh
- - - - -

Giúp tôi đoạn lisp tạo block


  • Please log in to reply
2 replies to this topic

#1 elleHCSC

elleHCSC

    biết lệnh copy

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

Đã gửi 06 August 2008 - 05:37 PM

(defun Tao_BL ()
(setq tbl (tblsearch "block" "$$$"))
(if(= nil tbl)
(progn
(command "block" "$$$" "0,0" "all" "" )
(command "insert" "$$$" "0,0" "1" "1" "0" )
)
); if
)


Tôi muốn mở bản vẽ bất kỳ ra, cho chạy đoạn lisp Tao_BL thì cả bản vẽ sẽ biến thành 1 Block có tên $$$. Tuy nhiên nếu ko có dòng

(command "insert" "$$$" "0,0" "1" "1" "0" )

thì toàn bộ bản vẽ "biến mất". Thực chất toàn bộ bản vẽ đã được tạo thành Block có tên $$$ và tôi phải cho thêm đoạn code:
(command "insert" "$$$" "0,0" "1" "1" "0" )
để chèn cái block $$$ đó trở lại bản vẽ. Tuy nhiên nếu với đoạn code trên mà file vẽ lớn nó chạy rất chậm.

Bác nào giúp tôi với.
  • 0
Share for all, all will share !

--------------------
HTTP://WWW.HCSC.VN
HTTP://WWW.HCSC.COM.VN

#2 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1432 Bài viết
Điểm đánh giá: 1425 (rất tốt)

Đã gửi 07 August 2008 - 07:42 AM

(defun Tao_BL ()
(setq tbl (tblsearch "block" "$$$"))
(if(= nil tbl)
(progn
(command "block" "$$$" "0,0" "all" "" )
(command "insert" "$$$" "0,0" "1" "1" "0" )
)
); if
)


Ban có thể thay đoạn code (command "insert" "$$$" "0,0" "1" "1" "0" )
bằng (command "oops")
  • 0

#3 elleHCSC

elleHCSC

    biết lệnh copy

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

Đã gửi 07 August 2008 - 01:43 PM

Ban có thể thay đoạn code (command "insert" "$$$" "0,0" "1" "1" "0" )
bằng (command "oops")

Cám ơn bạn đã chỉ giúp nhưng nếu dùng "oops" thì toàn bộ bản vẽ của tôi nó trở lại như ban đầu, khi pick vào các đối tượng nó vẫn rời rạc, chỉ khác là trong bản vẽ sẽ có thêm 1 block $$$. Cái tôi cần là làm 1 đoạn lisp để biến toàn bộ bản vẽ hiện tại thành 1 khối (block) cơ, nghĩa là sau khi chạy xong thì ta dùng lệnh "li" và chọn vào cái khối đó cad sẽ báo đại loại như sau :


BLOCK REFERENCE Layer: "2"
Space: Model space
Handle = 5422
"$$$"
at point, X= 0.0000 Y= 0.0000 Z= 0.0000
X scale factor 1.0000
Y scale factor 1.0000
rotation angle 0
Z scale factor 1.0000
....
  • 0
Share for all, all will share !

--------------------
HTTP://WWW.HCSC.VN
HTTP://WWW.HCSC.COM.VN