Đến nội dung


Hình ảnh
* * * - - 8 Bình chọn

Viết lisp theo yêu cầu [phần 2]


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#3721 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 24 June 2011 - 03:19 PM

Hề hề hề,
bạn xài thử cái nàu coi đã ưng cái bụng chưa hè???



(defun c:retn (/ tsl1 tsl2 txt tx t1 t2 t3 elt)
(vl-load-com)
(command "undo" "be")
(alert "\n Chon ten coc tren trac doc theo thu tu thay the")
(setq tsl1 (acet-ss-to-list (ssget (list (cons 0 "text")))))
(alert "\n Chon ten coc tren trac ngang theo thu tu thay the")
(setq tsl2 (acet-ss-to-list (ssget (list (cons 0 "text")))))
(foreach txt tsl1
(setq t1 (cdr (assoc 1 (entget txt))))
(setq n (vl-position txt tsl1))
(setq tx (nth n tsl2))
(if tx
(progn
(setq elt (entget tx)
t2 (substr (cdr (assoc 1 elt)) 1 4)
t3 (strcat t2 " " t1)
elt (subst (cons 1 t3) (assoc 1 elt) elt)
)
(entmod elt)
)
)
)
(command "undo" "e")
(princ)
)

thank bác nó rất đúng ý em nhưng có một vấn đè rằng khi mình kích thủ công theo thứ tự các tên cọc thì nó rất chuẩn nhưng khi mình quét từ phải sang trái và từ dưới lên thì nó không nhận đúng cọc bác à.
ko biết nói gì hơn chỉ biết cảm ơn bác đã giúp đỡ em nhiều.
  • 0

#3722 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 24 June 2011 - 04:00 PM

thank bác nó rất đúng ý em nhưng có một vấn đè rằng khi mình kích thủ công theo thứ tự các tên cọc thì nó rất chuẩn nhưng khi mình quét từ phải sang trái và từ dưới lên thì nó không nhận đúng cọc bác à.
ko biết nói gì hơn chỉ biết cảm ơn bác đã giúp đỡ em nhiều.

Hề hề hề,
Đúng như vậy bạn ạ. Việc xác định thứ tự các đối tượng trong một tập chọn là khá đau đầu. Vì thế cách tốt nhất để chọn đúng thứ tự của các phần tử trong tập chọn là dùng cách pick chọn lần lượt bạn ạ. Đặc biệt là với những bản vẽ đã qua nhiều lần chỉnh sửa.
Vẫn biết đây là cách hơi thủ công, xong chậm mà chắc còn hơn nhanh mà hỏng việc.
Hề hề hề,...
Giá như bác nào có cách khác hay hơn thì....... mình lại được mót.
Hề hề hề,
Nếu như trên bản vẽ của bạn, các tên cọc trên trắc dọc được sắp xếp theo một trật tự từ trái qua phải và các trắc ngang tại mỗi vị trí được sắp xếp theo đúng thứ tự từ trên xuống dưới thì sẽ có thể có cách làm đỡ phải thủ công hơn bạn ạ.
Bạn có đồng ý sắp xếp trên bản vẽ của bạn như vầy không???
Tuy nhiên trong trường hợp này nếu như bạn thiếu đi một vài cái trắc ngang tại vị trí các cọc thì nó cũng sẽ bị sai đấy.
Vì thế cách tốt nhất vẫn là bạn nên xác định rõ tùng thằng trên trắc dọc ứng với từng trác ngang bạn có .
Hề hề hề,...
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3723 minhvanvui

minhvanvui

    biết pan

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

Đã gửi 24 June 2011 - 04:00 PM

Nếu bạn đã ngại đọc kỹ mấy câu mình hỏi thì bạn post hình lên để mọi người cùng hiểu nhé :) Như ý bạn thì rõ ràng HCN sẽ k còn là HCN nữa

http://www.mediafire.com/?9sdodwm63vpb5fv
  • 0

#3724 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 24 June 2011 - 04:43 PM

