Chuyển đến nội dung
Diễn đàn CADViet

vinhxtkt

Thành viên
  • Số lượng nội dung

    9
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi vinhxtkt


  1. Lsp của bác Bình chạy tốt mà! Bạn copy rồi paste vào file lisp, đừng down nhiều khi do lỗi của diễn đàn.

    Cách viết khác. Hy vọng phù hợp yêu cầu của bạn...

    (defun c:cpd (/ data dis ent new npt poi slo txt val)

    (or def_slope (setq def_slope 0))

    (setq slo (getreal (strcat "\nNhap do doc <" (rtos def_slope 2 2) "%>: ")))

    (if (not slo)

    (setq slo def_slope)

    (setq def_slope slo))

    (princ "\nChon cao do goc TEXT or MTEXT!")

    (if (setq txt (ssget "_+.:E:S" '((0 . "*TEXT"))))

    (progn (setq ent (entget (ssname txt 0))

    val (distof (cdr (assoc 1 ent)))

    poi (cdr (assoc 10 ent)))

    (or val

    (and (princ "\nKhong lay duoc gia tri cao do tu Text!")

    (setq val (getreal "\nNhap gia tri cao do goc <0>: ")))

    (setq val 0))

    (while (setq npt (getpoint "\nDiem dat cao do moi: " poi))

    (progn (setq dis (distance poi npt)

    new (rtos (+ val (* dis slo 0.01)) 2 2)

    data (vl-remove-if '(lambda (x) (member (car x) '(-1 1 5 10 330 410))) ent))

    (entmakex (append data (list (cons 1 new) (cons 10 npt))))))))

    (princ))

    P/s: Mỗi lần gọi lệnh một độ dốc, thay đổi độ dốc thì gọi lại lệnh.

    cái này của bạn Bình và bạn Mạnh là trúng rồi đó, nó chính là như vậy. Nhưng có một cái bất tiện là khi ta chọn vào text đầu tiên, nó chọn luôn điểm gốc của text làm điểm 1. Hai bạn chỉnh giúp lại một xíu là khi chọn text xong rồi ta chọn tiếp điểm gốc, sau đó mới copy đến điểm số 2. Mình sơ họa bằng cad bạn nào biết giúp mình với, cảm ơn nhiềuhttp://www.cadviet.com/upfiles/5/148940_vd.dwg


  2. Cái này nặng là do mấy cái sơ đồ cắt thép ( hình như bạn làm - exel rồi copy qua). Bên acad nó nhận như các file ảnh nên sẽ cho ra dung lượng lớn. Cái này postay thôi, đó là do cách vẽ của bạn mà tạo ra file như vậy nên ko xử lý dc. Muốn file nhẹ đi khi bạn xóa đi các đối tượng copy từ exel sang.

    • Vote tăng 1

  3.  sao mình không dùng được vậy ban phamthanhbinh ơi. mình gõ lệnh cpd nhưng máy ko hiểu lệnh.

    nhưng dù sao mình cũng cảm ơn bạn phamthanhbinh và các bạn khác đã chia sẻ.

    Thực ra trong bài viết mình cũng đã cố miêu tả và có cái VD cũng khá cụ thể rồi. Mình không rành về lsp nên không biết mô tả thêm như thế nào cho các bạn hiểu. Mình hay thiết kế phần san lấp mặt bằng (làm bằng thủ công) nên hay rải cao độ thiết kế tại các mắt lưới nên cần một lsp copy tăng giảm theo độ dốc để tiện khi rải cao độ mắt lưới thuận tiện hơn. Bạn nào có lsp nào như vậy cho mình xin với. mình cảm ơn nhiều.

    Cảm ơn cadviet đã có trang web hay và bổ ích!


  4. Xin chào các anh em,

     

    Hiện tại em có vấn đề như sau: Em mới mua con chuột razer Abbysus. Nhưng khi em vào sử dụng cad thì không nhấn nút cuộn chuột để di chuyển trong cad được. Mong anh em giúp em giải đáp thắc mắc trên

    Hãy thử nhiều cách, trong đó cách đầu tiên là đổi con chuột xem thử.


  5. Anh em ai giúp viết giúp cho mình lisp copy tăng hoặc giảm theo độ dốc với. Mình tìm trên diễn đàn chưa thấy lisp kiểu này. Mình cảm ơn nhiều

    Không phải tiết kiệm lời mà tưởng nói như vậy là hiểu rồi chứ. 

    Trong diễn đàn có lisp copy tăng giảm với một hằng số cho trước. nhưng mình muốn một  lisp copy tăng giảm theo độ dốc cho trước.

    Nó có dạng kiểu như thế này: Ta copy một số từ điểm A đến điểm B. Đầu tiên nó tự nhận text tại điểm A, sau đó ta nhập dộ dốc cần copy, sau đó copy đến điểm B,  lisp tự nhận khoảng cách từ A đến B và cộng hoặc trừ với khoảng chênh lệch do độ dốc từ A đến B.

    VD như sau: Từ A đến B có độ dốc 2%. điểm A có cao độ 10m, khoảng cách từ A đến B là 10m (cái khoảng cách này là mình VD thôi, còn  lisp trong bài toán nó sẽ tự nhận khi copy từ A sang B). Như vậy khi copy từ A đến B sẽ cho giá trị tại điểm B là: 10.2m (B = 10+2%*10 = 10.2m) và cứ thế ta copy đến điểm C, D ... nó sẽ tự cho các kết quả

     Lisp này theo mình nghĩ giống  lisp copy tăng giảm trên diễn đàn nhưng khác là thông số nhập vào là % tăng giảm theo độ dốc và  lisp tự nhận khoảng cách trong quá trình ta copy.

    AE ai rành về  lisp có thể giúp mình với. Mình cảm ơn nhiều!

×