Đến nội dung


Hình ảnh
- - - - -

{YÊU CẦU} Viết lisp thống kê tổ hợp


  • Please log in to reply
28 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 07 November 2013 - 09:24 AM

Chào các bạn trên diển đàn ! Chúc mọi người , mọi ngày làm việc vui vẻ và hạnh phúc .

Mình lên diển đàn tìm kiếm file thống kê nhưng nó chỉ có file thống kê cục bộ cho 1 cái nào thôi chưa phù hợp với yêu cầu với mình . Rất mong sự giúp đỡ của các bạn.http://www.cadviet.c...eu_cau_01_1.dwg

Các bạn giúp mình lisp thống kê chiều dài , chiều rộng , chu vi , diện tích trên các hình vuông và hình chữ nhật .

Để dể hiểu hơn mình có gởi file mẩu để các bạn xem làm dể hơn.


  • 0

#2 banlaptopcugiare

banlaptopcugiare

    Chưa sử dụng CAD

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

Đã gửi 07 November 2013 - 04:33 PM

minh cũng đang hóng topic mong có kết quả tốt :))










bán laptop cũ giá rẻ:
http://banlaptopcugiare.semworld.vn/


  • 0

#3 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 07 November 2013 - 10:39 PM

Chào các bạn trên diển đàn ! Chúc mọi người , mọi ngày làm việc vui vẻ và hạnh phúc .

Mình lên diển đàn tìm kiếm file thống kê nhưng nó chỉ có file thống kê cục bộ cho 1 cái nào thôi chưa phù hợp với yêu cầu với mình . Rất mong sự giúp đỡ của các bạn.http://www.cadviet.c...eu_cau_01_1.dwg

Các bạn giúp mình lisp thống kê chiều dài , chiều rộng , chu vi , diện tích trên các hình vuông và hình chữ nhật .

Để dể hiểu hơn mình có gởi file mẩu để các bạn xem làm dể hơn.

Hề hề hề,

Hãy dùng thử cái này coi đã đúng ý chưa nhé.

http://www.cadviet.c...ngthongkehh.lsp


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

#4 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 08 November 2013 - 08:12 AM

Hề hề hề,

Hãy dùng thử cái này coi đã đúng ý chưa nhé.

http://www.cadviet.c...ngthongkehh.lsp

Mình cảm ơn thanh bình nhe ! Thanh bình cho mình hỏi sau khi thực hiện các bước , bước cuối cùng lisp hỏi điểm đặc bảng mình không nhập số gì hết mình pick điểm nó hỏi yes hay no mình chọn cái nào nó cung k cho ra bảng thống kê


  • 0

#5 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 08 November 2013 - 11:24 AM

Mình cảm ơn thanh bình nhe ! Thanh bình cho mình hỏi sau khi thực hiện các bước , bước cuối cùng lisp hỏi điểm đặc bảng mình không nhập số gì hết mình pick điểm nó hỏi yes hay no mình chọn cái nào nó cung k cho ra bảng thống kê

Hề hề hề,

Hãy copy màn hình text của CAD khi bạn dùng lisp lên để mình xem lại bởi theo lisp thì hoàn toàn không có phần hỏi đáp gì sau khi pick điểm đặt bảng. Sau khi pick điểm đặt bảng thì lisp sẽ cho tra cái bảng đó lần lượt từ trên xuống dưới mà thôi. Có thể CAD của bạn có đặt biến hệ thống chi đó khác với mình chăng???

Cần phải xem CAD thông báo thế nào mới có thể trả lời bạn.


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

#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 08 November 2013 - 11:41 AM

Hề hề hề,

Hãy copy màn hình text của CAD khi bạn dùng lisp lên để mình xem lại bởi theo lisp thì hoàn toàn không có phần hỏi đáp gì sau khi pick điểm đặt bảng. Sau khi pick điểm đặt bảng thì lisp sẽ cho tra cái bảng đó lần lượt từ trên xuống dưới mà thôi. Có thể CAD của bạn có đặt biến hệ thống chi đó khác với mình chăng???

Cần phải xem CAD thông báo thế nào mới có thể trả lời bạn.

Cảm ơn bạn


  • 0

#7 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 08 November 2013 - 11:45 AM

Hề hề hề,

