Đến nội dung


Hình ảnh
- - - - -

[Đã xong] Nhờ các bác pro viết dùm đoạn lisp copy này với


  • Please log in to reply
13 replies to this topic

#1 victor85

victor85

    biết lệnh stretch

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

Đã gửi 13 June 2011 - 09:19 AM

Em có một đoạn thao tác như sau:
Có 2 nhóm đối tượng A và B.

Tiến hành:
Lệnh c1: Chọn nhóm đối tượng A. Chọn gốc copy cho nhóm đối tượng A.
Chọn nhóm đối tượng thay thế B. Chọn gốc thay thế cho nhóm B.
Kết quả là nhóm B mất đi và nhóm A đc copy thay thế cho nhóm B với điểm copy và điểm đến của nhóm A là 2 điểm đã chọn trong đầu vào.
À mà làm multi lệnh như kiểu lệnh copy đc càng tốt các bác nhé.
Có nghĩa là cứ chọn nhóm A gốc và sau đó lần lượt chọn các nhóm thay thế B - điểm thay thế B; nhóm C - điểm thay thế C; v.v
em thấy khá hay dùng mặc dù có thể thao tác bằng lệnh nhưng sẽ tốn nhiều thời gian cho quá trình zoom và erase rất mất việc.
Các bác bớt chút time viết dùm em với nhé. thanks các bác nhiều nhiều :)
  • 0

#2 tinya1225

tinya1225

    biết lệnh copy

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

Đã gửi 13 June 2011 - 09:28 AM

Bạn cho mình hỏi bạn chỉ có 1 nhóm B và muốn thay thế bằng 1 nhóm A thôi ah. nếu thế thì copy và paste cho nhanh. còn nếu có nhiều nhóm như vậy thì sao bạn ko tạo 2 block A, B, rùi dùng lệnh "Replace block with another block" trong express tool.
  • 0
Thấy bài có ích thì ấn thật nhiều Thank + các bác nhé^^

#3 victor85

victor85

    biết lệnh stretch

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

Đã gửi 13 June 2011 - 09:34 AM

cám ơn bác đã góp ý. Nhưng ở đây mình có các nhóm đối tượng bất kỳ và tính thêm cả thời gian thao tác nữa. Khi bác tạo block rùi thay thế block nữa e rằng còn lâu hơn là bác dùng lệnh erase rồi copy. Minh thấy là đoạn công việc này có thể làm bằng tay nhưng nếu có auto lisp và thì sẽ kỳ diều hơn nhiều. hì :)
  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 13 June 2011 - 01:46 PM

Em có một đoạn thao tác như sau:
Có 2 nhóm đối tượng A và B.

Tiến hành:
Lệnh c1: Chọn nhóm đối tượng A. Chọn gốc copy cho nhóm đối tượng A.
Chọn nhóm đối tượng thay thế B. Chọn gốc thay thế cho nhóm B.
Kết quả là nhóm B mất đi và nhóm A đc copy thay thế cho nhóm B với điểm copy và điểm đến của nhóm A là 2 điểm đã chọn trong đầu vào.
À mà làm multi lệnh như kiểu lệnh copy đc càng tốt các bác nhé.
Có nghĩa là cứ chọn nhóm A gốc - điểm gốc copy và sau đó lần lượt chọn các nhóm thay thế B - điểm thay thế B; nhóm C - điểm thay thế C; D; E v.v
em thấy khá hay dùng mặc dù có thể thao tác bằng lệnh nhưng sẽ tốn nhiều thời gian cho quá trình zoom và erase rất mất việc.
Các bác bớt chút time viết dùm em với nhé. thanks các bác nhiều nhiều :)

Của bạn đây:
http://www.cadviet.c...copy_delete.lsp
  • 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.


#5 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 13 June 2011 - 02:48 PM

Em có một đoạn thao tác như sau:
Có 2 nhóm đối tượng A và B.

Tiến hành:
Lệnh c1: Chọn nhóm đối tượng A. Chọn gốc copy cho nhóm đối tượng A.
Chọn nhóm đối tượng thay thế B. Chọn gốc thay thế cho nhóm B.
Kết quả là nhóm B mất đi và nhóm A đc copy thay thế cho nhóm B với điểm copy và điểm đến của nhóm A là 2 điểm đã chọn trong đầu vào.
À mà làm multi lệnh như kiểu lệnh copy đc càng tốt các bác nhé.
Có nghĩa là cứ chọn nhóm A gốc - điểm gốc copy và sau đó lần lượt chọn các nhóm thay thế B - điểm thay thế B; nhóm C - điểm thay thế C; D; E v.v
em thấy khá hay dùng mặc dù có thể thao tác bằng lệnh nhưng sẽ tốn nhiều thời gian cho quá trình zoom và erase rất mất việc.
Các bác bớt chút time viết dùm em với nhé. thanks các bác nhiều nhiều :)

