Chuyển đến nội dung
Diễn đàn CADViet
ldrt2004

Đổi điểm chèn sau khi đã chèn block khắp nơi

Các bài được khuyến nghị

Cứ đi theo đường mòn hoài mà không tới đích nên mình bỏ toàn bộ và đi theo hướng mới kết quả rất tốt, đúng cả với trường hợp block bị mirror, tỉ lệ x và y khác nhau, góc quay.

-Tên lệnh: DBL.

-Chọn Block cần chỉnh.

-Chọn điểm chèn mới.

=> Lisp báo ra tên block và số lượng của block vừa chỉnh (tất nhiên là đã làm công việc chỉnh xong rồi)

-Ưu điểm không thay đổi tên block sau khi hoàn tất công việc và không có block rác.

-Nhược điểm: nếu block lựa chọn còn nằm trong 1 block khác nửa thì quá trình thay đổi sẽ không hoàn tất dẩn đến việc song song tồn tại block cũ và block trung gian lúc này các block đã dời điểm chèn sẽ mang tên block trung gian bao gồm tên cũ + taothem.

-Mình đã chạy thử trên bản quy hoạch với dưới 100 block thấy ổn các bạn test thử giúp.

http://www.cadviet.com/upfiles/doiblockok.lsp

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tuyệt vời bác duy à. em đã test với bản trên 500 block vẫn rất OK, lisp này khắc phục được cả tốc độ nữa. :lol2:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

............

-Tên lệnh: DBL.

-Chọn Block cần chỉnh.

-Chọn điểm chèn mới.

.............

 

Bác cho mình hỏi, sao mình chạy nó cứ báo lỗi

"Command: _appload DoiDiemChen.lsp successfully loaded.

 

Command: undo Current settings: Auto = On, Control = All, Combine = Yes

Enter the number of operations to undo or [Auto/Control/BEgin/End/Mark/Back] <1>: be

 

Command: \nChon Block muon chinh diem chen

Can't reenter LISP.

 

*Invalid selection*

Expects a point or Last

\nChon Block muon chinh diem chen; error: no function definition: OR\\PAR "

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

tôi đã tìm ra cách di chuyển tâm block ra điểm khác mà không làm thay đổi vị trí và hình dáng cũng như kích thước của nó, có thể quay,đối xứng, scale.. mà vẫn như cũ, chỉ mỗi tâm block thay đổi thôi

 

1* tạo block A và copy ra 30 cái rồi thay đổi kích thuớc.. ( ví dụ block là hình tròn, tâm block là tâm hònh tròn)

 

2* dùng lệnh REFEDIT : vào block A đánh dấu 1 điểm để chọn tâm block mới => thoát ra nhấn ok ( nhớ là block A nguyên gốc không bị thay đổi hình dáng)

 

3* sau đó dùng lệnh _bedit ( bấm đúp vào đối tượng blok) . hiện lên màn hình trong block , các bạn tạo 1 block B mới vẫn là đối tượng block A cũ nhưng điểm tâm block mới là điểm chúng ta đã đánh dấu. rồi trèn block mới B vào đúng vị trí block cũ A ,chỉ khác tâm đã lệch so với cái cũ A, sau đó xoá block A đi và close block editor

 

4* đã làm xong 3 bước trên giờ các bạn EXPLODE tất cả block đi và chúng ta còn 1 lớp block mới B như ý nguyện

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

đây là cái mình làm không cần lip

tôi đã tìm ra cách di chuyển tâm block ra điểm khác mà không làm thay đổi vị trí và hình dáng cũng như kích thước của nó, có thể quay,đối xứng, scale.. mà vẫn như cũ, chỉ mỗi tâm block thay đổi thôi

 

1* tạo block A và copy ra 30 cái rồi thay đổi kích thuớc.. ( ví dụ block là hình tròn, tâm block là tâm hònh tròn)

 

2* dùng lệnh REFEDIT : vào block A đánh dấu 1 điểm để chọn tâm block mới => thoát ra nhấn ok ( nhớ là block A nguyên gốc không bị thay đổi hình dáng)

 

3* sau đó dùng lệnh _bedit ( bấm đúp vào đối tượng blok) . hiện lên màn hình trong block , các bạn tạo 1 block B mới vẫn là đối tượng block A cũ nhưng điểm tâm block mới là điểm chúng ta đã đánh dấu. rồi trèn block mới B vào đúng vị trí block cũ A ,chỉ khác tâm đã lệch so với cái cũ A, sau đó xoá block A đi và close block editor

 

4* đã làm xong 3 bước trên giờ các bạn EXPLODE tất cả block đi và chúng ta còn 1 lớp block mới B như ý nguyện

 

 

http://www.cadviet.com/upfiles/1_33.jpg

