Đến nội dung


Hình ảnh
- - - - -

Thống Kê Text Theo Cặp


  • Please log in to reply
10 replies to this topic

#1 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 04 November 2015 - 01:49 PM

 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.c...ong_ke_text.dwg


  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 05 November 2015 - 01:47 PM

 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.c...ong_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ò.


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 05 November 2015 - 03:34 PM

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.c...g_ke_text_1.dwg


  • 0

#4 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 06 November 2015 - 09:21 AM

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.c...g_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???


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#5 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 06 November 2015 - 09:42 AM

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


  • 0

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#6 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 06 November 2015 - 10:19 AM

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ữ


  • 0

#7 anti lazy

anti lazy

    biết lệnh erase

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

Đã gửi 06 November 2015 - 10:53 AM

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?


  • 0

#8 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 06 November 2015 - 10:58 AM

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


  • 0

#9 anti lazy

anti lazy

    biết lệnh erase

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

Đã gửi 06 November 2015 - 11:20 AM

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


  • 0

#10 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 06 November 2015 - 01:33 PM

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.c...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)
)

  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#11 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 06 November 2015 - 05:00 PM

 

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


  • 0