Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
vanduynguyen

Thống Kê Text Theo Cặp

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

 Rất mong anh chị giúp đỡ  dùm em cái lisp này với . Em có lên diễn đàn tìm rồi tìm gần nghìn cái lisp nhưng chưa thấy cái lisp phù hợp yêu cầu công việc của em nên nay gởi bài anh chị coi giúp dùm em . Em gơỉ file mẩu , nội dung em cần em ghi trong file luôn .

Rất mong sự giúp đỡ của anh chị ! Cảm ơn anh chị quan tâm giúp đỡ .http://www.cadviet.com/upfiles/5/115743_thong_ke_text.dwg

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

 Rất mong anh chị giúp đỡ  dùm em cái lisp này với . Em có lên diễn đàn tìm rồi tìm gần nghìn cái lisp nhưng chưa thấy cái lisp phù hợp yêu cầu công việc của em nên nay gởi bài anh chị coi giúp dùm em . Em gơỉ file mẩu , nội dung em cần em ghi trong file luôn .

Rất mong sự giúp đỡ của anh chị ! Cảm ơn anh chị quan tâm giúp đỡ .http://www.cadviet.com/upfiles/5/115743_thong_ke_text.dwg

Hề hề hề,

Vấn đề của bạn, có một số điểm cần làm rõ hơn:

1/- Cấu trúc của các bảng này có đồng nhất hay không??

2/- Việc quét sẽ tiến hành lần lượt từng bảng hay quét một lần tất cả các bảng???

3/- Nếu vấn đề chỉ là lấy các cặp số liệu đơn giản vây sao khôn copy số liệu của hai cột đầu ra vị trí khác, đơn giản và nhanh ra trò.

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

Hề hề hề,

Vấn đề của bạn, có một số điểm cần làm rõ hơn:

1/- Cấu trúc của các bảng này có đồng nhất hay không??

2/- Việc quét sẽ tiến hành lần lượt từng bảng hay quét một lần tất cả các bảng???

3/- Nếu vấn đề chỉ là lấy các cặp số liệu đơn giản vây sao khôn copy số liệu của hai cột đầu ra vị trí khác, đơn giản và nhanh ra trò.

Cấu trúc của bảng không đồng nhất , Viec quét sẽ tiến hành hàng loạt  cho tấc cả các bảng . khi quét các bảng không có khung chi có giá trị text thôi nên không quan tâm đến cấu trúc của bảng. bảng vẽ của em có cả vài trăm bảng như vậy ngồi copy khoản 3h mới xong nổi.Em gởi bảng vẽ lại anh coi nhe khi quét nó chỉ có vậy thôi.http://www.cadviet.com/upfiles/5/115743_thong_ke_text_1.dwg

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ấu trúc của bảng không đồng nhất , Viec quét sẽ tiến hành hàng loạt  cho tấc cả các bảng . khi quét các bảng không có khung chi có giá trị text thôi nên không quan tâm đến cấu trúc của bảng. bảng vẽ của em có cả vài trăm bảng như vậy ngồi copy khoản 3h mới xong nổi.Em gởi bảng vẽ lại anh coi nhe khi quét nó chỉ có vậy thôi.http://www.cadviet.com/upfiles/5/115743_thong_ke_text_1.dwg

Hề hề hề,

1/- Nếu cấu truc bảng không đồng nhất thì việc quét một lần tât cả các bảng là khó khả thi bởi rất khó chọn đối tượng.

2/- Theo ý mình thì không cần thiết phải xóa bỏ khung làm gì bởi lisp có thể chọn đối tượng text mà không quan tâm gì tới các đối tượng tạo khung.

3/- Vị trí các bảng trên bản vẽ có theo một quy luật nào không hay tùy tiệ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

Hình như hôm nay chổ bác Bình trời mát thì phải :D

Nếu như những hôm khác, cứ tình hình trình bày, diễn giải câu hỏi như này thì chắc cú là bị mắng mỏ, hoặc xấu hơn là bị xóa bài rồi đó :D

p/s:

Góp ý với thớt:

Nếu bảng trình bày "lung tung" không theo quy luật thì bạn có thể "mách nước" cho chúng tôi biết là bạn có thể tìm và thống kê các cặp text theo "quy luật" nào ?! :D

Phải chăng text "SIZE" luôn căn lề Midlle, cách [các con số thống kê size VD: "(101+237)x450" ) luôn có dạng *x*, căn lề Midlle left ] theo phương ngang là 370

Và tương tự giữa "SIZE" và cột "hình như là số lượng" :D là 535

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

Hề hề hề,

1/- Nếu cấu truc bảng không đồng nhất thì việc quét một lần tât cả các bảng là khó khả thi bởi rất khó chọn đối tượng.

2/- Theo ý mình thì không cần thiết phải xóa bỏ khung làm gì bởi lisp có thể chọn đối tượng text mà không quan tâm gì tới các đối tượng tạo khung.

3/- Vị trí các bảng trên bản vẽ có theo một quy luật nào không hay tùy tiện???

 Dạ vị trí các bảng trên bảng vẽ có quy luật chung như sau :

1. Khi thống kê text thì text của cột đầu tiên ta cần thống kê luôn luôn nằm dưới chữ size của bảng tính còn cột thứ 2 thì text ta cần thống kê luôn luôn nằm duới chữ

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

Không thấy học hỏi, chỉ thấy xin.

Với vài trăm bảng vẽ, nếu có lisp thì cũng mất 1h, làm tay 3h nhưng chờ LISP thì đã 2 ngày.

Nếu tính tìm gần nghìn cái LISP chắc hơn 3h

