Đến nội dung


Hình ảnh

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


  • Please log in to reply
40 replies to this topic

#21 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 June 2009 - 07:25 AM

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

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#22 xuantran15

xuantran15

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 295 Bài viết
Điểm đánh giá: 112 (tàm tạm)

Đã gửi 05 June 2009 - 08:45 AM

*Đúng với block quay mọi góc độ nhưng chưa không đúng khi block bị scale
http://www.cadviet.c...doiblockduy.lsp

Em đã xem thử và thấy đúng như bác nói,

(Có cách nếu tỉ lệ giửa trục x và trục y là bằng nhau). 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ệ đều giữa 2 phương thì mình bổ sung 1 đoạn.

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

Phần này thì em không rõ lắm và cũng chẳng thể có cao kiến gì :s_big:
  • 1
Hình đã gửi
Thu đi cho lá vàng bay
Lá rơi cho đám cưới về......

#23 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 June 2009 - 04:48 PM

Em đã xem thử và thấy đúng như bác nói,
Phần này thì em không rõ lắm và cũng chẳng thể có cao kiến gì :s_big:

Phát hiện thêm 1 lổi là lisp sẽ sai với trường hợp block bị mirror => bài toán quá rắt rối => từ bỏ :s_big:
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#24 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 05 June 2009 - 04:57 PM

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

Phát hiện thêm 1 lổi là lisp sẽ sai với trường hợp block bị mirror => bài toán quá rắt rối => từ bỏ

Anh Duy : Anh đừng nói thế. Tue_NV buồn lắm. Tue_NV không bao giờ nghĩ thế đâu, anh đừng nói như thế. Thời gian này công việc của em quá bận nên chưa tập trung viết cái này được. Tue_NV sẽ cố hết sức mình để hoàn thiện đoạn Code này. Cũng mong mọi người có ý kiến để mình hoàn thiện Code

Rất cảm ơn anh đã nhiệt tình với Tue_NV và với diễn đàn trong thời gian qua.
Tue_NV học tập ở anh và biết ơn anh rất nhiều :s_big:
  • 1

#25 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 June 2009 - 05:18 PM

Nói vậy chứ mình cũng để dành và coi vấn đề này là mục tiêu giải quyết (trong thời gian thong thả kìa chứ dạo này :s_big: ).
Để giải quyết vấn được này đầu tiên cần làm được cái ý sau thì mới tiếp tục làm gì thì làm được.
*Từ 1 block có góc quay bất kỳ, tỉ lệ x và y khác nhau. Hỏi chọn bolck cần chỉnh, hỏi chọn điểm chèn mới. Tính toán làm sao tạo cho được block mới có điểm chèn đúng chổ mình chỉ hồi nảy. Tue xem cách mình làm với phần chưa tính tỉ lệ sẽ hiểu cái mình nói mấy hôm nay.
*Lưu ý ngay cả khi giải quyết thành công hết các vấn đề thì cái block bị mirror vẩn bó tay.
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#26 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 08 June 2009 - 07:21 AM

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

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#27 xuantran15

xuantran15

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 295 Bài viết
Điểm đánh giá: 112 (tàm tạm)

Đã gửi 08 June 2009 - 07:57 AM

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:
  • 0
Hình đã gửi
Thu đi cho lá vàng bay
Lá rơi cho đám cưới về......

#28 LiveView

LiveView

    biết zoom

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

Đã gửi 02 July 2009 - 11:33 PM

[quote name='duy782006' date='Jun 8 2009, 7:21' post='63397']
............
-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 "

  • 0

#29 phuongqh

phuongqh

    biết vẽ circle

  • Members
  • PipPip
  • 35 Bài viết
Điểm đánh giá: 16 (tàm tạm)

Đã gửi 14 July 2009 - 01:09 PM

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

#30 phuongqh

phuongqh

    biết vẽ circle

  • Members
  • PipPip
  • 35 Bài viết
Điểm đánh giá: 16 (tàm tạm)

Đã gửi 14 July 2009 - 01:28 PM

đâ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.c...pfiles/1_33.jpg
http://www.cadviet.c...pfiles/2_13.jpg
  • 0

#31 QUYLAOTIENSINH

QUYLAOTIENSINH

    biết vẽ arc

  • Members
  • PipPip
  • 45 Bài viết
Điểm đánh giá: 16 (tàm tạm)

Đã gửi 14 July 2009 - 01:32 PM

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

#32 GHA

GHA

    Chưa sử dụng CAD

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

Đã gửi 20 May 2010 - 08:30 PM

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

#33 vodanhnxc

vodanhnxc

    biết vẽ ellipse

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

Đã gửi 31 December 2011 - 09:22 PM

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

#34 hungthanhnam

hungthanhnam

    Chưa sử dụng CAD

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

Đã gửi 31 December 2011 - 09:46 PM

các bác cho em hỏi làm thế nào để lấy 1 block để chèn vào các bản vẽ khác nhau vậy?
thanks.
  • 0

#35 NTD

NTD

    biết lệnh rotate

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

Đã gửi 05 July 2012 - 11:39 AM

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

#36 bkhn_2011

bkhn_2011

    biết vẽ pline

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

Đã gửi 11 March 2014 - 04:24 PM

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

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


  • 0

#37 bkhn_2011

bkhn_2011

    biết vẽ pline

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

Đã gửi 11 March 2014 - 04:28 PM

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

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 


  • 0

#38 tkktkk

tkktkk

    biết vẽ arc

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

Đã gửi 19 September 2016 - 03:57 PM

file này của anh em nào đó, cũng lâu lắm lắm rồi. Nay up lại cho anh em


  • 0

#39 tkktkk

tkktkk

    biết vẽ arc

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

Đã gửi 19 September 2016 - 04:02 PM

ủa sao không úp được vậy ta


  • 0

#40 tkktkk

tkktkk

    biết vẽ arc

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

Đã gửi 19 September 2016 - 04:05 PM

Mình có file này: 85848_changeblockinsertionv13

Lệnh là : cbir


  • 0