Đến nội dung


Hình ảnh
* * * - - 8 Bình chọn

Viết lisp theo yêu cầu [phần 2]


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#2601 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 17 November 2010 - 08:50 PM

Thanks Bác Bình.
1. Có nghĩa là nếu em muốn cài lại win mà không muốn load lại các lisp, và tính năng khác... Thì có thể copy các thư mục ví dụ: "C:\Program Files\AutoCAD 2007\" vào usb rồi sau khi cài lại cad thì Pate trả lại các file và foder trong usb vào ổ C:\Program Files\AutoCAD 2007. Phải không ah.
2. Nếu trong quá trình cần làm vệc tạm thời trên máy khác mà không muốn ảnh hưởng tới máy người khác. Bác có thể giúp em 1 lisp để không phải Pate vào ổ c mà sử dụng ngay trên usb hay foder riêng được không bác. sau khi làm xong thì trả máy cho họ với tính năng của cad như cũ. Hình như có phần giống lisp di động trên diễn đàn

Chào nguoi_tho_mo,
1/- Như vậy cũng được nhưng tốt hơn là nên dùng một thư mục riêng.
2/- Hãy tạo đường dẫn cho CAD tới cài USB của bạn. Khỏi cần dùng lisp liếc chi cho nó ...... mất oai.
  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#2602 atl

atl

    biết zoom

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

Đã gửi 17 November 2010 - 09:35 PM

Hề hề hề, chào bạn atl.
Xem file bạn gửi rồi , song do chả có chuyên môn nên mình mù tịt chả hiểu bạn cần gì nữa. Nếu bạn không sợ lộ bí mật nghề nghiệp thì mong bạn hãy giải thích cho rõ hơn cái yêu cầu của bạn nhé.
Cái gọi là đường chân công trình của bạn được vẽ dựa trên các tham số nào??? Cách lấy các tham số ấy ra sao???
Các yếu tố mà bạn nêu như : tim công trình,cao trình và chiều rộng đỉnh,hệ số mài đào hoặc đắp cả thượng và hạ,cao trình và chiều rộng cơ hạ,thượng ... thể hiện ở đâu trên cái bình đồ mà bạn gửi???? Thề hiện bởi các text hay là phải tự đo trên bình đồ????
Túm lại là bạn phải giải thích rõ vấn đề bạn cần cho những người ngoại ngạch chuyên môn của bạn có thể hiểu được thì bạn mới có thể có được sự hỗ trợ đầy đủ và cần thiết. Bởi không phải ai trên diễn đàn cũng rành về cái chuyên môn của bạn như bạn mong muốn.
Nếu không làm dược như vầy thì bạn hãy chịu khó chờ những người vừa giỏi chuyên môn của bạn lại vừa giỏi cả CAD và Lisp, hay là giỏi về cái bạn cần cũng như có đủ thời gian rảnh rỗi để giúp bạn vậy.
Cái đám amateur như mình chắc bó tay bó chân, dựa cột nghe phán vậy. Hề hề hề......
Chúc bạn vui.

có lẽ do em giải thích không rõ nên anh khó hiểu, em đã úp lại file,em đã vẽ một mặt cắt ngang tại vị trị em đã ghi chú trong bản vẽ,và đường chân công trình tức là đường giao mái với mặt đất như thế.nếu như em cắt ngang toàn tuyến và vẽ các mặt cắt ngang tại vị trí khác nhau rồi em nối các điểm giao với mặt đất đấy lại em sẽ được đường chân hoàn chỉnh của một mái đắp http://www.cadviet.c...s/3/vi_du_1.dwg mong anh giúp,nếu mà vẽ từng mặt cắt như thế rồi nối lại lâu quá,
  • 0

#2603 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 17 November 2010 - 11:34 PM

