Đến nội dung


Hình ảnh
- - - - -

[yêu cầu] Em cần gấp - nhờ các a viết dùm e lisp chỉnh sửa text như thế này


  • Please log in to reply
17 replies to this topic

#1 843824

843824

    biết vẽ circle

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

Đã gửi 16 December 2012 - 12:02 PM

1.input : có những text (dạng Text hoặc Mtext ) với nội dung, vị trí tùy ý
Ví dụ : A B C D E F


2. Đánh lệnh chạy lisp


3. Lisp yêu cầu : chọn các text cần sửa

4. Người dùng click chọn lần lượt các text cần sửa. { ví dụ e click chọn từ A -> F }

5. Lisp sẽ hỏi : Nhập prefix : Người dùng sẽ nhập bất kỳ gì mình muốn. { Ví dụ e nhập A }

6. Lisp sẽ tự động thay đổi giá trị các text : A B C D E F thành : A1 A2 A3 A4 A5 A6

( các giá trị số phía sau prefix 1 -> 6 theo đúng thứ tự click của người dùng )
( nếu cick chọn n text thì nó sẽ thay đổi từ 1 -> n )

======================== Em xin cảm ơn nhiều các a nhé !
E cần gấp mong các anh cho e xin !

========================= E không sửa lại tên topic được nên post bài mới ... mong mod thông cảm
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 December 2012 - 12:39 PM

Lệnh Tcount (express)
  • 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


#3 843824

843824

    biết vẽ circle

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

Đã gửi 16 December 2012 - 12:47 PM

Lệnh Tcount (express)


... Thanks a ketxu ... e biết lệnh này ...

Nhưng cần nó kết hợp được 2 cái 1 lần luôn thì mới làm mau được ...

Vì e có tới cả 100 cái text cần sửa như thế này .

Nếu tcount cho nó thì nó chỉ đổi được số .....

Còn cái ký tự phía trước mình phải edit tay lâu quá anh ?

A có cách nào xin chỉ e với !
  • 0

#4 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 December 2012 - 01:16 PM

Bước 1 : Find => Replace * = ký tự bạn muốn
Bước 2 : Tcount với chế độ Suffix
  • 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


#5 843824

843824

    biết vẽ circle

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

Đã gửi 16 December 2012 - 03:59 PM

Thank a ketxu ...

Làm như cách của a em cũng biết rồi ...

... Nhưng vẫn tốn thời gian lâu a à ...

Vì cái e làm nó thường theo 1 cụng thế này :

A1 -> A6
B1 -> B4
C1 -> C5 ...
...
M...
N...
...

Chứ nếu nó chỉ có 1 cái là A1 -> An cũng đỡ ...
.... nội chỉ việc click chọn hoài theo thứ tự cũng đủ phờ râu ...
mà nó nhiều quá ... lại làm đi làm lại 2 lần ...
============ Dù sao e cũng thank a nhé. Do e gà ko biết viết lisp định tình cách cho rút ngắn thời gian làm lại thôi !
  • 0

#6 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 December 2012 - 05:49 PM

Lisp thì cũng đơn giản thôi :

(defun c:at(/ a i)(vl-load-com)
(princ "\nSelect text objects :")
(while (not (ssget '((0 . "*TEXT")))))
(setq a (getstring "\nPrefix :") i 0)
(vlax-for obj (vla-get-ActiveSelectionSet (vla-get-ActiveDocument (vlax-get-acad-object)))
(vla-put-textstring obj (strcat a " " (rtos (setq i (1+ i)) 2 0)))
)
)

  • 3

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


#7 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 16 December 2012 - 06:13 PM

Ha ha ha! Lần đầu tiên thấy Ketxu tẩu hỏa nhập ma đến nỗi integer mà cũng dùng em rtos, cho dù là không sai. :lol:
  • 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.


#8 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 December 2012 - 06:22 PM

itoa :"> lâu lắm r ket mới viết được 1 code dài vậy đó bá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


#9 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 16 December 2012 - 11:08 PM

itoa :"> lâu lắm r ket mới viết được 1 code dài vậy đó bác ^^

Hề hề hề,
Bác Ketxu cho hỏi thêm một tí tác dụng của dòng code:
(while (not (ssget '((0 . "*TEXT")))))
Phải chăng nó có tác dụng thoát khỏi lisp khi không có bộ chọn text nào??? Mình còn lơ mơ về vấn đề này nên rất mong được giải thích kỹ hơn.
Hề hề hề,...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#10 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 17 December 2012 - 12:00 AM

Nếu người dùng k chọn đc text nào thì hàm not thỏa mãn, nó lại quay lại phần kiểm tra tiếp bá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


#11 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 17 December 2012 - 12:07 AM

Nếu người dùng k chọn đc text nào thì hàm not thỏa mãn, nó lại quay lại phần kiểm tra tiếp bác ạ

Hề hề hề,
Vậy có nghĩa là nó chờ bắt buộc người dùng phải chọn được text, nếu không nó sẽ không chơi tiếp hử???
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#12 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 17 December 2012 - 12:34 AM

Vâng ạ. Nếu k chọn nó sẽ lặp vô tận, đến khi nào có mới chịu thôi. Hàm not cừa làm điều kiện, cũng vô tình là công việc mình cần làm
  • 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


#13 843824

843824

    biết vẽ circle

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

Đã gửi 18 December 2012 - 01:23 PM

Em xin thank bác ..

Lisp tuy ngắn nhưng vẫn hay mà ...

Mà các hàm a kết hợp khó hiểu quá ... em chưa hiểu ra ...

... gà quá
  • 0

#14 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 18 December 2012 - 02:54 PM

Chưa hiểu cũng k sao, cứ từ từ mà ^^ lần sau bạn cứ bỏ từ "em cần gấp" đi là đượ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


#15 843824

843824

    biết vẽ circle

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

Đã gửi 18 December 2012 - 07:40 PM

Em cần gấp thiệt mà anh .... hix hix

- em đã làm tay cho xong lúc đó rồi ...

- Mà giờ e test lại nó như thế này :

Nó ra kết quả là : A 1 A 2 A 3 ... ( có khoảng trắng ở giữa )

- E biết dùng lệnh find -> là giải quyết được ...

Nhưng muốn hỏi a để mở rộng thêm về lisp : là trong lisp này a sửa lại cho nó dính liền luôn không có khoảng trắng nhé a
  • 0

#16 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 18 December 2012 - 08:18 PM

Cái đó là mình cố tìn, bạn bỏ dòng " " trong code đi. đọnh viết lisp thì bạn fai vận động đi một tẹo, bị động quá lâu thành lắm. hi.
  • 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


#17 hqnxdxyz

hqnxdxyz

    biết zoom

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

Đã gửi 18 December 2012 - 10:50 PM

Có huynh nào biết cách xuất tọa độ cọc như thế nào không, chỉ mình với.
- đánh số thứ tự cọc và xuất ra bảng tọa độ
Thanks
  • 0

#18 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 18 December 2012 - 10:58 PM

Có đấy bạn ^^ Kia kìa
  • 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