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

Nhờ Viết Lisp

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

Chào các bác !!!

Nhờ các bác viết dùm em cái Lisp: Dim khoảng cách giữa đỉnh liên tiếp trên pline (Pline bao gồm cả cung tròn)

Nội dung và trình tự của Lisp:

Bước 1: Chọn Pline.

Bước 2: Chọn khoảng cách từ dim tới Pline

Bước 3: Dim khoảng cách giữa các đỉnh liên tiếp trên pline (Pline bao gồm cả cung tròn). Dim thuộc dimstyle hiện hành và layer hiện hành. Chi tiết các bác xem thêm trong file cad em gửi kèm.

Cảm ơn các bác đã quan tâm

http://www.cadviet.com/upfiles/6/121521_viet_lisp_1.dwg

  • 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

Chào các bác !!!

Nhờ các bác viết dùm em cái Lisp: Dim khoảng cách giữa đỉnh liên tiếp trên pline (Pline bao gồm cả cung tròn)

Nội dung và trình tự của Lisp:

Bước 1: Chọn Pline.

Bước 2: Chọn khoảng cách từ dim tới Pline

Bước 3: Dim khoảng cách giữa các đỉnh liên tiếp trên pline (Pline bao gồm cả cung tròn). Dim thuộc dimstyle hiện hành và layer hiện hành. Chi tiết các bác xem thêm trong file cad em gửi kèm.

Cảm ơn các bác đã quan tâm

http://www.cadviet.com/upfiles/6/121521_viet_lisp_1.dwg

Hề hề hề,

Bạn dùng thử cái này, viết đã lâu và có sẵn trên diễn đàn mà bạn lười tìm kiếm . Mong bạn lần sau tìm kiếm kỹ trước khi post yêu cầu.

http://www.cadviet.com/upfiles/6/5194_dimarclength.lsp

 

 

(defun darl (/ e1 e2 ra an alen)
;;
(command "dimradius" pause "")
(setq e1 (entlast))
(command "dimangular" pause (getpoint "\n Chon diem dat ") )
(setq e2 (entlast))
(setq Ra (cdr (assoc 42 (entget e1))))
(setq an (cdr (assoc 42 (setq el (entget e2)))))
(setq alen (* ra an))
(entmod (subst (cons 1 (rtos alen 2 2)) (assoc 1 el) el))
(command "erase" e1 "")
)
;;;;;;;;;;;;;;;;;;;
(defun c:dimpo (/ e verl els bulst k i p1 p2 )
(vl-load-com)
(setq e (car (entsel "\n Chon duong can do ")))
(setq verl (acet-geom-vertex-list e)
          els (entget e)
          bulst (list)
          k 0  )
(command "undo" "be")
(foreach en els
         (if (= (car en) 42)
             (setq bulst (append bulst (list (list (nth k verl) (cdr en))))  k (1+ k) )
         )         
)
(foreach bul bulst
      (setq i (vl-position bul bulst)
               p1 (nth i verl)
               p2 (nth (1+ i) verl)  )
                  
      (if (and p1 p2)
          (progn
                  (alert (strcat "\n Ban dang do phan doan thu " (rtos (1+ i) 2 0)))
                  (if (= (cadr bul) 0)  
                       (command "dimaligned" p1 p2 (getpoint "\n Chon diem dat "))
                       (darl)
                  )
          )
      )
             
)
(command "undo" "e")
)
  • 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

           Hôm qua không có máy nên không check được.

           Bác Bình có thể sửa giúp e là nó dim hoàn toàn tự động khoảng cách các đỉnh của pline không ? Lisp trên mình vẫn phải chọn điểm đặt cho từng đoạn 1. em lại không có khả năng sửa tiếp lisp trên. Với lại e chỉ cần chiều dài cung tròn thôi, không cần điền bán kính cung tròn.

           Để tiện cho quá trình sử dụng và viết lisp mình cho phép lựa chọn: Khoảng cách từ dim tới đường pline và phía điền dim so với đường pline (Điền bên trái hay bên phải đường pline)

Cảm ơn Bác đã quan tâm!!!

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

Đúng là không chịu tìm, gõ từ khóa " Đo pline" thì ra hàng loạt.

Một link khác:http://www.cadviet.com/forum/topic/138433-yeu-cau-lisp-do-khoang-cach-cac-diem-tren-polyline/page-2

Kéo xuống phia dưới (Bài #28) để xem lsp thực hiện.

  • 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

Ui. Xin lỗi các bác nha. Em lại toàn search là "Dim khoảng cách giữa 2 đỉnh pline" nên tìm mãi không được. Em sẽ rút kinh nghiệm. Bài của Bác quocmanh04tt chuẩn luôn rồi.

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  

×