Đến nội dung


Hình ảnh

thắc mắc về 2 dạng block : B và ATT


  • Please log in to reply
18 replies to this topic

#1 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 20 April 2011 - 01:31 PM

Mình vẫn hay dùng block B ( block đánh lệnh là "B" ) và chỉnh sửa trong hộp thoại Edit block definition rất tiện dụng.
Mình thấy trong bản vẽ có block ATT ( block đánh lệnh "ATT") , khi kích đúp vào đối tượng ra hộp thoại Enhanced Atribute Editor. Mình gặp khó khăn khi muốn đổi màu đối tượng line trong đó ( chỉ 1 số đường chứ ko phải tất cả ).
--> các bạn chỉ mình cách thực hiện đổi màu line trong Block ATT ( trường hợp trên )
--> Có thể chuyển block ATT sang block B được ko ???

Hình đã gửi

Hình đã gửi
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 20 April 2011 - 01:41 PM

:) Block có thể bao gồm ATT hoặc không, chứ không phải ATT là 1 dạng block.Bạn có thể hiểu nôm na ATT là 1 loại text đặc biệt, có thể thay đổi linh động ngay cả khi đã block lại.
- Block có chứa đối tượng ATT có thể kích đúp vào để sửa trực tiếp nội dung của ATT, chứ không cần vào trong cửa sổ Block Editor để sửa.
- Muốn sửa các đối tượng khác trong Block ATT, bạn nhấn chuột phải để chọn Block Editor, hoặc dùng lệnh Bedit để sửa block
- Với Block bình thường, việc bạn kích đúp vào block cũng tương tự với cách làm bên trên
- Bạn vào Block chưa ATT, xóa hết các đối tượng ATT đi, thay bằng text chết bình thường thì nó sẽ là 1 Block bình thường
==> đây là cách làm đổi xe máy lấy xe đạp :)
  • 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


#3 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 20 April 2011 - 01:52 PM

chọn đối tượng block --> bedit
Chính xác như những gì bạn nói :) thanks mà ko thấy có nút thanks :unsure: bình chọn +++++ :blush:
  • 0

#4 lp_hai

lp_hai

    biết lệnh measure

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

Đã gửi 20 April 2011 - 02:17 PM

==> đây là cách làm đổi xe máy lấy xe đạp :)

sặc.
pác Ketxu có nhiều câu đỡ ko nổi.
  • 0
Hình đã gửi

#5 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 20 April 2011 - 03:03 PM

Vì block của mình là đơn giản đồng bộ như nhau, không thay đổi giá trị Text nên mình đã chọn "đổi xe máy lấy xe đạp" :). Nhân đây mình cũng nhờ các bạn tư vấn cách tạo Block chứa ATT (vì mình chỉ quen tạo block B và những text thay đổi giá trị thì mình ko Block để sửa thủ công hoặc = tcount) :blush:
  • 0

#6 lp_hai

lp_hai

    biết lệnh measure

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

Đã gửi 20 April 2011 - 03:38 PM

Vì block của mình là đơn giản đồng bộ như nhau, không thay đổi giá trị Text nên mình đã chọn "đổi xe máy lấy xe đạp" :). Nhân đây mình cũng nhờ các bạn tư vấn cách tạo Block chứa ATT (vì mình chỉ quen tạo block B và những text thay đổi giá trị thì mình ko Block để sửa thủ công hoặc = tcount) :blush:

giống như ketxu noi o trên thì ATT là một dạng text đặt biệt. khi bạn block thì chọn luôn dt là ATT (tạo ra trước đó bằng lệnh ATT) và những thứ khác cùng nhau. lúc này trong block của bạn có ATT có thể chỉnh sửa nội dung của "text đặc biệt này", cái này thì ai cũng dùng, VD như ký hiệu trục, ký hiệu cửa...
  • 1
Hình đã gửi

#7 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 20 April 2011 - 03:54 PM

OKIE ;) đơn giản thế mà mình ko biết , đúng là càng hỏi càng thấy mình gà -_-
  • 0

#8 VoHoan

VoHoan

    biết lệnh move

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

Đã gửi 20 April 2011 - 04:52 PM

sặc.
pác Ketxu có nhiều câu đỡ ko nổi.

Thời buổi giá xăng tăng cao thế này thì việc này cũng đáng làm lắm, với lại nó tốt cho môi trường lắm, mình ủng hộ!
  • 0

#9 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 28 April 2011 - 07:19 AM

Mình lại gặp 1 vấn đề phải hỏi các bạn đây: mình BEDIT block kí hiệu trục chứa đối tuợng ATT rồi scale chữ trong đó lên, sau khi làm xong thì kết quả là chữ có tăng nhưng bị đảo ngược lại. Mình sửa đơn giản thế mà sao nó ra kết quả oái oăm vậy, mình muốn có 1 kết quả bình thường :)
  • 0

#10 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 08:37 AM

Sao bạn không gửi thử file kèm block cho mọi người xem, đỡ phải ngồi đoán mò hè :)
  • 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 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 28 April 2011 - 09:05 AM

Ok ! đó là Block ghi tên cửa đi và cửa sổ. Lúc đầu kích thước hơi nhỏ , mình tính scale trong Block để nó cho ra kết quả 1 loạt. Nhưng ko hiểu sao bị lỗi đảo ngược và lộn ngược .
Link Mediafire file Cad: http://www.mediafire...qqfw115sf75da13
  • 0