http://www.cadviet.com/upfiles/2_13.jpg

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình có ý này,thử xem nhá.Giả sử Block ban đầu của bạn là A .Bạn tạo 1 block B mới với điểm chẻn theo mong muốn của bạn. Sau đó copy block đó bắt điểm để trùng với block A(trùng đối tượng chứ không phải trùng điểm chèn.Tiếp tục tạo 1 block C với đối tựong là block B (block trong block),điểm chèn trùng điểm chèn block A.Sau đó bạn Replace block A bằng block C(Express--> block).Dùng qselect chọn block C explode --> ta sẽ được block B với diểm chen như mong muốn.:s_big:.Tui test thử và thấy rất ngon.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cám ơn bạn duy782006 rất nhiều về cai lisp dờii điểm chèn.

Chương trình chỉ bị một lỗi nhỏ là nếu block ta muốn thay đổi điểm chèn mà bị có một số block đang ần bên trong một block khác thì chương trình không chạy đuọc.

Có nghĩa là ví dụ tôi có block A số lượng 50 cái nhưng tôi không biết trong block B khác có chứa 1 vài cái block A thế là chương trình không chạy được.

tôi phải Explode block B ra thì tôi mới sừ dụng lisp của bạn được.

Dù sao thì tôi cũng xin cảm ơn bạn rất nhiều. Cám ơn diễn đàn.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cứ đi theo đường mòn hoài mà không tới đích nên mình bỏ toàn bộ và đi theo hướng mới kết quả rất tốt, đúng cả với trường hợp block bị mirror, tỉ lệ x và y khác nhau, góc quay.

-Tên lệnh: DBL.

-Chọn Block cần chỉnh.

-Chọn điểm chèn mới.

=> Lisp báo ra tên block và số lượng của block vừa chỉnh (tất nhiên là đã làm công việc chỉnh xong rồi)

-Ưu điểm không thay đổi tên block sau khi hoàn tất công việc và không có block rác.

-Nhược điểm: nếu block lựa chọn còn nằm trong 1 block khác nửa thì quá trình thay đổi sẽ không hoàn tất dẩn đến việc song song tồn tại block cũ và block trung gian lúc này các block đã dời điểm chèn sẽ mang tên block trung gian bao gồm tên cũ + taothem.

-Mình đã chạy thử trên bản quy hoạch với dưới 100 block thấy ổn các bạn test thử giúp.

http://www.cadviet.c.../doiblockok.lsp

bác ơi,cái lisp của bác bị lỗi với block thuộc tính,cụ thể là khi sử dụng thì các att của block bị thay đổi di chuyển đúng bằng khoảng cách từ tâm cũ đến tâm mới nhưng khi chèn block mới thì được

bác cho em hỏi thêm là block của em tự nhiên mất tính động,ý em là khi chèn block thì ko có dòng lệnh để chèn giá trị vào,muốn chèn lại phải tích đúp vào rồi chèn như thế mất thời gian,bác giúp em với thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cứ để bạn Tue viết mà ngồi ngoài nói hoài trông có vẻ thọc gậy bánh xe quá nên mình mạn phép sửa cái lisp thành như sau:

-Tên lệnh: DBL.

-Chọn block.

-Chọn điểm chèn mới.

*Đúng với block quay mọi góc độ nhưng chưa không đúng khi block bị scale (Có cách nếu tỉ lệ giửa trục x và trục y là bằng nhau). Mình chưa đưa phần tỉ lệ vào vì bị vướng như trên không nghỉ ra cách. Nhờ các bạn test giúp nếu đạt yêu cầu và chấp nhận áp dụng cho tỉ lệ điều giữa 2 phương thì mình bổ sung 1 đoạn.

 

http://www.cadviet.c...doiblockduy.lsp

CẢM ƠN BÁC DUY

Sao mọi người vẫn đưa ra các ý kiến khác ko dùng Lisp của bác Duy nhỉ , em đã test Lisp này rồi , chuẩn , nhanh , ko gặp lỗi nào , roteta , miror , scale , ko xảy ra lỗi nào lại còn nhanh . Tóm lại...... là yêu lắm cơ :D

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cứ đi theo đường mòn hoài mà không tới đích nên mình bỏ toàn bộ và đi theo hướng mới kết quả rất tốt, đúng cả với trường hợp block bị mirror, tỉ lệ x và y khác nhau, góc quay.

-Tên lệnh: DBL.

-Chọn Block cần chỉnh.

-Chọn điểm chèn mới.

=> Lisp báo ra tên block và số lượng của block vừa chỉnh (tất nhiên là đã làm công việc chỉnh xong rồi)

-Ưu điểm không thay đổi tên block sau khi hoàn tất công việc và không có block rác.

-Nhược điểm: nếu block lựa chọn còn nằm trong 1 block khác nửa thì quá trình thay đổi sẽ không hoàn tất dẩn đến việc song song tồn tại block cũ và block trung gian lúc này các block đã dời điểm chèn sẽ mang tên block trung gian bao gồm tên cũ + taothem.

-Mình đã chạy thử trên bản quy hoạch với dưới 100 block thấy ổn các bạn test thử giúp.

http://www.cadviet.com/upfiles/doiblockok.lsp

Mình cũng đang rất cần lisp này bạn cho mình xin nhé. Cái link kia die rồi bạn ạ. 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Cứ để bạn Tue viết mà ngồi ngoài nói hoài trông có vẻ thọc gậy bánh xe quá nên mình mạn phép sửa cái lisp thành như sau:

-Tên lệnh: DBL.

-Chọn block.

-Chọn điểm chèn mới.

*Đúng với block quay mọi góc độ nhưng chưa không đúng khi block bị scale (Có cách nếu tỉ lệ giửa trục x và trục y là bằng nhau). Mình chưa đưa phần tỉ lệ vào vì bị vướng như trên không nghỉ ra cách. Nhờ các bạn test giúp nếu đạt yêu cầu và chấp nhận áp dụng cho tỉ lệ điều giữa 2 phương thì mình bổ sung 1 đoạn.

 

http://www.cadviet.com/upfiles/doiblockduy.lsp

Bạn ơi, lisp này của bạn link bị die rồi bạn cho mình xin lại với. Mình cũng đang rất cần lisp này 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×