


namds86
-
Số lượng nội dung
15 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi namds86
-
-
Chào mọi người, mình có tìm được lisp phát hiện chồng, hở nét, nhưng lisp hiện tại nó phát hiện line, arc chồng lên nhau có độ dài không bằng nhau. Bây giờ mình muốn nó phát hiện các line,arc trùng nhau có độ dài bằng nhau nó cũng phát hiện ra. Mình không đề cập đến lệnh "Overkil ở đây". Cảm ơn mọi người đã quan tâm. Đính kèm là lisp và bản vẽ cad test!
-
11 giờ trước, dinhtuong18 đã nói:em copy trên mạng đc cái lisp tạo nhanh block này,nhưng nó chỉ cho tạo từng đối tượng một và phải chọn điểm chèn cho nó
giờ em muốn quét chọn 1 lúc nhiều đối tượng và tạo block cho từng đối tượng đó,điểm chèn là góc dưới cùng bên trái ạ(ghi chú: điểm chèn em muốn mặc định là điểm có tọa độ X nhỏ nhất và tọa độ Y là nhỏ nhất của đối tượng ạ)
em cảm ơn ạ,rất mong đc các bác giúp đỡ ạ
quét chọn 1 lúc nhiều đối tượng và tạo block cho từng đối tượng đó--> Mình cũng muốn giúp nhưng nằm ngoài khả năng của mình, hóng kết quả của các Pro!
-
3 giờ trước, Long Huỳnh đã nói:Em chào mọi người. Em xin mọi người giúp em viết 1 lisp insert 1 block của 1 bản vẽ bất kì vào 1 bản vẽ khác được không ạ. Lúc trước em có tải được file này. Nhưng ổ cứng cũ bị hư, phải đi thay mới, giờ quay lại thì link tải file này bị hư mất. Em cũng kiếm nhiều lắm mà ko thấy lisp nào làm được như này. Ở trong video, sau khi add lisp thì ở bất kì bản vẽ nào cũng có thể dùng lệnh đó để insert vào hết. Mong mọi người giúp em ạ. Em cảm ơn
Tên file với block bạn đặt khác nhau thử xem. Mình test mà bị trùng không chạy được. Khác tên thì OK.
Bạn thử Lisp dưới có chạy được không nhé!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun C:CD1 ()
(command "_.insert" "Test") (command); "Test"-->ten file khong can duoi dwg, Ban de vo (C:\Program Files\Autodesk\AutoCAD 2018\Support\Test.dwg)
(command "_.insert" "CD1" pause "1" "" "")
(princ)
)
-
1
-
-
1 giờ trước, vietduc147258 đã nói:Em có lisp chuyển layer khi Dim. Nhưng khi Dim góc thì có 2 trường hợp chọn đối tượng line với trường hợp là chọn point. Với 2 lệnh tương ứng là DAN và DAN2.
Các bác giúp em gộp 2 lệnh đó thành một với. Cảm ơn các bác đã quan tâm.
(defun c:DLI ()(Command ".DIMLINEAR" pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAl ()(Command ".DIMALIGNED" pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DDI ()(Command ".DIMDIAMETER" pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DRA ()(Command ".DIMRADIUS" pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAR ()(Command ".DIMARC" pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAN ()(Command ".DIMANGULAR" pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) (defun c:DAN2()(Command ".DIMANGULAR" "" pause pause pause pause) (command "._chprop" "L" "" "LA" "DIM" "") (princ)) ; Dim goc lon hon 180 do (Defun c:QD ()(Setvar "clayer" "DIM")(Prompt "\nChon doi tuong can Dim")(Setq ch (Ssget))(command "QDIM" ch "" Pause)(command "_LayerP")(Princ))
Bạn thử cái này xem, Nếu góc <=180 độ thì đo bình thường, lớn hơn 180 độ thì Enter thêm cái nữa.
-----------------
(defun c:DAN ( / old )
(setq old (getvar 'clayer))
(setvar 'clayer "DIM")
(command ".DIMANGULAR")
(while (= 1 (logand 1 (getvar 'cmdactive)))
(command "\\")
)
(setvar 'clayer old)
(princ)
) -
Của bạn đây nhé!
;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:CHENBLOCK ()
(command ".ucs" "W" "")
(setvar "cmdecho" 0)
(command "undo" "be")
(setq osm (getvar "osmode"))
(setvar "regenmode" 1)
(setvar "osmode" 0)
(setq B (car (entsel "\ Chon block muon chen")))
(setq C (entget B))
(setq bl(cdr(assoc 2 C)))
(initget (+ 1 2 4))
(setq A1 (getreal "\nChon duong kinh duong tron muon chen block: "))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(prompt "\n Quet chon vung can chen block: ")
(if(setq A (ssget "_:L" '((0 . "CIRCLE"))))
(progn
(setq n 0)
(setq B (sslength A))
(while (< n B)
(setq C(ssname A n))
(setq D(entget C))
(setq E(cdr(assoc 10 D)))
(setq E1(cdr(assoc 40 D)))
(if(= (/ A1 2) E1)
(command ".insert" bl E 1 "" ""))
(setq n (+ n 1))
)
)
)
(setvar "cmdecho" 1)
(setvar "osmode" osm)
(command "undo" "end")
(princ)
)-
1
-
-
Viết code vba
trong Lập trình khác
12 phút trước, soledas đã nói:mình có các hình tròn có đường kính khác nhau 12,14,16,20,30 mình cần đếm được số lượng đường tròn và ghi text vào bản vẽ tương ứng với đường kính của đường nhờ các bạn viết dùm đoạn code vba
Không phải VBA được không bạn, viết bình thường thôi!
-
2
-
-
Vào lúc 2/10/2022 tại 17:55, jindoxaydung đã nói:Các bác cho em hỏi là có cách nào để tổng hợp lisp từ 2 lisp con không ạ?
Em mới học phần này mong được giúp đỡ.
Ý bạn là đánh 1 lệnh nào đó, sau đó nó hiện lên 2 lựa chọn như hình hả? -
Vào lúc 28/9/2022 tại 21:23, dohoangviet1606 đã nói:Các bác cho em hỏi:Có lisp nào chèn 1 block( theo tên) vào các Tâm đường tròn đường kính D không ạ?
en tìm thấy trên mạng có lisp chèn block vào các giao điểm "ins", mong mọi người sửa cho em như yêu cầu trên ạ!
Em cảm ơn!
Bạn nói cụ thể hơn đi, Block đó có lưu sẵn trong file cad rồi hay mình tự chọn click vô. Tâm đường tròn lúc nào cũng Ø10?
Nhờ sửa giùm lisp phát hiện nét chồng nhau!
trong AutoLisp
Đã đăng · Trả lời báo cáo
Cảm ơn bạn đã phản hồi, nhưng sao mình test vẫn chưa phát hiện ra 2 đường trùng nhau có độ dài bằng nhau.