Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Nhờ giúp lisp hoán đổi vị trí của 2 block


  • Please log in to reply
11 replies to this topic

#1 BuiHuuNghia

BuiHuuNghia

    biết zoom

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

Đã gửi 07 January 2014 - 07:40 PM

127110_hoan_doi_block.jpghttp://www.cadviet.c...n_doi_block.dwg


  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 07 January 2014 - 08:08 PM

Bạn thử định nghĩa khái niệm "hoán đổi vị trí của 2 block" một cách rõ ràng, rành mạch nhất được không?

Xem hình thì thấy khái niệm quá mông lung!


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


#3 BuiHuuNghia

BuiHuuNghia

    biết zoom

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

Đã gửi 07 January 2014 - 10:47 PM

Sory về sự cẩu thả của mình. Lisp mình cần giúp dùng để thay thế cho các thao tác trong hình 3 bên dưới:

-Trong hình 1 có 2 block khác nhau (rotation của cả 2 block đều bằng 0) và 1 đường polyline.

-Trong hình 2, mình đã xoay block 1 (nằm bên trái bản vẽ, rotation = 270 độ), block 2 (rotation = 180 độ) rồi đặt lên đường polyline.

-Ở hình 3, mình muốn block 1 có rotation là 180 độ và nằm ở vị trí của block 2 trong hình 2. Còn block 2 thì có rotation là 270 độ và nằm ở vị trí của block 1 trong hình 2 (bình thường thì mình phải rotate 2 block, đánh dấu vị trí 2 block rồi đổi vị trí cho nhau).

 

Hình 1. Block 1 (bên trái, có rotation = 0), block 2 (ở giữa, có rotation = 0) và một đường polyline (bên phải)127110_hoan_doi_block__1_2.jpg

 

 

Hình 2. Xoay block 1 (rotation = 270 độ) và đặt lên phần thẳng đứng của polyline cách góc của polyline 1'6" (1 feet 6 inch), Xoay block 2 (rotation = 180 độ) và đặt lên phần nằm ngang của polyline cách góc của polyline 1'10"

127110_hoan_doi_block__2.jpg

 

 

 

Hình 3. xoay block 2 (rotation = 270 độ) và đặt lên phần thẳng đứng của polyline cách góc của polyline 1'6" (1 feet 6 inch), Xoay block 1 (rotation = 180 độ) và đặt lên phần nằm ngang của polyline cách góc của polyline 1'10". (lisp mình cần giúp chỉ cần chọn 1 lúc 2 block trên rồi enter là từ hình 2 thành hình 3)

127110_hoan_doi_block_3_1.jpg


  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 08 January 2014 - 06:48 AM

Đọc xong đề bài của bạn, thấy các số liệu bạn đưa ra đều cố định. Vì vậy đề xuất:

1). Nếu chỉ có hoán đổi 1 lần thì nên dùng autotay.

2). Nếu hoán đổi cho nhiều hình: hãy autotay 1 hình, sau đó copy ra nhiều hình.

Liệu có cần thiết thuê thợ mộc đẽo 1 cái khuôn chỉ để làm chỉ 1 cái bánh?


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


#5 dinhvantrang

dinhvantrang

    biết lệnh copy

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

Đã gửi 08 January 2014 - 07:25 AM

Thấy nhiều lúc mọi người lạm dụng Lisp quá!


  • 0

Thanks and Best Regards

Skype : dinhvantrang73


#6 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 08 January 2014 - 10:32 AM

Liệu cái này có giúp ích đc gì chăng ?!

80156_aa.jpg


  • 0

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 08 January 2014 - 10:51 AM

Ý chủ topic không phải như Hiepttr đâu. 2 lần lệnh MOCORO mới đúng.


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


#8 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 10 January 2014 - 01:25 PM

Sory về sự cẩu thả của mình. Lisp mình cần giúp dùng để thay thế cho các thao tác trong hình 3 bên dưới:

-Trong hình 1 có 2 block khác nhau (rotation của cả 2 block đều bằng 0) và 1 đường polyline.

-Trong hình 2, mình đã xoay block 1 (nằm bên trái bản vẽ, rotation = 270 độ), block 2 (rotation = 180 độ) rồi đặt lên đường polyline.

-Ở hình 3, mình muốn block 1 có rotation là 180 độ và nằm ở vị trí của block 2 trong hình 2. Còn block 2 thì có rotation là 270 độ và nằm ở vị trí của block 1 trong hình 2 (bình thường thì mình phải rotate 2 block, đánh dấu vị trí 2 block rồi đổi vị trí cho nhau).

 

Hình 1. Block 1 (bên trái, có rotation = 0), block 2 (ở giữa, có rotation = 0) và một đường polyline (bên phải)127110_hoan_doi_block__1_2.jpg

 

 