Hề hề hề,
Đúng như vậy bạn ạ. Việc xác định thứ tự các đối tượng trong một tập chọn là khá đau đầu. Vì thế cách tốt nhất để chọn đúng thứ tự của các phần tử trong tập chọn là dùng cách pick chọn lần lượt bạn ạ. Đặc biệt là với những bản vẽ đã qua nhiều lần chỉnh sửa.
Vẫn biết đây là cách hơi thủ công, xong chậm mà chắc còn hơn nhanh mà hỏng việc.
Hề hề hề,...
Giá như bác nào có cách khác hay hơn thì....... mình lại được mót.
Hề hề hề,
Nếu như trên bản vẽ của bạn, các tên cọc trên trắc dọc được sắp xếp theo một trật tự từ trái qua phải và các trắc ngang tại mỗi vị trí được sắp xếp theo đúng thứ tự từ trên xuống dưới thì sẽ có thể có cách làm đỡ phải thủ công hơn bạn ạ.
Bạn có đồng ý sắp xếp trên bản vẽ của bạn như vầy không???
Tuy nhiên trong trường hợp này nếu như bạn thiếu đi một vài cái trắc ngang tại vị trí các cọc thì nó cũng sẽ bị sai đấy.
Vì thế cách tốt nhất vẫn là bạn nên xác định rõ tùng thằng trên trắc dọc ứng với từng trác ngang bạn có .
Hề hề hề,...

hihi dúng bác nhỉ thế thì thầy trò đường tăng mình lại ngồi chờ có phương án mới hay hơn hả bác .
cảm ơn bác nhiều .
quên mất còn vụ này nữa bác à .
chẳng hạn như hàng loạt text dạng A và hàng loạt text dạng B đều dc viết bằng 1 layẻr có cách nào để tắt text dữ lại text B ko bác .
có thể nhúng líp vào dc ko bác .
chẳng han như thế nhày nhé em có các text tên cọc từ cọc 1 đến cọc n
bên dưới dòng text cọc là text lý trình Km 00+00 đến Km xx+xx em muốn tắt 1 trong 2 cái để sử dụng nhưng ko dc vì nó có cái éo le là dùng chung 1 layer
còn nữa là nếu có cái lip chỉ hiện tất cả những text mà mình đánh mấy ký tự đầu lÀ dc ấy bác giống như kiểu lẹnh find ấy bác thì bác cho em với .
vì crânỳ rất tiện cho việc thiết kế nó giúp rất nhiều .
tiết kiệm thời gian không phải thủ công .
  • 0

#3725 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 24 June 2011 - 05:12 PM

http://www.mediafire.com/?9sdodwm63vpb5fv

Mặc định thầm nội quy box post file CAD ver 2004 hoặc 07, chứ cao quá nhiều người hok đọc đc :)
  • 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


#3726 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 24 June 2011 - 05:54 PM

còn nữa là nếu có cái lip chỉ hiện tất cả những text mà mình đánh mấy ký tự đầu lÀ dc ấy bác giống như kiểu lẹnh find ấy bác thì bác cho em với .

