

NGUYENVANHIEUGTVT
-
Số lượng nội dung
50 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi NGUYENVANHIEUGTVT
-
-
Dạ vậy cũng quá tốt rồi.
Em cảm ơn Bác #quocmanh04tt và Bác #thiep nhiều nhé. Chúc 2 Bác sức khỏe và thành công nha. Cảm ơn 2 Bác rất là nhiều. -
2 phút trước, quocmanh04tt đã nói:Uh, sr mình nhầm 1 chút ở đối tượng là line, lsp sửa:
Dạ quá thành công rồi Bác nhưng có cái nữa là có chức năng là chọn layer sau khi offset Bác có thể giữ nguyên như ban đầu được không ạ ! Do thói quen E lâu giờ muốn giờ đã dùng giờ khác nhìn lạ quá :v
nếu có thể Bác điều chỉnh chút ạ. Em cảm ơn nhiều lắm
-
15 phút trước, thiep đã nói:thiếu mấy chức năng ban đầu là chức năng gì bạn?
Có 1 chức năng Through tôi bỏ qua dùng để tìm khoảng cách offset khi pick 2 điểm. Có phải vậy không hay còn gì khác nữa không bạn.
Dạ e chào Bác lisp Bác thêm vào đó mà các chức năng như có trong lisp Lee-Mac bị lỗi dùng k đc, các chức năng về xóa nét sau khi offset, rồi chuyển layer khi offset đều k dùng đc, Bác xem lại dùm E với vì lâu nay dùng Lisp của Lee-Mac quen rồi nên giờ k dùng đc bất tiện quá, E chỉ muốn thép chức năng khép kín line hoặc polyline thôi ạ, Còn mọi chức năng khác vẫn đc giữ nguyên. Làm phiền Bác chút nhưng mong Bác xem lại với Ạ !
-
1 giờ trước, quocmanh04tt đã nói:Bạn dùng xem:
lisp chạy đc nhưng xảy ra lỗi là khi offset ra thì nó tạo cùng lúc ra 2 đường 2 offset bị trùng nhau ( 1 đường là polyine và 1 đường là line), và các chức năng ban đầu bị lỗi dùng k đc Bác à. Bác có thể xem lại được k ạ.
-
39 phút trước, quocmanh04tt đã nói:Tối nay mình chỉnh trên lisp của LM cho, đối tượng đóng kín sẽ là LwpolyLine và Line, còn đối tượng khác vẫn như cũ.
cảm ơn Bác quan tâm và giúp đỡ nhé.
-
29 phút trước, nikizi đã nói:Bạn sử dụng cả double offset và polyline programs của lee mac thì được kết quả tương tự như yêu cầu mà bro :D
dùng polyline programs chỉ đóng kín được 1 polyline trong khi mình offset ra 2 cái độc lập thì k đc Bác à
-
Vào lúc 23/2/2020 tại 11:44, thiep đã nói:Bác ơi lisp hoạt động rất tốt k lỗi gì cả, nhưng Bác có thể bổ sung lisp của Lee-Mac là điểm kết thúc nhưng mọi chức năng lisp đều đc giữ nguyên đc k ạ, vì mấy hôm đang sử dụng cái lisp của Lee-Mac quen thao tác rồi mà trong khi lisp phía trên Bác bổ sung lại thiếu mấy chức năng ban đầu thành ra bất tiện quá.. Làm phiền Bác quá nhưng mong Bác giúp đỡ với ạ ! cảm ơn Bác đã quan tâm.
-
8 giờ trước, thiep đã nói:Hi NGUYENVANHIEUGTVT,
Đã thêm bớt 1 vài dòng lệnh lisp của Lee Mac, bạn chạy thử:
Em cảm ơn Bác nhé.. rất cần cái như này.
-
Mình sưu tầm trên trang Web của Lee-Mac thì có cái lisp offset này khá hay, nhưng bây giờ mọi người có thể bổ sung chút nữa là khi dùng lệnh thì 2 đường offset mới có thể đc đóng kín như hình vẽ đc k ạ. Mình đính kèm file lisp bên dưới để mọi người xem qua ạ.
Mình cũng đã tìm trên diễn đàn các nội dung tương tự nhưng chưa thấy. Mong mọi người giúp đỡ ạ !
-
30 phút trước, CadExTools đã nói:đây bác.
xlContinuous = 1
Full Code thì đây:
https://www.experts-exchange.com/viewCodeSnippet.jsp?codeSnippetId=20-37668660-2
Bác có thể xem qua dùm e mã code VBA k ạ, em sửa mãi mà k sửa đc lỗi đấy, em hơi gà mờ về VBA nên Bác thông cảm ..
-
3 phút trước, CadExTools đã nói:đây bác.
xlContinuous = 1
Full Code thì đây:
https://www.experts-exchange.com/viewCodeSnippet.jsp?codeSnippetId=20-37668660-2
Em cảm ơn Bác đã giúp đỡ nhé . Chúc Bác ngày mới may mắn, tốt lành ..
-
31 phút trước, CadExTools đã nói:bác sẽ phải thay thế hết các hằng số xl... bằng các giá trị CONST mà em gửi theo link đó nhé.
Em tìm code giá trị xlContinuous và xlThin để khai báo mà k thấy có trên link Bác gửi ở trên, mà tìm mãi trên web cũng k thấy, Bác tham khảo dùm e với
-
1 giờ trước, CadExTools đã nói:Trả lời bạn:
1. Đôi tượng Excel nếu bạn dùng liên kết sớm thì code trên ko sao cả.
2. Code của bạn đang dùng Liên Kết Muộn (Đối tượng ExcelObj đang khai báo dạng Object) nên nó sẽ không hiểu các giá trị xlCenter này.
Nên bạn tham khảo link sau để sửa nhé.
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.excel.constants?view=excel-pia
Cụ thể bạn khai báo như sau:
Const xlCenter as Long = -4108
Em sửa theo Bác đến chỗ này lại bị lỗi Code như sau ạ ! Bác hướng dẫn dùm e chút nữa với
-
Mình có bản lập trình xuất tọa độ Cad sang Excel và xuất trực tiếp sang Cad bằng chương trình VBA. Trong đó chức năng Excel thì bị như lỗi trên ảnh còn trực tiếp sang cad thì vẫn bình thường. Mọi người có biết thì xử lý dùm mình với ạ !, mình đính kèm file VBA bên dưới mong mọi người trên diễn đàn biết và giúp đỡ ạ, mình dùng Autocad 2020 và Excel 2010
-
cảm ơn Bác giúp đỡ nhiều nhé.. có cái này giảm thiểu được nhiều thời gian làm việc lắm.. thanks so much !
-
7 phút trước, duy782006 đã nói:(defun c:abc(/ ss n i S duyet ent sst nt j St duyett entt Skq) (prompt "\n Chon cac Dim cong:") (setq ss (ssget '((0 . "DIMENSION")))) (setq n (sslength ss) i 0 S 0 duyet 0) (while (< i n) (setq ent (entget(ssname ss i))) (if (= (cdr(assoc 1 ent)) "") (setq duyet (cdr(assoc 42 ent))) (setq duyet (atof(cdr(assoc 1 ent)))) ) (setq S (+ S duyet)) (setq i (1+ i)) ) (Luachon S) (princ) ) (defun Luachon(tbinh) (setq elst (entget (car (entsel "\n Thay cho so: ")))) (setq ndc (cdr (assoc 1 elst))) (setq elst (subst (cons 1 (strcat ndc ", L=" (rtos tbinh 2 0))) (assoc 1 elst) elst)) (if (assoc 62 elst) (setq elst (subst (cons 62 80) (assoc 62 elst) elst)) (setq elst (append elst (list (cons 62 80)))) ) (entmod elst) (princ) )
Chỉ sửa chút chổ xuất kết quả thôi nghen. các phần khác mình ko chịu trách nhiệm nhé.
Em cảm ơn Bác nhé, có cách nào lúc mình xuất kết quả thì kết quả sẽ thay thế giá trị sau chữ "L=".
VD: ban đầu text là "L=123" sau khi dùng lệnh thì kết quả mới sẽ thay thế thành "L=456".
-
23 giờ trước, quansla đã nói:Nói bán kính thì mình chỉ xử lý bán kính nhé
;; free lisp from cadviet.com ;; this lisp was downloaded from https://www.cadviet.com/forum/topic/205-vi%E1%BA%BFt-lisp-theo-y%C3%AAu-c%E1%BA%A7u/?page=84&tab=comments#comment-62720 (defun c:TTD(/ ss n i S duyet ent sst nt j St duyett entt Skq) (prompt "\n Chon cac Dim cong:") (setq ss (ssget '((0 . "DIMENSION") (-4 . "<not") (100 . "AcDbDimension") (-4 . "not>") ))) (setq n (sslength ss) i 0 S 0 duyet 0) (while (< i n) (setq ent (entget(ssname ss i))) (if (= (cdr(assoc 1 ent)) "") (setq duyet (cdr(assoc 42 ent))) (setq duyet (atof(cdr(assoc 1 ent)))) ) (setq S (+ S duyet)) (setq i (1+ i)) ) (alert (rtos S 2 0)) (princ) ) (defun c:Trudim(/ ss n i S duyet ent sst nt j St duyett entt Skq) (prompt "\n Chon cac Dim lam so bi tru :") (setq ss (ssget '((0 . "DIMENSION")))) (prompt "\n Chon cac Dim lam so tru :") (setq ss (ssget '((0 . "DIMENSION") (-4 . "<not") (100 . "AcDbDimension") (-4 . "not>") ))) (setq n (sslength ss) i 0 S 0 duyet 0) (setq nt (sslength sst) j 0 St 0 duyett 0) (while (< i n) (setq ent (entget(ssname ss i))) (if (= (cdr(assoc 1 ent)) "") (setq duyet (cdr(assoc 42 ent))) (setq duyet (atof(cdr(assoc 1 ent)))) ) (setq S (+ S duyet)) (setq i (1+ i)) ) (while (< j nt) (setq entt (entget(ssname sst j))) (if (= (cdr(assoc 1 entt)) "") (setq duyett (cdr(assoc 42 entt))) (setq duyett (atof(cdr(assoc 1 entt)))) ) (setq St (+ St duyett)) (setq j (1+ j)) ) (setq Skq (- S St)) (alert (rtos Skq 2 0)) (princ) )
Bác kiểm tra lại lisp dùm e cái, quét chọn đối tượng Dim k được !
-
1
-
-
Mình tham khảo lòng vòng trên diễn đàn mấy ngày và chỉnh sửa được cái lisp tính tổng Dimension này. Bây giờ mình muốn nhờ mọi người viết thêm cho lisp này chút nữa là kết quả sau khi quét được thì sẽ ghi vào text có sẵn và ghi vào sau chữ "L=" như trên hình (giữ nguyên nội dung text phía trước) Cảm ơn Mn quan tâm và giúp đỡ ạ!
Quote(defun c:abc(/ ss n i S duyet ent sst nt j St duyett entt Skq)
(prompt "\n Chon cac Dim cong:")
(setq ss (ssget '((0 . "DIMENSION"))))(setq n (sslength ss) i 0 S 0 duyet 0)
(while (< i n)
(setq ent (entget(ssname ss i)))(if (= (cdr(assoc 1 ent)) "")
(setq duyet (cdr(assoc 42 ent)))
(setq duyet (atof(cdr(assoc 1 ent))))
)
(setq S (+ S duyet))
(setq i (1+ i))
)
(Luachon S)
(princ)
)
(defun Luachon(tbinh)
(setq elst (entget (car (entsel "\n Thay cho so: "))))
(setq elst (subst (cons 1 (rtos tbinh 2 0)) (assoc 1 elst) elst))
(if (assoc 62 elst)
(setq elst (subst (cons 62 80) (assoc 62 elst) elst))
(setq elst (append elst (list (cons 62 80))))
)
(entmod elst)
(princ)
)
-
1
-
-
Mình tìm trên diễn đàn có lisp tính tổng Dimensions này. Nhờ mọi người sửa chút lisp này là lúc quét chọn đối tượng Dimensions thì bỏ qua k chọn đối tượng là "Bán kính".
Và kết quả tổng Dimensions sẽ ghi vào sau chữ "L=" như trên hình. Mong mọi người hỗ trợ mình vơi ạ..
cảm ơn mọi người nhiều ! -
12 giờ trước, duy782006 đã nói:Tôi đã viết được như vầy rồi. các ký tự dư bạn tự bỏ bằng excel nhé. Tôi lười rồi. Lệnh là XTT
(Defun duy:xd_listngngancach<kytu (chuoi kytu / chuoi kytu ckq) (setq lkq nil) (setq bdd 1) (setq b 1) (setq l (fix (strlen chuoi))) (repeat l (setq a (substr chuoi b 1)) (cond ((= a kytu) (setq dkt (substr chuoi bdd (- b bdd))) (setq lkq (append lkq (list dkt))) (setq bdd (+ b 1)) ) ) (setq b (+ b 1)) ) (setq dkt (substr chuoi bdd (+ (- l bdd) 1))) (setq lkq (append lkq (list dkt))) lkq) ;;;;;;;;;;;;;;;;;;; (defun c:xtt () (command "undo" "be") (princ "\nChon cac text can xuat") (setq taptextchon (ssget (list (cons 0 "TEXT")))) (setq vitrifiledulieu (getfiled "File xuat du lieu " "" "csv" 1)) (setq filedulieu (open vitrifiledulieu "w")) (setq stt 0) (setq sotext (sslength taptextchon)) (while (< stt sotext) (setq noidungdocduoc (cdr (assoc 1 (entget (ssname taptextchon stt))))) (setq nddongviet (duy:xd_listngngancach<kytu noidungdocduoc " ")) (write-line (strcat (nth 0 nddongviet) "\;" (nth 1 nddongviet) "\;" (nth 2 nddongviet) "\;" (nth 3 nddongviet)) filedulieu) (setq stt (+ stt 1)) ) (close filedulieu) (command "undo" "end") )
Cảm ơn Bác rất là nhiều nhé, như vậy quá tuyệt vời rồi ...
-
Vào lúc 28/10/2019 tại 16:07, Doan Nguyen Van đã nói:Bài toán này đương nhiên làm được, nó rút ngắn được thời gian làm việc của bạn, nên nếu thực sự cần thiết, bạn nên đề nghị trả phí cho người viết tool hỗ trợ bạn.
^^
cảm ơn Bác đã quan tâm nha ! :)
-
21 giờ trước, duy782006 đã nói:-Nội dung dòng text thì chỉ có 3 gia trị trong khi excel thì có 6 giá trị thì còn 3 giá trị kia lấy ở đâu.
-"đối tượng text" ở đây là cái giống gì: dtext, mtext, att. blockatt. Tốt nhất là up file cad lên và đời cad thấp 1 tí (2007 chẳng hạn)
Cảm ơn Bác quan tâm..
- các giá trí mình cần đưa vào Excel là "ký hiệu tên thanh", "số lượng cây", "đường kính cây" và "chiều dài" từ các thông số này mình sẽ tính được khối lượng và xuất ra excel luôn.
- Mình để cái file Cad tham khảo phía dưới nhờ các bác xem hộ cái ạ.. -
23 giờ trước, huunhantvxdts đã nói:Mình có cái này nó tự vẽ luôn này
E cảm ơn Bác nhé, cái này khá hay để khi cần hôm sau lấy dùng sẽ rất hay !
-
Mình đang làm bản vẽ kết cấu thì công việc nhập khối lượng từ Autocad sang Excel được lập đi lập lại rất nhiều tốn rất nhiều thời gian.
Mọi người cho mình nhờ chút là có cách nào khi mình quét toàn bộ các text trong Autocad thì dữ liệu của đối tượng text có như hình sẽ nhập sang excel với các cột và hàng được sắp xếp thứ tự như hình không ạ.
Mình biết là ngôn ngữ lập trình VBA có thể làm được nhưng món này thì mình k rành.. mong mọi người giúp đỡ.Cảm ơn mọi người quan tâm !
-
1
-
Giữ nguyên màu của các đối tượng khi XREF
trong Sử dụng AutoCAD
Đã đăng · Trả lời báo cáo
Mọi người giúp mình với ạ.
Mình đang gặp 1 lỗi là khi mình xref 1 bản vẽ sang bản vẽ hiện hành, thì các đối tượng trong xref không giữ nguyên màu của của nó, mà nó đổi sang màu layer hiện hành làm khi in mình không được như mong muốn.
Mình muốn các màu của đối tượng xref được giữ nguyên khi mình xref. Mọi người ai biết chỉ với ạ. Xin cảm ơn.