nqt266 0 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 http://www.cadviet.com/sub/hupload.php?fok=doc1_4.doc Bác gia_bach và anh em xem hình ảnh em gửi theo link trên này nhé, em muốn quay rất nhiều đối tượng như vậy, làm tay vo nhiều mệt quá, rất mong nhận được sự giúp đỡ của bác và anh em! 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
gia_bach 1.553 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 http://www.cadviet.com/sub/hupload.php?fok=doc1_4.docBác gia_bach và anh em xem hình ảnh em gửi theo link trên này nhé, em muốn quay rất nhiều đối tượng như vậy, làm tay vo nhiều mệt quá, rất mong nhận được sự giúp đỡ của bác và anh em! Xin chân thành cảm ơn! Gửi bạn Lisp quay tất cả đối tuợng trong đuờng tròn. (Tui e rằng mai mốt bạn lại yêu cầu quay thêm arc hay dimension ... ) Nhắc bạn : tại sao bạn không Upload file CAD (với file CAD mọi chuyện sẽ rõ ràng hơn). nguời sử dụng CAD lại dùng File Word (document) để thể hiện hình ảnh (image) (defun c:rot(/ ang axss cen lst ov ss_txt vl);Rotate text in Circle ;; By : Gia Bach, Copyrightゥ December 2009 ;; ;; Contact : gia_bach @ www.CadViet.com ;; (defun TraceCIRCLE (obj / sp ep inc pt ptlst) (setq sp 0 ep (* 2 pi) inc (/ ep 72) ) (while (< sp ep) (setq pt (vlax-curve-getPointAtParam obj sp) ptlst (cons pt ptlst) sp (+ inc sp)) ) (reverse ptlst) ) (vl-load-com) (setq vl '("osmode" "orthomode" "cmdecho") ; Sys Var list ov (mapcar 'getvar vl)) ; Get Old values (mapcar 'setvar vl '(0 0 0)) (or *ang* (setq *ang* (/ pi 4))) (setq ang (getangle (strcat "\nNhap goc muon quay <" (angtos *ang*) ">: "))) (if ang (setq *ang* ang)) (setq ang (/ (* *ang* 180.0) pi)) (princ "\nChon vong tron de quay Text : ") (if (ssget (list (cons 0 "CIRCLE"))) (vlax-for e (vla-get-activeSelectionSet (vla-get-activedocument(vlax-get-acad-object))) (setq lst (TraceCIRCLE e) cen (vlax-safearray->list (variant-value (vla-get-Center e)))) (if (setq ss_txt (ssget "_cp" lst ) );chi chon Txt (vl-cmdf "_rotate" ss_txt "" cen ang) ) ) ) (mapcar 'setvar vl ov) ; reset Sys Vars (princ) ) 4 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
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 Gửi bạn Lisp quay tất cả đối tuợng trong đuờng tròn.(Tui e rằng mai mốt bạn lại yêu cầu quay thêm arc hay dimension ... ) ..... Mạn phép bổ sung thêm ý của anh gia_bach Lisp trên quay tất cả đối tuợng trong đuờng tròn và tất cả đối tuợng giao với đuờng tròn Cảm ơn anh gia_bach rất nhiều :( 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
nqt266 0 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 Xin chân thành cảm ơn bác gia_bach rẩt nhìu nha! Lisp của bác đúng là cái em đang cần. Từ trước em cứ nghĩ là cái này chắc không làm được nên cứ mải miết quay tay, mặc cho số phận...Hjx hjx. HÔm nay quyết định đưa yêu cầu thử lần đầu tiên xem sao, không ngờ được bác và mọi người đáp ứng ngay. Thật quá vui mừng và nể phục. Xin chúc bác và anh em trong diễn đàn năm mới mạnh khỏe, công việc tốt và sẽ luôn sát cánh cùng anh em trong diễn đàn để có thể làm nhẹ bớt phần nào công việc thiết kế của chúng ta. 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 3.146 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 http://www.cadviet.com/sub/hupload.php?fok=doc1_4.docBác gia_bach và anh em xem hình ảnh em gửi theo link trên này nhé, em muốn quay rất nhiều đối tượng như vậy, làm tay vo nhiều mệt quá, rất mong nhận được sự giúp đỡ của bác và anh em! Xin chân thành cảm ơn! Chào bạn nqt266, Dựa vào gợi ý của bác Gia bach, mình làm thử cái lisp này theo nguyên tắc giống như cái lisp gửi bạn muoild (để move nhiều đối tượng theo nhiều khoảng cách khác nhau). Cái lisp này sẽ cho bạn rotate nhiều nhóm đối tượng trong các vòng tròn lựa chọn mà mỗi nhóm quay theo một góc khác nhau. Nhưng bạn phải nhớ cái trật tự khi lựa chọn các vòng tròn và trật tự góc quay khi nhập. Bạn hãy thử xem nhé. (defun TraceCIRCLE (obj / sp ep inc pt ptlst) (setq sp 0 ep (* 2 pi) inc (/ ep 72) ) (while ( (setq pt (vlax-curve-getPointAtParam obj sp) ptlst (cons pt ptlst) sp (+ inc sp)) ) (reverse ptlst) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:mulro () (vl-load-com) (setq vl '("osmode" "orthomode" "cmdecho") ; Sys Var list ov (mapcar 'getvar vl)) ; Get Old values (mapcar 'setvar vl '(0 0 0)) (command "undo" "be") (setq sscir (ssget (list (cons 0 "CIRCLE"))) n (sslength sscir) i 0 lstg (list)) (while ( (setq goc (getreal "\Nhap goc quay theo do: ") lstg (append lstg (list goc)) i (1+ i)) ) (setq i 0) (while ( (setq ent (ssname sscir i) cen (cdr (assoc 10 (entget ent))) lstp (traceCircle (vlax-ename->vla-object ent)) ss (ssget "cp" lstp)) (command "rotate" ss "" cen (nth i lstg)) (setq i (1+ i)) ) (command "undo" "e") (mapcar 'setvar vl ov) ; reset Sys Vars (princ) ) Chúc bạn vui. 2 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
nqt266 0 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 Xin cảm ơn bác phamthanhbinh nha.Lisp của bác dùng cũng đúng như yêu cầu của em. Xin cảm ơn rất nhiiều, chúc bác năm mới khoẻ, công việc thuận lợi và có nhiều lisp hay! 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 3.146 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 Chào pro trong diễn đàn cadviet.xin viết cho em bài lisp theo yêu cầu của hình vẽ với . Visit My Website[/url Em cảm ơn diễn đàn! Chào bạn duongepu, Chưa hiểu bạn muốn gì khi gửi cái bản vẽ dao xọc này lên. Bạn muốn lisp thực hiện tất cả các thao tác vẽ để có được cái bản vẽ như vậy, hay bạn muốn lisp làm cái gì, phần nào trong bản vẽ???? Bạn nên trình bày rõ hơn yêu cầu của bạn nhé chớ đừng đánh đố người đọc bài như vậy, 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
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 12 30, 2009 Chào bạn nqt266,Dựa vào gợi ý của bác Gia bach, mình làm thử cái lisp này theo nguyên tắc giống như cái lisp gửi bạn muoild (để move nhiều đối tượng theo nhiều khoảng cách khác nhau). Cái lisp này sẽ cho bạn rotate nhiều nhóm đối tượng trong các vòng tròn lựa chọn mà mỗi nhóm quay theo một góc khác nhau. Nhưng bạn phải nhớ cái trật tự khi lựa chọn các vòng tròn và trật tự góc quay khi nhập. Bạn hãy thử xem nhé. Chào bác PhamthanhBinh Thay vì nhớ trật tự góc quay khi nhập, mình nên cho hiện sáng đối tượng lên và quay đối tượng ngay tại thời điểm mà ta nhập góc vào. Chỉ cần 1 vòng While là đủ và biến lstg của bác trong code có lẽ rằng không cần thiết. Như vậy thì bác khỏi phải nhớ cái trật tự khi lựa chọn các vòng tròn và trật tự góc quay khi nhập rồi. Tue_NV xin phép bổ sung vào code Lisp việc lưu giá trị góc nhập vào cho lần sử dụng sau luôn ( ngay trong vòng lặp While), hiện sáng đối tượng, dây tóc chuột tại tâm đường tròn và quay đối tượng ngay thời điểm mà User nhập góc. Và không quay những đường tròn mà trong nó hoặc giao với nó không có đối tượng nào cả (defun TraceCIRCLE (obj / sp ep inc pt ptlst) (setq sp 0 ep (* 2 pi) inc (/ ep 72) ) (while ((setq pt (vlax-curve-getPointAtParam obj sp) ptlst (cons pt ptlst) sp (+ inc sp)) ) (reverse ptlst) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:mulro (/ sscir i n ent cen lstp ss ang vl ov) (vl-load-com) (setq vl '("osmode" "orthomode" "cmdecho") ; Sys Var list ov (mapcar 'getvar vl)) ; Get Old values (mapcar 'setvar vl '(0 0 0)) (command "undo" "be") (setq sscir (ssget (list (cons 0 "CIRCLE"))) n (sslength sscir) i 0 ) (or *ang* (setq *ang* (* (/ pi 4)))) (while ((setq ent (ssname sscir i) cen (cdr (assoc 10 (entget ent))) lstp (traceCircle (vlax-ename->vla-object ent)) ) (if (and (setq ss (ssget "cp" lstp)) (> (sslength ss) 1)) (command "rotate" ss "" cen (/ (* 180 (setq ang (getangle cen (strcat "\nNhap goc muon quay : ")))) pi) ) ) (setq i (1+ i)) (if ang (setq *ang* ang)) ) (command "undo" "e") (mapcar 'setvar vl ov) ; reset Sys Vars (princ) ) @Anh giaBach : Anh cho Tue_NV hỏi chút : ý nghĩa của hàm vl-cmdf tương tự như hàm command. Em nghĩ rằng hàm vl-cmdf có ưu điểm hơn hàm command. Không biết em suy nghĩ như vậy có đúng không? Hình như các hàm Vl, Vla có tốc độ xử lý nhanh hơn các hàm trong Lisp thì phải. Không biết Tue_NV có suy nghĩ như thế đúng không? Anh gia_bach cùng mọi người giải thích dùm Tue_NV chổ này tí nhé. Cảm ơn anh rất nhiều 3 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 12 31, 2009 @Anh giaBach : Anh cho Tue_NV hỏi chút : ý nghĩa của hàm vl-cmdf tương tự như hàm command. Em nghĩ rằng hàm vl-cmdf có ưu điểm hơn hàm command. Không biết em suy nghĩ như vậy có đúng không? Hình như các hàm Vl, Vla có tốc độ xử lý nhanh hơn các hàm trong Lisp thì phải. Không biết Tue_NV có suy nghĩ như thế đúng không? Anh gia_bach cùng mọi người giải thích dùm Tue_NV chổ này tí nhé. Cảm ơn anh rất nhiều Hàm vl-cmdf sẽ trả về giá trị T nếu công việc diễn ra suôn sẻ, như vậy anh có thể lấy luôn hàm vl-cmdf để làm điều kiện cho if được. Nếu suôn sẻ thì biểu thứ 1, nếu không suôn sẻ thì biểu thức 2. Đó là ý kiến riêng của em. 2 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 1.553 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 .......................... (traceCircle (vlax-ename->vla-object ent)) .......................... Mặc dù trong Help đối số của các hàm vlax-curve-get*** là VLA-object .Tuy nhiên trong thực tế, các hàm vlax-curve-get*** chấp nhận cả đối số là entity (ename data type). Do đó có thể gọi hàm traceCircle trực tiếp với ent : (traceCircle ent) ...........cho Tue_NV hỏi chút : ý nghĩa của hàm vl-cmdf tương tự như hàm command. Em nghĩ rằng hàm vl-cmdf có ưu điểm hơn hàm command. Không biết em suy nghĩ như vậy có đúng không? Hình như các hàm Vl, Vla có tốc độ xử lý nhanh hơn các hàm trong Lisp thì phải. ......... Đúng như Tue_NV nói : chức năng của vl-cmdf tương tự như hàm command.Tuy nhiên vl-cmdf thêm chức năng xác minh (kiểm tra tính hợp lệ) các đối số và chỉ thực thi nếu đối số là hợp lệ. Và như ý của Nataca : Hàm vl-cmdf sẽ trả về giá trị T (true) nếu công việc diễn ra suôn sẻ Nguợc lại command thực hiện lần luợt các đối số cho đến khi lỗi được phát hiện (nếu có). Do đó, lệnh có thể được thực thi một phần và chưa hoàn toàn kết thúc. 2 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
VoHoan 6 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Các cao thủ CadViet cho mình hỏi thế này: Mình có 1 đa giác kín, muốn chọn các đối tượng năm trong đa giác đó thì khi viết lisp sẽ dùng lựa chọn đối tượng theo cách "CP" hoặc "WP" với danh sách điểm là các đỉnh của đa giác đó. Tuy nhiên nếu đa giác đó là đa giác lồi thì không có vân đề gì, còn với đa giác lõm có hình phức tạp thì thường bị lỗi. Đấy là theo suy nghĩ của mình, bác nào có cách nào hay hoặc khắc phục nhược điểm trên của mình chỉ giúp với nhé. 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
gia_bach 1.553 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 ........... với đa giác lõm có hình phức tạp thì thường bị lỗi. ............... phức tạp cỡ nào ? Bạn có thể cho xem tí đuợc không ? :( Upload file CAD ......... 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
nataca 554 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Các cao thủ CadViet cho mình hỏi thế này: Mình có 1 đa giác kín, muốn chọn các đối tượng năm trong đa giác đó thì khi viết lisp sẽ dùng lựa chọn đối tượng theo cách "CP" hoặc "WP" với danh sách điểm là các đỉnh của đa giác đó. Tuy nhiên nếu đa giác đó là đa giác lồi thì không có vân đề gì, còn với đa giác lõm có hình phức tạp thì thường bị lỗi. Đấy là theo suy nghĩ của mình, bác nào có cách nào hay hoặc khắc phục nhược điểm trên của mình chỉ giúp với nhé. Xin cảm ơn. Theo mình nghĩ lỗi đó đơn thuần là do Cad. Do hình phức tạp mà bạn zoom nhỏ thì việc lựa chọn đối tượng sẽ bị sai số. Cách để giảm sai số là bạn phải chia miền thành nhiều miền nhỏ thôi. Cho quét qua từng miền, đến miền nào thì zoom extend miền đó 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
Phiphi- 176 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Gửi bạn Lisp quay tất cả đối tuợng trong đuờng tròn.... Khi PP chuyển các Text sang Attribute rồi làm thành Block để User dể dàng sử dụng thì Lisp của các Bác gia_bach, phamthanhbinh và Tue_NV không thể rotate các Block này được. Xin các bác giúp update Lisp trên để có thể rotate được cả các Block, đồng thời thêm khả năng chọn Line thay vì phải nhập góc muốn quay. Chắc Lisp này sẽ được nhiều Drafters sử dụng. Nếu được thì xin các Bác viết luôn Lisp dùng insert cái Block đó rồi chọn Line để rotate các đối tuợng trong đuờng tròn. Xin xem bản vẽ minh hoạ dưới đây. Thanks you http://www.cadviet.com/upfiles/2/rotate_block.dwg 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
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Khi PP chuyển các Text sang Attribute rồi làm thành Block để User dể dàng sử dụng thì Lisp của các Bác gia_bach, phamthanhbinh và Tue_NV không thể rotate các Block này được. Xin các bác giúp update Lisp trên để có thể rotate được cả các Block, đồng thời thêm khả năng chọn Line thay vì phải nhập góc muốn quay. Chắc Lisp này sẽ được nhiều Drafters sử dụng. Nếu được thì xin các Bác viết luôn Lisp dùng insert cái Block đó rồi chọn Line để rotate các đối tuợng trong đuờng tròn. Xin xem bản vẽ minh hoạ dưới đây. Thanks youhttp://www.cadviet.com/upfiles/2/rotate_block.dwg Chào Phiphi. Lisp của anh gia_bach, anh PhamThanhBinh và của Tue_NV viết theo yêu cầu của bạn nqt266 và chỉ có thể Rotate các đối tượng nằm trong CIRCLE, chứ chưa làm với đối tượng Block có vòng tròn. Nếu bạn muốn sử dụng thêm Block thì sử dụng Lisp này của Tue_NV mới viết thêm. Mình chưa đáp ứng được yêu cầu của bạn là chọn Line thay vì phải nhập góc muốn quay vì dạo này Tue_NV cũng khá bận vì công việc. KHi nào rãnh thì Tue_NV mới viết thêm cho PP được. Thông cảm nhé Bất kể điểm chèn Block nằm ở đâu thì Lisp chỉ quay tại tâm đường tròn đó mà thôi. Lisp chấp nhận cả CIRCLE và Block Bạn sử dụng Lisp này thử và cho ý kiến nhé: (defun TraceCIRCLE (obj / sp ep inc pt ptlst) (setq sp 0 ep (* 2 pi) inc (/ ep 72) ) (while ((setq pt (vlax-curve-getPointAtParam obj sp) ptlst (cons pt ptlst) sp (+ inc sp)) ) (reverse ptlst) ) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun c:mulro (/ sscir i n ent cen lstp ss ang vl ov) (vl-load-com) (setq vl '("osmode" "orthomode" "cmdecho") ; Sys Var list ov (mapcar 'getvar vl)) ; Get Old values (mapcar 'setvar vl '(0 0 0)) (command "undo" "be") (setq sscir (ssget (list (cons 0 "CIRCLE,INSERT"))) n (sslength sscir) i 0 ) (or *ang* (setq *ang* (* (/ pi 4)))) (while ((setq ent (ssname sscir i) cen (cdr (assoc 10 (entget ent))) ) ;Xu ly Circle (if (= (cdr (assoc 0 (entget ent))) "CIRCLE") (progn (setq lstp (traceCircle (vlax-ename->vla-object ent)) ) (if (and (setq ss (ssget "cp" lstp)) (> (sslength ss) 1)) (command "rotate" ss "" cen (/ (* 180 (setq ang (getangle cen (strcat "\nNhap goc muon quay : ")))) pi) ) ) );progn );if ;Xu ly Block (if (= (cdr (assoc 0 (entget ent))) "INSERT") (progn (setq ob (vlax-ename->vla-object ent) ) (foreach x (vlax-invoke ob 'explode) (if (= (vlax-get x 'ObjectName) "AcDbCircle") (progn (setq cen (vlax-safearray->list (variant-value (vla-get-Center x)))) (command "rotate" ent "" cen (/ (* 180 (setq ang (getangle cen (strcat "\nNhap goc muon quay : ")))) pi) ) (vla-erase x) ) (vla-erase x) );if );foreach );progn );if (setq i (1+ i)) (if ang (setq *ang* ang)) ) (command "undo" "e") (mapcar 'setvar vl ov) ; reset Sys Vars (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
gia_bach 1.553 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 .........Xin các bác giúp update Lisp trên để có thể rotate được cả các Block, đồng thời thêm khả năng chọn Line thay vì phải nhập góc muốn quay. ......................... Gửi bác Lisp quay Block thuộc tính tại điểm chèn. góc có thể nhập trực tiếp hoặc Pick 2 điểm. (defun c:rob(/ ang doc ov vl) ;Rotate Block at Center ;; By : Gia Bach, Copyrightゥ December 2009 ;; ;; Contact : gia_bach @ www.CadViet.com ;; (defun *error* (msg) (if ov (mapcar 'setvar vl ov)) (if (not(wcmatch (strcase msg) "*BREAK,*EXIT*,*CANCEL*")) (princ (strcat "\n** Error: " msg " **"))) (princ)) (vl-load-com) (setq doc (vla-get-activedocument(vlax-get-acad-object)) vl '("osmode" "orthomode" "cmdecho") ; Sys Var list ov (mapcar 'getvar vl)) ; Get Old values (mapcar 'setvar vl '(33 0 0)) (or *ang* (setq *ang* (/ pi 4))) (princ "\n Chon Block de quay :") (while (ssget (list (cons 0 "INSERT")(cons 62 1))) (setq ang (getangle (strcat "\nNhap goc muon quay <" (angtos *ang*) "> hay Pick diem : "))) (if ang (setq *ang* ang)) (vlax-for e (vla-get-activeSelectionSet doc) (vla-rotate e (vla-get-InsertionPoint e) *ang*)) (princ "\n Chon Block de quay :") ) (mapcar 'setvar vl ov) ; reset Sys Vars (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
Trần Diệu Nhân 20 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Mình muốn có một lisp thực hiện 2 lệnh sau: F (fillet) enter R (rectangle) enter 0 enter Mong được giúp đỡ! :( 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 1.553 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Mình muốn có một lisp thực hiện 2 lệnh sau:F (fillet) enter R (rectangle) enter 0 enter Mong được giúp đỡ! :( Mại dzô : Link 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.559 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Mình muốn có một lisp thực hiện 2 lệnh sau:F (fillet) enter R (rectangle) enter 0 enter Mong được giúp đỡ! :( Muốn giúp nhưng hông hiể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
Trần Diệu Nhân 20 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 thay vì phải lặp lại lệnh fillet (F), nhập tiếp tham số ®, rồi nhập tiếp tham số (0) mất công. Em muốn có Lisp thực hiện công việc trên. Cảm ơn bác Duy nhiều :rolleyes: @all: sorry ở trên em nói nhầm tham số R. hi hi :( 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
duongepu 0 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Chào diễn đàn.Chào pác phamthanhbinh. Vâng em quên mất khi đưa bản vẽ lên mà không nói cụ thể. Xin mọi người cho em xin slip thực hiện như trong hình vẽ.em cảm ơn.. Dao Xoc Rang 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
Tue_NV 3.912 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 thay vì phải lặp lại lệnh fillet (F), nhập tiếp tham số ®, rồi nhập tiếp tham số (0) mất công. Em muốn có Lisp thực hiện công việc trên. Cảm ơn bác Duy nhiều :rolleyes: @all: sorry ở trên em nói nhầm tham số R. hi hi :( Cái này bạn Nhập Bán kính bo có 1 lần rồi sử dụng cho các lần sau mà. Nếu bạn thích thì đây : (defun c:fr() (setvar "FILLETRAD" 0) (command "fillet" pause) ) 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
Phiphi- 176 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Gửi bác Lisp quay Block thuộc tính tại điểm chèn. góc có thể nhập trực tiếp hoặc Pick 2 điểm. (defun c:rob(/ ang doc ov vl) ;Rotate Block at Center ;; By : Gia Bach, Copyrightゥ December 2009 ;; ;; Contact : gia_bach @ www.CadViet.com ;; (defun *error* (msg) (if ov (mapcar 'setvar vl ov)) (if (not(wcmatch (strcase msg) "*BREAK,*EXIT*,*CANCEL*")) (princ (strcat "\n** Error: " msg " **"))) (princ)) (vl-load-com) (setq doc (vla-get-activedocument(vlax-get-acad-object)) vl '("osmode" "orthomode" "cmdecho") ; Sys Var list ov (mapcar 'getvar vl)) ; Get Old values (mapcar 'setvar vl '(33 0 0)) (or *ang* (setq *ang* (/ pi 4))) (princ "\n Chon Block de quay :") (while (ssget (list (cons 0 "INSERT")(cons 62 1))) (setq ang (getangle (strcat "\nNhap goc muon quay <" (angtos *ang*) "> hay Pick diem : "))) (if ang (setq *ang* ang)) (vlax-for e (vla-get-activeSelectionSet doc) (vla-rotate e (vla-get-InsertionPoint e) *ang*)) (princ "\n Chon Block de quay :") ) (mapcar 'setvar vl ov) ; reset Sys Vars (princ) ) Bác ráng làm cho Lisp pick luôn cả Line đê. Tkx 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
nqt266 0 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Từ một yêu cầu của e mà các bác phát triển ra nhìu ghê.. Thật là hay quá. Chúc anh em diễn đàn năm mới tốt lành nha!!! 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
nqt266 0 Báo cáo bài đăng Đã đăng Tháng 12 31, 2009 Xin hỏi mọi người: Với mỗi lệnh Autocad hay phần mềm trên nền Cad thì chắc đều có code lệnh đó dạng Visual Lisp, vậy code này mình có thể xem được ở đâu trong bộ cài 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