Hề hề hề,
Cái vụ bạn yêu cầu này coi bộ khó à nghen.
Bạn cần nói ky kỹ chút nữa mới hy vọng có thể làm được. Tỷ như vị trí tương dối giữa các đối tương trong nhóm đối tượng A có giống với vị trí tương đối của các các đối tượng trong nhóm đối tượng B hay không ??? Nếu như không thì sau khi copy xong nó sẽ thành cái chi hỉ???
Rồi nữa, số lượng các đối tượng trong nhóm đối tượng A có bằng số lượng các đối tượng trong nhóm đối tượng B không nữa chứ???
Và thứ tự của các đối tượng trong nhóm đối tượng A có nhất thiết phải đúng như thứ tự của các đối tượng trong nhóm đối tượng B không nữa???
Hề hề hề,
Hy vọng bạn sẽ suy nghĩ thấu đáo về các vấn đề trên và các vấn đề khác có liên quan rồi post lại nhé.
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.

#6 victor85

victor85

    biết lệnh stretch

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

Đã gửi 13 June 2011 - 03:15 PM

Hề hề hề,
Cái vụ bạn yêu cầu này coi bộ khó à nghen.
Bạn cần nói ky kỹ chút nữa mới hy vọng có thể làm được. Tỷ như vị trí tương dối giữa các đối tương trong nhóm đối tượng A có giống với vị trí tương đối của các các đối tượng trong nhóm đối tượng B hay không ??? Nếu như không thì sau khi copy xong nó sẽ thành cái chi hỉ???
Rồi nữa, số lượng các đối tượng trong nhóm đối tượng A có bằng số lượng các đối tượng trong nhóm đối tượng B không nữa chứ???
Và thứ tự của các đối tượng trong nhóm đối tượng A có nhất thiết phải đúng như thứ tự của các đối tượng trong nhóm đối tượng B không nữa???
Hề hề hề,
Hy vọng bạn sẽ suy nghĩ thấu đáo về các vấn đề trên và các vấn đề khác có liên quan rồi post lại nhé.
Hề hề hề,....


Ý mình là coi như bằng thực hiện lệnh erase xóa nhóm B đi và sau đó thực hiện lệnh copy nhóm A với 2 điểm để copy và điểm đến là 2 điểm mình pick tự chọn trong lisp bác ạ. thật ra thì theo mình nghĩ như thế không cần quan trọng là các đối tượng đó có tương ứng hay không nữa và sẽ tổng quát đc cho các trường hợp. Bác xem ý em thế có đc ko?
  • 0

#7 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 13 June 2011 - 03:58 PM

Ý mình là coi như bằng thực hiện lệnh erase xóa nhóm B đi và sau đó thực hiện lệnh copy nhóm A với 2 điểm để copy và điểm đến là 2 điểm mình pick tự chọn trong lisp bác ạ. thật ra thì theo mình nghĩ như thế không cần quan trọng là các đối tượng đó có tương ứng hay không nữa và sẽ tổng quát đc cho các trường hợp. Bác xem ý em thế có đc ko?

Hề hề hề,
Vậy mình hiểu như sau có đúng không nhỉ???
Bạn muốn copy một nhóm các đối tượng A từ vị trí thứ nhất do bạn chọn tới vị trí thứ hai cũng do bạn chọn. Tuy nhiên trước đó bạn lại muốn xóa bớt đi một số đối tượng B nào đó để bản vẽ đỡ rối rắm. Các đối tượng trong nhóm B này có thề là bất cứ anh cu nào mà bạn ghét. Sau đó tiếp tục copy nhóm đối tượng A tới vị trí mới nữa và trước khi copy thì cũng lại cho bạn xóa bớt dăm thằng ghét mặt đi. Cứ vậy cho đến khi bạn hết muốn copy hỉ????
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.

#8 victor85

victor85

    biết lệnh stretch

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

Đã gửi 13 June 2011 - 04:15 PM

Hề hề hề,
Vậy mình hiểu như sau có đúng không nhỉ???
Bạn muốn copy một nhóm các đối tượng A từ vị trí thứ nhất do bạn chọn tới vị trí thứ hai cũng do bạn chọn. Tuy nhiên trước đó bạn lại muốn xóa bớt đi một số đối tượng B nào đó để bản vẽ đỡ rối rắm. Các đối tượng trong nhóm B này có thề là bất cứ anh cu nào mà bạn ghét. Sau đó tiếp tục copy nhóm đối tượng A tới vị trí mới nữa và trước khi copy thì cũng lại cho bạn xóa bớt dăm thằng ghét mặt đi. Cứ vậy cho đến khi bạn hết muốn copy hỉ????
Hề hề hề,.....