Chào bạn Truongthanh,
Hề hề hề,
Hổng phải đâu là hổng phải đâu. Vẫn còn đủ hai lần nhập cao độ chớ bộ. Mình đâu có dám ăn bớt ăn xén chi cái lisp đó đâu. Hề hề hề. Một lần tru7o71v khi chọn text chuẩn, một lần sau khi chọn text chuẩn mừ.
Cái vụ tính toán thì mình chả hề đụng vào đâu, mình chỉ thay cái vụ nhập giá trị chiều dài ống và góc dốc bằng việc chọn text chuẩn mà thôi. Vậy có nhẽ bạn gửi cho mình cái lisp không đúng rồi. Mình đã thử chạy với cả hai lisp trước và sau khi sửa đều cho ra kết quả giống nhau mà.... Bạn hãy kiểm tra lại cái lisp cdc bạn post xem sao nhé. Theo mình đoán có thể cái lisp đó thiếu mất khúc đổi đơn vị khi tính toán chăng????? Hoặc giả là cái độ dốc i bạn ghi trong text là chưa đúng, phải là 3.33% chứ không phải 3.33. Nếu đúng vậy bạn phải bổ sung vào dòng code:
i1 (atof t3)
để trở thành:
i1 (/ (atof t3) 100)

Cái pline bị dài thì bạn chỉ cần thay (setq p5 (polar p3 0 20)) bằng (setq p5 (polar p3 0 6))là nó ngắn lại ngay ý mà....
Việc bạn muốn text đặt trái phải tùy ý đã giải quyết được rồi. Chỉ cần bạn Ok là mình sẽ bổ sung thêm được, bạn cứ yên trí nhớn để kiểm tra cho nó chuẩn cái nội dung text đi đã nhé.....
Hề hề hề,...

Hix hix!Em xin chân thành cáo lỗi với anh Bình!Em quên mất là cái 3,33 hiện giờ đang là phần ngàn!Em đã sửa lại được rồi anh ạ!
Nhờ anh bổ sung thêm cái này tí nữa: Đó là chỗ cao độ đáy cống điểm đầu cũng lấy giá trị text có sẵn trên màn hình luôn được ko anh?
Giờ nhờ anh giải quyết nốt cái phần đặt TEXT nữa là xong!
Cảm ơn anh rất nhiều!
  • 0

#2604 mrsmart

mrsmart

    biết zoom

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

Đã gửi 18 November 2010 - 12:31 AM

Chào mọi người mình có bài toán rất khó giải như này mọi người có thể hiểu và viết dùm lisp được không:
- Thứ nhất mình nói qua là mình la dân điện nên phải cần viết thống kê tỉ mỉ cái nho nhỏ như cái đèn cái công tắc, cái ổ căm ... sử dụng chung 1 đường điện của cùng 1 con attomat được lấy điện từ tủ điện chính của nhà (Nói nôm na là các thiết bị được mắc nối tiếp nhau và cùng ăn vào 1 attomat).
Do đó mình phải sử dụng đường pline or line để minh họa cho hướng đi dây điện từ tủ điện đến các vị trí đèn và giữa các đèn với nhau. Còn các thiết bị như đèn, công tắc thì là các block được tạo sẵn. Bên cạnh đó là dòng text gắn liền để chỉ cho biết đèn và công tắc sẽ lấy điện từ attomat or tủ điện nào.( Ví dụ trong phòng khách có cái đèn trần, đèn chùm được nối điện nối tiếp nhau và được đóng cắt từ công tắc và nối đến 1 attomat).
- Do có số lượng bản vẽ và các đường đi của điện mỗi tủ điện một khác nhau nên việc đếm số lượng đối với mình quả là một khó khăn và mất rất nhiều thời gian.
Mình muốn đặt một vấn đề đó là có thể tạo một đặc tính cho text or pline or mà đặc tính đó... để khi mình chỉ cần click vào đó có thể tính được số lượng bóng đèn, công tắc, ổ cắm, chiều dài pline+ arc hay không?
Quả thật mình đã biết sử dụng một số lisp thống kê block, tính tổng chiều dài pline+ arc... nhưng đây là một bài toán khá nan giải và phải sử dụng tổng hợp các lisp mới giải quyết được. Với mình nếu phải ngồi đếm đơn giản trong một bản vẽ chiếu sáng có 6 cái tủ điện mà có hơn 20 cái attomat ăn đến vài trăm con đèn, công tắc thì một là sẽ mất rất nhiều thời gian thứ nữa là không chính xác và phải đếm đi đếm lại.
Mình up một phai thiết kế điện nhà 4 tầng đơn giảnđể minh họa và hướng mình muốn mọi người giải quyết hộđược không? Mong mọi người quan tâm và giúp đỡ.
Thanks.
http://www.cadviet.c...3/nha_chinh.dwg
  • 0

