conghoa 137 Báo cáo bài đăng Đã đăng Tháng 8 22, 2007 Cho mình xin cái lisp sắp xếp thẳng hàng và cách đều các text. VD: mình có một hàng text (được viết bằng lệnh dt) ..............ghi chú: ........................hàng 1 ........................ ..................hàng 2 ......hàng 3 Khi dùng lisp nó sẽ được kết quả như sau: ............ghi chú: ............hàng 1 ............hàng 2 ............hàng 3 (dấu "." ở đầu hàng chỉ để thể hiện sự không thẳng hàng của các text thôi, vì nếu không có nó khi post bài này nó sẽ thẳng hàng hết.) Yêu cầu: Khoảng cách giữa các text sau khi đã sắp thẳng hàng bằng 2 lần độ cao chữ (và có thể điều chỉnh đựơc trong lisp) Thanks 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 22, 2007 Cho mình xin cái lisp sắp xếp thẳng hàng và cách đều các text.VD: mình có một hàng text (được viết bằng lệnh dt) ........... Lệnh là STEXT (Sắp text). Chương trình sẽ lấy text cao nhất làm gốc. (defun c:stext ( / sst lstent egoc pgoc xgoc yht zgoc linespc ee tt) (princ "\nSap xep text © CADViet.com") (setq sst (ssget '((0 . "TEXT"))) lstent (ss2ent sst) lstent (vl-sort lstent '(lambda (e1 e2) (> (cadr (cdr (assoc 10 (entget e1)))) (cadr (cdr (assoc 10 (entget e2)))) ) ) ) egoc (car lstent) lstent (cdr lstent) pgoc (cdr (assoc 10 (entget egoc))) xgoc (car pgoc) yht (cadr pgoc) zgoc (caddr pgoc) hgoc (cdr (assoc 40 (entget egoc))) linespc (* hgoc 2.5) ) (foreach ee lstent (setq tt (entget ee) tt (subst (list 10 xgoc (setq yht (- yht linespc)) zgoc ) (assoc 10 tt) tt ) ) (entmod tt) (entupd ee) ) ) (defun ss2ent (ss / sodt index lstent) (setq sodt (cond (ss (sslength ss)) (t 0) ) index 0 ) (repeat sodt (setq ent (ssname ss index) index (1+ index) lstent (cons ent lstent) ) ) (reverse lstent) ) (princ "\nSTEXT - Sap xep text - free lisp from www.cadviet.com" ) (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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 23, 2007 Chao cac bac, cai lenh nay bi loi:Command: STEXT Select objects: Specify opposite corner: 7 found Select objects: Bac xem lai xem ! Dòng thông báo đó không sao cả, chương trình vẫn chạy đúng. Dòng thông báo đó là do lúc viết chương trình quên một lệnh exit quiet ở cuối thôi. Đoạn mã dưới đây đã thêm dòng mã (princ) để không xuất hiện thông báo đó! Cảm ơn bạn đã hồi âm! (defun c:stext ( / sst lstent egoc pgoc xgoc yht zgoc linespc ee tt) (princ "\nSap xep text © CADViet.com") (setq sst (ssget '((0 . "TEXT"))) lstent (ss2ent sst) lstent (vl-sort lstent '(lambda (e1 e2) (> (cadr (cdr (assoc 10 (entget e1)))) (cadr (cdr (assoc 10 (entget e2)))) ) ) ) egoc (car lstent) lstent (cdr lstent) pgoc (cdr (assoc 10 (entget egoc))) xgoc (car pgoc) yht (cadr pgoc) zgoc (caddr pgoc) hgoc (cdr (assoc 40 (entget egoc))) linespc (* hgoc 2.5) ) (foreach ee lstent (setq tt (entget ee) tt (subst (list 10 xgoc (setq yht (- yht linespc)) zgoc ) (assoc 10 tt) tt ) ) (entmod tt) (entupd ee) ) (princ) ) (defun ss2ent (ss / sodt index lstent) (setq sodt (cond (ss (sslength ss)) (t 0) ) index 0 ) (repeat sodt (setq ent (ssname ss index) index (1+ index) lstent (cons ent lstent) ) ) (reverse lstent) ) (princ "\nSTEXT - Sap xep text - free lisp from www.cadviet.com" ) (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
vbao 80 Báo cáo bài đăng Đã đăng Tháng 8 23, 2007 Dòng thông báo đó không sao cả, chương trình vẫn chạy đúng.Dòng thông báo đó là do lúc viết chương trình quên một lệnh exit quiet ở cuối thôi. Đoạn mã dưới đây đã thêm dòng mã (princ) để không xuất hiện thông báo đó! Cảm ơn bạn đã hồi âm! (defun c:stext ( / sst lstent egoc pgoc xgoc yht zgoc linespc ee tt) (princ "\nSap xep text © CADViet.com") (setq sst (ssget '((0 . "TEXT"))) lstent (ss2ent sst) lstent (vl-sort lstent '(lambda (e1 e2) (> (cadr (cdr (assoc 10 (entget e1)))) (cadr (cdr (assoc 10 (entget e2)))) ) ) ) egoc (car lstent) lstent (cdr lstent) pgoc (cdr (assoc 10 (entget egoc))) xgoc (car pgoc) yht (cadr pgoc) zgoc (caddr pgoc) hgoc (cdr (assoc 40 (entget egoc))) linespc (* hgoc 2.5) ) (foreach ee lstent (setq tt (entget ee) tt (subst (list 10 xgoc (setq yht (- yht linespc)) zgoc ) (assoc 10 tt) tt ) ) (entmod tt) (entupd ee) ) (princ) ) (defun ss2ent (ss / sodt index lstent) (setq sodt (cond (ss (sslength ss)) (t 0) ) index 0 ) (repeat sodt (setq ent (ssname ss index) index (1+ index) lstent (cons ent lstent) ) ) (reverse lstent) ) (princ "\nSTEXT - Sap xep text - free lisp from www.cadviet.com" ) (vl-load-com) cảm ơn anh Hoành về tiện ích trên, anh cho hỏi thêm có cách nào tùy biến khoảng cách các dòng text (line spacing) theo yêu cầu của người sử dụng khi nhập từ keyboard vào không? 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 23, 2007 lisp dưới đây tên lệnh vẫn là STEXT, cải tiến để người sử dụng nhập thêm tỷ lệ khoảng cách dòng. Mặc định là 1.5 tức là khoảng trống cách giữa 2 dòng bằng 1.5 lần chiều cao text. Giá trị này sẽ được lưu trữ cho đến khi close file, nhấn Enter lúc nhập liệu nếu không muốn thay đổi giá trị này. (defun c:stext ( / sst lstent egoc pgoc xgoc yht zgoc linespc ee tt) (if (not tyledong) (setq tyledong 1.5) ) (princ "\nSap xep text © CADViet.com") (setq sst (ssget '((0 . "TEXT"))) lstent (ss2ent sst) tmp (getreal (strcat "\nVao ty le dong khoang cach dong : ")) tyledong (cond (tmp tmp) (t tyledong) ) lstent (vl-sort lstent '(lambda (e1 e2) (> (cadr (cdr (assoc 10 (entget e1)))) (cadr (cdr (assoc 10 (entget e2)))) ) ) ) egoc (car lstent) lstent (cdr lstent) pgoc (cdr (assoc 10 (entget egoc))) xgoc (car pgoc) yht (cadr pgoc) zgoc (caddr pgoc) hgoc (cdr (assoc 40 (entget egoc))) linespc (* hgoc (+ 1.0 tyledong)) ) (foreach ee lstent (setq tt (entget ee) tt (subst (list 10 xgoc (setq yht (- yht linespc)) zgoc ) (assoc 10 tt) tt ) ) (entmod tt) (entupd ee) ) ) (defun ss2ent (ss / sodt index lstent) (setq sodt (cond (ss (sslength ss)) (t 0) ) index 0 ) (repeat sodt (setq ent (ssname ss index) index (1+ index) lstent (cons ent lstent) ) ) (reverse lstent) (princ) ) (princ "\nSTEXT - Sap xep text - free lisp from www.cadviet.com" ) (vl-load-com) 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
vbao 80 Báo cáo bài đăng Đã đăng Tháng 8 24, 2007 lisp dưới đây tên lệnh vẫn là STEXT, cải tiến để người sử dụng nhập thêm tỷ lệ khoảng cách dòng. Mặc định là 1.5 tức là khoảng trống cách giữa 2 dòng bằng 1.5 lần chiều cao text. Giá trị này sẽ được lưu trữ cho đến khi close file, nhấn Enter lúc nhập liệu nếu không muốn thay đổi giá trị này. (defun c:stext ( / sst lstent egoc pgoc xgoc yht zgoc linespc ee tt) (if (not tyledong) (setq tyledong 1.5) ) (princ "\nSap xep text © CADViet.com") (setq sst (ssget '((0 . "TEXT"))) lstent (ss2ent sst) tmp (getreal (strcat "\nVao ty le dong khoang cach dong <" (rtos tyledong 2 2) ">: ")) tyledong (cond (tmp tmp) (t tyledong) ) lstent (vl-sort lstent '(lambda (e1 e2) (> (cadr (cdr (assoc 10 (entget e1)))) (cadr (cdr (assoc 10 (entget e2)))) ) ) ) egoc (car lstent) lstent (cdr lstent) pgoc (cdr (assoc 10 (entget egoc))) xgoc (car pgoc) yht (cadr pgoc) zgoc (caddr pgoc) hgoc (cdr (assoc 40 (entget egoc))) linespc (* hgoc (+ 1.0 tyledong)) ) (foreach ee lstent (setq tt (entget ee) tt (subst (list 10 xgoc (setq yht (- yht linespc)) zgoc ) (assoc 10 tt) tt ) ) (entmod tt) (entupd ee) ) ) (defun ss2ent (ss / sodt index lstent) (setq sodt (cond (ss (sslength ss)) (t 0) ) index 0 ) (repeat sodt (setq ent (ssname ss index) index (1+ index) lstent (cons ent lstent) ) ) (reverse lstent) ;; (princ) ) (princ "\nSTEXT - Sap xep text - free lisp from www.cadviet.com" ) (vl-load-com) Anh Hoành xem giúp, tôi sử dụng gặp lỗi sau : Command: stext Sap xep text © CADViet.com Select objects: Specify opposite corner: 7 found Select objects: Vao ty le dong khoang cach dong <1.50>: 5 ; error: bad argument type: listp cảm ơn anh. 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 24, 2007 Anh Hoành xem giúp, tôi sử dụng gặp lỗi sau :Command: stext Sap xep text © CADViet.com Select objects: Specify opposite corner: 7 found Select objects: Vao ty le dong khoang cach dong : 5 ; error: bad argument type: listp cảm ơn anh. Xin lỗi tôi nhầm 1 dòng lệnh. Cảm ơn anh Bảo đã hồi âm. Đây là mã lệnh đã sửa: (defun c:stext (/ sst lstent egoc pgoc xgoc yht zgoc linespc ee tt) (if (not tyledong) (setq tyledong 1.5) ) (princ "\nSap xep text © CADViet.com") (setq sst (ssget '((0 . "TEXT"))) lstent (ss2ent sst) tmp (getreal (strcat "\nVao ty le dong khoang cach dong (rtos tyledong 2 2) ">: " ) ) tyledong (cond (tmp tmp) (t tyledong) ) lstent (vl-sort lstent '(lambda (e1 e2) (> (cadr (cdr (assoc 10 (entget e1)))) (cadr (cdr (assoc 10 (entget e2)))) ) ) ) egoc (car lstent) lstent (cdr lstent) pgoc (cdr (assoc 10 (entget egoc))) xgoc (car pgoc) yht (cadr pgoc) zgoc (caddr pgoc) hgoc (cdr (assoc 40 (entget egoc))) linespc (* hgoc (+ 1.0 tyledong)) ) (foreach ee lstent (setq tt (entget ee) tt (subst (list 10 xgoc (setq yht (- yht linespc)) zgoc ) (assoc 10 tt) tt ) ) (entmod tt) (entupd ee) ) (princ) ) (defun ss2ent (ss / sodt index lstent) (setq sodt (cond (ss (sslength ss)) (t 0) ) index 0 ) (repeat sodt (setq ent (ssname ss index) index (1+ index) lstent (cons ent lstent) ) ) (reverse lstent) ) (princ "\nSTEXT - Sap xep text - free lisp from www.cadviet.com" ) (vl-load-com) 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
congtrinh5 0 Báo cáo bài đăng Đã đăng Tháng 8 25, 2007 Xin lisp có nội dung như sau: Fillet (hoặc chamfer) hàng loạt vật thể 3 chiều. cụ thể, ví dụ trên màn hình là 1 box 3D dạng khối đặc lisp sẽ hỏi chọn 1 cạnh , sau đó chương trình sẽ nhận ra các cạnh còn lại nằm trong cùng mặt phẳng song song với mf XY rồi tự động fillet hàng loạt. (như chức năng cộng thêm Chain nhưng ở đây vừa cộng thêm vừa phải các cạch cùng 1 mặt phẳng // với XY) 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
conghoa 137 Báo cáo bài đăng Đã đăng Tháng 8 27, 2007 Để cho bản vẽ có thêm chút pro, mình muốn nhờ NguyenHoanh làm hộ một cái lisp, H1 là ban đầu mình có khi dùng lisp sẽ được kết quả là H2 (hình ở trên). Khoảng cách 100 và 600 có thể quy định dựa trên chiều cao chữ. Thanks! 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 8 27, 2007 Để cho bản vẽ có thêm chút pro, mình muốn nhờ NguyenHoanh làm hộ một cái lisp, H1 là ban đầu mình có khi dùng lisp sẽ được kết quả là H2 (hình ở trên). Khoảng cách 100 và 600 có thể quy định dựa trên chiều cao chữ. Thanks! Bạn có thể dùng lệnh cắt Dim CD của diễn đàn. 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
conghoa 137 Báo cáo bài đăng Đã đăng Tháng 8 28, 2007 @NguyenHoanh Bạn chỉ cho mình cách cắt dim mà cách đoạn thẳng đó 100 được kô vậy? Hay là phải lại offset 1 đoạn lên 100 rồi cắt. Và làm sao cho nó cách chân dim là 600 với! Thanks 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
ainhandilac 5 Báo cáo bài đăng Đã đăng Tháng 8 29, 2007 Trả lời câu hỏi thứ nhất: Copy lisp từ codebox thì mất các dấu xuống dòng, bạn có thể tham khảo ở đây http://www.cadviet.com/forum/index.php?showtopic=352 Trả lời câu hỏi thứ 2: error: no function definition: INIT Bản chất của lỗi này là không thấy defun INIT.Có thể giải quyết bằng cách sử dụng thêm lisp hethong.lsp sau. Nhớ là khi load phải load lisp hethong.lsp trước ,sau đó mới đến các lisp Scale Block..:unsure: ;;------------------------------------------------------------ (defun hoanh_newerror (msg) (if (and (/= msg "Function cancelled") (/= msg "quit / exit abort") ) (princ (strcat "\n" msg)) ) (done) ) ;;---------- (defun init () (setq HOANH_CMD (getvar "CMDECHO") HOANH_OLDERROR *error* *error* hoanh_newerror ) (setvar "CMDECHO" 0) (command ".undo" "BE") ) ;;---------- (defun done () (command ".redraw") (command ".undo" "E") (if HOANH_CMD (setvar "CMDECHO" HOANH_CMD) ) (if HOANH_OLDERROR (setq *error* HOANH_OLDERROR) ) (princ) ) (defun luuos () (setq HOANH_OSMODE (getvar "OSMODE") HOANH_AUTOSNAP (getvar "AUTOSNAP") ) ) (defun traos () (if HOANH_OSMODE (setvar "OSMODE" HOANH_OSMODE) ) (if HOANH_AUTOSNAP (setvar "AUTOSNAP" HOANH_AUTOSNAP) ) ) có cái lisp copy được của bro nào tôi ko biết nhờ các pac phân tích ho nhe tôi cũng không hiểu nhiều lắm nhưng thấy dung cũng được lắm (DEFUN GLIST ()(ENTGET (CAR (ENTSEL)))) (DEFUN FSTR (STR SEARCH / INDEX FIND)(SETQ INDEX 0)(WHILE (AND (/= FIND SEARCH) (<= INDEX (- (STRLEN STR) (STRLEN SEARCH))))(SETQ INDEX (+ 1 INDEX))(SETQ FIND (SUBSTR STR INDEX (STRLEN SEARCH))))(IF (= FIND SEARCH) INDEX "NOT FOUND" )) (DEFUN FIRE1 (STR FIND REPLACE / N A B C)(SETQ N (FSTR STR FIND))(IF (/= N "NOT FOUND")(PROGN(SETQ A (SUBSTR STR 1 (- N 1)))(SETQ B REPLACE)(SETQ L (STRLEN FIND))(SETQ C (SUBSTR STR (+ N L)))(SETQ STR (STRCAT A B C)))STR)) (defun CN()(setvar "cmdecho" 0)(initget "Sua")(setq pt (getpoint "\nSua so lieu cu/<Ghi so lieu moi>: ")#STYLE (GETVAR "TEXTSTYLE"))(if (= pt "Sua")(progn(PRINC "\nChon dong chu ghi so lieu cu:")(SETQ ELIST (GLIST))(SETVAR "CMDECHO" 0)(SETVAR "LUPREC" 0)(setq ELIST (SUBST (CONS 1 TT) (ASSOC 1 ELIST) ELIST))(ENTMOD ELIST)(SETVAR "CMDECHO" 1)(SETVAR "LUPREC" 4))(progn(if (/= (cdr(assoc 40 (tblsearch "style" #STYLE))) 0)(COMMAND "TEXT" pt "0" TT)(COMMAND "TEXT" pt "2.5" "0" TT))))(princ)) (DEFUN C:SUB(/ SS TT STT ALIST NUM) (SETQ TLIST (ENTGET (CAR (ENTSEL "\nChon so bi tru:"))) TT (CDR (ASSOC 1 TLIST)) TT (FIRE1 TT "," ".") TT (ATOF TT) SS (ENTGET (CAR (ENTSEL "\nChon so tru:"))) ss (CDR (ASSOC 1 ss)) ss (FIRE1 ss "," ".") ss (ATOF ss) TT (- TT ss) TT (RTOS TT 2 2) TT (FIRE1 TT "." ",") ) (CN) ) (DEFUN C:DV(/ SS TT STT ALIST NUM) (SETQ TLIST (ENTGET (CAR (ENTSEL "\nChon so bi chia:"))) TT (CDR (ASSOC 1 TLIST)) TT (FIRE1 TT "," ".") TT (ATOF TT) SS (ENTGET (CAR (ENTSEL "\nChon so chia:"))) ss (CDR (ASSOC 1 ss)) ss (FIRE1 ss "," ".") ss (ATOF ss) TT (/ TT ss) TT (RTOS TT 2 2) TT (FIRE1 TT "." ",") ) (CN) ) (DEFUN C:MUL(/ SS TT STT ALIST NUM) (SETQ SS (SSGET '((-4 . "<OR")(0 . "text")(0 . "mtext")(-4 . "OR>"))) TT 1 stt 0 ) (repeat (sslength ss) (setq alist (entget (ssname ss stt)) NUM (CDR (ASSOC 1 ALIST)) NUM (FIRE1 NUM "," ".") TT (* TT (ATOF NUM)) STT (+ STT 1) ) ) (SETQ TT (RTOS TT 2 2) TT (FIRE1 TT "." ",") ) (CN) ) (DEFUN C:SUM(/ SS STT ALIST NUM TT) (SETQ SS (SSGET '((-4 . "<OR")(0 . "text")(0 . "mtext")(-4 . "OR>"))) TT 0 stt 0 ) (repeat (sslength ss) (setq alist (entget (ssname ss stt)) NUM (CDR (ASSOC 1 ALIST)) NUM (FIRE1 NUM "," ".") TT (+ TT (ATOF NUM)) STT (+ STT 1) ) ) (SETQ TT (RTOS TT 2 2) TT (FIRE1 TT "." ",") ) (CN) ) ;************************ 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
congtrinh5 0 Báo cáo bài đăng Đã đăng Tháng 9 3, 2007 Em đang rất cần các lisp có nội dung như sau: Tải lisp1 gõ: T mặt bằng nhìn từ trên xuống L mặt đứng bên nhìn từ trái qua phải (nhìn vào mặt phẳng YZ) R mặt đứng bên nhìn từ phải qua trái (nhìn vào mặt phẳng YZ) F mặt đứng phía trước (nhìn vào mặt phẳng XZ) SW là cảnh nhìn khi vào view->3Dviewport->SW isometric Mong các Bác cao thủ giúp em chut nha, em cám ơn 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 9 3, 2007 Em đang rất cần các lisp có nội dung như sau:Tải lisp1 gõ: T mặt bằng nhìn từ trên xuống L mặt đứng bên nhìn từ trái qua phải (nhìn vào mặt phẳng YZ) R mặt đứng bên nhìn từ phải qua trái (nhìn vào mặt phẳng YZ) F mặt đứng phía trước (nhìn vào mặt phẳng XZ) SW là cảnh nhìn khi vào view->3Dviewport->SW isometric Mong các Bác cao thủ giúp em chut nha, em cám ơn nhiều ! bạn save đoạn code sau vào file có tên lisp1.lsp: (defun c:T()(command ".vpoint" "0,0,1")) (defun c:L()(command ".vpoint" "1,0,0")) (defun c:R()(command ".vpoint" "-1,0,0")) (defun c:F()(command ".vpoint" "0,-1,0")) (defun c:SW()(command ".view" "_swiso")) 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
congtrinh5 0 Báo cáo bài đăng Đã đăng Tháng 9 3, 2007 Cám ơn anh Hoanh Em đang cần 1 lisp nữa có nội dung gần giống offset nhưng cách chọn hơi khác như sau: trên màn hình là 2 đối tượng kín ( 2 rectang hay 2 pline kín chẳng hạn) Tải lisp hỏi : Chọn các đối tượng cần offset (dạng ssget đó các bác à- nếu bình thường chỉ chọn được 1 thôi) Nhập khoảng cách offset( có thể nhập số hoặc khoảng cách 2 điểm trực tiếp trên màn hình) Nhập gía trị T hay N (nếu T là offset vào trong, N offset ra ngoài- mặc định là offset ra ngoài) Mong các Bác giúp em chut nha, em cám ơn 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
phothuongham 1 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 Bác Hoanh ơi bác có cái lisp nào dùng để vẽ bình đồ ko Ví dụ: trên bản vẽ có các điểm cao độ lisp này sẽ nối các điểm cao độ đó với nhau 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 Cám ơn anh HoanhEm đang cần 1 lisp nữa có nội dung gần giống offset nhưng cách chọn hơi khác như sau: trên màn hình là 2 đối tượng kín ( 2 rectang hay 2 pline kín chẳng hạn) Tải lisp hỏi : Chọn các đối tượng cần offset (dạng ssget đó các bác à- nếu bình thường chỉ chọn được 1 thôi) Nhập khoảng cách offset( có thể nhập số hoặc khoảng cách 2 điểm trực tiếp trên màn hình) Nhập gía trị T hay N (nếu T là offset vào trong, N offset ra ngoài- mặc định là offset ra ngoài) Mong các Bác giúp em chut nha, em cám ơn nhiều ! Không làm được! Bác Hoanh ơi bác có cái lisp nào dùng để vẽ bình đồ koVí dụ: trên bản vẽ có các điểm cao độ lisp này sẽ nối các điểm cao độ đó với nhau Không có! 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
mtdfigo2000 0 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 Em là thành viên mới. Em sử dụng lisp stext nhưng nó chỉ áp dụng với dtext. với mtext thì ko đc. Các bác có cao kiến gì giúp em vớ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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 [cac bac oi giup em voiEm là thành viên mới. Em sử dụng lisp stext nhưng nó chỉ áp dụng với dtext. với mtext thì ko đc. Các bác có cao kiến gì giúp em với Mtext thì dùng Stext để làm gì nữa, nó đã căn các hàng chữ đều nhau rồi! Lệnh Stext là khắc phục nhược điểm của DText, Mtext không bị nhược điểm này Chỉ lắp tay giả cho người cụt tay, chứ người còn nguyên cả 2 tay thì lắp làm gì? 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 bạn save đoạn code sau vào file có tên lisp1.lsp: (defun c:T()(command ".vpoint" "0,0,1")) (defun c:L()(command ".vpoint" "1,0,0")) (defun c:R()(command ".vpoint" "-1,0,0")) (defun c:F()(command ".vpoint" "0,-1,0")) (defun c:SW()(command ".view" "_swiso")) Anh Hoành ơi , tại sao khi render ( diễn hoạ) xong quay lại sử dụng các lệnh trên lại không được nữa nhỉ, em đã thử mấy loại Cad đều bị thế cả? chỉ mỗi SW là còn được thôi?? cá cách nào khắc phục không bác!? 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 Anh Hoành ơi , tại sao khi render ( diễn hoạ) xong quay lại sử dụng các lệnh trên lại không được nữa nhỉ, em đã thử mấy loại Cad đều bị thế cả? chỉ mỗi SW là còn được thôi?? cá cách nào khắc phục không bác!? ACAD thông báo gì hả bạn? 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 ACAD thông báo gì hả bạn? em dùng T (mặt bằng) nó báo: Current view direction: VIEWDIR=0.6110,0.3360,0.0000 Specify a view point or [Rotate] <display compass and tripod>: 0,0,1 Regenerating model. Command: nil và màn hình 3D SW bị lệch đi chút xíu-không ra dạng view gì hết (SE, NE, NW cũng chẳng phả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
congtrinh5 0 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 Em đang cần lisp có nội dung như sau: Tải lisp gõ: 3 là lệnh tắt của lệnh UCS với tham số 3 point (nhập 3 điểm tạo mặt phẳng XY hiện thời) cur là cảnh nhìn khi vào view->3Dviews->Plan view-> current UCS Mong các Bác cao thủ giúp em chut nha, em cám ơn 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
Nguyen Hoanh 4670 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 em dùng T (mặt bằng) nó báo:Current view direction: VIEWDIR=0.6110,0.3360,0.0000 Specify a view point or [Rotate] : 0,0,1 Regenerating model. Command: nil và màn hình 3D SW bị lệch đi chút xíu-không ra dạng view gì hết (SE, NE, NW cũng chẳng phải)? Có thể là bạn đang ở chế độ nhìn phối cảnh, nên khung nhìn TOP sẽ ở dạng phối cảnh và bạn khó nhận ra. Sau khi sử dụng lệnh T (hoặc F, L,...), bạn thử gõ PERSPECTIVE vào dòng lệnh rồi nhập giá trị 0 xem sao? Em đang cần lisp có nội dung như sau:Tải lisp gõ: 3 là lệnh tắt của lệnh UCS với tham số 3 point (nhập 3 điểm tạo mặt phẳng XY hiện thời) cur là cảnh nhìn khi vào view->3Dviews->Plan view-> current UCS Mong các Bác cao thủ giúp em chut nha, em cám ơn nhiều ! Tham khảo các mã viết cho Xaydung chắc các bạn cũng biết cách viết rồi. Về sau những lệnh tương tự như thế này, mọi người tự viết nhé! (defun c:3() (command ".ucs" "3" pause pause pause)) (defun c:cur() (command ".plan" "c")) 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
xaydung 12 Báo cáo bài đăng Đã đăng Tháng 9 4, 2007 Tìm lisp gán layer cho các đối tượng rời rạc có nội dung như sau: VD: trên màn hình là 3 đối tượng rởi như :pline, box, rectang khi chọn các đối tượng trên thì chương trình tự động gán cho mỗi đối tượng rời trên 1 layer (không quan trọng thứ tự) khi nhìn vào bảng layer thấy: pline thuộc lớp tên là layer1 box thuộc lớp tên là layer2 rectang thuộc lớp tên là layer3 có bác nào biết không ạ? 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