Đúng thế đó bác. bác xem có chế đc em cái lisp đó với?
  • 0

#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 13 June 2011 - 04:23 PM

Đúng thế đó bác. bác xem có chế đc em cái lisp đó với?

Tôi đã viết giùm bạn ở trên (trang #3734, Doan Van Ha). Bạn xem có đúng ý không vậy?
  • 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.


#10 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 13 June 2011 - 04:25 PM

Đúng thế đó bác. bác xem có chế đc em cái lisp đó với?

Hề hề hề,
Nếu đúng vậy thì bạn có thể dùng cái lisp của bác Đoan Van Ha hay xài thử cái ni coi có ưng cái bụng không hè????

(defun c:copnh (/ ss1 p1 p2 ss2)
(command "undo" "be")
(alert "\n Chon nhom doi tuong can copy")
(setq ss1 (ssget )
p1 (getpoint "\n Chon diem goc ")
p2 (getpoint p1 "\n Chon diem dich")
)
(while p2
(alert "\n Chon nhom doi tuong can xoa")
(setq ss2 (ssget))
(command "erase" ss2 "")
(command "copy" ss1 "" p1 p2)
(setq p2 (getpoint p1 "\n Chon diem dich ke tiep"))
)
(command "undo" "e")
(princ)
)

Hề hề hề,'
Chúc bạn vui.

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 13 June 2011 - 04:58 PM
Post nhầm tên tác giả

  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 13 June 2011 - 04:35 PM

Hề hề hề,
Nếu đúng vậy thì bạn có thể dùng cái lisp của bác Đoan Van Ha hay xài thử cái ni coi có ưng cái bụng không hè????


(defun c:copnh (/ ss1 p1 p2 ss2)
(command "undo" "be")
(alert "\n Chon nhom doi tuong can copy")
(setq ss1 (ssget )
p1 (getpoint "\n Chon diem goc ")
p2 (getpoint p1 "\n Chon diem dich")
)
(while p2
(alert "\n Chon nhom doi tuong can xoa")
(setq ss2 (ssget))
(command "erase" ss2 "")
(command "copy" ss1 "" p1 p2)
(setq p2 (getpoint p1 "\n Chon diem dich ke tiep"))
)
(command "undo" "e")
(princ)
)

Hề hề hề,'
Chúc bạn vui.

Sorry bác Phamthanhbinh! Nếu biết bác giúp thì tôi đã không viết giúp như trên.

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 13 June 2011 - 04:57 PM
Post nhầm tên tác giả

  • 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.


#12 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 13 June 2011 - 04:55 PM

Sorry bác Phamthanhbinh! Nếu biết bác giúp thì tôi đã không viết giúp như trên.

Hề hề hề,
Ấy chết, Sao bác lại nói vậy???? Chẳng qua là mình có tí nhầm lẫn cái tên mà bác giận vậy sao???? Xin lỗi bác nha , bác cho xin hai chữ ĐẠI XÁ để mình còn được sống thêm dăm bữa bác nhé.....
Cái việc viết lách này âu cũng là do cái khoái mà ra. Đôi lúc có hơi quá khoái mà lú lẫn thì mong các bác thông cảm, chớ trách giận nhau mà chi.
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.

#13 victor85

victor85

    biết lệnh stretch

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

Đã gửi 13 June 2011 - 05:06 PM

Của bạn đây:
http://www.cadviet.c...copy_delete.lsp

Hi, đúng ý mình rồi. dùng ngon, giao diện thân thiện. thanks bác nhé!!
  • 0

#14 victor85

victor85

    biết lệnh stretch

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

Đã gửi 14 June 2011 - 12:44 PM

cám ơn bác đã góp ý. Nhưng ở đây mình có các nhóm đối tượng bất kỳ và tính thêm cả thời gian thao tác nữa. Khi bác tạo block rùi thay thế block nữa e rằng còn lâu hơn là bác dùng lệnh erase rồi copy. Minh thấy là đoạn công việc này có thể làm bằng tay nhưng nếu có auto lisp và thì sẽ kỳ diều hơn nhiều. hì :)


Các bạn có thể xem tham khảo lisp nè nhé. Mình đã nhờ đc các bác viết. Nay up lên cho ai có nhu cầu có thể dùng thử.
http://www.cadviet.c...copy_delete.lsp
  • 0