#2605 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 18 November 2010 - 07:17 AM

Thanks Bác Bình.
1. Có nghĩa là nếu em muốn cài lại win mà không muốn load lại các lisp, và tính năng khác... Thì có thể copy các thư mục ví dụ: "C:\Program Files\AutoCAD 2007\" vào usb rồi sau khi cài lại cad thì Pate trả lại các file và foder trong usb vào ổ C:\Program Files\AutoCAD 2007. Phải không ah.
2. Nếu trong quá trình cần làm vệc tạm thời trên máy khác mà không muốn ảnh hưởng tới máy người khác. Bác có thể giúp em 1 lisp để không phải Pate vào ổ c mà sử dụng ngay trên usb hay foder riêng được không bác. sau khi làm xong thì trả máy cho họ với tính năng của cad như cũ. Hình như có phần giống lisp di động trên diễn đàn

Trên diễn đàn đã có bài đề cập đến vấn đề này rồi. Bạn tìm lisp của Bác Duy nguyên cứu code đó thì bạn sẽ hiểu.
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#2606 nguoi_tho_mo

nguoi_tho_mo

    biết vẽ arc

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

Đã gửi 18 November 2010 - 08:51 AM

Trên diễn đàn đã có bài đề cập đến vấn đề này rồi. Bạn tìm lisp của Bác Duy nguyên cứu code đó thì bạn sẽ hiểu.

Cảm ơn bác phamngoctukts
Bác cho em từ khoá em search được không ạ
chúc bác một ngày vui vẻ
  • 0

#2607 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 18 November 2010 - 09:04 AM

Cảm ơn bác phamngoctukts
Bác cho em từ khoá em search được không ạ
chúc bác một ngày vui vẻ

Bạn kiếm với từ khóa Lisp di dong
  • 1

#2608 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 18 November 2010 - 09:06 AM

Cảm ơn bác phamngoctukts
Bác cho em từ khoá em search được không ạ
chúc bác một ngày vui vẻ

của bạn đây: http://www.cadviet.c...amp;#entry31234
  • 1
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#2609 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 18 November 2010 - 10:04 AM

Hix hix!Em xin chân thành cáo lỗi với anh Bình!Em quên mất là cái 3,33 hiện giờ đang là phần ngàn!Em đã sửa lại được rồi anh ạ!
Nhờ anh bổ sung thêm cái này tí nữa: Đó là chỗ cao độ đáy cống điểm đầu cũng lấy giá trị text có sẵn trên màn hình luôn được ko anh?
Giờ nhờ anh giải quyết nốt cái phần đặt TEXT nữa là xong!
Cảm ơn anh rất nhiều!

Chào bạn Truongthanh,
Hề hề hề,
Của bạn đây, hy vọng lần này bạn sẽ hài lòng.

