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

[YÊU CẦU] LISP ghi cao độ cho điểm theo tuyến có độ dốc không đổi cho trước

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

Xin chào mọi người,

Tôi cần 1 lisp có thể ghi cao độ dọc theo tuyến (polyline có đoạn thẳng và đoạn cong) có độ dốc không đổi cho trước. Khi sử dụng có thể click vào 1 điểm dọc theo tuyến thì sẽ ghi ra 1 cao độ bằng text tại điểm đó. Có thể bắt đầu từ cao độ 0000 tại điểm đầu tiên (nếu có thể bắt đầu từ 1 cao độ bất kỳ thì rất tốt). 

 

Công việc này xuất phát từ việc xác định cao độ cho ramp dốc BTCT để đóng ván khuôn cho nó. Nếu nó thẳng thì rất dễ rồi, nhưng có những đoạn bị cong đi theo yêu cầu kiến trúc thì xác định hơi lâu.

 

Xin cảm ơn.

  • Vote giảm 1

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

Xài thử: 

(defun c:TEST (/  caodopt Ent dis dis1 dis2 pt pt1 pt2 Eobject Ename Eold )

 (vl-load-com)
  
  (if (and (setq Ent (car (entsel "\nChon doi tuong can do Polyline, Line :")))
       (wcmatch (cdr (assoc 0 (entget ent))) "*LINE,ARC,CIRCE")       
       (setq pt1 (getpoint "\nDiem dau :" ))
       (setq dodoc (getreal "Nhap gia tri do doc i% :"))
       (setq caodo (getreal "Nhap gia tri caodo :")))
    (progn
      (while (setq pt2 (getpoint "\nChon diem danh cao do :" ))
       (progn
          (setq pt11 (vlax-curve-getClosestPointTo ent pt1)
            dis1 (vlax-curve-getDistAtPoint Ent pt11)
            pt12 (vlax-curve-getClosestPointTo ent pt2)
            dis2 (vlax-curve-getDistAtPoint Ent pt12))
         
              (setq dis (abs(- dis2 dis1)))
              (setq caodopt (- caodo (* dis dodoc 0.01)))
              (princ (strcat "\nCaodo :" (rtos caodopt 2 3)))
         (command "text" pt2 "" "" (rtos caodopt 2 3) "")) )

      ))

(princ))

  • Like 1

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

load lên thì nó báo thế này

Command: AP
APPLOAD test.lsp successfully loaded.


Command: ; error: bad character read (octal): 0

Command:

 

chạy thử thì thế này

 

Command: tttt
Unknown command "TTTT".  Press F1 for help.

 

winxp sp3 32bit . cad 2014. Xin cảm ơ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

Xin cảm ơn Danh Cong !

lisp đã hoạt dộng tốt.

Sau khi dùng thì thấy:

để đánh cote lên dốc chọn -i, xuống dốc chọn +i. Không biết phải sửa lisp ở chỗ nào để lấy 0 chữ số thập phân (hiên tại đang là 3 số thập phâ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

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  

×