Yêu cầu đến đâu ta làm đến đấy :lol:
(defun C:1()(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat (getstring "\nPrefix :") "*")))) (ssget "X" '((0 . "*TEXT")))) 1))

  • 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


#3727 gasmanc

gasmanc

    biết vẽ line

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

Đã gửi 24 June 2011 - 07:38 PM

thank bác nó rất đúng ý em nhưng có một vấn đè rằng khi mình kích thủ công theo thứ tự các tên cọc thì nó rất chuẩn nhưng khi mình quét từ phải sang trái và từ dưới lên thì nó không nhận đúng cọc bác à.
ko biết nói gì hơn chỉ biết cảm ơn bác đã giúp đỡ em nhiều.


mình nghĩ là trong nova hẳn có cách để làm việc đó chứ đâu cần dùng lisp nhỉ?

Nếu bạn chèn cọc bằng lệnh trong nova, sau đó đổi tên cọc rồi update đầu trắc dọc và trắc ngang, hình như là đổi được tất cả tên cọc thì phải.cũng ko chắc chắn lắm, hì. ^^
  • 0

#3728 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 24 June 2011 - 09:22 PM

mình nghĩ là trong nova hẳn có cách để làm việc đó chứ đâu cần dùng lisp nhỉ?

Nếu bạn chèn cọc bằng lệnh trong nova, sau đó đổi tên cọc rồi update đầu trắc dọc và trắc ngang, hình như là đổi được tất cả tên cọc thì phải.cũng ko chắc chắn lắm, hì. ^^

thế bác có cách nào làm trong nova ko chỉ cho em với .
em thường làm thủ công .
  • 0

#3729 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 24 June 2011 - 09:25 PM

hihi dúng bác nhỉ thế thì thầy trò đường tăng mình lại ngồi chờ có phương án mới hay hơn hả bác .
cảm ơn bác nhiều .
quên mất còn vụ này nữa bác à .
chẳng hạn như hàng loạt text dạng A và hàng loạt text dạng B đều dc viết bằng 1 layẻr có cách nào để tắt text dữ lại text B ko bác .
có thể nhúng líp vào dc ko bác .
chẳng han như thế nhày nhé em có các text tên cọc từ cọc 1 đến cọc n
bên dưới dòng text cọc là text lý trình Km 00+00 đến Km xx+xx em muốn tắt 1 trong 2 cái để sử dụng nhưng ko dc vì nó có cái éo le là dùng chung 1 layer
còn nữa là nếu có cái lip chỉ hiện tất cả những text mà mình đánh mấy ký tự đầu lÀ dc ấy bác giống như kiểu lẹnh find ấy bác thì bác cho em với .
vì crânỳ rất tiện cho việc thiết kế nó giúp rất nhiều .
tiết kiệm thời gian không phải thủ công .

Hề hề hề,
Cái vụ này bạn trình bày chưa rõ ý nên bác Ketxu đã làm cho bạn cái lisp mà nó xử cái đuôi. Chắc bạn dùng sẽ không thoải mái lắm vì nó ẩn khiếp quá.....
Mình làm thử cái này xem bạn có ưng không nhé:

(defun c:antxt (/ m la t1 )
(vl-load-com)
(command "undo" "be")
(setq m (car (entsel "\n Chon text mau"))
la (cdr (assoc 8 (entget m)))
t1 (substr (cdr (assoc 1 (entget m))) 1 3)
)
(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 1 (strcat t1 "*")))) (ssget "X" (list (cons 0 "*TEXT") (cons 8 la)))) 1)
(command "undo" "e")
(princ)
)

Hề hề hề, ráng dùng thử và cho ý kiến nghen.
Bạn chú ý cách xài cái lisp này nhé: gõ lệnh, chọn vào cái text mà bạn muốn giữ lại (lưu ý là lisp sẽ chỉ giữ lại các text trên cùng layer của text này và có tối thiểu 3 ký tự đầu tiên trùng với 3 ký tự đầu của text mẫu này, và chỉ xóa các text khác trên cùng layer với text mẫu)

@Ketxu: Bác có thể xóa cái (cons 0 "*TEXT") trong (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat (getstring "\nPrefix") "*")))) đi được không bác nhể
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3730 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 24 June 2011 - 09:26 PM

Yêu cầu đến đâu ta làm đến đấy :lol:

(defun C:1()(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat (getstring "\nPrefix :") "*")))) (ssget "X" '((0 . "*TEXT")))) 1))

thank bác để em thử cái đã .hihi.
  • 0

#3731 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 24 June 2011 - 09:39 PM

Yêu cầu đến đâu ta làm đến đấy :lol:

(defun C:1()(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat (getstring "\nPrefix :") "*")))) (ssget "X" '((0 . "*TEXT")))) 1))

hic hic . đến giờ ăn vạ rồi đây.
bắt đền bác đấy công sức em làm bấy lâu nay nó đi họp theo các cụ rồi.
chạy lip của bác xong tất cả các text nó mất hết . đánh lệnh layon nó cũng ko hiện ra .
thế là nó theo các cụ toàn bộ rồi bác ơi.
  • 0

#3732 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 24 June 2011 - 09:44 PM

hic hic . đến giờ ăn vạ rồi đây.
bắt đền bác đấy công sức em làm bấy lâu nay nó đi họp theo các cụ rồi.
chạy lip của bác xong tất cả các text nó mất hết . đánh lệnh layon nó cũng ko hiện ra .
thế là nó theo các cụ toàn bộ rồi bác ơi.

hề hề hề,
Biết ngay mà. Undo đi, làm vài chục phát undo đi nhé.
Dùng thử cái lisp của mình coi.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3733 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 24 June 2011 - 09:56 PM

Hề hề hề,
Cái vụ này bạn trình bày chưa rõ ý nên bác Ketxu đã làm cho bạn cái lisp mà nó xử cái đuôi. Chắc bạn dùng sẽ không thoải mái lắm vì nó ẩn khiếp quá.....
@Ketxu: Bác có thể xóa cái (cons 0 "*TEXT") trong (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat (getstring "\nPrefix") "*")))) đi được không bác nhể