Hãy copy màn hình text của CAD khi bạn dùng lisp lên để mình xem lại bởi theo lisp thì hoàn toàn không có phần hỏi đáp gì sau khi pick điểm đặt bảng. Sau khi pick điểm đặt bảng thì lisp sẽ cho tra cái bảng đó lần lượt từ trên xuống dưới mà thôi. Có thể CAD của bạn có đặt biến hệ thống chi đó khác với mình chăng???

Cần phải xem CAD thông báo thế nào mới có thể trả lời bạn.

Nó báo yes or no , please vertical ? 


  • 0

#8 tanbqtb03

tanbqtb03

    biết vẽ ellipse

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

Đã gửi 08 November 2013 - 11:45 AM

Hề hề hề,

Hãy dùng thử cái này coi đã đúng ý chưa nhé.

http://www.cadviet.c...ngthongkehh.lsp

Thanks bác! Bác Bình có thể mở rộng cho pline kín (hình chữ L chẳng hạn, hoặc cho 1 đa giác bất kỳ) không ạh?


  • 0

#9 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 08 November 2013 - 12:13 PM

Thanks bác! Bác Bình có thể mở rộng cho pline kín (hình chữ L chẳng hạn, hoặc cho 1 đa giác bất kỳ) không ạh?

Hề hề hề,

Với pline bất kỳ thì cái vụ chiều dài cạnh a và chiều dài cạnh b được hiểu như thế nào hè. Cái Chu vi và diện tích thì có thể còn cái chiều dài cạnh thì phải xem lại.

Nếu để trích đồ thì trên diễn đàn có khơ khớ rồi đấy. Chịu khó tìm kiếm thử coi nhé.

Còn cái ni là chỉ thỏa mãn yêu cầu của chủ thớt thôi chứ mở rộng  ra sợ nó sang tới Mỹ thì toi.....


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

#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 08 November 2013 - 12:16 PM

Nó báo yes or no , please vertical ? 

Hề hề hề,

Giờ ạ, đã bảo là copy cái màn hình Text của CAd thì không chịu , cứ ghi mò ghi mẫm thế này thì toi rồi. chả thể hiểu CAd nó nói gì cả??? Please vertical được hiểu thế nào hè?????


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

#11 tanbqtb03

tanbqtb03

    biết vẽ ellipse

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

Đã gửi 08 November 2013 - 01:45 PM

Hề hề hề,

Với pline bất kỳ thì cái vụ chiều dài cạnh a và chiều dài cạnh b được hiểu như thế nào hè. Cái Chu vi và diện tích thì có thể còn cái chiều dài cạnh thì phải xem lại.

Nếu để trích đồ thì trên diễn đàn có khơ khớ rồi đấy. Chịu khó tìm kiếm thử coi nhé.

Còn cái ni là chỉ thỏa mãn yêu cầu của chủ thớt thôi chứ mở rộng  ra sợ nó sang tới Mỹ thì toi.....

 Hì hì đối với pline thì chỉ cần chọn 2 mục diện tích và chu vi thôi được không bác?!

Vì khi e thống kê phòng thì hành lang thông thường có dạng chữ L(, hoặc chữ U, T.)..


  • 0

#12 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 08 November 2013 - 01:51 PM

 Hì hì đối với pline thì chỉ cần chọn 2 mục diện tích và chu vi thôi được không bác?!

Vì khi e thống kê phòng thì hành lang thông thường có dạng chữ L(, hoặc chữ U, T.)..

Hề hề hề,

Cái ni thì được , nhưng bạn cần gủi một bản vẽ chứa các hành lang đó và cái bảng thống kê bạn cần lên mới được vì thiệt khó hình dung cái bảng thống kê này nó gầy béo ra sao.....


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

#13 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 08 November 2013 - 02:06 PM

Hề hề hề,

Giờ ạ, đã bảo là copy cái màn hình Text của CAd thì không chịu , cứ ghi mò ghi mẫm thế này thì toi rồi. chả thể hiểu CAd nó nói gì cả??? Please vertical được hiểu thế nào hè?????

Mình chụp lại rồi vì đọc chưa kỹ nên chưa hiểu ý bạn , bây giờ hiểu rồi mình gởi hình lại . Sau các công tác xong đến công tác cuối nó hỏi đặc bảng ở đâu (hình cad 1) mình pick nó cho ra kết quả hình 2(cad2)http://www.cadviet.c...115743_hinh.rar


  • 0