;tinh cao do cong
(defun C:cdc (/ s1 L1 i1 txt i n k m t1 t2 t3 m1 s2 p2 p3 p4 p5 p6 )
;;;;;(setq s1 (getreal "\nCAO DO DAY CONG DIEM DAU: "))
;;;;;(setq L1 (getreal "\nCHIEU DAI CONG: "))
;;;;;(setq i1 (getreal "\nDO DOC CONG: "))
(setq s1 (atof (cdr (assoc 1 (entget (car (entsel "\n Chon text cao do day cong diem dau")))))))
(setq txt (cdr (assoc 1 (entget (car (entsel "\n Chon text chuan " )))))
i 1
n (strlen txt)
k nil
)
(while (<= i n)
(setq kt (substr txt i 1))
(if (= kt "-")
(progn
(setq k i
i n)
)
)
(setq i (1+ i))
)
(if k
(progn
(setq t1 (substr txt 1 (- k 2))
t2 (substr txt (+ k 3) n)
)
(setq n (strlen t2)
i 1
m nil
)
(while (<= i n)
(setq kt (substr t2 i 1))
(if (= kt "-")
(progn
(setq m i
i n)
)
)
(setq i (1+ i))
)
(if m
(progn
(setq t3 (substr t2 (+ m 3) n))
(setq t2 (substr t2 1 (- m 2)))
)
)
)
)
(setq L1 (atof t2)
i1 ( / (atof t3) 1000)
)
(setq m1 (getreal "\nNHAP CAO DO THIET KE DIEM: "))
(setq s2 (- s1 (* L1 i1)))
(setq p2 (getpoint "\nchon diem cuoi doan cong"))
(setq p3 (getpoint "\nchon diem dat text"))
(if (>= (car p3) (car p2))
(progn
(setq p4 (polar p3 (/ pi 4) 1))
(setq p5 (polar p3 0 6))
(setq p6 (polar p3 (/ (- 0 pi) 4) 1))
(setvar "snapmode" 0)
(setvar "osmode" 0)
(command ".text" p4 "" 0 (strcat (RTOS S2 2 2))
".text" "j" "tl" p6 "" "" (strcat (RTOS m1 2 2))
".pline" p2 "w" 0.1 0.1 p3 p5 "" )
)
(progn
(setq p4 (polar p3 (* (/ pi 4) 3) 1))
(setq p5 (polar p3 pi 6))
(setq p6 (polar p3 (* (/ (- 0 pi) 4) 3) 1))
(setvar "snapmode" 0)
(setvar "osmode" 0)
(command ".text" "j" "r" p4 "" 0 (strcat (RTOS S2 2 2))
".text" "j" "tr" p6 "" "" (strcat (RTOS m1 2 2))
".pline" p2 "w" 0.1 0.1 p3 p5 "" )
)
)

(setvar "snapmode" 0)
(setvar "osmode" 16383)

(princ)
)

Hề hề 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.

#2610 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 18 November 2010 - 10:58 AM

Chào mọi người mình có bài toán rất khó giải như này mọi người có thể hiểu và viết dùm lisp được không:
- Thứ nhất mình nói qua là mình la dân điện nên phải cần viết thống kê tỉ mỉ cái nho nhỏ như cái đèn cái công tắc, cái ổ căm ... sử dụng chung 1 đường điện của cùng 1 con attomat được lấy điện từ tủ điện chính của nhà (Nói nôm na là các thiết bị được mắc nối tiếp nhau và cùng ăn vào 1 attomat).
Do đó mình phải sử dụng đường pline or line để minh họa cho hướng đi dây điện từ tủ điện đến các vị trí đèn và giữa các đèn với nhau. Còn các thiết bị như đèn, công tắc thì là các block được tạo sẵn. Bên cạnh đó là dòng text gắn liền để chỉ cho biết đèn và công tắc sẽ lấy điện từ attomat or tủ điện nào.( Ví dụ trong phòng khách có cái đèn trần, đèn chùm được nối điện nối tiếp nhau và được đóng cắt từ công tắc và nối đến 1 attomat).
- Do có số lượng bản vẽ và các đường đi của điện mỗi tủ điện một khác nhau nên việc đếm số lượng đối với mình quả là một khó khăn và mất rất nhiều thời gian.
Mình muốn đặt một vấn đề đó là có thể tạo một đặc tính cho text or pline or mà đặc tính đó... để khi mình chỉ cần click vào đó có thể tính được số lượng bóng đèn, công tắc, ổ cắm, chiều dài pline+ arc hay không?
Quả thật mình đã biết sử dụng một số lisp thống kê block, tính tổng chiều dài pline+ arc... nhưng đây là một bài toán khá nan giải và phải sử dụng tổng hợp các lisp mới giải quyết được. Với mình nếu phải ngồi đếm đơn giản trong một bản vẽ chiếu sáng có 6 cái tủ điện mà có hơn 20 cái attomat ăn đến vài trăm con đèn, công tắc thì một là sẽ mất rất nhiều thời gian thứ nữa là không chính xác và phải đếm đi đếm lại.
Mình up một phai thiết kế điện nhà 4 tầng đơn giảnđể minh họa và hướng mình muốn mọi người giải quyết hộđược không? Mong mọi người quan tâm và giúp đỡ.
Thanks.
http://www.cadviet.c...3/nha_chinh.dwg