Hình 2. Xoay block 1 (rotation = 270 độ) và đặt lên phần thẳng đứng của polyline cách góc của polyline 1'6" (1 feet 6 inch), Xoay block 2 (rotation = 180 độ) và đặt lên phần nằm ngang của polyline cách góc của polyline 1'10"

127110_hoan_doi_block__2.jpg

 

 

 

Hình 3. xoay block 2 (rotation = 270 độ) và đặt lên phần thẳng đứng của polyline cách góc của polyline 1'6" (1 feet 6 inch), Xoay block 1 (rotation = 180 độ) và đặt lên phần nằm ngang của polyline cách góc của polyline 1'10". (lisp mình cần giúp chỉ cần chọn 1 lúc 2 block trên rồi enter là từ hình 2 thành hình 3)

127110_hoan_doi_block_3_1.jpg

Load sbsp.fas

Có 2 lệnh:

SB: Đổi tên 2 block

SP: Đổi vị trí 2 block

http://www.cadviet.c.../19626_sbsp.rar


  • 1

#9 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 January 2014 - 03:39 PM

Nhìn lsp thì may ra biết lỗi ở đâu, nhìn fas thì chịu. Lệnh SP lỗi như vầy (nội bộ blọck bất ổn):

67029_error.png

http://www.cadviet.c...029_error_1.dwg


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

conghoa

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 411 Bài viết
Điểm đánh giá: 88 (tàm tạm)

Đã gửi 10 January 2014 - 04:56 PM

@Bác Hà Nếu cái text abc của bác được đặt thông số JustifyMiddle thì lisp sẽ chạy ngon lành.


  • 0

#11 BuiHuuNghia

BuiHuuNghia

    biết zoom

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

Đã gửi 11 January 2014 - 08:04 PM

Vãi, đúng hàng mình cần rồi. Cám ơn ndtnv nhìu nhìu nha. Nếu được, bạn giúp mình tạo thêm sbsp2.fas nữa để dổi 2 block tên 1 và 2 trong file dưới đây nha, tên lệnh vẫn là sb và sp (không hiểu sao 2 block 1 và 3 giống y như nhau, cả trong block editor cũng giống nhau luôn, mà rotation của 2 block lại khác nhau, 1 cái 90 độ, 1 cái 270 độ như hình bên dưới). Mình có nhiều bản vẽ chứa block 1 và 2, và nhiều bản vẽ khác chứa block 2 và 3. Những bản vẽ chứa block 2 và 3 thì file sbsp.fas của ndtnv đã làm được rồi. Còn các bản vẽ chứa block 1 và 2 thì tuy đổi block được nhưng cũng bị đổi rotation luôn (từ 90 độ thành 270 độ).

Load sbsp.fas

Có 2 lệnh:

SB: Đổi tên 2 block

SP: Đổi vị trí 2 block

http://www.cadviet.c.../19626_sbsp.rar

http://www.cadviet.c...doi_block_2.dwg

127110_replace_block.jpg

 

127110_replace_block__2.jpg


  • 0

#12 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 13 January 2014 - 10:47 AM

Vãi, đúng hàng mình cần rồi. Cám ơn ndtnv nhìu nhìu nha. Nếu được, bạn giúp mình tạo thêm sbsp2.fas nữa để dổi 2 block tên 1 và 2 trong file dưới đây nha, tên lệnh vẫn là sb và sp (không hiểu sao 2 block 1 và 3 giống y như nhau, cả trong block editor cũng giống nhau luôn, mà rotation của 2 block lại khác nhau, 1 cái 90 độ, 1 cái 270 độ như hình bên dưới). Mình có nhiều bản vẽ chứa block 1 và 2, và nhiều bản vẽ khác chứa block 2 và 3. Những bản vẽ chứa block 2 và 3 thì file sbsp.fas của ndtnv đã làm được rồi. Còn các bản vẽ chứa block 1 và 2 thì tuy đổi block được nhưng cũng bị đổi rotation luôn (từ 90 độ thành 270 độ).

Load sbsp.fas

Có 2 lệnh:

SB: Đổi tên 2 block

SP: Đổi vị trí 2 block

http://www.cadviet.c.../19626_sbsp.rar

http://www.cadviet.c...doi_block_2.dwg

127110_replace_block.jpg

 

127110_replace_block__2.jpg

Việc hoán đổi vị trí block hầu như ít người dùng nên tôi không viết tổng quát cho tất cả các trường hợp.

Tôi đã sửa lại để chạy đúng cho 2 trường hợp bạn yêu cầu.

http://www.cadviet.c...9626_sbsp_1.rar


  • 2