#14 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 08 November 2013 - 09:19 PM

Mình chụp lại rồi vì đọc chưa kỹ nên chưa hiểu ý bạn , bây giờ hiểu rồi mình gởi hình lại . Sau các công tác xong đến công tác cuối nó hỏi đặc bảng ở đâu (hình cad 1) mình pick nó cho ra kết quả hình 2(cad2)http://www.cadviet.c...115743_hinh.rar

Hề hề hề,

Vậy là khá rõ rồi. Cad của bạn có vấn đề rồi. Vì lý do chi đó mà lệnh pline đã bị thay thế thành một lệnh khác.

Với lệnh pline thì các yêu cầu sau khi nhập lệnh không thể có lựa chọn Yes or No được mà là yêu cầu Specify start point. (Bạn lưu ý rằng trong cửa sổ CAD thì cái thông báo trong lệnh của bạn là Yes or NO, please. Vertical <N>. Chứ không phải là Please vertical như bạn ghi đâu nhé)

Bạn hãy kiểm tra lại CAD của bạn nhé.

Lisp này mình đã test trên CAD2004 và CAD2008 thì không có vấn đề như CAD2007 của bạn.

Để check bạn có thể làm đơn giản như sau:

1/ Nhập lệnh pline trên dòng command rồi nhấn enter.

2/- Di chuột trên màn hình để xem nó nhắc bạn cái gì???

3/- Copy nó và gửi lên để mình xem có giống cái ảnh mà bạn đã post hay không nhé.


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

#15 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 08 November 2013 - 09:57 PM

Hề hề hề,

Vậy là khá rõ rồi. Cad của bạn có vấn đề rồi. Vì lý do chi đó mà lệnh pline đã bị thay thế thành một lệnh khác.

Với lệnh pline thì các yêu cầu sau khi nhập lệnh không thể có lựa chọn Yes or No được mà là yêu cầu Specify start point. (Bạn lưu ý rằng trong cửa sổ CAD thì cái thông báo trong lệnh của bạn là Yes or NO, please. Vertical <N>. Chứ không phải là Please vertical như bạn ghi đâu nhé)

Bạn hãy kiểm tra lại CAD của bạn nhé.

Lisp này mình đã test trên CAD2004 và CAD2008 thì không có vấn đề như CAD2007 của bạn.

Để check bạn có thể làm đơn giản như sau:

1/ Nhập lệnh pline trên dòng command rồi nhấn enter.

2/- Di chuột trên màn hình để xem nó nhắc bạn cái gì???Specify start point :

3/- Copy nó và gửi lên để mình xem có giống cái ảnh mà bạn đã post hay không nhé.

Mình thử làm trên 4 máy tính khác nhau điều cho ra kết quả như vậy và mình thưc hiên trên cad 2007 và cad 2013 nó cũng  k thành công. Còn đánh lệnh pline thì nó cũng bình thường nó không báo gì hết vẽ binh thường để mai minh cai cad 2004 làm thử


  • 0

#16 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 08 November 2013 - 10:17 PM

Hề hề hề,

Vậy là khá rõ rồi. Cad của bạn có vấn đề rồi. Vì lý do chi đó mà lệnh pline đã bị thay thế thành một lệnh khác.

Với lệnh pline thì các yêu cầu sau khi nhập lệnh không thể có lựa chọn Yes or No được mà là yêu cầu Specify start point. (Bạn lưu ý rằng trong cửa sổ CAD thì cái thông báo trong lệnh của bạn là Yes or NO, please. Vertical <N>. Chứ không phải là Please vertical như bạn ghi đâu nhé)

Bạn hãy kiểm tra lại CAD của bạn nhé.

Lisp này mình đã test trên CAD2004 và CAD2008 thì không có vấn đề như CAD2007 của bạn.

Để check bạn có thể làm đơn giản như sau:

1/ Nhập lệnh pline trên dòng command rồi nhấn enter.

2/- Di chuột trên màn hình để xem nó nhắc bạn cái gì???

3/- Copy nó và gửi lên để mình xem có giống cái ảnh mà bạn đã post hay không nhé.

Hehe

Hay trong quá trình gởi file nó bị thiếu sót gì , bạn cho mình xin lại lisp bạn đang dùng trên cad 2008 thử lại lần nữa xem sao .


  • 0

#17 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 08 November 2013 - 11:00 PM

