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

Nhờ viết lisp thêm 2 đầu cho đường MLine

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

Nhờ ae viết giúp Lisp hoặc có cách nào tương tự xin chỉ giúp. Mình vẽ 1 thanh thép V (sử dụng nhiều kích thước khác nhau, VD: V50x50x5) từ điểm A->B (VD: AB=800mm) bằng lệnh Mline

Mình muốn sau khi vẽ từ điểm A->B thì có thêm một đoạn thừa ra ở 2 đầu (tùy chọn, VD: 30mm), tức là tổng chiều dài thanh thép là 860mm. Các chỗ mình ví dụ là có thể thay thế bằng kích thước khác được. Mong anh em giúp đỡ!

Đây là bản vẽ minh họa:

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

Lisp đây"

 

; Lisp ve thanh thep hinh tu 2 lo bulon, co doan mut. by HA, 2/6/2015
(defun C:HA( / cmd osm l p1 p2)
 (command "undo" "be") (setq cmd (getvar "cmdecho") osm (getvar "osmode")) (setvar "cmdecho" 0)
 (setq l (getreal "\nChieu dai doan mut: "))
 (command "mline")
 (command pause)
 (setq p1 (getvar "lastpoint"))
 (command pause)
 (setq p2 (getvar "lastpoint"))
 (command "")
 (entdel (entlast))
 (setvar "osmode" 0)
 (command "mline" (polar p1 (+ pi (angle p1 p2)) l) (polar p2 (angle p1 p2) l) "")
 (setvar "osmode" osm) (setvar "cmdecho" cmd) (command "undo" "e") (princ))
  • 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

Do nhu cầu công việc (vẽ cột điện cao thế) nên phải nhờ anh em để giảm bớt thao tác, với thao tác thủ công thì mất nhiều thời gian lắm!

 

Bạn pawuta dạo này hay request lisp nhỉ :) Yêu cầu k hợp lý lắm

Do nhu cầu công việc (vẽ cột điện cao thế) nên phải nhờ anh em để giảm bớt thao tác, với thao tác thủ công thì mất nhiều thời gian lắ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

 

Lisp đây"

; Lisp ve thanh thep hinh tu 2 lo bulon, co doan mut. by HA, 2/6/2015
(defun C:HA( / cmd osm l p1 p2)
 (command "undo" "be") (setq cmd (getvar "cmdecho") osm (getvar "osmode")) (setvar "cmdecho" 0)
 (setq l (getreal "\nChieu dai doan mut: "))
 (command "mline")
 (command pause)
 (setq p1 (getvar "lastpoint"))
 (command pause)
 (setq p2 (getvar "lastpoint"))
 (command "")
 (entdel (entlast))
 (setvar "osmode" 0)
 (command "mline" (polar p1 (+ pi (angle p1 p2)) l) (polar p2 (angle p1 p2) l) "")
 (setvar "osmode" osm) (setvar "cmdecho" cmd) (command "undo" "e") (princ))

Hehe, cảm ơn bạn rất nhiều, phiền bạn thêm phần lưu lại giá trị đầu mút cho các lần sau nhé!

  • 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

Hehe, cảm ơn bạn rất nhiều, phiền bạn thêm phần lưu lại giá trị đầu mút cho các lần sau nhé!

Đây!

 

; Lisp ve thanh thep hinh tu 2 lo bulon, co doan mut. by HA, 2/6/2015
(defun C:HA( / cmd osm p1 p2)
 (command "undo" "be") (setq cmd (getvar "cmdecho") osm (getvar "osmode")) (setvar "cmdecho" 0)
 (or (and kc (or (= (type kc) 'int) (= (type kc) 'real))) (setq kc 30))
 (setq kc (cond ((getdist (strcat "\nChieu dai doan mu <" (rtos kc 2 2) ">: "))) (kc)))
 (command "mline")
 (command pause)
 (setq p1 (getvar "lastpoint"))
 (command pause)
 (setq p2 (getvar "lastpoint"))
 (command "")
 (entdel (entlast))
 (setvar "osmode" 0)
 (command "mline" (polar p1 (+ pi (angle p1 p2)) kc) (polar p2 (angle p1 p2) kc) "")
 (setvar "osmode" osm) (setvar "cmdecho" cmd) (command "undo" "e") (princ))
  • 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

 

Đây!

; Lisp ve thanh thep hinh tu 2 lo bulon, co doan mut. by HA, 2/6/2015
(defun C:HA( / cmd osm p1 p2)
 (command "undo" "be") (setq cmd (getvar "cmdecho") osm (getvar "osmode")) (setvar "cmdecho" 0)
 (or (and kc (or (= (type kc) 'int) (= (type kc) 'real))) (setq kc 30))
 (setq kc (cond ((getdist (strcat "\nChieu dai doan mu <" (rtos kc 2 2) ">: "))) (kc)))
 (command "mline")
 (command pause)
 (setq p1 (getvar "lastpoint"))
 (command pause)
 (setq p2 (getvar "lastpoint"))
 (command "")
 (entdel (entlast))
 (setvar "osmode" 0)
 (command "mline" (polar p1 (+ pi (angle p1 p2)) kc) (polar p2 (angle p1 p2) kc) "")
 (setvar "osmode" osm) (setvar "cmdecho" cmd) (command "undo" "e") (princ))

Oh, quá tuyệt, từ giờ dựng 1 cái trụ là đỡ tốn 2/5 thời gian rồi, hehe, cảm ơn bạn rất 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

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  

×