Đến nội dung


Hình ảnh
- - - - -

[yêu cầu] Lisp lấy cao độ và khoảng cách lẻ giữa các đỉnh của pline


  • Please log in to reply
19 replies to this topic

#1 dung12789

dung12789

    biết vẽ ellipse

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

Đã gửi 09 May 2012 - 10:50 PM

hik! nhờ các cao thủ viết giùm em đoạn lisp để em làm được giống như file e đính kèm, cái em cần là cao độ của các đỉnh của pline (so với mss) và khoảng cách lẻ giữa các đỉnh đó.e làm thủ công nhọc quá đi mất.
file của em đây:http://www.cadviet.c..._drawing1_5.dwg
  • 0

#2 redsea_tq

redsea_tq

    biết lệnh erase

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

Đã gửi 09 May 2012 - 10:59 PM

hik! nhờ các cao thủ viết giùm em đoạn lisp để em làm được giống như file e đính kèm, cái em cần là cao độ của các đỉnh của pline (so với mss) và khoảng cách lẻ giữa các đỉnh đó.e làm thủ công nhọc quá đi mất.
file của em đây:http://www.cadviet.c..._drawing1_5.dwg


Mình chỉ có vb hoặc vba thôi, nếu bạn cần thì mình sẽ làm cho bạn, đây là file hướng dẫn bạn xem qua nhé:
http://www.mediafire...3mv6hu0atr1rmdp
  • 1

#3 dung12789

dung12789

    biết vẽ ellipse

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

Đã gửi 09 May 2012 - 11:04 PM


Mình chỉ có vb hoặc vba thôi, nếu bạn cần thì mình sẽ làm cho bạn, đây là file hướng dẫn bạn xem qua nhé:
http://www.mediafire...3mv6hu0atr1rmdp

ôi cái của bạn hay quá! không biết cái tiện ích thiết kế đó lấy ở đâu vậy bạn?
  • 0

#4 dung12789

dung12789

    biết vẽ ellipse

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

Đã gửi 10 May 2012 - 08:31 AM

redsea_tq đâu mất rồi!
  • 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 10 May 2012 - 10:55 AM

redsea_tq đâu mất rồi!

Hề hề hề,
Redsea_tq đi vắng, bạn dùng thử cái này coi đã ưng ý chưa nhé.
Mình test thử trên file bản vẽ bạn gửi thì cao độ ra đúng nhưng chiều dài từng khúc trên pline có sai lệch nhất định. Có lẽ là do bạn đã tính toán bằng tay nên sinh ra sai số. Còn mình tin là lisp chạy không sai.
Do bạn không nói rõ các yêu cầu nên mình tạm thời để bạn tự chọn chiều cao text, vị trí đặt text sao cgo vừa mắt bạn. Nếu bạn có thể xác định vị trí của các text theo một quy luật nào đó thì mình có thể chỉnh sửa điều này.
Đây chỉ là lisp sơ bộ bước đầu theo ý phỏng đoán của mình về yêu cầu của bạn nên có thể chưa thực sự đạt yêu cầu. muốn hoàn thiện nó bạn cần phải nói rõ hơn các yêu cầu của bạn mới được.
Rất mong bạn test thử và cho ý kiến.

(defun c:elale ()
(vl-load-com)
(command "undo" "be")
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq en (car (entsel "\n Chon pline la duong nghiem thu "))
plst (acet-geom-vertex-list en)
pg (getpoint "\n Chon diem goc tinh toan")
hg (getreal "\n Nhap gia tri cao do goc")
i 0
n (length plst)
h (getreal "\n Nhap chieu cao text")
)
(foreach p plst
(setq elev (+ hg (- (cadr p) (cadr pg))))
(command "text" (getpoint "\n Chon diem nhap cao do ") h 90 (rtos elev 2 2))
(if (and (> i 0) (< i n))
(progn
(setq len (distance (nth (1- i) plst) (nth i plst)))
(command "text" (getpoint "\n Chon diem nhap chieu dai duong nghiem thu ") h 0 (rtos len 2 2) )
)
)
(setq i (1+ i))
)
(command "undo" "e")
(princ)
)


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