Hề hề hề,
Chào bạn mrsmart,
Chửa biết bạn có ưng hay không nhưng thiệt tình vấn đề của bạn đưa ra chả phải là quá khó như bạn đã nói đâu. Tuy nhiên cái khó nhất lại chính là cái Smart của bạn. Nếu bạn có ý thức tổ chức bản vẽ cho nó khoa học và thống nhất thì cực kỳ đơn giản, Còn nếu bạn là người làm việc luộm thuộm, tùy tiện và cẩu thả thì nó sẽ gây khó cho bạn mà thôi.
1/- Về việc thống kê số lượng thiết bị theo chủng loại chỉ cần bạn dùng đúng các block thiết bị của bạn vào đúng chỗ cần xài, sau đó dùng các lisp thống kê block mà bạn đã biết có chinh sửa đi chút xíu cho phù hợp với các block bạn dùng là Ok ngay. Tỷ như nếu bạn không muốn thống kê trên toàn bộ bản vẽ mà chỉ thống kê trong khu vực bạn chọn thì bỏ tham số "X" trong hàm ssget đi là OK.
2/- Việc thống kê dây nối từ thiết bị tới Aptomat bạn có thể xài thống nhất một thuộc tính của line hay pline nào đó, ví dụ chiều rộng của đường pline hay màu săc của line hay đưa nó về cùng một lớp dây dẫn...... Khi đó việc thống kê sẽ không quá khó khăn và có thể hoàn toàn thảo mãn yêu cầu của bạn,
3/- Với bản vẽ bạn post lên thực tình mình chả hiểu nổi các ký hiệu trên bản vẽ của bạn, dây dẫn thì lúc thẳng lúc cong, màu sắc thì cái xanh cái đỏ. các text đi kèm thì cái 5 cái 8, vậy thì biết bạn muốn thống kê kiểu chi mà làm hử bạn. Có nhẽ bạn cần giải thích rõ hơn cái bạn cần thì mới có thể làm được đúng yêu cầu của bạn.
Tỷ như việc thống kê các đèn thì thay vì bạn muốn chọn cái text 5 màu đỏ , mình sẽ dùng cách chọn vào cái block đèn mang tên "hqm3x40", khi đó đảm bảo sẽ đếm đủ cho bạn 6 cái block này trong khu vực bạn đánh dấu.
Nếu chỉ thống kê các dây dẩn màu đỏ chẳng hạn cũng có thể làm ngon lành.... với điều kiện các dây này phải được tạo từ cùng một kiểu line hay pline....

Ấy là mấy cái suy nghĩ vẩn vơ của mình, trúng trật thì bạn hãy tự cân nhắc lại và post lên thật cụ thể cái bạn cần, mình tin trên diễn đàn không thiếu người dư sức giúp bạn cái vụ nhỏ này....
Hề hề hề,...
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#2611 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1433 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 18 November 2010 - 11:17 AM

Mò mãi mà không ra. Bác Gia Bách giúp em tạo cái bảng này bằng lisp của bác được không?
Hình đã gửi
Còn đây là file cad của em.
File cad

Các chỗ khác vẫn bình thường duy chỉ có cột W và H là khác. Block của em có tên là W x H.

Chào hatieu.
Lúc này tôi hơi bận nhưng thấy bạn chạy ra "xứ ngoài" cầu cứu nên có 1 vài góp ý :
- về tổ chức Block của bạn như vậy rất khó cho việc thống kê. (khó chứ không phải là không thể)
Nên sử dụng Block thuộc tính.

- cái bảng của bạn có Format khá là đặc biệt (phần SIZE : W/H), chưa biết Setting như thế nào đuợc.

Hy vọng có các thành viên khác giúp đuợc cho bạn.
  • 0

#2612 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 18 November 2010 - 11:48 AM

Chào bạn Truongthanh,
Hề hề hề,
Của bạn đây, hy vọng lần này bạn sẽ hài lòng.
Hề hề hề,...

Không còn gì để nói!Perfect!Chân thành cảm ơn anh!Chúc anh sức khỏe và vui vẽ!
  • 0

#2613 phongthien

phongthien

    biết vẽ line

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

Đã gửi 18 November 2010 - 11:49 AM

giúp mình cải thiện lisp này với máy anh
file đính kèm
http://www.cadviet.c...itle_block.dwg2
làm sao mà em có thể kích vào miền kín mà không cần đánh chiều cao chữ nữa mà nó mặc định là 1 và xuất ra cad số diện tích nó có trong dấu ngoặc đơn như file em đã gửi nhe
thank!!!
  • 0