Nếu tính cả thời gian người khác giúp thì tiết kiệm được bao nhiêu?

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

Không thấy học hỏi, chỉ thấy xin.

Với vài trăm bảng vẽ, nếu có lisp thì cũng mất 1h, làm tay 3h nhưng chờ LISP thì đã 2 ngày.

Nếu tính cả thời gian người khác giúp thì tiết kiệm được bao nhiêu?

Mình có vài chục bản vẽ như thế đó bạn mình làm 1 công trình  phần mềm xuất ra vài trăm bản vẽ xong công trình này thì làm thêm công trình khác nên mình mới nhớ làm lisp chứ không copy cho rồ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

Vậy thì nhanh nhất là dung phần mềm USD của hai lúa.

LISP này tối đa khoảng $20, nhưng may ra có thể có người nhận $5 hoặc ít hơn là 1 thẻ DT 50K

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ó vài chục bản vẽ như thế đó bạn mình làm 1 công trình  phần mềm xuất ra vài trăm bản vẽ xong công trình này thì làm thêm công trình khác nên mình mới nhớ làm lisp chứ không copy cho rồi

Hề hề hề,

1/- Dùng thử cái lisp dưới đây nhé. Lưu ý rằng lisp chỉ đúng khi các bảng có cùng cấu trúc với các bảng trên bản vẽ bạn đã post. Nghĩa là tỷ lệ giữa kích thước của bảng với chiều cao text tiêu đề (SiZE) là tương đương., Tỷ lệ giữa các cột, các hàng là tương đương.

2/- Bạn đã có kha khá kiến thức về lisp nên hãy đọc kỹ cái lisp này để hiểu được cách làm của mình và từ đó có thể suy ra cách làm cho các bảng có cấu trúc khác mà bạn cần phải làm.

http://www.cadviet.com/upfiles/5/5194_choncaptext.lsp

 

 

(defun c:sedote ( / oldos sstc p0 h p sst p1 ssc )
(vl-load-com)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq sstc (acet-ss-to-list (ssget (list (cons 0 "text")  (cons 1 "SIZE")))))
(setq p0 (getpoint "\n Chon diem dat ket qua"))
(command "undo" "be")
(foreach txt sstc
    (setq h (cdr (assoc 40 (entget txt)))
              p (cdr (assoc 11 (entget txt)))  )
    (if (= (sslength (setq sst (ssget "c" p (list (+ (car p) (* 15 h)) (+ (cadr p) h)) 
                             (list (cons 0 "text") (cons 1 "\\M+3B0E8"))))) 1)
        (setq p1 (cdr (assoc 11 (entget (ssname sst 0)))))
    )
   ;;;;; (command "line" p p1 "")
    (setq p (list (- (car p) (* 9.5 h)) (- (cadr p) (* 3.75 h)))
              p1 (list (+ (car p1) h) (- (cadr p1) (* 3.75 h)))    )
    (while (setq ssc (ssget "f" (list p p1) (list (cons 0 "text"))))
          (command "copy" ssc "" p p0)
          (setq p0 (polar p0 (* 1.5 pi) (* 2.5 h))
                   p (polar p (* 1.5 pi) (* 2.5 h))
                   p1 (polar p1 (* 1.5 pi) (* 2.5 h))    )
    )
)
(command "undo" "e")
(setvar "osmode" oldos)
(princ)
)

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

 

Hề hề hề,

1/- Dùng thử cái lisp dưới đây nhé. Lưu ý rằng lisp chỉ đúng khi các bảng có cùng cấu trúc với các bảng trên bản vẽ bạn đã post. Nghĩa là tỷ lệ giữa kích thước của bảng với chiều cao text tiêu đề (SiZE) là tương đương., Tỷ lệ giữa các cột, các hàng là tương đương.

2/- Bạn đã có kha khá kiến thức về lisp nên hãy đọc kỹ cái lisp này để hiểu được cách làm của mình và từ đó có thể suy ra cách làm cho các bảng có cấu trúc khác mà bạn cần phải làm.

http://www.cadviet.com/upfiles/5/5194_choncaptext.lsp

(defun c:sedote ( / oldos sstc p0 h p sst p1 ssc )
(vl-load-com)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq sstc (acet-ss-to-list (ssget (list (cons 0 "text")  (cons 1 "SIZE")))))
(setq p0 (getpoint "\n Chon diem dat ket qua"))
(command "undo" "be")
(foreach txt sstc
    (setq h (cdr (assoc 40 (entget txt)))
              p (cdr (assoc 11 (entget txt)))  )
    (if (= (sslength (setq sst (ssget "c" p (list (+ (car p) (* 15 h)) (+ (cadr p) h)) 
                             (list (cons 0 "text") (cons 1 "\\M+3B0E8"))))) 1)
        (setq p1 (cdr (assoc 11 (entget (ssname sst 0)))))
    )
   ;;;;; (command "line" p p1 "")
    (setq p (list (- (car p) (* 9.5 h)) (- (cadr p) (* 3.75 h)))
              p1 (list (+ (car p1) h) (- (cadr p1) (* 3.75 h)))    )
    (while (setq ssc (ssget "f" (list p p1) (list (cons 0 "text"))))
          (command "copy" ssc "" p p0)
          (setq p0 (polar p0 (* 1.5 pi) (* 2.5 h))
                   p (polar p (* 1.5 pi) (* 2.5 h))
                   p1 (polar p1 (* 1.5 pi) (* 2.5 h))    )
    )
)
(command "undo" "e")
(setvar "osmode" oldos)
(princ)
)

vâng em cám ơn anh nhiều

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  

×