tien2005 242 Báo cáo bài đăng Đã đăng Tháng 8 25, 2008 Bác Hoanh ơi giúp e với em có câu lệnh này(defun c:sb ()(ssget)(command "draworder" "p" "" "b" "")) Bác giúp e thêm 1 mã lệnh để sao cho khi ta gõ lệnh sb nó sẽ tự động chon tất cả đối tượng hatch trong bản vẽ với Cảm ơn bác trước nhé ......... help me....... (ssget) của Bạn thay bằng cái này (ssget "X" '((0 . "Hatch")) ) 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
ssg 1.102 Báo cáo bài đăng Đã đăng Tháng 8 25, 2008 bác nào giúp em với. Em đang cần 1 lisp với nội dung sauGiả sử bản vẽ ta có 4 lớp : 1,2,3,4 e muốn có 1 lisp có thể mặc định lớp 2 luôn nằm trên lớp 1,3,4 Nôm na e muốn có 1 lisp quản lý hệ thống layer sao cho ta có thể mặc định 1 lớp luôn nằm trên hay nằm dưới các lớp khác giống như quản lý layer trong shop đó các bác Mong các bác cao thủ giúp em với...........hic hic AutoCAD không quản lý layer theo kiểu của PhotoShop hay CorelDraw. Trong AutoCAD, cái nào sinh ra sau được nằm trên, bất kể ở layer nào. User chỉ có thể hoán đổi thứ tự ấy cho một nhóm đối tượng cụ thể nào đó đã được chỉ định bằng lệnh "draworder". Yêu cầu của bạn không thể thực hiện được về nguyên tắc! Đúng hơn, có thể thực hiện được cho các đối tượng đã tồn tại trên bản vẽ bằng lisp sau: (defun C:FR( / lay ss) (setq lay (cdr (assoc 8 (entget (car (entsel "\nChon doi tuong mau:"))))) ss (ssget "X" (list (cons 8 lay))) ) (command "draworder" ss "" "f") ) Lệnh FR, chọn 1 đối tượng bất kỳ -> toàn bộ các đối tượng đang có trong bản vẽ, cùng layer với đối tượng vừa chọn sẽ nhảy lên trên. Nhưng những đối tượng mới, được tạo ra kể từ đó về sau, vẫn theo quy luật "sinh ra sau được nằm trên" như đã 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
thiennvpecc1 3 Báo cáo bài đăng Đã đăng Tháng 8 26, 2008 Trong hộp thoại, khi tính toán xong các giá trị đầu vào trong các ô thường mất đi, Làm cách nào để khi tính toán xong thi các giá trị đó vẫn được lưu lại trong ô tính toán không nhỉ (cho đỡ phải nhập lại từ đầu mà). Bác Hoang xem giúp em được không nhỉ. 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
dvdcad 1 Báo cáo bài đăng Đã đăng Tháng 8 26, 2008 làm thế nào để mờ đi một lệnh trong một menu. ví dụ: làm mờ lệnh LINE trong menu Draw 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
nataca 554 Báo cáo bài đăng Đã đăng Tháng 8 27, 2008 (defun c:C[color="#FF0000"]N[/color]InVis (/ SSet Count Elem) (defun Dxf (Id Obj) (cdr (assoc Id (entget Obj))) ) ;end Dxf (cond ((setq SSet (ssget "X" [color="#FF0000"](append (list (cons -4 "<NOT"))[/color] (filterchondttheomau (maucuadoituong (car (entsel "\nHay pick vao doi tuong de chon mau: ") ) ) ) [color="#FF0000"](list (cons -4 "NOT>")))[/color] ) ) [b][color="#FF0000"] ssadd[/color][/b] (repeat (setq Count (sslength SSet)) (setq Count (1- COunt) Elem (ssname SSet Count) ) [b][color="#FF0000"] (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))[/color][/b] (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 maucuadoituong (ent) (setq tt (entget ent) chon (assoc 62 tt) ) (cond (chon (cdr chon)) (t (cdr (assoc 62 (tblsearch "layer" (cdr (assoc 8 tt)))))) ) ) (defun filterchondttheomau (mau) (defun chonlayertheomau (mau / kq) (setq curlay (tblnext "LAYER" t)) (while curlay (if (= mau (cdr (assoc 62 curlay))) (setq kq (append kq (list (cdr (assoc 2 curlay))))) ) (setq curlay (tblnext "LAYER")) ) kq ) (setq filterlist nil taplayer (chonlayertheomau mau) ) (foreach pp taplayer (setq filterlist (append filterlist (list (cons -4 "<AND") (cons 62 256) (cons 8 pp) (cons -4 "AND>") ) ) ) ) (setq filterlist (append (list (cons -4 "<OR") (cons 62 mau)) filterlist (list (cons -4 "OR>")) ) ) ) (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem))))) Bác NguyenHoanh ơi giải thích gùm em hàm logand dùng trong trường hợp này có tác dụng như thế nào? Vì theo em hiểu hàm Logand là "and ở dạng nhị phân các số nguyên". Và hàm ssadd đứng 1 mình ( không nằm trong cặp dấu "()" ) có ý nghĩa như thế nào? Em đọc lisp ẩn đối tượng của bác có 2 phần trên chưa hiểu. Bác giúp em nhé. Cám ơn bác :lol: 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
anhlylyhuynh 1 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Chào Bác NguyenHoanh Nhờ bác viết dùm đọan code vẽ mặt cắt ngang từ file bình đồ điểm là file cad có các điểm text 2d Xin cám ơ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
anhlylyhuynh 1 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Chào Bác NguyenHoanh Nhờ bác viết dùm đọan code vẽ mặt cắt ngang từ file bình đồ điểm là file cad có các điểm text 2d Xin cám ơ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
uct_0978333594 42 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Xin chào cả nhà! Các bác cho em hỏi trên diễn đàn đã có lisp nào chuyển được các text đang ở chữ thường thành chữ hoa không ạ, Em tìm kiếm nhưng mà không có. Các bác có thể viết cho Em một cái lisp mà chuyển từ chữ thường thành chữ hoa và ngược lại được không. Tại Em phải sửa bản vẽ mà toàn ghi chú bằng chữ thường thôi muốn chuyển thành chữ hoa mà phải gõ lại thì toi mất. Cám ơn các Bác 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
doanduyhung 40 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Vào express -> text -> change text case chọn các text cần chuyển.... Hay bạn dùng lệnh tcase Luu ý: phải cài express vào cad trướ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
anhlylyhuynh 1 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Chào các bácNhờ các bác viết dùm đọan code vẽ mặt cắt ngang từ file bình đồ điểm là file cad có các điểm text 2d Xin chân thành cám ơ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
anhlylyhuynh 1 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Chào cả nhà Nhờ các bác viết dùm đọan code vẽ mặt cắt ngang từ file bình đồ điểm là file cad có các điểm text 2d Xin chân thành cám ơ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
uct_0978333594 42 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Vào express -> text -> change text case chọn các text cần chuyển....Hay bạn dùng lệnh tcase Luu ý: phải cài express vào cad trước Cam ơn Bác 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
Cuti 0 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Chào Bác NguyenHoanhNhờ bác viết dùm đọan code vẽ mặt cắt ngang từ file bình đồ điểm là file cad có các điểm text 2d Xin cám ơn! bạn nói rõ hơn ý của bạn ! bạn dùng cho tính toán khối lượng nạo vét, hay 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
anhlylyhuynh 1 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 bạn nói rõ hơn ý của bạn ! bạn dùng cho tính toán khối lượng nạo vét, hay làm gì ?! Mình dùng để vẽ mặt cắt ngang hiện trạng theo vết cắt (vết cắt là đường line hoặc pline) trên bình đồ điểm (điểm là các text 2D) Nhờ bạn giúp dùm! 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
quangktw 0 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Bạn có thể post yêu cầu về autolisp ở topic này. bạn nào viết cho mình lisp mà thay cái phím esc -->phím chuột phải (right click)được ko.chuột phải mình ít khi dùng mà với tay lên cái phím esc xa qua. heee.cam ơn trướ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
dh2xd 24 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Các bác ơi em có đoạn mấ này (defun c:3 () (ssget) (command "CHANGE" "P" "" "p" "la" "vat lieu" "") ) Tác dụng là nó chuyển toàn bộ đối tượng được chọn sang layer vat lieu Em muốn các bác giúp e thêm 1 đoạn mã để khi ấn lệnh nó chọn toàn bộ hatch trong bản vẽ đồng thời chuyển chúng sang layer vat lieu luôn Nếu được các bác khuyến mãi e đoạn mã tương tự nhưng đối tượng không phải là hatch mà là toàn bộ dim trong bản vẽ Em trân thành cảm ơn các bác 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
dh2xd 24 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Sorry các bác sau khi đọc xong đoạn mã này của bác tien2005 (ssget) của Bạn thay bằng cái này (ssget "X" '((0 . "Hatch")) ) em đã ngộ ra được chân lý và làm được rồi đã làm phiên các bác Cảm ơn bác tien2005 nhiều 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
chutuocttm 0 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Bác Ngọc Quan õi !xin bác giúp cho em cái lisp tạo layer của bác !Em cần nó lắm ! nhýng tìm hoài mà ko thấy ! khi post bài thì ko có ai trả lời ! hix ! làm õn nha bác ! xin bác giúp cho ! 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
meohoang 344 Báo cáo bài đăng Đã đăng Tháng 8 28, 2008 Trong hộp thoại, khi tính toán xong các giá trị đầu vào trong các ô thường mất đi, Làm cách nào để khi tính toán xong thi các giá trị đó vẫn được lưu lại trong ô tính toán không nhỉ (cho đỡ phải nhập lại từ đầu mà). Bác Hoang xem giúp em được không nhỉ. Ý bác nói về hộp thoại nào trong Cad? 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
vndesperados 254 Báo cáo bài đăng Đã đăng Tháng 8 29, 2008 Bác Ngọc Quan õi !xin bác giúp cho em cái lisp tạo layer của bác !Em cần nó lắm ! nhýng tìm hoài mà ko thấy ! khi post bài thì ko có ai trả lời ! hix ! làm õn nha bác ! xin bác giúp cho ! (DEFUN CREATELAYER(laname lacolor lalt);; Tao mot layer moi (tenlayer mauyer duongnetlayer) (if (tblsearch "LAYER" laname);; Kiem tra layer da ton tai (princ (strcat "Layer" laname " da ton tai") (if (tblsearch "LTYPE" ltname);if linetype exsists (command "._Layer" "_Make" laname "_Color" lacolor laname "_LT" ltname laname "") (command "._Layer" "_Make" laname "_Color" lacolor laname "_LT" "Continuous" laname "") ) ) ) 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 1.549 Báo cáo bài đăng Đã đăng Tháng 8 29, 2008 làm thế nào để mờ đi một lệnh trong một menu. ví dụ: làm mờ lệnh LINE trong menu Draw -Nếu muốn làm 1 mục nào đó mờ ngay từ khi vừa khởi động cad thì thêm dấu ~ tại vị trí như đaon5 dưới đây. [--] ID_luu [~Luu lai thu vien]^C^C^C_luutvnd ID_nhap [~Cap nhat thu vien]^C^C^C_capnhattvnd ID_gioithieu [~Gioi thieu]^C^C^C_foryou lgoduyfy.sld; [--] -Muốn can thiệp cho mờ đi bằng dòng lệnh thì làm như sau: (MENUCMD "Gtvnd.ID_nhap=~") -Muốn hiện lại thì làm như sau: (MENUCMD "Gtvnd.ID_nhap=") 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
meohoang 344 Báo cáo bài đăng Đã đăng Tháng 8 29, 2008 -Nếu muốn làm 1 mục nào đó mờ ngay từ khi vừa khởi động cad thì thêm dấu ~ tại vị trí như đaon5 dưới đây. [--] ID_luu [~Luu lai thu vien]^C^C^C_luutvnd ID_nhap [~Cap nhat thu vien]^C^C^C_capnhattvnd ID_gioithieu [~Gioi thieu]^C^C^C_foryou lgoduyfy.sld; [--] -Muốn can thiệp cho mờ đi bằng dòng lệnh thì làm như sau: (MENUCMD "Gtvnd.ID_nhap=~") -Muốn hiện lại thì làm như sau: (MENUCMD "Gtvnd.ID_nhap=") Uh hay ghê duy782006 ơi lâu nay mình ko biết chiện này. Xin cám ơn nhiều..... :lol: 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
anhlylyhuynh 1 Báo cáo bài đăng Đã đăng Tháng 8 29, 2008 Các bạn ơi! giúp mình với Nhờ các bác viết dùm đọan code vẽ mặt cắt ngang từ file bình đồ điểm là file cad có các điểm text 2d Xin chân thành cám ơ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
dh2xd 24 Báo cáo bài đăng Đã đăng Tháng 8 29, 2008 Bạn dùng lisp này, lệnh BRK: ;;;------------------------------------------------------------- (defun ss2ent (ss / i Le e) (setq i 0 Le nil) (repeat (sslength ss) (setq e (ssname ss i) Le (append Le (list e)) i (1+ i) ) ) Le ) ;;;------------------------------------------------------------- (defun DXF (code e) (cdr (assoc code (entget e))) ) ;;;------------------------------------------------------------- (defun get_inters(e1 e2 / p11 p12 p21 p22) (setq p11 (dxf 10 e1) p12 (dxf 11 e1) p21 (dxf 10 e2) p22 (dxf 11 e2) ) (inters p11 p12 p21 p22) ) ;;;------------------------------------------------------------- (defun C:BRK( / ss L Lp e1 e2 p e) (setq ss (ssget '((0 . "LINE"))) L (ss2ent ss) Lp nil ) (foreach e1 L (foreach e2 L (setq p (get_inters e1 e2)) (if (and p (not (member p Lp))) (setq Lp (append Lp (list p)))) ) ) (foreach p Lp (setq ss (ssget "C" p p '((0 . "LINE"))) L (ss2ent ss) ) (foreach e L (command "break" e p p)) ) (princ) ) ;;;------------------------------------------------------------- bác nào có thể sửa lại để ta có thể chọn bất kỳ đối tượng nào như : arc, spline ko giới hạn ở line 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
quangagf 0 Báo cáo bài đăng Đã đăng Tháng 8 30, 2008 Bạn có thể post yêu cầu về autolisp ở topic này. nhờ bac Hoanh tìm dùm phần mềm nào thống kê được khối lượng vật tư điện trên bảng vẽ cad khg, e tìm trên diễn đàn mà khg thấy, cam ơn nhiều, em cần gấp lắm, e là dân điện, khg phải dân xây dự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