Han Tinh 7 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 Chào các anh em trong điễn đàn cadviet, mình có tạo một tiện ích dùng trong cad(tạo thư viện trong cad với file ảnh là *sld), với phần mở rộng là *.mns trên thanh toolbar, nhưng khi insert thì đối tượng đó không nằm ngay con trỏ mà nằm ở rất xa so với con trỏ. khi insert xong ta phải zoom all mới thấy được đối tượng đó. Có cách nào khi ta insert thì đối tượng nằm ngay con trỏ không vậy. Cảm ơn các anh 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
ketxu 2.984 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 Nếu sử dụng Block chắc bạn sẽ hiểu nó phụ thuộc vào điểm chèn Block lúc tạo 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
nguyenbd1 13 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 không phải block mà la bản vẽ. moj khung nhjn tren tjen jch dó là 1 bản vẻ hã di chuen bả ve về gốc toạ do 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
Han Tinh 7 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 Cam ơn bạn nguyenbd1 nhiều nha! mình làm được rồi. Là phải đem bản vẽ trong khung nhìn về góc tọa độ. Thanks bạn! Với lại cho mình hỏi thêm tí nữa là: mình muốn dùng Lisp để gọi bản vẽ trong tiện ích ra mà không phải dùng chuột để chọn chúng trên toolbar thì được không vậy? 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
Doan Van Ha 3.184 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 Cho "vô duyên" tí: Han tinh có "bà con" gì với Banglang_tim không vậy? 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
namnhim 6 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 Cam ơn bạn nguyenbd1 nhiều nha! mình làm được rồi. Là phải đem bản vẽ trong khung nhìn về góc tọa độ. Thanks bạn! Với lại cho mình hỏi thêm tí nữa là: mình muốn dùng Lisp để gọi bản vẽ trong tiện ích ra mà không phải dùng chuột để chọn chúng trên toolbar thì được không vậy? nếu muốn dùng lisp bạn có thể dùng đoạn code này: (DEFUN C:GBV() (prompt "\n DE GOI BVE TRONG THU VIEN") (setq ms 1) (setq x (getpoint "\nCHON GOC TRAI-DUOI BAN VE :")) (setenv "ACAD" (strcat (GETENV "ACAD") ";" "C:\\Program Files\\AutoCAD 2004\\Thu Vien")) (command "-insert" "C:\\Program Files\\AutoCAD 2004\\Thu Vien\\TENBVE.DWG" x ms ms "0") (Command "explode" (ssget "L")) (Command "-purge" "b" "TENBVE" "y" "y") (Command "zoom" "e") (prompt "\nDA GOI BVE RA")(princ)) lưu ý là bve mẫu được lưu theo đường dẫn "C:\\Program Files\\AutoCAD 2004\\Thu Vien" là ok 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
juny 3 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 facebook autocad tutorial 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
nguyenbd1 13 Báo cáo bài đăng Đã đăng Tháng 1 21, 2014 bạn hãy tham khao lisp geo cua bak ssg. da up tren djen dan 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
Han Tinh 7 Báo cáo bài đăng Đã đăng Tháng 1 22, 2014 Bạn namnhim cho mình hỏi là: minh vẩn tạo thư mục thư viện trong đó vẫn có flie TENBVE và lưu theo đường dẫn trong ổ C, mà sau khi gọi lệnh thì màn hình hiện lên các dòng như này là sao vậy 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
namnhim 6 Báo cáo bài đăng Đã đăng Tháng 1 23, 2014 bạn đổi Cad 2004 thành 2007 (\\Program Files\\AutoCAD 2004\\....) ==> (\\Program Files\\AutoCAD 2007\\....) 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
banglang_tim 0 Báo cáo bài đăng Đã đăng Tháng 1 23, 2014 Thanks bạn namnhim nhiều nha! Nhưng có vấn đề là: nếu trong folder Thu Vien mình lưu nhiều bản vẽ(VD là 50 bản vẽ) thì khi gọi lệnh nó sẽ cho ra một loạt( 50 bản vẽ) thì rất là bất tiện lắm. Có cách nào khi GỌI LỆNH nó sẽ hiện trên màn hình hay trên thanh toolbar dưới dạng cây folder(thư mục cha và các thư mục con). 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
namnhim 6 Báo cáo bài đăng Đã đăng Tháng 1 24, 2014 cái này chỉ để gọi cho 1 bve do bạn đặt tên trong Thư Viện, (command "-insert" "C:\\Program Files\\AutoCAD 2004\\Thu Vien\\TENBVE.DWG" x ms ms "0") Nếu bạn muốn gọi từng chi tiết bằng bảng điều khiển thì hình như trên diễn đàn đã có rồi, bạn có thể tìm nó tối ưu hơn. hoặc bạn có thể dùng theo kiểu cùi bắp này là tạo những file chi tiết riêng rồi vất vào trong thư viện, sau đó sử dụng Lisp hiển thị bảng lệnh do anh anh Ketxu viết và gõ LC là hiện ra bảng có tên chi tiết cần gọi rồi chon chi tiết đó và nhấn OK là ra cái chi tiết đó. (defun c:lc(/ LM:ListBox str lstData ST:SendKeys) (setq lstData (acad_strlsort (list ;Viet tiep cac lenh vao duoi dong nay theo mau "Ten lenh Noi dung" "MCA MatcatAA.dwg" "MCB MatcatBB.dwg" "MCC MatcatCC.dwg" "CO Copy th\U+00F4ng minh" )) ) (defun ST:SendKeys (keys / ws) (vlax-invoke-method (setq ws (vlax-create-object "WScript.Shell")) 'sendkeys keys) (vlax-release-object ws) (princ) ) (defun LM:ListBox ( title data multiple / file tmp dch return ) (cond ( (not (and (setq file (open (setq tmp (vl-filename-mktemp nil nil ".dcl")) "w")) (write-line (strcat "listbox : dialog { label = \"" title "\"; spacer; : list_box { key = \"list\"; multiple_select = " (if multiple "true" "false") "; } spacer; ok_cancel;}" ) file ) (not (close file)) (< 0 (setq dch (load_dialog tmp))) (new_dialog "listbox" dch) ) ) ) ( t (start_list "list") (mapcar 'add_list data) (end_list) (setq return (set_tile "list" "0")) (action_tile "list" "(setq return $value)") (setq return (if (= 1 (start_dialog)) (mapcar '(lambda ( x ) (nth x data)) (read (strcat "(" return ")"))) ) ) ) ) (if (< 0 dch) (unload_dialog dch)) (if (setq tmp (findfile tmp)) (vl-file-delete tmp)) return ) (cond ( (setq str (LM:ListBox "Ghi ch\U+00FA l\U+1EC7nh - lisp CAD - @ketxu - 2/6/2012 :" lstData nil)) (setq str (car str)) (ST:SendKeys (strcat (substr str 1 (vl-string-position 32 str)) "\n")) ) ) (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