E nghĩ là bỏ đi cũng được, nhưng rào càng kỹ filter list thì ssget "X" càng nhanh, lại không bị vướng bác fakedim :)

hic hic . đến giờ ăn vạ rồi đây.
bắt đền bác đấy công sức em làm bấy lâu nay nó đi họp theo các cụ rồi.
chạy lip của bác xong tất cả các text nó mất hết . đánh lệnh layon nó cũng ko hiện ra .
thế là nó theo các cụ toàn bộ rồi bác ơi.


- Đấy là 1 phản biện cho việc dùng lisp mà không biết tác dụng của nó, cũng như cần biết rõ mình cần gì. Vì bạn chỉ xin cái lisp hiện các chữ có phần mở đầu giống phần bạn đánh (đồng nghĩa với việc ẩn các chữ kia đi), chứ chẳng thèm nghĩ lúc hiện lại thì làm sao. Chính vì vậy mình mới nói "Yêu cầu đến đâu làm đến đó" :)
Còn cái vụ nhỡ tay xài rồi thì :
Thứ nhất : bạn hoàn toàn có thể Ctrl Z để undo lại
Thứ hai : Cái này ẩn đối tượng theo thuộc tính visible của nó, trên diễn đàn có 1 đống lisp ẩn/hiện/invert đối tượng bằng thằng này. Hình như ở trang 183,184 gì gì đó của topic cũng có bài về nó đấy, bạn lấy về xài chơi và rút kinh nghiệm ^^
  • 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


#3734 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 24 June 2011 - 10:02 PM

hề hề hề,
Biết ngay mà. Undo đi, làm vài chục phát undo đi nhé.
Dùng thử cái lisp của mình coi.

cái của bác dùng hơi bị ok luôn .
nhưng em lại vướng cái là có 1 số line em dùng chung layer với text thành ra khi em dùng cái lệnh layiso thì nó hiện text và line lên dùng lip của bác thì nó vẫn dữ nguyên line . thế bây giờ làm sao để thiến cái thằng line đi hả bác .
chả là thế này : bác tặng em cái lip thay tên cọc đó . thì khi em cho nó ẩn tất cả bằng layiso thì nó hiện lên tên cọc và lý trình kèm theo cái đầu cờ của trắc ngang . thế nên em quét 1 phát để thay tên cọc hàng loạt thì lại vướng 2 thằng ẩm ương đó là lý trình và đầu cờ .nên em mới nảy sinh ra ý tưởng chỉ cho hiện mỗi tên cọc thôi . khổ nỗi khi có lip hiện mỗi tên cọc thì thằng đầu cờ nó cứ ngỏng lên làm cái lip hiện nên cọc mất tác dụng . vì không quét dc mình nó .
mà nếu mất đi cái line và cái lý trình thì vẫn phải tick thủ công vào tên cọc bác nhỉ .
vì cái lip thay tên cọc nó không đúng khi quét hàng loạt .
nếu như em đảm bảo dc đầy đủ các yếu tố trắc ngang thì bác có thể cải tiến cái thằng thay tên cọc hàng loạt và cái ẩn teext ko hiện line dc ko bác .
thank bác đã quan tâm em mấy hôm nay .
  • 0

#3735 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 24 June 2011 - 10:03 PM

hề hề hề,
Biết ngay mà. Undo đi, làm vài chục phát undo đi nhé.
Dùng thử cái lisp của mình coi.

Èo, làm gì đến bác, trong thao tác 1 hàm này thì chỉ 1 lần Undo thui ^^
  • 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


#3736 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 24 June 2011 - 10:05 PM

E nghĩ là bỏ đi cũng được, nhưng rào càng kỹ filter list thì ssget "X" càng nhanh, lại không bị vướng bác fakedim :)