#6 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 10 May 2012 - 11:12 AM

Bác PTB! Bác dùng (command "text"...) trong trường hợp này có khi gây lỗi nếu như style curent có height khác 0 đấy!
Nếu bác dùng entmake thì mackeno luôn!
  • 0

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


#7 dung12789

dung12789

    biết vẽ ellipse

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

Đã gửi 10 May 2012 - 04:59 PM

Hề hề hề,
Redsea_tq đi vắng, bạn dùng thử cái này coi đã ưng ý chưa nhé.
Mình test thử trên file bản vẽ bạn gửi thì cao độ ra đúng nhưng chiều dài từng khúc trên pline có sai lệch nhất định. Có lẽ là do bạn đã tính toán bằng tay nên sinh ra sai số. Còn mình tin là lisp chạy không sai.
Do bạn không nói rõ các yêu cầu nên mình tạm thời để bạn tự chọn chiều cao text, vị trí đặt text sao cgo vừa mắt bạn. Nếu bạn có thể xác định vị trí của các text theo một quy luật nào đó thì mình có thể chỉnh sửa điều này.
Đây chỉ là lisp sơ bộ bước đầu theo ý phỏng đoán của mình về yêu cầu của bạn nên có thể chưa thực sự đạt yêu cầu. muốn hoàn thiện nó bạn cần phải nói rõ hơn các yêu cầu của bạn mới được.
Rất mong bạn test thử và cho ý kiến.


(defun c:elale ()
(vl-load-com)
(command "undo" "be")
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(setq en (car (entsel "\n Chon pline la duong nghiem thu "))
plst (acet-geom-vertex-list en)
pg (getpoint "\n Chon diem goc tinh toan")
hg (getreal "\n Nhap gia tri cao do goc")
i 0
n (length plst)
h (getreal "\n Nhap chieu cao text")
)
(foreach p plst
(setq elev (+ hg (- (cadr p) (cadr pg))))
(command "text" (getpoint "\n Chon diem nhap cao do ") h 90 (rtos elev 2 2))
(if (and (> i 0) (< i n))
(progn
(setq len (distance (nth (1- i) plst) (nth i plst)))
(command "text" (getpoint "\n Chon diem nhap chieu dai duong nghiem thu ") h 0 (rtos len 2 2) )
)
)
(setq i (1+ i))
)
(command "undo" "e")
(princ)
)

Chúc bạn vui.

rất cảm ơn bác về cái lisp của bác, nhưng mà nếu nó tự động xuất ra hết kết quả thì hay biết máy, được như vậy thì cảm ơn bác lắm lắm!
  • 0

#8 dung12789

dung12789

    biết vẽ ellipse

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

Đã gửi 10 May 2012 - 06:57 PM

lục lọi trên mạng suốt từ hôm qua tới giờ, cuối cùng cũng kiếm được cái này, pót lên cho anh em nào cần. (lưu ý trước khi thực hiện lệnh cần vẽ đầy đủ hết các đường gióng)
http://www.cadviet.c...3/65908_dvb.rar
chúc anh em diễn đàn nhiều sức khỏe!
  • 0

#9 redsea_tq

redsea_tq

    biết lệnh erase

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

Đã gửi 10 May 2012 - 10:31 PM

Xin Lỗi bạn vì hôm qua vào rồi nhưng lại phải out ngay nên không nhận được phản hồi của bạn. Mình sẽ gửi cho bạn file đó:
yêu cầu:
Load 2 file HL.dvb và HL.lsp lên rồi dùng lệnh HL, chú ý làm theo yêu cầu của dòng command nhé.
http://www.mediafire...d3svaq9coxkxdm9
  • 1

#10 dung12789

dung12789

    biết vẽ ellipse

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

Đã gửi 10 May 2012 - 11:23 PM

Xin Lỗi bạn vì hôm qua vào rồi nhưng lại phải out ngay nên không nhận được phản hồi của bạn. Mình sẽ gửi cho bạn file đó:
yêu cầu:
Load 2 file HL.dvb và HL.lsp lên rồi dùng lệnh HL, chú ý làm theo yêu cầu của dòng command nhé.
http://www.mediafire...d3svaq9coxkxdm9

