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

"[Yêu cầu] Nhờ viết Lisp ghi chiều dài - độ dốc, hướng dốc

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

Xin lỗi bác phamthanhbinh vì bây giờ mới trả lời thắc mắc của bác:

1.       Khoảng cách từ vị trí đặt block c đến các text là cố định, nó được chạy từ một file trắc dọc được tính toán trên excel, tất cả các bản vẽ đều như thế, không đổi, khoảng cách các hàng =8

2.       Cốt mặt đất và cao độ miệng hố ga là một, vì miệng hố ga bặt buộc phải bám sát mặt đất

3.       Vị trí này chỉ là vấn đề trình bày thôi, vì trong nhiều trường hợp có nhiều hiện vật mình không thể để tên hố ga và cao độ gần nhau được.

4.       Mình thống nhất với ý a, là đoạn nằm xiên góc sẽ được vẽ khi insert thuộc tính vì trên bình đồ không phải vị trí nào cũng có thể đặt được

5.       Việc thể hiện tọa độ thì còn phụ thuộc vào yêu cầu cầu từng công trình, có chỗ yêu cầu có chỗ không. Việc xác định vị trí đặt hố ga là dựa vào từng vị trí cụ thể và kinh nghiệm của người thiết kế, không thể có lisp nào thay thế được. 

Việc tạo block thuộc tính format cũng không có gì đặc biệt đâu

Mong bác giúp đỡ

 http://www.cadviet.com/upfiles/3/10114_ghi_chu_ga.dwg

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 lỗi bác phamthanhbinh vì bây giờ mới trả lời thắc mắc của bác:

1.       Khoảng cách từ vị trí đặt block c đến các text là cố định, nó được chạy từ một file trắc dọc được tính toán trên excel, tất cả các bản vẽ đều như thế, không đổi, khoảng cách các hàng =8

2.       Cốt mặt đất và cao độ miệng hố ga là một, vì miệng hố ga bặt buộc phải bám sát mặt đất

3.       Vị trí này chỉ là vấn đề trình bày thôi, vì trong nhiều trường hợp có nhiều hiện vật mình không thể để tên hố ga và cao độ gần nhau được.

4.       Mình thống nhất với ý a, là đoạn nằm xiên góc sẽ được vẽ khi insert thuộc tính vì trên bình đồ không phải vị trí nào cũng có thể đặt được

5.       Việc thể hiện tọa độ thì còn phụ thuộc vào yêu cầu cầu từng công trình, có chỗ yêu cầu có chỗ không. Việc xác định vị trí đặt hố ga là dựa vào từng vị trí cụ thể và kinh nghiệm của người thiết kế, không thể có lisp nào thay thế được. 

Việc tạo block thuộc tính format cũng không có gì đặc biệt đâu

Mong bác giúp đỡ

 http://www.cadviet.com/upfiles/3/10114_ghi_chu_ga.dwg

Hề hề hề,

Bạn hãy dùng thử lisp dưới đây với một số lưu ý như sau:

1/- Lisp được viết dựa trên kết cấu của trắc dọc mà bạn đã gửi. nếu bạn sử dụng kết cấu trắc dọc này khác, có thể lisp sẽ chạy sai do khoảng cách từ block c tới các cao độ tương ứng thay đổi. Khi đó bạn cần thay đổi các thông số này trong lisp cho phù hợp bạn nhé. Cụ thể ở trắc dọc bạn gửi thì khoảng cách từ tâm block c đến tâm của cao độ mặt đất là khoảng 50 và đến tâm của cao độ dáy mương là 40.

2/- Lisp sử dụng block thuộc tính "Ghi chu ho ga" do mình tự lập ra dựa trên cái bản vẽ bạn gửi. Nếu bạn chưa ưng ý có thể tự sửa chữa cái block thuộc tinh này cho phù hợp. Mình gửi lại ở đây bản vẽ của chính bạn gửi lên và trong đó mình đã tạo cái block "Ghi chu ho ga" này để bạn sử dụng test lisp và tham khảo.

3/-  Nếu có điều gì chưa như ý, xin đừng giận vì mình không rành cái chuyên môn của bạn nên đoán mò và tự làm qua cái sự hiểu những lời giải thích của bạn đã post. Những điều chưa ưng ý nếu bạn có thể tự sửa thì tốt còn nếu không hãy post lên và nói rõ cái bạn cần để mình sửa lại.