- Đấy là 1 phản biện cho việc dùng lisp mà không biết tác dụng của nó, cũng như cần biết rõ mình cần gì. Vì bạn chỉ xin cái lisp hiện các chữ có phần mở đầu giống phần bạn đánh (đồng nghĩa với việc ẩn các chữ kia đi), chứ chẳng thèm nghĩ lúc hiện lại thì làm sao. Chính vì vậy mình mới nói "Yêu cầu đến đâu làm đến đó" :)
Còn cái vụ nhỡ tay xài rồi thì :
Thứ nhất : bạn hoàn toàn có thể Ctrl Z để undo lại
Thứ hai : Cái này ẩn đối tượng theo thuộc tính visible của nó, trên diễn đàn có 1 đống lisp ẩn/hiện/invert đối tượng bằng thằng này. Hình như ở trang 183,184 gì gì đó của topic cũng có bài về nó đấy, bạn lấy về xài chơi và rút kinh nghiệm ^^

dù thế nào đi nữa cũng phải cảm ơn bác đã quan tâm .
sao em bấm nút thank ko dc nhỉ.
hay là mấy hôm nay thank bác bình nhiều quá nó ko cho ấn nữa nhỉ .
  • 0

#3737 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 25 June 2011 - 12:25 AM

cái của bác dùng hơi bị ok luôn .
nhưng em lại vướng cái là có 1 số line em dùng chung layer với text thành ra khi em dùng cái lệnh layiso thì nó hiện text và line lên dùng lip của bác thì nó vẫn dữ nguyên line . thế bây giờ làm sao để thiến cái thằng line đi hả bác .
chả là thế này : bác tặng em cái lip thay tên cọc đó . thì khi em cho nó ẩn tất cả bằng layiso thì nó hiện lên tên cọc và lý trình kèm theo cái đầu cờ của trắc ngang . thế nên em quét 1 phát để thay tên cọc hàng loạt thì lại vướng 2 thằng ẩm ương đó là lý trình và đầu cờ .nên em mới nảy sinh ra ý tưởng chỉ cho hiện mỗi tên cọc thôi . khổ nỗi khi có lip hiện mỗi tên cọc thì thằng đầu cờ nó cứ ngỏng lên làm cái lip hiện nên cọc mất tác dụng . vì không quét dc mình nó .
mà nếu mất đi cái line và cái lý trình thì vẫn phải tick thủ công vào tên cọc bác nhỉ .
vì cái lip thay tên cọc nó không đúng khi quét hàng loạt .
nếu như em đảm bảo dc đầy đủ các yếu tố trắc ngang thì bác có thể cải tiến cái thằng thay tên cọc hàng loạt và cái ẩn teext ko hiện line dc ko bác .
thank bác đã quan tâm em mấy hôm nay .

Hề hề hề,
Dùng cái ni nó sẽ ẩn tiệt những thằng cùng layer mà không phải text hoặc là text mà không có 3 ký tự đầu giống text mẫu:

(defun c:antxt (/ m la t1 )
(vl-load-com)
(command "undo" "be")
(setq m (car (entsel "\n Chon text mau"))
la (cdr (assoc 8 (entget m)))
t1 (substr (cdr (assoc 1 (entget m))) 1 3)
)
(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat t1 "*")))) (ssget "X" (list (cons 8 la)))) 1)
(command "undo" "e")
(princ)
)

Hề hề hề,
Nếu bạn chịu khó quy hoạch cái bản vẽ cho nó có trật tự thì có thể chơi thay text hàng loạt được, tuy cũng không hẳn là dễ.
Hề hề hề,...
  • 2
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3738 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 25 June 2011 - 12:26 AM

Èo, làm gì đến bác, trong thao tác 1 hàm này thì chỉ 1 lần Undo thui ^^

Hề hề hề,
Thì cứ dọa vậy cho bạn ấy tởn thôi mà.....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3739 hakhoailang

hakhoailang

    biết lệnh rotate

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

Đã gửi 25 June 2011 - 08:27 AM

Hề hề hề,
Dùng cái ni nó sẽ ẩn tiệt những thằng cùng layer mà không phải text hoặc là text mà không có 3 ký tự đầu giống text mẫu:


(defun c:antxt (/ m la t1 )
(vl-load-com)
(command "undo" "be")
(setq m (car (entsel "\n Chon text mau"))
la (cdr (assoc 8 (entget m)))
t1 (substr (cdr (assoc 1 (entget m))) 1 3)
)
(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat t1 "*")))) (ssget "X" (list (cons 8 la)))) 1)
(command "undo" "e")
(princ)
)

