Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
hnanal

Cho minh hỏi về xuất thuộc tính của group như xuất block thuộc tình

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

hnanal    3

Mình nhận được 1file sử dụng đất như sau http://www.mediafire.com/?vj70r69uxsv61lu (sr mình k chèn đc file).

Trong đó tem sử dụng đất lại để dạng group (ng làm trước củ chuối k để block ATT).

Mình muốn hỏi các bạn cách xuất các thuộc tính của group đó (giống như lệnh ATTOUT của block).

Mong các bạn sớm cho ý kiến, mình đang cần. Thanks all :cheers::-x :cheers::-x :cheers::-x

P/s: Bản gốc nó nhiều tem hơn bản mình gửi nhiều. Mình del bớt cho nó nhẹ file thôi.

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
gia_bach    1.442
Mình nhận được 1file sử dụng đất như sau http://www.mediafire.com/?vj70r69uxsv61lu (sr mình k chèn đc file).

Trong đó tem sử dụng đất lại để dạng group (ng làm trước củ chuối k để block ATT).

Mình muốn hỏi các bạn cách xuất các thuộc tính của group đó (giống như lệnh ATTOUT của block).

Mong các bạn sớm cho ý kiến, mình đang cần. Thanks all :cheers::-x :cheers::-x :cheers::-x

P/s: Bản gốc nó nhiều tem hơn bản mình gửi nhiều. Mình del bớt cho nó nhẹ file thôi.

Củ chuối thì sao nhỉ ?

Củ chuối hay củ khoai đều có giá trị của nó.

Bạn thử "củ khoai" này với củ chuối xem sao ?

(defun c:test1()
 (vlax-for group (vla-get-groups (vla-get-activedocument (vlax-get-acad-object)))
   (if (>(vla-get-count group)1)
     (progn
(princ (strcat "\nGroup : " (vla-get-name group)))
(vlax-for item group
  (if (=(vla-get-objectname item)"AcDbText")
    (princ (strcat "\n\tText : " (vla-get-TextString item))) )))))
 (princ))

Mong các bạn sớm cho ý kiến

he he : bạn làm tôi chợt nhớ đến lời ca khúc : "... gặp nhau lần nào cũng vội...."

"Quan có cần nhưng dân chưa vội

....................... "

  • Vote tăng 3

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
hnanal    3

Cảm ơn lisp củ khoai của bạn Gia bach rất nhiều. Tuy nhiên khi mình cop dữ liệu sang excel thì nó có dạng như sau:

Group : *A1

Text : 1184

Text : 01

Group : *A10

Text : 1005

Text : 33

Group : *A11

Text : 1000

Text : 32

Group : *A13

Text : 1006

Text : 31

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

Bạn có thể sửa lại để khi nó xuất ra thành các riêng biệt như sau được k:

Group : *A1 Text : 1184 Text : 01

Group : *A10 Text : 1005 Text : 33

Group : *A11 Text : 1000 Text : 32

Group : *A13 Text : 1006 Text : 31

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

Chúc bạn mạnh khỏe ! :cheers: :cheers:

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
Tue_NV    3.841
.....................

Bạn có thể sửa lại để khi nó xuất ra thành các riêng biệt như sau được k:

Group : *A1 Text : 1184 Text : 01

Group : *A10 Text : 1005 Text : 33

Group : *A11 Text : 1000 Text : 32

Group : *A13 Text : 1006 Text : 31

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

Chúc bạn mạnh khỏe ! :cheers: :cheers:

Chỉ là kiểu hiển thị thôi mà bạn.

Bạn thay dòng :

(princ (strcat "\n\tText : " (vla-get-TextString item))) )))))

Thành dòng :

(princ (strcat "\tText : " (vla-get-TextString item))) )) )))

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
hnanal    3
Chỉ là kiểu hiển thị thôi mà bạn.

Bạn thay dòng :

(princ (strcat "\n\tText : " (vla-get-TextString item))) )))))

Thành dòng :

(princ (strcat "\tText : " (vla-get-TextString item))) )) )))

Vẫn chưa đc bạn ạ. Đúng là nó in ra thành

Group : *A1 Text : 1184 Text : 01

Group : *A10 Text : 1005 Text : 33

Group : *A11 Text : 1000 Text : 32

Group : *A13 Text : 1006 Text : 31

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

nhưng là trên cùng 1 cột bạn ạ. Mình muốn nó thành 3 cột riêng biệt cơ. Giúp mình nốt nhé. Thanks :cheers:

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
gia_bach    1.442
Cảm ơn lisp củ khoai của bạn Gia bach rất nhiều. Tuy nhiên khi mình cop dữ liệu sang excel thì nó có dạng như sau:

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

Bạn có thể sửa lại để khi nó xuất ra thành các riêng biệt như sau được k:

Group : *A1 Text : 1184 Text : 01

Group : *A10 Text : 1005 Text : 33

Group : *A11 Text : 1000 Text : 32

Group : *A13 Text : 1006 Text : 31

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

Chúc bạn mạnh khỏe ! :cheers: :cheers:

LISP xuất kết quả ra màn hình và ra file *.csv (tên file do nguời dùng nhập) với định dạng : GroupName Text1 Text2

(defun c:test1(/ fil glst gname tmp txt)
 (vlax-for group (vla-get-groups (vla-get-activedocument (vlax-get-acad-object)))
   (Setq txt "")
   (if (>(vla-get-count group)1)
     (progn
(Setq gName (vla-get-name group))
(vlax-for item group
  (if (=(vla-get-objectname item)"AcDbText")
    (Setq txt (strcat (vla-get-TextString item) "\t" txt))))
(Setq gLst (append (list (cons gName txt))gLst)))))  
 (foreach pt (Setq gLst (reverse gLst))
   (princ (strcat "\n"(car pt) "\t" (cdr pt))))
 (if (and gLst
   (setq tmp (getfiled "Chon File" (getvar "dwgprefix") "csv" 1)) )
   (progn
     (setq fil (open tmp "a"))
     (write-line "Group\tText1\tText2" fil)
     (foreach pt gLst
(write-line (strcat (car pt) "\t" (cdr pt)) fil))      
     (close fil)
     (princ (strcat "\nData duoc luu tai <" tmp ">."))))
 (princ))

  • 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

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

Đăng nhập để thực hiện theo  

×