#2614 phongthien

phongthien

    biết vẽ line

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

Đã gửi 18 November 2010 - 11:51 AM

giúp mình cải thiện lisp này với máy anh
file đính kèm
http://www.cadviet.c...itle_block.dwg2
làm sao mà em có thể kích vào miền kín mà không cần đánh chiều cao chữ nữa mà nó mặc định là 1 và xuất ra cad số diện tích nó có trong dấu ngoặc đơn như file em đã gửi nhe
thank!!!
lisp dtm này nè
(defun c:dtm()
(defun ctext (diem gt / lst)
(setq lst
(list
(cons 0 "TEXT")
(cons 1 gt)
(cons 10 diem)
(cons 40 (getdist p "\nPHONG THIEN moi ban danh chieu cao chu: "))
)
)
(entmake lst)
)
(defun dtdoituong (entdt /)
(command ".area" "o" entdt)
(command ".erase" entdt "")
(getvar "area")
)
(defun getbound(p)
(setq ent (entlast))
(command ".boundary" "A" "B" "E" "I" "Y" "" p "")
(setq ent1 (entlast))
(cond
((eq ent ent1) nil)
(t ent1)
)
)
(princ "\nCADViet.com © 2007")
(setq
p (getpoint "\nPHONG THIEN moi ban kich Vao diem can tinh dien tich: ")
entpl (getbound p)
)
(if entpl
(ctext p (rtos (dtdoituong entpl)))
(alert "Diem ban chon khong kin!")
)
(princ)
)

(princ "\ndtm - free lisp from www.cadviet.com")
(princ "\\nhttp:\\\\PHONG THIEN")


  • 0

#2615 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 18 November 2010 - 12:23 PM

Chào bạn phongthien,
Bạn cần cái này phải không???
(Vì không mở được bản vẽ bạn gửi nên đành đoán mó mà làm, hề hề hề)

(defun c:dtm()
(defun ctext (diem gt / lst)
(setq lst
(list
(cons 0 "TEXT")
(cons 1 (strcat "(" gt ")"))
(cons 10 diem)
(cons 40 1)
)
)
(entmake lst)
)
(defun dtdoituong (entdt /)
(command ".area" "o" entdt)
(command ".erase" entdt "")
(getvar "area")
)
(defun getbound(p)
(setq ent (entlast))
(command ".boundary" "A" "B" "E" "I" "Y" "" p "")
(setq ent1 (entlast))
(cond
((eq ent ent1) nil)
(t ent1)
)
)
(princ "\nCADViet.com © 2007")
(setq
p (getpoint "\nPHONG THIEN moi ban kich Vao diem can tinh dien tich: ")
entpl (getbound p)
)
(if entpl
(ctext p (rtos (dtdoituong entpl)))
(alert "Diem ban chon khong kin!")
)
(princ)
)

(princ "\ndtm - free lisp from www.cadviet.com")
(princ "\\nhttp:\\\\PHONG THIEN")

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

#2616 phongthien

phongthien

    biết vẽ line

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

Đã gửi 18 November 2010 - 09:50 PM

cám ơn anh bình nhe
quá đúng với ý em rồi
thank nhiều nhiều
  • 0

#2617 duyhung

duyhung

    biết vẽ rectang

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

Đã gửi 18 November 2010 - 09:57 PM

Mọi người cho mình hỏi là thống kê block thì có có lisp của bác gia_bach vừa cho chọn vùng vừa có thể chọn tất cả các đối tượng cần thống kê, nhưng thống kê về text thì bác gia_bach chỉ mới hạn chế thống kê toàn bộ mà chưa cho chọn vùng rồi tạo bảng phải không nhi?
Mình đang cần lisp thống kê text có lựa chọn vùng và tạo bảng thống kê text như của block liệu diễn đàn mình đã ai quan tâm chưa nhỉ ! Mình search mà chưa tìm ra, thanks.
  • 0
Song va chien dau!

#2618 kamezoko

kamezoko

    biết vẽ line

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

Đã gửi 18 November 2010 - 10:01 PM

em có 1 file lisp của anh Thiep nhưng chạy thì nó báo lởi:
APPLOAD trichthua.lsp successfully loaded.
Command: ; error: malformed list on input
Mong được giúp đở..thank!
http://www.cadviet.c...3/trichthua.lsp
  • 0

