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

Nhờ kiểm tra Lisp

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

M có 2 cái lisp về block nhiều đối tượng và offset nhiều đối tượng.

Vẫn đang dùng lâu nay như khi cài lại máy, add lại vào thì không dùng được nữa.

Nhờ mọi người kiểm tra với ạ.

Mình dùng cad2018.

Thanks all!!

anhbienbo.lsp

offf.lsp

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
5 giờ trước, unitiri đã nói:

M có 2 cái lisp về block nhiều đối tượng và offset nhiều đối tượng.

Vẫn đang dùng lâu nay như khi cài lại máy, add lại vào thì không dùng được nữa.

Nhờ mọi người kiểm tra với ạ.

Mình dùng cad2018.

Thanks all!!

anhbienbo.lsp

offf.lsp

Bạn xem lại file góc chứ lisp lỗi thế làm sao chạy được

cần hỗ trợ liên hệ Zalo: 0848.998.045

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

 

5 giờ trước, unitiri đã nói:

M có 2 cái lisp về block nhiều đối tượng và offset nhiều đối tượng.

Vẫn đang dùng lâu nay như khi cài lại máy, add lại vào thì không dùng được nữa.

Nhờ mọi người kiểm tra với ạ.

Mình dùng cad2018.

Thanks all!!

anhbienbo.lsp

offf.lsp

Bạn này muốn đi đố mọi người hay sao chứ lips người ta đi xáo 1 mớ rồi bảo lisp e chạy bình thường

Lips offset góc của nó đây này

(defun c:offf (/ _off a b d i o p s x)
  ;; RJP » 2018-11-28
  (defun _off (o d / r)
    (cond ((= 'list (type (setq r (vl-catch-all-apply 'vlax-invoke (list o 'offset d))))) (car r)))
  )
  (or (setq p (getenv "RJP_Offset_Side")) (setq p "Inside"))
  (or (setq i (getenv "RJP_Offset_Dist")) (setq i "1"))
  (or (setq b (getenv "RJP_Offset_Delete")) (setq b "No"))
  (cond
    ((and (progn (initget "Outside Inside")
		 (setq p (cond ((getkword (strcat "\nOffset [Outside/Inside] <" p ">: ")))
			       (p)
			 )
		 )
	  )
	  (setq	i (cond	((getdist (strcat "\nEnter Offset Distance: <" i ">: ")))
			((atof i))
		  )
	  )
	  (progn (initget "Yes No")
		 (setq b (cond ((getkword (strcat "\nDelete original? [Yes/No] <" b ">: ")))
			       (b)
			 )
		 )
	  )
	  (setq s (ssget ":L" '((0 . "*POLYLINE,ARC,CIRCLE,ELLIPSE,SPLINE"))))
     )
     (setenv "RJP_Offset_Dist" (vl-princ-to-string i))
     (setenv "RJP_Offset_Side" p)
     (setenv "RJP_Offset_Delete" b)
     (foreach e	(vl-remove-if 'listp (mapcar 'cadr (ssnamex s)))
       (setq o (vlax-ename->vla-object e))
       (cond
	 ((= 2
	     (length (setq
		       a (vl-remove
			   'nil
			   (mapcar '(lambda (x)
				      (cond ((setq d (_off o (x i))) (list d x (vlax-curve-getarea d))))
				    )
				   (list + -)
			   )
			 )
		     )
	     )
	  )
	  (setq a (vl-sort a '(lambda (r j) (< (caddr r) (caddr j)))))
	  (and (= p "Outside") (setq a (reverse a)))
	  (vla-delete (car (last a)))
	  (and (= "Yes" b) (entdel e))
	 )
	 (t (vla-put-color o 1) (print "Something went wrong.."))
       )
     )
    )
  )
  (princ)
)
(vl-load-com)

 

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

×