Lưu ý: SS1 và SS2 chỉ hoạt động khi lệnh vẽ S1/S2 đã được load!!!
Lệnh SS1 và SS2
Tối ưu thao tác vẽ S1 và S2:
- Vẽ SPLINE trực tiếp, áp dụng S1 hoặc S2
- Lưu thông số mặc định
- Vẽ SPLINE trực tiếp, áp dụng S1 hoặc S2
- Lưu thông số mặc định
Tải file lisp bên dưới hoặc tham gia nhóm MEP Tools để tìm hiểu cách dùng.
Lưu ý: SS1 và SS2 chỉ hoạt động khi lệnh vẽ S1/S2 đã được load!!!
1 Thêm class SS1 và SS2 by lisp.vn.lsp
Lưu mã sau dưới dạng tệp tin SS1 và SS2 by lisp.vn.lsp
Code:
(setq *run_s* T) (setq *run_s2* T) (defun C:SS1 (/ lw spline_obj) (if *run_s* (progn ;; Khởi tạo biến toàn cục để lưu LineWeight mặc định (nếu chưa có, mặc định là 0.25) (if (not last_lineweight) (setq last_lineweight 250)) ;; Sử dụng initget để đảm bảo nhập số thực không âm (initget 128) (setq lw (getreal (strcat "\nNhap do day duong <" (rtos last_lineweight 2 2) ">: "))) ;; Nếu người dùng nhấn Enter, sử dụng giá trị mặc định (if (not lw) (setq lw last_lineweight) (setq last_lineweight lw) ) ; Lưu giá trị mới làm mặc định cho lần sau ;; Gọi lệnh Spline để người dùng vẽ (command "_.SPLINE") (while (> (getvar "CMDACTIVE") 0) (command pause)) ;; Lấy đối tượng Spline vừa vẽ (setq spline_obj (entlast)) ;; Áp dụng LineWeight cho Spline (if spline_obj (progn (vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "S1\r" (rtos lw 2 2) "\r" "_S" "\r_L\r")) ;(princ (strcat "\nĐã áp dụng LineWeight " (rtos (/ lw 100.0) 2 2) " cho Spline.")) (setq *run_s* nil) (vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "SS1\r")) ) (princ "\nKhông tìm thấy Spline vừa vẽ.") ) ) (setq *run_s* T) ) (princ "Edited By lisp.vn") (princ) ) (defun C:SS2 (/ lw spline_obj) (if *run_s2* (progn ;; Khởi tạo biến toàn cục để lưu LineWeight mặc định (nếu chưa có, mặc định là 0.25) (if (not last_lineweight) (setq last_lineweight 250)) ;; Sử dụng initget để đảm bảo nhập số thực không âm (initget 128) (setq lw (getreal (strcat "\nNhap do day duong <" (rtos last_lineweight 2 2) ">: "))) ;; Nếu người dùng nhấn Enter, sử dụng giá trị mặc định (if (not lw) (setq lw last_lineweight) (setq last_lineweight lw) ) ; Lưu giá trị mới làm mặc định cho lần sau ;; Gọi lệnh Spline để người dùng vẽ (command "_.SPLINE") (while (> (getvar "CMDACTIVE") 0) (command pause)) ;; Lấy đối tượng Spline vừa vẽ (setq spline_obj (entlast)) ;; Áp dụng LineWeight cho Spline (if spline_obj (progn (vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "S2\r" (rtos lw 2 2) "\r" "_S" "\r_L\r")) ;(princ (strcat "\nĐã áp dụng LineWeight " (rtos (/ lw 100.0) 2 2) " cho Spline.")) (setq *run_s2* nil) (vla-sendcommand (vla-get-activedocument (vlax-get-acad-object)) (strcat "SS2\r")) ) (princ "\nKhông tìm thấy Spline vừa vẽ.") ) ) (setq *run_s2* T) ) (princ "Edited By lisp.vn") (princ) )
Lưu ý: SS1 và SS2 chỉ hoạt động khi lệnh vẽ S1/S2 đã được load!!!
Nhóm MEP Tools
---------------------------------------------------------------------------------------------
Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!
Không có nhận xét nào:
Đăng nhận xét