tuyệt vời bác ah! em làm được rồi. thank bác nhiều nhé.
chúc bác nhiều sức khỏe.
  • -1

#11 redsea_tq

redsea_tq

    biết lệnh erase

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

Đã gửi 10 May 2012 - 11:32 PM

Nếu có yêu cầu gì bạn cứ nêu ra, nếu nằm trong khả năng của mình thì mình sẽ giúp.
  • 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 11 May 2012 - 10:24 AM

rất cảm ơn bác về cái lisp của bác, nhưng mà nếu nó tự động xuất ra hết kết quả thì hay biết máy, được như vậy thì cảm ơn bác lắm lắm!

Hề hề hề,
Chưa hiểu rõ ý bạn nói tự động xuất hết kết quả ra là sao cả??? Mình đã nói trong bài trước là do chưa biết ý bạn định ghi Text theo kiểu gì nên chỉ lảm tạm như vầy để ban tùy chọn điểm đạt text cũng như chiều cao text mà lị. Nếu bạn muốn nó tự động ghi thì bạn phải cho biết cái quy định ghi text của bạn ra sao chứ.....
Còn nếu bạn yêu cầu tự động chọn cả đường nghiệm thu cũng không phải quá khó nhưng bạn cần cho biết rõ cái đường nghiệm thu của bạn có thuộc tính gì riêng biệt chứ nếu không lisp có thể chọn nhầm bạn ạ. Việc tự động chọn điểm gốc và cao độ gốc cũng vậy. nếu các bản vẽ của bạn thống nhất về điểm gốc này cũng như cao độ gốc thì mới tự động được bạn ạ.
Bạn hãy gửi một bản vẽ chuẩn và các yêu cầu tự động như bạn nói mình có thể làm theo cài bản vẽ chuẩn ấy chứ không thể tự động theo các chuẩn lung tung được bạn ạ.
@ Bác doanvanha: Đúng như bác góp ý. nhưng vì đây là mình xem voi nên cứ làm tạm thế để bạn đó test, sau đó nếu cần thì chỉnh sửa sau một thể bác ạ.
  • 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 dung12789

dung12789

    biết vẽ ellipse

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

Đã gửi 11 May 2012 - 03:16 PM

Hề hề hề,
Chưa hiểu rõ ý bạn nói tự động xuất hết kết quả ra là sao cả??? Mình đã nói trong bài trước là do chưa biết ý bạn định ghi Text theo kiểu gì nên chỉ lảm tạm như vầy để ban tùy chọn điểm đạt text cũng như chiều cao text mà lị. Nếu bạn muốn nó tự động ghi thì bạn phải cho biết cái quy định ghi text của bạn ra sao chứ.....
Còn nếu bạn yêu cầu tự động chọn cả đường nghiệm thu cũng không phải quá khó nhưng bạn cần cho biết rõ cái đường nghiệm thu của bạn có thuộc tính gì riêng biệt chứ nếu không lisp có thể chọn nhầm bạn ạ. Việc tự động chọn điểm gốc và cao độ gốc cũng vậy. nếu các bản vẽ của bạn thống nhất về điểm gốc này cũng như cao độ gốc thì mới tự động được bạn ạ.
Bạn hãy gửi một bản vẽ chuẩn và các yêu cầu tự động như bạn nói mình có thể làm theo cài bản vẽ chuẩn ấy chứ không thể tự động theo các chuẩn lung tung được bạn ạ.
@ Bác doanvanha: Đúng như bác góp ý. nhưng vì đây là mình xem voi nên cứ làm tạm thế để bạn đó test, sau đó nếu cần thì chỉnh sửa sau một thể bác ạ.

Thanks bác đã quan tâm, e dùng cái vba của bác redsea_tq thấy ok lắm rồi. hi!
  • 0

#14 longcd

longcd

    Chưa sử dụng CAD

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

Đã gửi 19 May 2012 - 02:15 PM

bác làm ơn hướng dẫn chi tiết dùng lisp hl giúp em với ạ, em thử mãi k được.cảm ơn bác nhiều.
  • 0

