nguyensang9798@gmail.com
-
Số lượng nội dung
34 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi nguyensang9798@gmail.com
-
-
39 phút trước, cuongtk2 đã nói:Một đoạn code đã được edit sau khi nhờ chat GPT
(defun c:Test ( / textEnt textVal plineEnt layerName textHeight dist pllength pt i) (setq layerName "Caodo_Pline") (setq textEnt (car (entsel "\nChon Text có san là cao do: "))) (if (and textEnt (= (cdr (assoc 0 (entget textEnt))) "TEXT")) (setq textVal (cdr (assoc 1 (entget textEnt)))) ;; L?y giá tr? n?i dung (progn (princ "\nKhông phai doi tuong TEXT. Thoát lenh.") (exit) ) ) (setq plineEnt (vlax-ename->vla-object (car (entsel "\nChon Polyline can gán cao do: ")))) (setq textHeight 0.2) (setq dist (getreal "\nNhap khoang cách chia deu [Mac dinh 1.5]: ")) (if (not dist) (setq dist 1.5)) (setq pllength (vlax-curve-getDistAtParam plineEnt (vlax-curve-getEndParam plineEnt))) (setq i 0) (while (< (* i dist) pllength) (setq pt (vlax-curve-getPointAtDist plineEnt (* i dist))) (entmake (list '(0 . "TEXT") (cons 8 layerName) ;; Ð?t vào Layer Caodo_Pline (cons 1 textVal) ;; N?i dung Text (cons 40 textHeight) ;; Chi?u cao ch? (cons 10 pt) ;; Ði?m chèn (cons 50 0) ;; Góc xoay ) ) (setq i (1+ i)) ;; Tang ch? s? l?p ) (princ "\nHoàn thành gán Text cao do.") )Cháu cảm ơn Bác. Lisp chạy đúng ý cháu rùi ạ
-
Em chào anh chị trong diễn đàn ạ
Công việc của em hiện tại cần gán 1 text cao độ có sẵn vào 1 polyline kín hoặc hở,
Kính mong ac lướt qua giúp em với ạ
Command : Test
- chọn text có sẵn là cao độ
- chọn polyline 2D cần gán
- lisp hỏi nhập chiều cao chữ
- lisp hỏi khoảng cách chia đều (mặc định là 1.5, có thể nhập tuỳ ý)
- kết quả trả về nhóm text được gán nằm trong một lớp layer tên Caodo_Pline ạ -
4 giờ trước, cuongtk2 đã nói:(defun c:test ( / CK CK1 LISTblock LISTLINE SS nss dungblock) (setq ent (car (entsel "\nChon block mau:"))) (if (null ent) (exit)) (setq obj (vlax-ename->vla-object ent) objname (vla-get-ObjectName obj)) (if (/= "AcDbBlockReference" objname) (exit)) (setq blname (vla-get-EffectiveName obj)) ;; ham de loc block + name (defun dungblock(obj blname / objname) (setq objname (vla-get-ObjectName obj)) (if (= objname "AcDbBlockReference") (if (= blname (vla-get-EffectiveName obj)) t nil) nil) ) (setq ss (mapcar 'vlax-ename->vla-object (ACET-SS-TO-LIST(ssget)))) (setq listblock (vl-remove-if-not '(lambda (obj) (dungblock obj blname)) ss) listline (vl-remove-if '(lambda (obj) (dungblock obj blname)) ss)) (SETQ nss (ssadd)) (foreach block listblock (setq ck nil) (foreach line listline (if (vlax-invoke block 'intersectwith line acextendnone) (setq ck T)) ;if );foreach (if ck (setq nss (ssadd (vlax-vla-object->ename block) nss )) );if );foreach (SSSETFIRST nil nss ) ;hien thi tap hop chon )Bác Cường ơi, cháu cảm ơn bác rất nhiều về chiếc lisp. bánh chín vừa miếng bác ạ
Cháu chúc bác và gia đình luôn luôn mạnh khỏe ạ
Nhận tiện cháu còn 2 vấn đề lọc nữa đó là :
1.Chọn các block hoặc text có trong nhiều polyline kín (polyline kín đều chung trong 1 lớp layer)
- command : test
- chọn vào line hoặc polyline trên bản vẽ
- quét chọn khu vực cần tìm
Kết quả thu được các đối tượng chứa trong polyline đó (có thể copy, thay thế hoặc chỉnh sửa)
2.Chọn các polyline đang bị hở
- command : test1
- quét chọn khu vực cần tìm
Kết quả thu được các polyline đang hở (có thể copy, thay thế hoặc chỉnh sửa)
Cho cháu xin được cảm ơn bác lần nữa, mong được bác giúp đỡ ạ, cháu cảm ơn bác rất nhiều. -
Bác Cường ơi, cùng chủ đề chọn và lọc đối tượng. Cháu đang gặp vấn đề chọn và lọc đối tượng là block bất kỳ đang đè lên polyline, polyline kín, line, nếu được bác giúp cháu với , cháu cảm ơn bác rất nhiều ạ
ý tưởng của cháu cụ thể như sau:
- gõ lệnh cbl
- chọn 1 block mẫu có sẵn trên bản vẽ tìm để tìm hết những block cùng định dạng đang đè lên l,pl
- quét khu vực cần tìm block bị đè
kết quả được các đối tượng block bị đè (có thể copy, chỉnh sửa hoặc thay thế đi) -
22 giờ trước, NTHAHT đã nói:Mình đã sửa ở link cũ.
Cảm ơn bác NTHAHT đã quan tâm giúp đỡ, lisp chạy tuyệt vời quá
Chúc bác và gia đình nhiều sức khoẻ, gặp thuận lợi trong công việc.
Một lần nữa, xin chân thành cảm ơn bác -
16 giờ trước, NTHAHT đã nói:Mình viết lại cái lisp này, (3 trong 1). Lệnh VTL
- Sau khi gọi lệnh, trước khi chọn đối tượng thứ nhất, có chức năng thiết lập các giá trị (lưu lại cho lần sau).
- Nếu không chọn đối tượng thứ 2 thì lisp sẽ vẽ theo đối tượng thứ nhất (tương tự lệnh VTL1S).
Cảm ơn bác đã quan tâm, Lisp dùng rất tiện ạ
Kính nhờ bác sửa giúp thông số các giá trị mặc định ban đầu
số đoạn ngắn trong khoảng 2 đoạn dài : 1
khoảng cách giữa các đoạn : 0.5
kích thước đoạn ngắn : 0.5
kích thước đoạn dài : 1 -
1 phút trước, duy782006 đã nói:-Mình chỉ thêm 2 dòng để thay layer thôi nên tất cả những tồn tại theo ý bạn là có sẳn trong lisp.
-Có thể bạn thao tác sai ví dụ thoát lệnh ngang xương chứ mình đã thử lisp undo phát hết luôn.
-Dò lisp người khác hơi khó khăn đối với mình, khi nào rãnh mình viết lisp mới có khi đở đau đầu hơn ngồi đọc lisp người khác như này.
-Kể từ khi ở không từ tết đến giờ nay mình vào được 2 công trình nên sẽ cắm đầu vẽ triển khai sẽ không bám theo bạn được, hẹn gặp sau!
Em cảm ơn bác đã quan tâm. Chúc bác vào 2 công trình mới thuận lợi và suôn sẻ
Hẹn gặp lại bác ạ ^^ -
Chế độ bắt điểm bảng object snap đang bị tắt sau khi sử dụng lệnh bác ạ
-
10 giờ trước, duy782006 đã nói:Xin được cảm ơn bác đã quan tâm topic này, chúc bác và mọi người buổi sáng an lành
1. đã được giải quyết đúng yêu cầu
2.chắc là bác chưa hiểu ý của em nên vấn đề U chưa được làm đúng ý
Xin được gửi lại ảnh minh hoạ rõ về yêu cầu 2
p/s: trong lisp có kèm 2 lệnh VTL1S và VTL0S. 2 lệnh em đã tận dụng ở lisp khác đúng ý em hơn nên có thể xoá code 2 lệnh này đi được
Kính mong bác xem giúp ạ
-
Em chào các bậc tiền bối, quý anh chị trong cộng đồng CADVIET
Em xem trên diễn đàn có sưu tầm được lisp vẽ taluy của bác meohoang up lên, lisp rất hay nhưng có 2 điểm chưa đúng ý cá nhân và còn hạn chế như sau :
1, Hai nét line taluy dài và ngắn được vẽ ra từ lệnh VTL2S đang để chung cùng 1 lớp hiện hành. Em muốn đổi 2 nét đó sang 2 lớp TALUYN và TALUYD (màu sắc và vị trí lớp cụ thể xem trong bản vẽ)
2, Thêm tiện ích undo và ctrl Z vào lisp (Hiện tại lisp chỉ cho phép undo từng line taluy đã vẽ như vậy tốn rất nhiều thời gian )
Em đã xem hết các bài về Taluy nhưng chỉ có lisp này vẽ taluy đường cong đúng ý cá nhân em.
Kính mong được mọi người giúp đỡ ạ
-
Vào lúc 25/6/2024 tại 13:48, duy782006 đã nói:lisp chạy ok bác Duy ơi, bác vất vả với topic khù khoằm này của e rồi
-
55 phút trước, duy782006 đã nói:Thôi bỏ qua đi dùng lisp cũ chịu khó coi cái nào là số tầng thì bỏ vòng tròn đó đi. mần cái đám số với chữ đau đầu quá!
nếu lisp vẽ cả mấy số tầng đó thì xoá nhiều lắm ạ, hy vọng được anh giúp nốt cú chót này cho em với ạ
-
Vào lúc 21/6/2024 tại 09:06, duy782006 đã nói:Những mã có số trước và chữ sau bị lỗi. ví dụ 0.3.tx.co
em đã load lại những lisp trước anh viết đều chạy được bình thường
còn lisp mới nhất đã lọc được 2t,3t,4t,5t rồi nhưng phát sinh lỗi trên ạ -
Vào lúc 21/6/2024 tại 09:06, duy782006 đã nói:lisp này kiểm tra chạy tâm bị lỗi anh Duy ah, anh xem lại giúp em với
-
2 giờ trước, duy782006 đã nói:Em cảm ơn anh Duy nhiều ạ, hiện em đang không ngồi máy, e sẽ test và quay lại phản hồi sau
Chúc anh và gia đình luôn luôn mạnh khoẻ, gặp nhiều điều may mắn trong cuộc sống.
-
3 giờ trước, duy782006 đã nói:Loanh quanh sao lại đi khỏi chủ đề của topic này mất rồi. Quay lại chủ đề này trên cơ sở đã có các CIRCLE từ lisp trên.
-Lệnh TT2.
-Thao tác nhập lệnh. Nhập độ lớn cạnh hình vuông làm cột (mặc định là 4 không thay đổi thì enter, thay đổi thì nhập số mới rồi enter). Chọn hình tròn 1, chọn hình tròn 2, chỉ phía chèn cột.
-Lisp sẽ tạo sẳn cho bạn block hình vuông rồi chèn theo phía bạn chỉ. Nếu điểm bạn chỉ trùng đường thẳng nối 2 tâm đường tròn thì nó sẽ chèn cả 2 bên.
thanks anh. lisp này dùng ok rồi ạ,còn lisp texttocricle anh thêm giúp bọn em bỏ vẽ đường tròn đối với mã 2t 3t 4t 5t. những mã này giải nghĩa là 2 tầng, 3 tầng,...cái đó để bọn em xác định chiều cao nhà, k phải là khoảng cách để vẽ bán kính .anh xem mã có ở trong file ở trên em Châm gửi anh nha
-
7 giờ trước, duy782006 đã nói:Lệnh như cũ nhé.
Cái nội dung text là do bạn hay do người khác xuất ra. Nếu là bạn thì khuyên nên có 1 quy luật đặt chứ chấm kiểu tràn lan này thì khó cho khâu tự động lắm nhé.
-Ở đây quy tắc lọc như sau: phần chữ bỏ qua, lọc các phần là số và dấu chấm hoặc phẩy.
+Nếu dấu chấm hoặc phẩy ở đầu thì bỏ đi.
+Trong một chuỗi số nếu xuất hiện 2 dấu chấm hoặc phẩy thì bỏ phần sau dấu chấm hoặc phẩy thứ 2 đi.
-Đã chạy thử trên toàn bộ file cad của bạn ok.
nội dung text là do người khác xuất ra bác ạ, vì k theo quy luật nào nên tự động khó thật. những nội dung text không đọc được bác tạo giúp em sang 1 lớp layer khong doc duoc để em dễ quản lí được k ạ
-
1
-
-
Vào lúc 4/6/2024 tại 20:26, duy782006 đã nói:Lisp trên đó bạn. Được thì cho cái like nha. Dạo này cày like khó quá
bác duy ơi, lớp text lisp lọc được số gần như là hết và trả về đường tròn đúng kích thước. tuy nhiên những lớp có đoạn mã mà giữa chữ và số có kèm 1 dấu chấm thì lisp chưa lọc được và báo lỗi bác ạ. ví dụ : m.1.2tx.2.6.3t thì kết quả lấy để vẽ đường tròn là 1.2 và 2.6
nếu nhiều mã phức tạp không lọc được ra đường tròn thì bác để y nguyên những mã đó giúp em cũng đc ạ-
1
-
-
21 giờ trước, duy782006 đã nói:Lisp trên đó bạn. Được thì cho cái like nha. Dạo này cày like khó quá
Em like rùi, chân thành cảm ơn bác rất nhiều
-
Vào lúc 1/6/2024 tại 21:15, duy782006 đã nói:có cách nào vẽ đường tròn theo text màu xanh phức tạp đó không bác Duy
-
Vào lúc 1/6/2024 tại 11:53, Doan Van Ha đã nói:Làm gì mà 1 người lấy tới 2, 3 nick cho nó rối forum vậy?
vâng bác, em sẽ chú ý ạ
-
27 phút trước, duy782006 đã nói:Choa mẹ wơi. Mình cũng xớn xác tưởng cái text màu đỏ. Chứ cái text màu xanh nó ngang banh chừa bứa ko theo quy luật nào cả. Cái thì có chữ không có số, cái thì số ở đầu, cái thì số ở giữa mà đề không cho quy luật thì theo kiểu gì.
ý là vẽ đường tròn theo text màu xanh đó anh Duy ạ,trong text màu xanh cứ có số là vẽ đường tròn kích thước theo số đó.Đường tròn được vẽ ra đặt tại tâm point và đặt riêng sang 1 lớp khác. Vì text xanh là mã điểm nên vị trí số sẽ không nằm cố định ở đầu, giữa , hay cuối đâu nên mới phức tạp
-
1
-
-
AnH Huy ơi anh có thể bổ sung tính năng bắt điểm cho lisp kia của anh được không anh
Xin file block ký tự 188 - Quyet dinh 1125-DDBD-nam-1994-Ky-hieu-ban-do-dia-hinh-ty-le-1-500-1-1000-1-2000-1-5000
trong Xin file - Share file
Đã đăng · Trả lời báo cáo
Em chào các anh chị trong nhóm, mọi người ai có file chứa block kí hiệu của Quyết định 1125 cho em xin với ạ
Quyet dinh 1125-DDBD-nam-1994-Ky-hieu-ban-do-dia-hinh-ty-le-1-500-1-1000-1-2000-1-5000.pdf