#2619 phongthien

phongthien

    biết vẽ line

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

Đã gửi 18 November 2010 - 10:05 PM

giúp em vài vấn đề này với nhe mấy anh
có thể dùng lisp hoặc cách nào nhanh nhất nhe
vì số lượng bản đồ qui hoạch thì rất là lớn
tình hình là như vầy
http://www.cadviet.c.../3/aaaaaa_2.dwg
tự động tìm các khoảng hở giữa các đường line rồi cho bắn các đường đó đụng vào nhau
mà khi quét cả bản đồ thì chỉ các đường line màu tím bắn đụng đường màu xanh thôi nhe
còn đường màu trắng thì giữ nguyên
sau đó tính diện tích đồng loạt các thửa đó rùi xuất qua exell theo ba cột số thửa, loại đất, diện tích nhe
monh các anh cố gắn giúp đỡ dùm
cám ơn thật nhiều nhe
  • 0

#2620 mrsmart

mrsmart

    biết zoom

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

Đã gửi 18 November 2010 - 10:11 PM

Hề hề hề,
Chào bạn mrsmart,
Chửa biết bạn có ưng hay không nhưng thiệt tình vấn đề của bạn đưa ra chả phải là quá khó như bạn đã nói đâu. Tuy nhiên cái khó nhất lại chính là cái Smart của bạn. Nếu bạn có ý thức tổ chức bản vẽ cho nó khoa học và thống nhất thì cực kỳ đơn giản, Còn nếu bạn là người làm việc luộm thuộm, tùy tiện và cẩu thả thì nó sẽ gây khó cho bạn mà thôi.
1/- Về việc thống kê số lượng thiết bị theo chủng loại chỉ cần bạn dùng đúng các block thiết bị của bạn vào đúng chỗ cần xài, sau đó dùng các lisp thống kê block mà bạn đã biết có chinh sửa đi chút xíu cho phù hợp với các block bạn dùng là Ok ngay. Tỷ như nếu bạn không muốn thống kê trên toàn bộ bản vẽ mà chỉ thống kê trong khu vực bạn chọn thì bỏ tham số "X" trong hàm ssget đi là OK.
2/- Việc thống kê dây nối từ thiết bị tới Aptomat bạn có thể xài thống nhất một thuộc tính của line hay pline nào đó, ví dụ chiều rộng của đường pline hay màu săc của line hay đưa nó về cùng một lớp dây dẫn...... Khi đó việc thống kê sẽ không quá khó khăn và có thể hoàn toàn thảo mãn yêu cầu của bạn,
3/- Với bản vẽ bạn post lên thực tình mình chả hiểu nổi các ký hiệu trên bản vẽ của bạn, dây dẫn thì lúc thẳng lúc cong, màu sắc thì cái xanh cái đỏ. các text đi kèm thì cái 5 cái 8, vậy thì biết bạn muốn thống kê kiểu chi mà làm hử bạn. Có nhẽ bạn cần giải thích rõ hơn cái bạn cần thì mới có thể làm được đúng yêu cầu của bạn.
Tỷ như việc thống kê các đèn thì thay vì bạn muốn chọn cái text 5 màu đỏ , mình sẽ dùng cách chọn vào cái block đèn mang tên "hqm3x40", khi đó đảm bảo sẽ đếm đủ cho bạn 6 cái block này trong khu vực bạn đánh dấu.
Nếu chỉ thống kê các dây dẩn màu đỏ chẳng hạn cũng có thể làm ngon lành.... với điều kiện các dây này phải được tạo từ cùng một kiểu line hay pline....

Ấy là mấy cái suy nghĩ vẩn vơ của mình, trúng trật thì bạn hãy tự cân nhắc lại và post lên thật cụ thể cái bạn cần, mình tin trên diễn đàn không thiếu người dư sức giúp bạn cái vụ nhỏ này....
Hề hề hề,...

Cảm ơn bác bình đã quan tâm, để em xem có thể smart hơn trong cái này ko. Vấn đề này e hơi khó diễn đạt ý của mình hjhj khó smart nếu diễn đạt mọi thứ bằng chữ mà ko bằng lời.
  • 0