ketxu 3004 Báo cáo bài đăng Đã đăng Tháng 6 1, 2011 CHÀO CÁC ANH TRÊN DIỄN ĐÀN. Em có cái lisp này dùng để nội suy cao độ hố ga thoát nước.(dùng trong nova sau khi đa tk đuờng đỏ) khi dùng lệnh "DMTN" thì nó hỏi nhập chiều rộng mặt đường, chiều rộng vỉa hè, chiều cao bó vỉa nhưng lại mặc định là độ dốc mặt đường là 2%, còn độ dốc vỉa hè là -1%. ý em là muốn nhờ các anh sửa dùm em 1 chút sao cho lisp thành lisp mở.tức là có thể nhập độ dốc mặt đường, độ dốc vỉa hè ( như với chiều rộng).để nó có thể ứng dụng cho mọi truờng hợp, chứ không phải là chỉ có 1 trường hợp như trên em không biết đính kèm file nên up lên mediafire. http://www.mediafire.com/?brz7j683j06syq0 mong các anh giúp đõ cám ơn các anh nhiều ! Lisp dài quá, đọc để hiểu hết e hơi mệt, lại không có file CAD để test, dân ngoại đạo thật vất vả để hiểu. CHi bằng bạn tự sửa nhé. Thêm dòng : (setq im (/ (getreal "\nDo doc mat duong :") 100) il (/ (getreal "\nDo doc via he :") 100)) vào sau dòng (Defun c:DMTN() sau đó tìm tất cả số 0.02 (2%) trong lisp thay bằng im, tất cả số 0.01 (1%) thay bằng il Như vậy có khả năng là ok, cũng dễ hiểu nữ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
tuan162516238 0 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 "Các bác giúp em viết lisp làm công việc này thế. Em gửi files kèm theo ạ. http://www.yousendit...EQzczeUkwTVE9PQ Các bác giúp em ạ, cái này em vẽ bằng macro ở trong ASD, nhừng cần list cad để chỉnh sửa cho nhanh " Mong các bác 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
gia_bach 1558 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Các bác giúp em viết lisp làm công việc này thế. Em gửi files kèm theo ạ. http://www.yousendit.com/download/dkJvc2ZEQzczeUkwTVE9PQ Các bác giúp em ạ, cái này em vẽ bằng macro ở trong ASD, nhừng cần list cad để chỉnh sửa cho nhanh Đối tượng của bạn là "Proxy entity". - Lisp pótay với kiểu đối tượng này. - CAD cũng không thực hiện lệnh stretch đuợc. Command: _stretch .............. Select objects: Proxy entities are de-selected. Proxy entities are not stretchable. 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
tuan162516238 0 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Bác gia ơi, có người làm được rồi ạ, nhưng mà họ nhất quyết không cho em xin ạ. Khô em lại không biết tý tẹo gì về lisp, ở trong diễn đàn này họ đã làm được rồi, nhưng chỉ đưa ra phương hướng thôi ạ. Còn em làm thủ công bằng lệnh Stretch được ạ, vấn đề là cái chỉ thép anh ạ, khi em vẽ bằng maccro trong ASD thì chỉ thép không theo kiểu của việt nam, giờ em nhờ anh viết giúp em cái lisp cad để em chuyển nó về dạng chỉ thép việt nam ạ. Em gửi anh đường link để anh đọc cho dễ hiểu hơn cái em cần anh giúp ạ. http://arttool.vn/thread-627.arttool Mong là các anh giúp được em ạ, cái bác dùng được trong diễn đàn này nhất quyết không cho em ạ. 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
gia_bach 1558 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Bác gia ơi, có người làm được rồi ạ, nhưng mà họ nhất quyết không cho em xin ạ. Khô em lại không biết tý tẹo gì về lisp, ở trong diễn đàn này họ đã làm được rồi, nhưng chỉ đưa ra phương hướng thôi ạ. Còn em làm thủ công bằng lệnh Stretch được ạ, vấn đề là cái chỉ thép anh ạ, khi em vẽ bằng maccro trong ASD thì chỉ thép không theo kiểu của việt nam, giờ em nhờ anh viết giúp em cái lisp cad để em chuyển nó về dạng chỉ thép việt nam ạ. Em gửi anh đường link để anh đọc cho dễ hiểu hơn cái em cần anh giúp ạ. http://arttool.vn/thread-627.arttool Mong là các anh giúp được em ạ, cái bác dùng được trong diễn đàn này nhất quyết không cho em ạ. Link bạn gửi chạy trên môi trường ASD : AutoCAD_Structural_Detailing hoặc CAD gì gì đó ??? tiếc là tui hổng có ASD để thử ! Trên môi trường AutoCAD thì tui chưa biết cách . <_< 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
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 dạ em nhầm ah,thêm phần "chọn điểm ghi diện tích" mới đúng. Ai giúp em với ah. Em xin cảm ơn! Hề hề hề, Xin lỗi vì chậm trả lời, Suốt tuần qua mình có việc gấp phải về quê nên không vào mạng được. Bạn dùng thử cái này xem sao. Do làm vội và chưa test thử nên nhờ bạn test giùm. Nếu có trục trặc , hãy post lên để mình sửa lại nhé. (defun c:udt (/ ss tong ham tmp tt hstl oldim toe frome cur dt) (prompt "\n Kich thuoc cua chuong trinh tinh theo don vi mm ") (if (not hstlo) (setq hstlo 0.001)) (setq hstl (getreal (strcat "\n Nhap ti le chuyen doi don vi <" (rtos hstlo 2 3) "> :"))) (if (not hstl) (setq hstl hstlo) (setq hstlo hstl)) (if (not tpo) (setq tpo 2)) (setq tp (getint (strcat "\n Nhap So chu so thap phan <" (itoa tpo) "> :"))) (if (not tp) (setq tp tpo) (setq tpo tp)) (setq oldim (getvar "Dimzin")) (setvar "Dimzin" 0) (prompt "\n Chon doi tuong de tinh dien tich hay Enter de tinh dien tich theo Pick diem ") (setq ss (ssget '((-4 . "<OR")(0 . "LWPOLYLINE")(0 . "REGION")(0 . "CIRCLE")(0 . "ARC")(-4 . "OR>"))) tong 0.0 ham (lambda (x) (command ".area" "o" x) (setq tong (+ tong (getvar "area")))) tmp (mapcar 'ham (ss2ent ss)) ) (if (not ss) (progn (setq tong 0.0 ss (ssadd)) (while (setq p (getpoint "\n Pick vao vung tinh dien tich :")) (setq frome (entlast)) (command ".boundary" p "") (setq toe (entlast)) (setq cur frome) (while (not (eq cur toe)) (setq cur (entnext cur) ss (ssadd cur ss)) (command "area" "S" "O" ss "" "") (setq dt (getvar "area")) (setq tong (+ tong dt)) ) (command "area" "A" "O" "L" "" "") (setq dt (getvar "area")) (setq tong (+ tong (* dt 2))) (sssetfirst ss ss) ) (command "erase" ss "") )) (if (not (setq pt (getpoint "\n Chon diem dat text"))) (progn (setq tt (entget (car (entsel "\nChon text ket qua: "))) tong (vl-string-right-trim "." (vl-string-right-trim "0" (rtos tong))) ) (entmod (subst (cons 1 (rtos (* (atof tong) hstl hstl) 2 tp)) (assoc 1 tt) tt)) ) (progn (setq ht (getreal "\n Nhap chieu cao text")) (command "text" pt ht 0 (rtos (* (atof tong) hstl hstl) 2 tp) "") ) ) (setvar "Dimzin" oldim) (princ) ) ; (defun ss2ent(ss / sodt index lstent) (setq sodt (if ss (sslength ss) 0) index 0 ) (repeat sodt (setq ent (ssname ss index) index (1+ index) lstent (cons ent lstent) ) ) (reverse lstent) ) (princ "\nUpdate Area - free lisp from cadviet.com") (princ "\nUse UDT command to start!") (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
minhhieuthanh 1 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Lisp dài quá, đọc để hiểu hết e hơi mệt, lại không có file CAD để test, dân ngoại đạo thật vất vả để hiểu. CHi bằng bạn tự sửa nhé. Thêm dòng : vào sau dòng (Defun c:DMTN() sau đó tìm tất cả số 0.02 (2%) trong lisp thay bằng im, tất cả số 0.01 (1%) thay bằng il Như vậy có khả năng là ok, cũng dễ hiểu nữa ^^ cám ơn anh nhiều. em sẽ thử xem 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
3d.decor 1 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 (Đă chỉnh sửa) trên diễn đàn hiện nay đã có lisp Hide & Show nhưng bác nào rỗi viết thêm em lisp unhide nghĩa là chon object xong rồi ẩn các đối tượng không được chọn em dùng max quen thấy chức năng này khá hay ẩn bớt vẽ cho đỡ rối ; Hide & Show (defun c:InVis (/ SSet Count Elem) (defun Dxf (Id Obj) (cdr (assoc Id (entget Obj))) );end Dxf (prompt "\nSelect object(s) to hide: ") (cond ((setq SSet (ssget)) (repeat (setq Count (sslength SSet)) (setq Count (1- COunt) Elem (ssname SSet Count)) (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem))))) (if (Dxf 60 Elem) (entmod (subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem))) (entmod (append (entget Elem) (list '(60 . 1)))) ) (prompt "\nEntity on a locked layer. Cannot hide this entity. ") );end if );end repeat ) );end cond (princ) );end c:InVis (defun c:Vis (/ WhatNextSSet Count Elem) (defun Dxf (Id Obj) (cdr (assoc Id (entget Obj))) );end Dxf (cond ((setq SSet (ssget "_X" '((60 . 1)))) (initget "Yes No") (setq WhatNext (cond ((getkword "\nAll hidden entities will be visible. Continue? No, <Yes>: ")) (T "Yes"))) (cond ((= WhatNext "Yes") (prompt "\nPlease wait...") (repeat (setq Count (sslength SSet)) (setq Count (1- COunt) Elem (ssname SSet Count)) (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem))))) (entmod (subst '(60 . 0) '(60 . 1) (entget Elem))) (prompt "\nEntity on a locked layer. Cannot make visible this entity. ") );end if );end repeat (prompt "\nDone...") ) );end cond ) (T (prompt "\nNo objects was hidden. ")) ) ) Nhắc bạn 3d cho code vào trong thẻ code! Chỉnh sửa Tháng 6 2, 2011 theo phamthanhbinh 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
tuan162516238 0 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Bác Gia. Bác ơi phần mền đó như cad à, bác có thể liên hệ với bác Hiệp ở trong diễn đàn ARTTool.vn có số điện thoại là 0903343591(bác này cũng ở trong nam) 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
phamngoctukts 717 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 trên diễn đàn hiện nay đã có lisp Hide & Show nhưng bác nào rỗi viết thêm em lisp unhide nghĩa là chon object xong rồi ẩn các đối tượng không được chọn em dùng max quen thấy chức năng này khá hay ẩn bớt vẽ cho đỡ rối ; Hide & Show (defun c:InVis (/ SSet Count Elem) (defun Dxf (Id Obj) (cdr (assoc Id (entget Obj))) );end Dxf (prompt "\nSelect object(s) to hide: ") (cond ((setq SSet (ssget)) (repeat (setq Count (sslength SSet)) (setq Count (1- COunt) Elem (ssname SSet Count)) (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem))))) (if (Dxf 60 Elem) (entmod (subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem))) (entmod (append (entget Elem) (list '(60 . 1)))) ) (prompt "\nEntity on a locked layer. Cannot hide this entity. ") );end if );end repeat ) );end cond (princ) );end c:InVis (defun c:Vis (/ WhatNextSSet Count Elem) (defun Dxf (Id Obj) (cdr (assoc Id (entget Obj))) );end Dxf (cond ((setq SSet (ssget "_X" '((60 . 1)))) (initget "Yes No") (setq WhatNext (cond ((getkword "\nAll hidden entities will be visible. Continue? No, <Yes>: ")) (T "Yes"))) (cond ((= WhatNext "Yes") (prompt "\nPlease wait...") (repeat (setq Count (sslength SSet)) (setq Count (1- COunt) Elem (ssname SSet Count)) (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem))))) (entmod (subst '(60 . 0) '(60 . 1) (entget Elem))) (prompt "\nEntity on a locked layer. Cannot make visible this entity. ") );end if );end repeat (prompt "\nDone...") ) );end cond ) (T (prompt "\nNo objects was hidden. ")) ) ) Nhắc bạn 3d cho code vào trong thẻ code! Chỉ cần linh động một chút giữa 2 lisp đó là làm được thôi (defun c:InVert (/ SSet Count Elem) (defun Dxf (Id Obj) (cdr (assoc Id (entget Obj))) );end Dxf (prompt "\nSelect object(s) to hide: ") (setq SSet1 (ssget)) (cond ((setq SSet (ssget "x")) (repeat (setq Count (sslength SSet)) (setq Count (1- COunt) Elem (ssname SSet Count)) (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem))))) (if (Dxf 60 Elem) (entmod (subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem))) (entmod (append (entget Elem) (list '(60 . 1)))) ) (prompt "\nEntity on a locked layer. Cannot hide this entity. ") );end if );end repeat ) );end cond (repeat (setq Count1 (sslength SSet1)) (setq Count1 (1- COunt1) Elem (ssname SSet1 Count1)) (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem))))) (entmod (subst '(60 . 0) '(60 . 1) (entget Elem))) (prompt "\nEntity on a locked layer. Cannot make visible this entity. ") );end if );end repeat (princ) );end c:InVert 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
ketxu 3004 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Chỉ cần linh động một chút giữa 2 lisp đó là làm được thôi Eo ơi, bác Tú kêu bận mà vẫn nhiệt tình giúp CV mem thế ^^ Em xin gửi thêm 1 phương án nữa, trong trường hợp máy có Express thì cả 3 hàm sẽ gói lại trong 3 dòng sau : (defun C:invis()(prompt "\nCh\U+1ECDn c\U+00E1c \U+0111\U+1ED1i t\U+01B0\U+1EE3ng mu\U+1ED1n \U+1EA9n \U+0111i :")(acet-ss-visible (ssget) 1)) (defun C:vis()(prompt "Hi\U+1EC7n l\U+1EA1i c\U+00E1c \U+0111\U+1ED1i t\U+01B0\U+1EE3ng \U+0111\U+00E3 b\U+1ECB \U+1EA9n :")(acet-ss-visible (ssget "_X" '((60 . 1))) 0)) (defun C:invert()(prompt "\nCh\U+1ECDn c\U+00E1c \U+0111\U+1ED1i t\U+01B0\U+1EE3ng hi\U+1EC7n : ")(acet-ss-visible (acet-ss-remove (ssget) (ssget "x")) 1)) 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
phamngoctukts 717 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Eo ơi, bác Tú kêu bận mà vẫn nhiệt tình giúp CV mem thế ^^ Em xin gửi thêm 1 phương án nữa, trong trường hợp máy có Express thì cả 3 hàm sẽ gói lại trong 3 dòng sau : (defun C:invis()(prompt "\nCh\U+1ECDn c\U+00E1c \U+0111\U+1ED1i t\U+01B0\U+1EE3ng mu\U+1ED1n \U+1EA9n \U+0111i :")(acet-ss-visible (ssget) 1)) (defun C:vis()(prompt "Hi\U+1EC7n l\U+1EA1i c\U+00E1c \U+0111\U+1ED1i t\U+01B0\U+1EE3ng \U+0111\U+00E3 b\U+1ECB \U+1EA9n :")(acet-ss-visible (ssget "_X" '((60 . 1))) 0)) (defun C:invert()(prompt "\nCh\U+1ECDn c\U+00E1c \U+0111\U+1ED1i t\U+01B0\U+1EE3ng hi\U+1EC7n : ")(acet-ss-visible (acet-ss-remove (ssget) (ssget "x")) 1)) Híc định kiếm ít danh tiếng không ngờ gặp ngay hàng khủng :wub: 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
AutoTay.com 22 Báo cáo bài đăng Đã đăng Tháng 6 2, 2011 Sorry trước nếu yêu cầu của mình đã được đáp ứng trên 4R! Cho mình xin cái lisp cài phần Express CAD2007 (mình không muốn cài lại vì p` có quá nhiều máy, chẳng lẽ lại đi cài từng máy :() 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
phamngoctukts 717 Báo cáo bài đăng Đã đăng Tháng 6 3, 2011 thank you pro nhờ pro viết thêm dòng lisp tẩy các layer thừa sau khi chuyển đổi xong được không lisp chạy rất ổn rồi Dùng lệnh PURGE chọn Purge All là được mà đâu cần lisp. 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
duy782006 1596 Báo cáo bài đăng Đã đăng Tháng 6 3, 2011 Sorry trước nếu yêu cầu của mình đã được đáp ứng trên 4R! Cho mình xin cái lisp cài phần Express CAD2007 (mình không muốn cài lại vì p` có quá nhiều máy, chẳng lẽ lại đi cài từng máy :() Thanks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! http://www.cadviet.com/upfiles/3/themexpress.rar Bạn load cái này về giải nén ra thư mục themexpress, chép nó vào ổ C. Load file cai.lsp lên gỏ lệnh caiex. Nếu được thì tốt còn không được thì làm thủ công cũng ko chậm mấy đâu: -Copy thư mục themexpress dô chổ nào cũng được. -Add thêm thư mục express (nhớ là thư mục express trong themexpress chứ không phải themexpress nhé) vào đường dẩn tìm kiếm của cad. Khởi dđộng lại cad nếu lên menu rồi thì thôi còn chưa lên thì làm tiếp bước dưới. -Gỏ lệnh menuload và load file acetmain.cui lê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
3d.decor 1 Báo cáo bài đăng Đã đăng Tháng 6 3, 2011 mong các pro viết thêm mọt hai dòng lisp nữa lisp không tẩy được layer có trong block nhìn rất khó chịu thank you (defun c:dlay (/ ss ssl en enl lay) (vl-load-com) (command "undo" "be") (setq ss (ssget "x") ssl (acet-ss-to-list ss)) (foreach en ssl (setq enl (entget en) lay (cdr (assoc 8 enl))) (if (or (/= lay "cut") (/= lay "glass") (/= lay "hide") (/= lay "hatch") (/= lay "funitures") (/= lay "tree") (/= lay "text") (/= lay "center")) (progn (if (= (tblsearch "layer" "wall") nil) (command "layer" "n" "wall" "c" "7" "wall" "lt" "continuous" "wall" "") ) (command "change" en "" "p" "la" "wall" "") (if (/= (cdr (assoc 62 enl)) nil) (command "change" en "" "p" "c" "7" "") ) ) ) ) (command "-purge" "a" "" "N") (command "undo" "e") (princ)) ) 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
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 6 3, 2011 thank you pro em tạm chế từ lisp khác chạy cũng ổn hehe trình độ còi nên đành chế vậy Hề hề hề, Vậy là cái trình độ lisper của bạn đâu có còi đâu. ý bác Phạm Ngọc Tú cũng y chang vậy mà, Khác chăng là bác ấy xài trên dòng command và bạn thi nhét luôn vào líp cho đỡ phải gõ lần nữa thôi mà. Rất mong bạn phát huy cái "còi" của bạn để giúp cho công việc của bạn và các anh em khác trên diễn đàn. Chúc bạn luôn thành công. hề hề hề. 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
3d.decor 1 Báo cáo bài đăng Đã đăng Tháng 6 3, 2011 mong các pro viết thêm mọt hai dòng lisp nữa lisp không tẩy được layer có trong block nhìn rất khó chịu thank you (defun c:dlay (/ ss ssl en enl lay) (vl-load-com) (command "undo" "be") (setq ss (ssget "x") ssl (acet-ss-to-list ss)) (foreach en ssl (setq enl (entget en) lay (cdr (assoc 8 enl))) (if (or (/= lay "cut") (/= lay "glass") (/= lay "hide") (/= lay "hatch") (/= lay "funitures") (/= lay "tree") (/= lay "text") (/= lay "center")) (progn (if (= (tblsearch "layer" "wall") nil) (command "layer" "n" "wall" "c" "7" "wall" "lt" "continuous" "wall" "") ) (command "change" en "" "p" "la" "wall" "") (if (/= (cdr (assoc 62 enl)) nil) (command "change" en "" "p" "c" "7" "") ) ) ) ) (command "-purge" "a" "" "N") (command "undo" "e") (princ)) ) 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
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 6 4, 2011 mong các pro viết thêm mọt hai dòng lisp nữa lisp không tẩy được layer có trong block nhìn rất khó chịu thank you Hề hề hề, Với các chú block thì nếu muốn xử nó bạn cần nói rõ hơn mới được. Tỷ như các block này có chứa các block con hay không??? Các block này được tạo từ cái gì?? Có gồm các đối tượng Xref không??? Có cho phép phá vỡ các block hay vẫn cứ phải giữ nguyên nó ???? Ái chà chà, bạn suy nghĩ thêm ky kỹ một chút rồi đặt lại vấn đề cho chuẩn xác nhé. Hề hề hề,.... 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
bibibobobaby 0 Báo cáo bài đăng Đã đăng Tháng 6 4, 2011 Lần đầu tham gia diễn đàn, có gì sai sót mong mọi người bỏ qua :((( Em đang có 2 bản vẽ nhà thế này. Giờ làm sao dùng lisp để ứng dụng lên bản vẽ này được ạh? (như viết code để vẽ cửa đi, cầu thanng,... tự động) Hay làm sao dùng lisp để vẽ bản vẽ như thế 1 cách tự động dc ạh? em không rành lisp, tìm được nhiều file lisp rồi mà không bik cak sử dụng. Mong anh Nguyen Hoanh giúp đỡ :( t2 này phải viết báo cáo rồi :((((((((( em tự mày mò hoài ko ra :((((( http://www.mediafire.com/file/s5dkui8k8uckc58/hoc.dwg http://www.mediafire.com/file/eeg0mqg4t36cqb3/NHA%20IN.dwg Mình đang tìm hiểu về lisp cho nhóm, và mình muốn dùng lisp để thực hành trên bản vẽ này (vẽ thêm cầu thang, cửa, tường,...). Bạn nào có thể cho mình file lisp cũng như cách thực hiện các bước để thao tác lisp trên bản vẽ không? đa tạ nhiều lém :D http://www.mediafire.com/file/s5dkui8k8uckc58/hoc.dwg email của mình là n.anhdonguyen@gmail.com Mình mong sự giúp đỡ từ diễn đàn nhìu nhìu :D 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
3d.decor 1 Báo cáo bài đăng Đã đăng Tháng 6 4, 2011 Hề hề hề, Với các chú block thì nếu muốn xử nó bạn cần nói rõ hơn mới được. Tỷ như các block này có chứa các block con hay không??? Các block này được tạo từ cái gì?? Có gồm các đối tượng Xref không??? Có cho phép phá vỡ các block hay vẫn cứ phải giữ nguyên nó ???? Ái chà chà, bạn suy nghĩ thêm ky kỹ một chút rồi đặt lại vấn đề cho chuẩn xác nhé. Hề hề hề,.... mình cần tẩy layer thôi còn các block giữ nguyên thuộc tính, chỉ là chuyển layer thôi ko cần xref vì mình không dùng xref 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
ketxu 3004 Báo cáo bài đăng Đã đăng Tháng 6 4, 2011 Lần đầu tham gia diễn đàn, có gì sai sót mong mọi người bỏ qua :((( Em đang có 2 bản vẽ nhà thế này. Giờ làm sao dùng lisp để ứng dụng lên bản vẽ này được ạh? (như viết code để vẽ cửa đi, cầu thanng,... tự động) Hay làm sao dùng lisp để vẽ bản vẽ như thế 1 cách tự động dc ạh? em không rành lisp, tìm được nhiều file lisp rồi mà không bik cak sử dụng. Mong anh Nguyen Hoanh giúp đỡ :( t2 này phải viết báo cáo rồi :((((((((( em tự mày mò hoài ko ra :((((( http://www.mediafire.com/file/s5dkui8k8uckc58/hoc.dwg http://www.mediafire.com/file/eeg0mqg4t36cqb3/NHA%20IN.dwg Mình đang tìm hiểu về lisp cho nhóm, và mình muốn dùng lisp để thực hành trên bản vẽ này (vẽ thêm cầu thang, cửa, tường,...). Bạn nào có thể cho mình file lisp cũng như cách thực hiện các bước để thao tác lisp trên bản vẽ không? đa tạ nhiều lém :D http://www.mediafire.com/file/s5dkui8k8uckc58/hoc.dwg email của mình là n.anhdonguyen@gmail.com Mình mong sự giúp đỡ từ diễn đàn nhìu nhìu :D Một câu hỏi mông lung sẽ khó lòng nhận được một câu trả lời cụ thể. Bạn post 2 bản vẽ lên với hàng trăm đối tượng và đưa ra 1 đề bài :"Vẽ tự động" Dù bạn không rành lisp, nhưng bạn cũng cần nhớ Lisp liếc gì gì cũng là từ cái máy mà ra, đã là máy thì chỉ làm cái mà mình quyết định cho nó làm, và quyết định của bạn không phải ai cũng mần hộ được. Lisp cũng là 1 ngôn ngữ lập trình, nên bạn chí ít cần biết sơ qua về tư duy lập trình đã :) Mình nghĩ bạn nên nghiêm túc đọc các bài giới thiệu về lisp, chứ đốt cháy giai đoạn như thế, e.. ít người có khả nă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
phamthanhbinh 3149 Báo cáo bài đăng Đã đăng Tháng 6 4, 2011 mình cần tẩy layer thôi còn các block giữ nguyên thuộc tính, chỉ là chuyển layer thôi ko cần xref vì mình không dùng xref Bạn dùng thử cái này coi sao nhé. (defun c:dlay (/ ss ssl en enl lay) (vl-load-com) (command "undo" "be") (setq ss (ssget "x") ssl (acet-ss-to-list ss)) (if (= (tblsearch "layer" "wall") nil) (command "layer" "n" "wall" "c" "7" "wall" "lt" "continuous" "wall" "") ) (foreach en ssl (setq enl (entget en) lay (cdr (assoc 8 enl))) (if (or (/= lay "cut") (/= lay "glass") (/= lay "hide") (/= lay "hatch") (/= lay "funitures") (/= lay "tree") (/= lay "text") (/= lay "center")) (progn (command "change" en "" "p" "la" "wall" "") (if (/= (cdr (assoc 62 enl)) nil) (command "change" en "" "p" "c" "7" "") ) ) ) (if (= (cdr (assoc 0 enl)) "INSERT") (progn (setq bln (cdr (assoc 2 enl))) (dbl bln) ) ) ) (command "regenall") (command "undo" "e") (princ) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun dbl (bln / e1 el1 lay ) (setq e1 (cdr (assoc -2 (tblsearch "block" bln)))) ;;;;;(setq e1 (entnext en)) (while e1 (setq el1 (entget e1)) (if (/= (cdr (assoc 0 el1)) "INSERT") (progn (setq lay (cdr (assoc 8 el1))) (if (or (/= lay "cut") (/= lay "glass") (/= lay "hide") (/= lay "hatch") (/= lay "funitures") (/= lay "tree") (/= lay "text") (/= lay "center")) (progn (setq el1 (subst (cons 8 "wall") (assoc 8 el1) el1)) (if (/= (cdr (assoc 62 el1)) nil) (setq el1 (subst (cons 62 7) (assoc 62 el1) el1)) (setq el1 (cons (cons 62 7) el1)) ) (entmod el1) ) ) ) (dbl (cdr (assoc 2 (entget e1)))) ) (setq e1 (entnext e1)) ) ) 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
3d.decor 1 Báo cáo bài đăng Đã đăng Tháng 6 5, 2011 vẫn khônh được bác pham thanh binh a bác thử sửa từ lisp này xem nhưng trừ layer: cut,glass,hide,hatch,funitures,tree,text,center lisp này không biết pro nào viết tẩy cả block và dim cực kỳ pro mong pro nào rảnh giúp đỡ (defun c:clear(/ nla) (vl-load-com) (command "undo" "be") (setvar "cmdecho" 0) (setq nla "funitures") (if (not (tblsearch "layer" nla))(command "layer" "n" nla "c" "31" nla "lt" "continuous" nla "")) (setvar "clayer" nla) (command "change" (ssget "X") "" "p" "la" nla "c" "31" "") (setq adoc (vla-get-activedocument (vlax-get-acad-object))) (vlax-for block (vla-get-blocks adoc) (if (not (wcmatch (strcase (vla-get-name block) t) "*_space*")) (vlax-for ent block (progn (vla-put-color ent "31") (vla-put-layer ent "funitures") ) ) ) ) (acet-sysvar-set (list "dimclrt" 256 "dimclre" 256 "dimclrd" 256 "INSUNITS" 4 "INSUNITSDEFSOURCE" 4 "INSUNITSDEFTARGET" 4)) (command "dim1" "update" (ssget "X" '((0 . "Leader"))) "") (vla-regen adoc acactiveviewport) (command "-purge" "a" "" "N") (command "undo" "e") (princ)) sory pro ketxu mong pro giúp amater cái chuyển tất cả nhưng trừ lại một số layer: cut,glass,hide,hatch,funitures,tree,text,center không cần chuyển dim, hoặc chuyển cả dim ( cái này thì sao cũng được ) thank you 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
ketxu 3004 Báo cáo bài đăng Đã đăng Tháng 6 5, 2011 vẫn khônh được bác pham thanh binh a bác thử sửa từ lisp này xem nhưng trừ layer: cut,glass,hide,hatch,funitures,tree,text,center lisp này không biết pro nào viết tẩy cả block và dim cực kỳ pro mong pro nào rảnh giúp đỡ vẫn không đưõc My link Những cái @ nếu bạn có ý định post lại tại chính diễn đàn thì đừng xóa nó đ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