Đến nội dung


Hình ảnh

Tên của Dinamic Block


  • Please log in to reply
2 replies to this topic

#1 tranmthien

tranmthien

    biết zoom

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

Đã gửi 15 April 2012 - 04:06 PM

Tôi viết chương trình về Dynamic Block gắp khó khăn trong việc truy cấp tên của Block của Dynamic Block. Không truy được tên Block với Block đã sử dụng hiệu ứng Dynamic
Đối với các Dynamic Block nguyên dạng: (chưa sử dụng hiệu ứng Dynamic nào) thì vấn đề truy cập tên vẫn bình thường: Ví dụ tên Block của tôi là “NutGT” nguyên dạng bảng số liệu của Block như sau:
Command: !dt2
((-1 . <Entity name: 7efda258>) (0 . "INSERT") (330 . <Entity name: 7efd7cf8>)
(5 . "30B") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbBlockReference") (66 . 1) (2 . "NutGT") (10 -180.042 103.524 0.0) (41 .
1.0) (42 . 1.0) (43 . 1.0) (50 . 6.19592) (70 . 0) (71 . 0) (44 . 0.0) (45 .
0.0) (210 0.0 0.0 1.0))
Như vậy có thể truy cập vào phần tử (2. “NutGT”)
Đối với các Dynamic Block dã sử dụng Dynamic: (tôi dã sử dụng hiệu ứng Mirrow). Lúc này tên Dynamic Block được thay thế bằng tên mới xem bảng số liệu:
Command: !dt2
((-1 . <Entity name: 7efdaee8>) (0 . "INSERT") (5 . "6B5") (102 .
"{ACAD_XDICTIONARY") (360 . <Entity name: 7efdaf78>) (102 . "}") (330 . <Entity
name: 7efd7cf8>) (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbBlockReference") (66 . 1) (2 . "*U13") (10 -240.307 118.121 0.0) (41 .
1.0) (42 . 1.0) (43 . 1.0) (50 . 6.19592) (70 . 0) (71 . 0) (44 . 0.0) (45 .
0.0) (210 0.0 0.0 1.0))

- Tìm mãi vẫn không có cách nào lấy tên Block để viết tiếp, còn nếu gõ tên Block là (2 . "*U13") máy sẽ báo không tím thấy.

- AutoCAD có lệnh list có thể truy được tên nhưng tôi không thể lấy tên Block được.

Block Name: "NutGT"

Anonymous Name: "*U13"

Bạn nào có thể truy cập lấy được tên Block trong trường hợp này giúp tôi với.


  • 0

#2 Skywings

Skywings

    biết lệnh erase

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

Đã gửi 15 April 2012 - 06:21 PM

Bạn dùng hàm này để lấy chính xác tên Block

(vla-get-effectivename (vlax-ename->vla-object BlockEnt))

  • 0

#3 tranmthien

tranmthien

    biết zoom

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

Đã gửi 16 April 2012 - 07:01 AM

Đã thành công. Cảm ơn bạn!
  • 0