dinhtuong18
-
Số lượng nội dung
18 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi dinhtuong18
-
-
Vào lúc 27/5/2019 tại 14:45, Duong Nhat Duy đã nói:Mình xin chia sẻ cho các bạn 1 lisp tự động insert block theo ý muốn:
Lệnh:
i1 - Insert block theo đường dẫn Line, Pline (có thể insert theo đỉnh, trung điểm các đoạn pline, block xoay theo đường dẫn)
i2 - Insert block theo các giao cắt Line, Pline
i3 - Insert block tại các Text, Block chỉ định (block xoay theo block chỉ định, tự nhận att theo text nếu là block thuộc tính)
i4 - Insert block tại các Point
i5 - Insert block tại các Circle (tâm hình tròn)
em có sẵn file chứa các block,khi em chèn file đó vào bản vẽ thì nó có thể tự tìm các polyline có hình dạng tương ứng để chèn block đó vào đc ko ạ
em cảm ơn- 1
-
4 giờ trước, huunhantvxdts đã nói:Gửi tặng bạn điều kiện đường bao bên ngoài phải là đường polyline (nếu bên trong có đường Polyline nữa thì phải xét đến layer nhé)
(defun c:TNBL (/ cur_lay oldos lstpl stt o p3 p4 ss ten) (setq cur_lay (getvar "clayer" )) (setq oldos (getvar "OSMODE")) (setvar "osmode" 0) (setvar "cmdecho" 0) (command "UNDO" "Be") (vl-load-com) (prompt "\nChon duong bao Polyline") (setq lstpl (CV:ss-to-list (ssget '((0 . "LWPOLYLINE"))) T)) (setq stt 1) (foreach ent lstpl (setq o ent) (vlax-method-applicable-p o 'getboundingbox) (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-getboundingbox (list o 'a 'b)))) (setq p3 (vlax-safearray->list a)) (setq p4 (vlax-safearray->list b)) (setq ss (ssget "C" p3 p4)) (setq ten (menucmd "M=$(edtime, $(getvar, date),MODDYYHHMMSS)")) (setq ten (strcat ten (rtos stt 2 0))) (command "_.-block" ten p3 ss "") (command "_.insert" ten "_S" 1 p3 "") (setq stt (+ stt 1)) ) (command "UNDO" "End") (setvar "clayer" cur_lay) (setvar "osmode" oldos) (setvar "CMDECHO" 1) (princ) ) (defun CV:ss-to-list (ss vla / n e l) (if ss (progn (setq n (sslength ss)) (while (setq e (ssname ss (setq n (1- n)))) (setq l (cons (if vla (vlax-ename->vla-object e) e) l)) ) ) ) )
em cảm ơn bác nhiều ạ
-
16 phút trước, NTHAHT đã nói:vâng,em thử lại với ko có text rồi ạ,ok rồi bác ạ,em cảm ơn bác nhiều
nhưng tốc độ sử lý hơi lâu bác ạ,nó nhanh nhanh như lisp gốc của em thì tốt ạ
-
2 giờ trước, huunhantvxdts đã nói:để chạy được đường bao bên ngoài bạn tại thành 1 đối tượng polyline nhé. may ra viết được, chứ các đối tượng rời rạc vậy rất khó để biết được đâu là 1 nhóm các đối tượng cần tạo block
vâng,đường bao bên ngoài em có thể vẽ thành 1 đối tượng polyline kín đc đc ạ,bác xem có cách nào giúp em với ạ,em cảm ơn
-
5 giờ trước, NTHAHT đã nói:Mình viết giúp 2 bạn ở trên, trong lisp có 2 lệnh.
1- Lệnh QB: Mỗi lần quét chọn (tập chọn) -> tạo ra 1 block.
2- Lệnh QBS: Mỗi đối tượng trong tập chọn là 1 block.
còn lệnh QBS của bác thì nó cứ chạy đến 100 thì ko ra gì cả,ko tạo đc block ạ
-
5 giờ trước, NTHAHT đã nói:Mình viết giúp 2 bạn ở trên, trong lisp có 2 lệnh.
1- Lệnh QB: Mỗi lần quét chọn (tập chọn) -> tạo ra 1 block.
2- Lệnh QBS: Mỗi đối tượng trong tập chọn là 1 block.
lệnh QB của bác điểm chèn block nó ko nằm trên góc của đối tượng ạ,bác sửa lại giúp em tí đc ko ạ
-
5 giờ trước, 7o7 đã nói:Lisp này không dễ chút nào!! Nhưng ít nhất bạn phải đưa file cad mẫu để người khac biết mấy cái đuòng đó là loại đối tượng gì mới được chứ!!
đây ạ,em gửi file,các bác xem giúp em với ạ
em cảm ơn -
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 đỡ ạ
-
1 giờ} trướ}c, CadExTools đã nói:Tìm Google cũng có thôi.
Gửi bạn test thử. Lệnh WBP
Mỗi bản vẽ tạo ra sẽ nằm trong thư mục của bản vẽ nguồn nhé.
không đúng với ý em ạ,nhờ bác chỉnh sửa lại giúp em đc ko ạ,em có gửi file cho bác đây ạ
tên file mới bác có thể sửa thành "tên file gốc" + "-" + "số thứ tự" giúp em đc ko ạ
ví dụ như file của em QIS-06 thì sẽ thành QIS-06-01 ; QIS-06-02......
em cảm ơn ạ -
Ví dụ em có 1 file dwg có chứa các đối tượng như hình tròn,hình tam giác,hình vuông.Làm thế nào để em xuất mỗi hình đấy thành 1 file dwg riêng ạ
Em có biết lệnh wirte block nhưng cách đó hơi lâu ạ,vì số lượng đối tượng cần tách nó nhiều
Rất mong các anh chị giúp đỡ ạ.Em cảm ơn! -
Vào lúc 23/5/2020 tại 23:14, thiep đã nói:em cảm ơn thầy đã giúp đỡ,lisp dùng rất ok rồi,nhưng nếu có thể thầy giúp em thêm mục nhập chiều dài muốn kéo giãn hoặc co lại thay vì kéo chuột đc ko ạ,vì kéo chuột như thế sẽ ko đc chuẩn ạ
-
không đúng ý của mình bạn ạ
-
Nhờ các anh trong cộng đồng cadviet giúp em viết lisp với ạ
Em có một hình chữ nhật cho trước,bên trong hình chữ nhật có các hệ lỗ đã được chia khoảng cách cho trước,giờ em muốn kéo giãn hay co ngắn hình chữ nhật đấy thì các hệ lỗ bên trong cũng sẽ tăng lên hoặc giảm đi và chia đều như các khoảng cách cho trước ạ
Em cảm ơn -
có bác nào biết vẽ hình chữ nhật từ file excel ko ạ,giúp em với
-
26 phút trước, Namvanvo đã nói:Bạn muốn đo như thế nào thì đo luôn trong file cad đi bạn
em chỉnh sửa bản vẽ và ghi rõ yêu cầu trong bản vẽ rồi ạ,bác xem giúp em với ạ
thank bác
-
em đã tham khảo nhiều lisp trên cadviet về đo độ dài và xuất toạ độ điểm của đường line và polyline nhưng chưa đúng với nhu cầu của em.
em có đường polyline bên ngoài và bên trong polyline có nhiều hình dạng vuông tròn (như bản bẽ đính kèm)
em nhờ các bác giúp em làm sao để đo độ dài của từng polyline một và ghi toạ độ ra file excel đc ko ạ
lưu ý thêm là em muốn đo độ dài và toạ độ từ bên trong ra bên ngoài và theo thứ tự ạ và khi xuất ra file excel theo từng hàng cột một ạrất mong các bác giúp đỡ ạ.em cảm ơn
- 2
Lisp Insert block hàng loạt
trong AutoLisp
Đã đăng · Trả lời báo cáo
vậy mình chỉ định block chỉ chèn cho khớp với polyline thì có đc ko anh