Hề hề hề,
Nếu bạn chịu khó quy hoạch cái bản vẽ cho nó có trật tự thì có thể chơi thay text hàng loạt được, tuy cũng không hẳn là dễ.
Hề hề hề,...

mần chi quy hoạch được hả bác .
em cũng muốn quy hoạch lắm nhưng khổ nỗi cái đó là do thằng nova chứ đâu phải do em đâu.
em chắp tay xin nó tìm đủ cách mà ko dc bác à.bó tay .thank bác
để em thử cái coi.
em thử rồi ẩn thì ẩn ngon lành .
thế sau khi ẩn xong, chỉnh sửa hết rồi thì cho nó hiện trở lại thì phải làm sao bác nhỉ .
em có ý kiến như thế này bác xem có hợp lý không nhé.
nếu như em đủ diều kiện về yếu tố trắc ngang thì bác có thể sửa cái thay thên cọc bằng cách quét 1 phát nó tự động thay đổi the thứ tự ko bác . ko cần phải thủ công kích từ cái .
khi sửa dc cái thay tên cọc thì bác kết hợp cái antxt này vào chung 1 cái .
bác thấy thế nào .
cái ẩn này còn thiếu phần hiện sau khi ẩn bác à .
  • 0

#3740 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 25 June 2011 - 01:45 PM

mần chi quy hoạch được hả bác .
em cũng muốn quy hoạch lắm nhưng khổ nỗi cái đó là do thằng nova chứ đâu phải do em đâu.
em chắp tay xin nó tìm đủ cách mà ko dc bác à.bó tay .thank bác
để em thử cái coi.
em thử rồi ẩn thì ẩn ngon lành .
thế sau khi ẩn xong, chỉnh sửa hết rồi thì cho nó hiện trở lại thì phải làm sao bác nhỉ .
em có ý kiến như thế này bác xem có hợp lý không nhé.
nếu như em đủ diều kiện về yếu tố trắc ngang thì bác có thể sửa cái thay thên cọc bằng cách quét 1 phát nó tự động thay đổi the thứ tự ko bác . ko cần phải thủ công kích từ cái .
khi sửa dc cái thay tên cọc thì bác kết hợp cái antxt này vào chung 1 cái .
bác thấy thế nào .
cái ẩn này còn thiếu phần hiện sau khi ẩn bác à .

Hề hề hề,
Muốn nó hiện lại thì dùng:
(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat t1 "*")))) (ssget "X" (list (cons 8 la)))) 0)
Với điều kiện nó được thay đúng vào dòng code :
(acet-ss-visible (acet-ss-remove (ssget "X" (list (cons 0 "*TEXT") (cons 1 (strcat t1 "*")))) (ssget "X" (list (cons 8 la)))) 1)
của cái lisp ẩn đối tượng . Nhớ đổi tên lisp và tên lệnh để khỏi nhầm lẫn nghen (tỷ như tên lisp là hidtcola.lsp, tên lệnh là hitxt chẳng hạn)
Hề hề hề,

Việc quy hoạch lại bản vẽ của bạn là do bạn chứ có dính chi tới thằng Nova hay Noviec đâu. Tỷ như sau khi chạy Nova xong bạn sẽ có hàng loạt các trắc ngang, bạn chỉ cần sắp xếp các trắc ngang này theo đúng một trật tự nào đó, từ trên xuống dưới hay từ trái sang phải chẳng hạn, đúng với cái thứ thự sắp xếp của các vị trí cọc trên trắc dọc là OK mà.
Với các vị trí cọc mà bạn không có trắc ngang thì xóa béng cái tên của cọc đó khỏi trắc dọc hoặc ẩn nó đi.
Như vậy mình nghĩ là không quá khó với bạn và mình mới có thể giúp bạn làm cái lisp đổi tên cọc mà khỏi phải chọn thủ công được.
Hề hề hề,

Việc kết hợp các lisp thì nào có khó chi. Bạn chỉ cần copy các lisp đó vào cùng một file *.lsp nào đó mà bạn khoái là Ok. Có điều bạn phải nhớ tên các lệnh, kẻo mà nó nhầm lẫn lung tung là mệt đấy. Để riêng vậy mà hay, cần dùng thằng nào thì load thằng đó và chỉ cần mở nó ra là biết tên lệnh ngay, khỏi phải kiếm tìm nhọc công.
Hề hề hề,..
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.