Đến nội dung


Hình ảnh
- - - - -

Nhờ viết lisp dọn mặt bằng siêu tốc


  • Please log in to reply
44 replies to this topic

#21 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 25 February 2011 - 04:03 PM

Hì, vâng, đã ổn phần Dim rồi bác ạ :">
  • -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


#22 duyhung

duyhung

    biết vẽ rectang

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

Đã gửi 11 March 2011 - 11:11 AM

Bạn ketxu ơi lisp clear của bạn khá ổn nhưng nó xóa hết tất cả các layer rồi, có cách nào chỉ chuyển sang màu 8 mà ko del các layer (giống lisp colorx, lisp colorx thì hay lỗi phông tiếng việt :().
Mình ko tìm thây layer depoin và layer text và dim của kiến trúc để làm việc cả.
thanks
  • 0
Song va chien dau!

#23 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 11 March 2011 - 11:43 AM

Bạn ketxu ơi lisp clear của bạn khá ổn nhưng nó xóa hết tất cả các layer rồi, có cách nào chỉ chuyển sang màu 8 mà ko del các layer (giống lisp colorx, lisp colorx thì hay lỗi phông tiếng việt :().
Mình ko tìm thây layer depoin và layer text và dim của kiến trúc để làm việc cả.
thanks

Tất nhiên là được bạn. Bản bên này là bản chưa fix với block att. Bản bên kia fix rồi, bạn post bên đó nhé.
Muốn không đổi layer thì cứ đoạn nào có put layer.. thì bạn xoá đi. Xoá cả dòng command change la đi ^^

http://www.cadviet.c...=1
  • 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


#24 duyhung

duyhung

    biết vẽ rectang

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

Đã gửi 11 March 2011 - 11:58 AM

Thanks bạn mình làm được rồi. Yahoo minh` tự nhiên ngỏm ^^!
  • 0
Song va chien dau!

#25 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 19 March 2011 - 03:21 PM

sao em không load được lisp clear nhi? :rolleyes:
  • 0

#26 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 19 March 2011 - 09:25 PM

sao em không load được lisp clear nhi? :rolleyes:

Bạn reply bài viết của mình để lấy code hoặc down link
Clear
  • 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


#27 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 21 March 2011 - 08:41 AM

[quote name='ketxu' date='19 March 2011 - 09:25 PM' timestamp='1300544730' post='135815']
Bạn reply bài viết của mình để lấy code hoặc down link
Clear
[/qu
em muốn giữ lại layer nhưng e làm theo đúng lời bác mà vẫn ko được.
bac có thể sửa không.thank bác nhiều
  • 0

#28 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 March 2011 - 10:06 AM

Bạn muốn đổi tất cả về 1 màu, không đổi layer, hay chuyển hết về 1 màu, 1 layer, nhưng không xóa các layer thừa (purge) đi ?
  • 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


#29 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 21 March 2011 - 11:19 AM

Bạn muốn đổi tất cả về 1 màu, không đổi layer, hay chuyển hết về 1 màu, 1 layer, nhưng không xóa các layer thừa (purge) đi ?

em muốn đổi tất cả về màu 8 mà vẫn giữ nguyên layer và xóa các layer ko dùng đến đi
  • 0

#30 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 March 2011 - 11:36 AM

Bạn dùng IE để down lisp nhé. Nếu không thì reply, copy code của mình rồi tạo file lisp hoặc paste thẳng vào commandline của CAD ^^

(defun c:clear()
;free lisp from CADviet.com
(vl-load-com)
(command "undo" "be")
(command "change" (ssget "X") "" "p" "c" "8" "")
(if (ssget "x" '((0 . "INSERT")(66 . 1)))
(progn
(setq adoc (vla-get-activedocument (vlax-get-acad-object))
ss (vla-get-activeselectionset adoc)
)
(vlax-for block (vla-get-blocks adoc)
(if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
(vlax-for ent block
(progn
(vla-put-color ent "8")
)
)
)
)
(vlax-for attblock ss
(setq atts (vlax-invoke attblock 'getattributes))
(foreach att atts
(vla-put-color att 8)
)
)
);end progn
);end if
(acet-sysvar-set (list "dimclrt" 8 "dimclre" 8 "dimclrd" 8 "cmdecho" 0 "INSUNITS" 4 "INSUNITSDEFSOURCE" 4 "INSUNITSDEFTARGET" 4))
(command "dim1" "update" (ssget "X" '((0 . "Leader"))) "")
(vla-regen adoc acactiveviewport)
(command "-purge" "a" "" "N")
(command "undo" "e")
(princ))

  • 2

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


#31 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 21 March 2011 - 02:33 PM

Bạn dùng IE để down lisp nhé. Nếu không thì reply, copy code của mình rồi tạo file lisp hoặc paste thẳng vào commandline của CAD ^^

(defun c:clear()
;free lisp from CADviet.com
(vl-load-com)
(command "undo" "be")
(command "change" (ssget "X") "" "p" "c" "8" "")
(if (ssget "x" '((0 . "INSERT")(66 . 1)))
(progn
(setq adoc (vla-get-activedocument (vlax-get-acad-object))
ss (vla-get-activeselectionset adoc)
)
(vlax-for block (vla-get-blocks adoc)
(if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
(vlax-for ent block
(progn
(vla-put-color ent "8")
)
)
)
)
(vlax-for attblock ss
(setq atts (vlax-invoke attblock 'getattributes))
(foreach att atts
(vla-put-color att 8)
)
)
);end progn
);end if
(acet-sysvar-set (list "dimclrt" 8 "dimclre" 8 "dimclrd" 8 "cmdecho" 0 "INSUNITS" 4 "INSUNITSDEFSOURCE" 4 "INSUNITSDEFTARGET" 4))
(command "dim1" "update" (ssget "X" '((0 . "Leader"))) "")
(vla-regen adoc acactiveviewport)
(command "-purge" "a" "" "N")
(command "undo" "e")
(princ))

lisp của bác chạy rất tốt.đã chuyển tất kả về màu 8 nhưng khi e bật layer lên thì màu trong đó vẫn giữ nguyên màu như lúc đầu.Bác xem lai giúp em nhe'
Thank bac :rolleyes:
  • 0

#32 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 21 March 2011 - 02:36 PM

lisp của bác chạy rất tốt.đã chuyển tất kả về màu 8 nhưng khi e bật layer lên thì màu trong đó vẫn giữ nguyên màu như lúc đầu.Em muốn tất cả màu ở trong layer cũng tự động chuyển về màu 8.Bác xem lai giúp em nhe'
Thank bac :rolleyes:


  • 0

#33 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 March 2011 - 02:47 PM

Bạn chỉ yêu cầu chuyển tất cả về màu 8 chứ chưa yêu cầu chuyển màu của layer về màu 8, phải không nào ^^ Bạn gửi lại file giúp mình nhé.
  • 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


#34 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 21 March 2011 - 04:07 PM

Bạn chỉ yêu cầu chuyển tất cả về màu 8 chứ chưa yêu cầu chuyển màu của layer về màu 8, phải không nào ^^ Bạn gửi lại file giúp mình nhé.

http://www.cadviet.com/upfiles/3/img_drawings_option_1_rev_no02_jan_27_2011.dwg
tất cả về hết màu 8,trong layer cung về hết màu 8,tất cả các đường về cỡ 0.09.
Bác xem dồi sủa code cho em nhe'.
  • 0

#35 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 March 2011 - 10:17 PM

Bạn chỉ thêm 1 dòng trong code là được. Bạn chịu khó copy code nhé, tối rùi, mình hơi lười upload ^^
(defun c:clear1()
;free lisp from CADviet.com @ketxu
(vl-load-com)
(command "undo" "be")
(command "change" (ssget "X") "" "p" "c" "8" "")
(if (ssget "x" '((0 . "INSERT")(66 . 1)))
(progn
(setq adoc (vla-get-activedocument (vlax-get-acad-object))
ss (vla-get-activeselectionset adoc)
)
(vlax-for block (vla-get-blocks adoc)
(if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
(vlax-for ent block
(progn
(vla-put-color ent "8")
)
)
)
)
(vlax-for attblock ss
(setq atts (vlax-invoke attblock 'getattributes))
(foreach att atts
(vla-put-color att 8)
)
)
);end progn
);end if
(acet-sysvar-set (list "dimclrt" 8 "dimclre" 8 "dimclrd" 8 "cmdecho" 0 "INSUNITS" 4 "INSUNITSDEFSOURCE" 4 "INSUNITSDEFTARGET" 4))
(command "dim1" "update" (ssget "X" '((0 . "Leader"))) "")
(command "-layer" "c" "8" "*" "")
(vla-regen adoc acactiveviewport)
(command "-purge" "a" "" "N")
(command "undo" "e")
(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


#36 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 21 March 2011 - 10:27 PM

Bạn thêm 1 dòng thôi là được. Tối r mình ngại upload quá, bạn chịu khó chép code nhé

(defun c:clear1()
;free lisp from CADviet.com @ketxu
(vl-load-com)
(command "undo" "be")
(command "change" (ssget "X") "" "p" "c" "8" "")
(if (ssget "x" '((0 . "INSERT")(66 . 1)))
(progn
(setq adoc (vla-get-activedocument (vlax-get-acad-object))
ss (vla-get-activeselectionset adoc)
)
(vlax-for block (vla-get-blocks adoc)
(if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
(vlax-for ent block
(progn
(vla-put-color ent "8")
)
)
)
)
(vlax-for attblock ss
(setq atts (vlax-invoke attblock 'getattributes))
(foreach att atts
(vla-put-color att 8)
)
)
);end progn
);end if
(acet-sysvar-set (list "dimclrt" 8 "dimclre" 8 "dimclrd" 8 "cmdecho" 0 "INSUNITS" 4 "INSUNITSDEFSOURCE" 4 "INSUNITSDEFTARGET" 4))
(command "dim1" "update" (ssget "X" '((0 . "Leader"))) "")
(command "-layer" "c" "8" "*" "")
(vla-regen adoc acactiveviewport)
(command "-purge" "a" "" "N")
(command "undo" "e")
(princ))

  • 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


#37 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 22 March 2011 - 08:21 AM

Bạn thêm 1 dòng thôi là được. Tối r mình ngại upload quá, bạn chịu khó chép code nhé

(defun c:clear1()
;free lisp from CADviet.com @ketxu
(vl-load-com)
(command "undo" "be")
(command "change" (ssget "X") "" "p" "c" "8" "")
(if (ssget "x" '((0 . "INSERT")(66 . 1)))
(progn
(setq adoc (vla-get-activedocument (vlax-get-acad-object))
ss (vla-get-activeselectionset adoc)
)
(vlax-for block (vla-get-blocks adoc)
(if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
(vlax-for ent block
(progn
(vla-put-color ent "8")
)
)
)
)
(vlax-for attblock ss
(setq atts (vlax-invoke attblock 'getattributes))
(foreach att atts
(vla-put-color att 8)
)
)
);end progn
);end if
(acet-sysvar-set (list "dimclrt" 8 "dimclre" 8 "dimclrd" 8 "cmdecho" 0 "INSUNITS" 4 "INSUNITSDEFSOURCE" 4 "INSUNITSDEFTARGET" 4))
(command "dim1" "update" (ssget "X" '((0 . "Leader"))) "")
(command "-layer" "c" "8" "*" "")
(vla-regen adoc acactiveviewport)
(command "-purge" "a" "" "N")
(command "undo" "e")
(princ))

chuẩn không cần chỉnh.
thank bác nhiều.
  • 0

#38 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 22 March 2011 - 09:39 AM

Nhiều khi nhìn kết quả thì có vẻ chuẩn, nhưng code thì vẫn đau đáu ngồi edit ^^ Nhìn nó rườm rà là cực kỳ ức..
ANW,CHúc bạn vui!
P/s : cứ nhấn Thanks tớ là được rồi ^^
  • 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


#39 nguyen tuan hung

nguyen tuan hung

    biết vẽ arc

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

Đã gửi 22 March 2011 - 10:35 AM

Bạn thêm 1 dòng thôi là được. Tối r mình ngại upload quá, bạn chịu khó chép code nhé

(defun c:clear1()
;free lisp from CADviet.com @ketxu
(vl-load-com)
(command "undo" "be")
(command "change" (ssget "X") "" "p" "c" "8" "")
(if (ssget "x" '((0 . "INSERT")(66 . 1)))
(progn
(setq adoc (vla-get-activedocument (vlax-get-acad-object))
ss (vla-get-activeselectionset adoc)
)
(vlax-for block (vla-get-blocks adoc)
(if (not (wcmatch (strcase (vla-get-name block) t) "*_space*"))
(vlax-for ent block
(progn
(vla-put-color ent "8")
)
)
)
)
(vlax-for attblock ss
(setq atts (vlax-invoke attblock 'getattributes))
(foreach att atts
(vla-put-color att 8)
)
)
);end progn
);end if
(acet-sysvar-set (list "dimclrt" 8 "dimclre" 8 "dimclrd" 8 "cmdecho" 0 "INSUNITS" 4 "INSUNITSDEFSOURCE" 4 "INSUNITSDEFTARGET" 4))
(command "dim1" "update" (ssget "X" '((0 . "Leader"))) "")
(command "-layer" "c" "8" "*" "")
(vla-regen adoc acactiveviewport)
(command "-purge" "a" "" "N")
(command "undo" "e")
(princ))


Bác cho thêm yêu cầu tất kả các đường trong layer về cỡ 0.09 cho e nhé trong lisp clear1.
Nó sẽ giúp ích cho em rất nhiều trong công việc.
  • 0

#40 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 22 March 2011 - 10:42 AM

Có lẽ là bạn quá lười rồi ^^. Hơn nữa, khi chưa test xong xuôi thì bạn đừng kết luận "chuẩn k cần chỉnh", để rồi bây giờ mình lại ngồi chỉnh đây.
Bạn thêm dòng này :

(command "-layer" "LW" 0.09 "*" "")

vào sau dòng :

(command "-layer" "c" "8" "*" "")


Hoặc sửa dòng
(command "-layer" "c" "8" "*" "") thành (command "-layer" "c" "8" "*" "LW" 0.09 "*" "")
Hy vọng bạn có thể sửa được ^^
  • 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