Chúc bạn vui khi tham gia diễn đàn.

http://www.cadviet.com/upfiles/3/5194_ghichuhoga.lsp

http://www.cadviet.com/upfiles/3/5194_10114_thoat_nuoc_tuyen_k.dwg

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 lỗi bác phamthanhbinh vì bây giờ mới trả lời thắc mắc của bác:

1.       Khoảng cách từ vị trí đặt block c đến các text là cố định, nó được chạy từ một file trắc dọc được tính toán trên excel, tất cả các bản vẽ đều như thế, không đổi, khoảng cách các hàng =8

2.       Cốt mặt đất và cao độ miệng hố ga là một, vì miệng hố ga bặt buộc phải bám sát mặt đất

3.       Vị trí này chỉ là vấn đề trình bày thôi, vì trong nhiều trường hợp có nhiều hiện vật mình không thể để tên hố ga và cao độ gần nhau được.

4.       Mình thống nhất với ý a, là đoạn nằm xiên góc sẽ được vẽ khi insert thuộc tính vì trên bình đồ không phải vị trí nào cũng có thể đặt được

5.       Việc thể hiện tọa độ thì còn phụ thuộc vào yêu cầu cầu từng công trình, có chỗ yêu cầu có chỗ không. Việc xác định vị trí đặt hố ga là dựa vào từng vị trí cụ thể và kinh nghiệm của người thiết kế, không thể có lisp nào thay thế được. 

Việc tạo block thuộc tính format cũng không có gì đặc biệt đâu

Mong bác giúp đỡ

 http://www.cadviet.com/upfiles/3/10114_ghi_chu_ga.dwg

Hề hề hề, 

Anh bạn haminhhuong này có nhẽ ốm to rồi.....

Quăng cái yêu cầu lên vào ngày 6/9, sau 4 ngày là ngày 10/9 mới trả lời thắc mắc để làm rõ bài toán. Và hôm nay là 21/9 cũng không thèm quay lại xem cái yêu cầu của mình được giải quyết ra sao???

Chắc là ốm to rồi .... Hay là không còn cần tới cái việc này nữa nhể....

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

2/- Lisp sử dụng block thuộc tính "Ghi chu ho ga" do mình tự lập ra dựa trên cái bản vẽ bạn gửi. Nếu bạn chưa ưng ý có thể tự sửa chữa cái block thuộc tinh này cho phù hợp. Mình gửi lại ở đây bản vẽ của chính bạn gửi lên và trong đó mình đã tạo cái block "Ghi chu ho ga" này để bạn sử dụng test lisp và tham khảo.

http://www.cadviet.com/upfiles/3/5194_ghichuhoga.lsp

http://www.cadviet.com/upfiles/3/5194_10114_thoat_nuoc_tuyen_k.dwg

 

Bác ơi em chả thấy cái Block "Ghi chu ho ga.dwg" đâu cả? bác gửi lại cái Block đấy nhé.

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

Bác ơi em chả thấy cái Block "Ghi chu ho ga.dwg" đâu cả? bác gửi lại cái Block đấy nhé.

Hề hề hề, xin lỗi bạn vì mình gửi nhâm file bản vẽ.

Bản vẽ co chứa block Ghi chu ho ga đây.

http://www.cadviet.com/upfiles/3/5194_10114_thoat_nuoc_tuyen_k_2.dwg

  • Vote tăng 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

Chào bác Bình

Nhờ bác sửa dùm em lisp em gửi kèm cho khớp với bản vẽ trắc dọc, em cũng đã sửa nhưng mà cứ bị lỗi.

Em đang rất cần.

Cảm ơn bác.

http://www.cadviet.com/upfiles/3/2392_5194_ghichuhogasua.lsp

http://www.cadviet.com/upfiles/3/2392_5194_10114_thoat_nuoc_tuyen_k_2.dwg

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

Chào bác Bình, mong bác sửa thêm lisp này hộ em với. Đối với đoạn nối hai nút giao mà được nối bởi cả đường thẳng và đường cong hay vẽ một đường polyline nhưng bằng cách pick 3 điểm thì khi dùng lệnh Gdd thì nó chỉ nhận khoảng cách đoạn đầu tiên để tính. Mong Bác sửa sớm giúp em nhé. Cám ơn bác nhiều

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

Hề hề hề,