#12 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 11:22 AM

Do bạn để Scale X của Block = -1, hãy chỉnh lại thành 1 :)
  • 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


#13 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 28 April 2011 - 04:33 PM

Do bạn để Scale X của Block = -1, hãy chỉnh lại thành 1 :)

- Đúng là đổi scale X =-1 thì block đó trở về bình thường. Nhưng giá trị -1 đó ko phải do mình ghi vào đó. Mình tìm được nguyên nhân là do khi Mirror đối tượng Block chứa ATT thì Cad sẽ tự động đổi các hệ số scale X và rotation để đối tượng text trong ATT là luôn thuận chiều (dạng bình thường, ko lộn ngược chữ, ko đảo ngược chữ ).

- Bạn để ý là các ghi chú cửa Đ1, Đ2, Đ3, Đ4, S1, S2 đều cùng chung 1 đối tượng Block có tên là "ghi chu".

- Mình giải thích quá trình phát sinh lỗi đó (theo ý hiểu của mình) như sau :
Khi mình vẽ, ghi chú tên cửa có chỗ = copy, có chỗ = mirror thì
(Text ATT nguyên bản + scale X=1 ) --> chữ thuận chiều
(Text ATT mirror + scale X=-1) --> chữ vẫn thuận chiều
Sau khi mình Scale đối tượng text trong Block đó thì
(Text ATT nguyên bản + scale X=1 ) --> chữ thuận chiều
(Text ATT mirror trở về nguyên bản + scale X=-1) --> chữ đảo chiều

- Bây giờ mà làm thủ công đưa từng block đó về scale X=1 và rotation =0 Có vẻ không thông minh lắm .
Các bạn có sáng kiến gì không ?
  • 0

#14 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 28 April 2011 - 04:48 PM

mình cũng gặp trường hợp khó xử này : muốn chọn chỉ hiện 1 đối tượng Block ( trong Block đó có các đối tượng ở các layer khác nhau )còn các đối tượng khác ẩn hết. Mình làm = cách chọn Block rồi Layiso thì block đó cũng mất luôn .
Bạn nào có cách xử lý trường hợp này ko ??? :)
(Lấy trường hợp Block "ghi chu" trên làm ví dụ, chỉ hiện 1 Block đó để chỉnh Scale X và rotation )
  • 0

#15 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 04:49 PM

Nếu chỉ để đưa về Scale 1 và Rot = 0 thì có gì khó đâu ^^, dùng Qselect rồi chỉnh cũng được vậy , chỉ lưu ý là lúc đó vị trí block sẽ chạy thôi, cái nì tại hạ hok chịu trách nhiệm à nghen
(defun c:fix()
(foreach ent (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "INSERT")(2 . "ghi chu")))))))

(if (and (vlax-property-available-p ent 'XScaleFactor) (=(vlax-get-property ent 'XScaleFactor) -1))
(vlax-put-property ent 'XScaleFactor 1) )
(if (and (vlax-property-available-p ent 'Rotation) (not (=(vlax-get-property ent 'XScaleFactor) 0)))
(vlax-put-property ent 'Rotation 0))
)
)

  • 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


#16 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 04:51 PM

mình cũng gặp trường hợp khó xử này : muốn chọn chỉ hiện 1 đối tượng Block ( trong Block đó có các đối tượng ở các layer khác nhau )còn các đối tượng khác ẩn hết. Mình làm = cách chọn Block rồi Layiso thì block đó cũng mất luôn .
Bạn nào có cách xử lý trường hợp này ko ??? :)
(Lấy trường hợp Block "ghi chu" trên làm ví dụ, chỉ hiện 1 Block đó để chỉnh Scale X và rotation )

1 là dùng Qselect hoặc Fi, bạn tìm hiểu cách sử dụng trên diễn đàn
2 là dùng cố định 1 đoạn lisp để highlight các đối tượng này
3 là dùng lisp ẩn đối tượng kết hợp Qs hoặc Fi
4 là....
  • 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


#17 chikonan

chikonan

    biết vẽ circle

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

Đã gửi 28 April 2011 - 05:21 PM

Mình xài cái lisp bạn đưa (đánh lệnh fix, chọn đối tượng Block đó) mà ko đc :huh:

APPLOAD
Command: fix
Select objects: 1 found
Select objects:
Error:bad argument type: VLA-OBJECT nil; error: An error has occurred inside
the *error* functionbad argument type: fixnump: "BYLAYER"


Lisp đó bạn mới sáng tác ah, vì mình thấy có đoạn (0 . "INSERT")(2 . "ghi chu")
  • 0

#18 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 28 April 2011 - 05:51 PM

Mình xài cái lisp bạn đưa (đánh lệnh fix, chọn đối tượng Block đó) mà ko đc :huh:


Lisp đó bạn mới sáng tác ah, vì mình thấy có đoạn (0 . "INSERT")(2 . "ghi chu")

Srr bạn, mình thiếu cái dấu ngoặc, đã fix lại ở bài trên , bạn lấy lại nhé.
Đỏ : ừh :)
  • 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


#19 binhlua8x

binhlua8x

    biết zoom

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

Đã gửi 16 April 2013 - 03:41 PM

Giúp mình với! Mình copy 1 block vào bản vẽ của mình (khung tên) nhưng khi vào edit block thì không xoá được TEXT. File cad của mình đây! Mong mọi người giúp đỡ! http://www.mediafire...897aby9n4q5yq7a


  • -1