#15 longcd

longcd

    Chưa sử dụng CAD

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

Đã gửi 19 May 2012 - 02:28 PM

và làm sao sử dụng được cái thẻ tiện ích thiết kế trong clip hướng dẫn của bác redsea_tq ạ ?
  • 0

#16 quangsang90_nd

quangsang90_nd

    Chưa sử dụng CAD

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

Đã gửi 14 June 2014 - 08:19 PM

máy của em load lên thì bị lỗi như thế này có anh nào giúp em được không ạ ?

pd7q.png


  • 0

#17 quangsang90_nd

quangsang90_nd

    Chưa sử dụng CAD

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

Đã gửi 14 June 2014 - 09:44 PM

Trước em chạy bình thường nhưng sau khi cài lại win thì không dùng được nữa và báo lỗi như trên. Có anh nào giúp được em với không ạ, em đang cần gấp. Em xin chân thành cảm ơn


  • 0

#18 bluesky1

bluesky1

    biết pan

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

Đã gửi 19 November 2014 - 03:33 PM

Xin Lỗi bạn vì hôm qua vào rồi nhưng lại phải out ngay nên không nhận được phản hồi của bạn. Mình sẽ gửi cho bạn file đó:
yêu cầu:
Load 2 file HL.dvb và HL.lsp lên rồi dùng lệnh HL, chú ý làm theo yêu cầu của dòng command nhé.
http://www.mediafire...d3svaq9coxkxdm9

Bác redsea_tq có thể sửa lại để tính theo tỉ lệ của bản vẽ dùm em không bác


  • 0

#19 intelligent

intelligent

    biết vẽ circle

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

Đã gửi 25 August 2015 - 08:59 PM

 chào anh redsea_tq,  cảm ơn anh đã chia sẻ lisp HL .em cũng dùng lisp HL của anh nhưng  chỉ ra đường dóng, ko ra khoảng cách lẻ và cao độ. em ko hiểu mong anh chỉ giúp em với. cảm ơn anh nhiều!http://www.cadviet.c...5/122801_19.dwg


  • 0

#20 natibong

natibong

    Chưa sử dụng CAD

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

Đã gửi 26 September 2015 - 02:27 PM

mình có một số trắc ngang, mình muốn chuyển khoảng cách lẻ và cao độ tự nhiên của TN đó thành file txt để dán lại vào file khảo sát theo định dạng ở dưới, rất mong mấy anh giúp đỡ. File cad và yêu cầu nằm trong bản vẽ: http://www.cadviet.c...f_km8km9sua.dwg
1. Lấy khoảng và ghi cách lẻ và cao độ  phía bên trái pline(tại các đỉnh có STT màu xanh) theo thứ tự từ phải sang trái vào file .txt (theo định dạng: khoảng cách lẻ 1  --> tab --> cao độ 1 --> enter--->khoang cách lẻ 2 --> tab --> cao độ 2 và theo thứ tự )
2. Lấy khoảng cách lẻ và cao độ  phía bên phải pline(tại các đỉnh có STT màu đỏ) theo thứ tự từ trái sang  phải vào file .txt (theo định dạng: khoảng cách lẻ 1  --> tab --> cao độ 1 --> enter--->khỏang cách lẻ 2 --> tab --> cao độ 2 và theo thứ tự )
3. Xuất các giá trị thành file .txt
4. Cao độ chuẩn lấy từ cao độ của điểm 1 (text ở bên dưới, trong bản vẽ này là 41.25 )
VÍ DỤ ĐỊNH DẠNG FILE TXT:
PHÍA TRÁI:
khoảng cách lẻ từ 1->2  (tab) cao độ điểm 2  (enter)
khoảng cách lẻ từ 2->3  (tab) cao độ điểm 3  (enter)
.....
(hàng trống để phân biệt trái phải)
PHÍA PHẢI:
khoảng cách lẻ từ 1->2  (tab) cao độ điểm 2  (enter)
khoảng cách lẻ từ 2->3  (tab) cao độ điểm 3  (enter)
.....

  • 0