Xin lỗi vì bạn phải đợi lâu.Vừa qua mình cũng hơi bận nên không đọc được yêu cầu của bạn.

Đây là cái mình đã sửa lại từ cái lisp cũ, không biết đã đúng với cái bạn yêu cầu hay chưa. Nếu chưa xin đừng ngại nói rõ chỗ chưa được để mình ngâm tiếp.

 
(defun c:gdd (/ oldos )
(vl-load-com)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(command "undo" "be")
(makeattbl "GHIDODOC1" nil)
(makeattbl "GHIDODOC2" T)
(alert "\n Hay chon cac pline, line, arc can ghi do doc ")
(setq ssl (acet-ss-to-list (ssget (list (cons 0 "*line,arc")))))
(foreach ent ssl      
      (ghidodoc ent)      
)
(command "undo" "e")
(setvar "osmode" oldos)
(princ)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;; Tao block thuoc tinh 
(defun makeattbl (name Tflag / p e1 e2 e3 )
(setvar "aflags" 0)
(if (not (tblsearch "block" name ))
(progn
(setq p (list 0.0 0.0 0.0))
(if Tflag
(command "pline" (polar p pi 15) "w" 0.0 3 (polar p pi 9) "w" 0.75 0.75 (polar p  0 15) "")
(command "pline" (polar p 0 15) "w" 0.0 3 (polar p 0 9) "w" 0.75 0.75 (polar p  pi 15) "")
)
(setq e1 (entlast))
(command "attdef" "" "Dodoc" "dodoc" "10%" "j" "mc" (polar p  (/ pi 2) 3) 3 0  )
(setq e2 (entlast))
(command "attdef" "" "length" "dodai" "500" "j" "mc" (polar p (- (/ pi 2)) 3) 3 0  )
(setq e3 (entlast))
(command "block" name p e1 e2 e3 "")
) )
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun ghidodoc (ent / obj h1 h2 plst p2 p3 len i v ang ans)
(setq els (entget ent)  )
(if (or (= (cdr (assoc 0 els)) "LINE") (= (cdr (assoc 0 els)) "ARC"))
    (progn 
       (command "pedit" ent "y" "")
       (setq ent (entlast))
    )
)
(redraw ent 3)
(setq obj (vlax-ename->vla-object ent)
          plst (acet-geom-vertex-list ent) 
          h1 (getreal "\n Nhap cao do diem dau: ") )
(foreach p plst
    (setq par (vlax-curve-getparamatpoint obj p)                   
          ;;;;;;;; h (getreal "\n Nhap chieu cao text: ")
          ;;;;;;;; p1 (vlax-curve-getstartpoint obj)
          p2 (vlax-curve-getpointatparam obj (1+ par))  )
    (if p2 (progn
              (setq  p3 (vlax-curve-getpointatparam obj (+ par 0.5))
                        h2 (getreal "\n Nhap cao do diem ke tiep: ")
                        len (- (vlax-curve-getdistatpoint obj p2) (vlax-curve-getdistatpoint obj p))
                        v (vlax-curve-getfirstderiv obj (+ par 0.5))
                        ang (atan (/ (cadr v) (car v)))
                        i (/ (* (abs (- h1 h2)) 100) len)  )
              (command "insert" "GHIDODOC1" "R" (* (/ ang pi) 180) p3 "" ""  (strcat "i = " (rtos i 2 4) "%") (strcat "L = " (rtos len 2 1) "(m)") )              
              (setq ans (getstring "\n Ban co dong y voi chieu do doc nay < y or n> : "))
              (if (= (strcase ans) "N")
                  (progn
                  (command "erase" "last" "")
                  (command "insert" "GHIDODOC2" "R" (* (/ ang pi) 180) p3 "" ""  (strcat "i = " (rtos i 2 4) "%") (strcat "L = " (rtos len 2 1) "(m)") )
                  )
               )
               )
     )
     (setq h1 h2)
)
(redraw ent 4)
)
Chúc bạn luôn vui.

 

Chào bác Bình, mong bác sửa thêm lisp này hộ em với. Đối với đoạn nối hai nút giao mà được nối bởi cả đường thẳng và đường cong hay vẽ một đường polyline nhưng bằng cách pick 3 điểm thì khi dùng lệnh Gdd thì nó chỉ nhận khoảng cách đoạn đầu tiên để tính. Mong Bác sửa sớm giúp em nhé. Cám ơn bác nhiều

  • 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

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  

×