Bác Bình xem lại dòng code này:

(command "style" st "" "" "" "" "" "")

Nó sẽ bị lỗi nếu ví dụ chủ topic chọn style là standard (có font là 1vni.shx - như bản vẽ của chủ topic).

Với 1 số font kiểu như 1vni.shx thì code trên còn thiếu 1 dấu "" nữa >> lỗi.

Nói chung, tạo style bằng hàm trên khá nguy hiểm.

Font "1vni.shx" của style standard khiến cho lisp của bác bị lỗi tại dòng này:
(command "style" st "" "" "" "" "" "")
Bác thử tạo 1 style với font đó thì sẽ thấy dòng trên còn thiếu 1 dấu "" nữa.

  • 2

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#18 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 09 November 2013 - 10:07 AM

Bác Bình xem lại dòng code này:

(command "style" st "" "" "" "" "" "")

Nó sẽ bị lỗi nếu ví dụ chủ topic chọn style là standard (có font là 1vni.shx - như bản vẽ của chủ topic).

Với 1 số font kiểu như 1vni.shx thì code trên còn thiếu 1 dấu "" nữa >> lỗi.

Nói chung, tạo style bằng hàm trên khá nguy hiểm.

Font "1vni.shx" của style standard khiến cho lisp của bác bị lỗi tại dòng này:
(command "style" st "" "" "" "" "" "")
Bác thử tạo 1 style với font đó thì sẽ thấy dòng trên còn thiếu 1 dấu "" nữa.

Hề hề hề,

Đúng là nguy hiểm thực vì khi test trên bản vẽ của chủ thớt, sử dụng font Arial thì lisp chạy vô tư. Bởi thế mình không check lại với các font khác.

Tuy nhiên việc tạo style mình lại chưa biết cách khác hay hơn. Nếu được mong bác chỉ giáo thêm.


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

#19 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 09 November 2013 - 10:31 AM

Hề hề hề,

Hehe

Hay trong quá trình gởi file nó bị thiếu sót gì , bạn cho mình xin lại lisp bạn đang dùng trên cad 2008 thử lại lần nữa xem sao .

Bác DoanVanHa đã trả lời trúng nguyên nhân rồi đó.

Do mình chưa biết cách tạo style khác ngoài cách dùng lệnh Style. Bởi thế bạn có thể có hai cách xử lý đối với lisp này như sau:

1/- Giữ nguyên và sử dụng với các style không sử dụng font *.shx mà chỉ dùng với các font *.ttf

Lưu ý rằng với font Arial.ttf thì việc hiển thị tiếng Việt sẽ thuận lợi hơn nhiều so với các font khác.

2/- Bổ sung thêm một cặp ngoặc kép nữa vào trong dòng code:

(command "style" st "" "" "" "" "" "" )

để thành:

(command "style" st "" "" "" "" "" "" "")

Và chấp nhận thông báo lỗi khi chạy lisp để sử dụng với cả font *.shx và font *.ttf

 

Hy vọng đáp ứng được yêu cầu sử dụng của bạ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.

#20 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 09 November 2013 - 10:38 AM

Trong bài toán này bác đặt thêm Style chi cho mệt? Bác chỉ việc (command "text"...) thôi cho nó khoẻ. Tuy nhiên, khi (command "text"...) thì còn trở ngại 1 vấn đề là style hiện hành có height bằng 0 hay khác 0. Cách mà không cần quan tâm tới height của style là bác dùng hàm (vla-addText...).

Còn trường hợp bác thích đặt thêm style thì cứ mỗi hàm (command "ddstyle") gán vào, rồi user tự chọn.

Còn dùng entmake để tạo style thì khá phức tạp. Tôi chỉ có 1 ví dụ này thôi.

;; EX: (CreateFont "Arial" "Arial.TTF")
(defun Font (FontName FontFile)
 (if (not (tblsearch "style" FontName))
  (entmake
   (list
   '(0 . "STYLE")
   '(100 . "AcDbSymbolTableRecord")
   '(100 . "AcDbTextStyleTableRecord")
    (cons 2 FontName)
   '(70 . 0)
   '(40 . 0.0)
   '(41 . 1.0)
   '(50 . 0.0)
   '(71 . 0)
   '(42 . 0)
    (cons 3 FontFile)
   '(4 . "")))))
 

  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.