tinya1225
-
Số lượng nội dung
121 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
3
Bài đăng được đăng bởi tinya1225
-
-
Bạn có thể sử dụng lệnh DATAEXTRACTION để xuất dữ liệu. Bạn chịu khó tìm kiếm lệnh này trên diễn đàn, đọc, hiểu nó nhé
Tình hình thế này các bác a. E đã tìm hiểu về lệnh DATAEXTRACTION.
e cũng tìm đc 1 cái lisp có thể đáp ứng nhu cầu của e do bác thaistreet viết.
http://www.cadviet.com/forum/index.php?showtopic=12432
có điều e muốn nhờ các bác sửa giúp e cái phần tính diện tích, thay vì pick điểm nó cho phép đo 2 cạnh như dùng lệnh DLI ấy.
Em cảm ơn các bác.
-
Không được bạn ạ ? Vì ở đây là mình không thay thế toàn bộ mà mình chỉ thay thế 1 phần. Lệnh đó không cho chọn vùng áp dụng ?
uh nhỉ. sorry vì không giúp đc bạn.
có 1 cách nữa dù rất thủ công nhé. bạn copy base point những B muốn đổi tên sang bản vẽ khác, đổi tên rùi copy về đúng vị trí cũ.
nhưng cho mình hỏi bạn cần đổi tên để làm j vậy?
-
hic. Bạn không hiểu vấn đề rồi. E xin trình bày rõ là như thế này. Giả sử có 10 cái blog, Em chỉ muốn đổi tên 5 cái thôi, còn 5 cái để nguyên. Cái lisp hiện tại cho phép đổi tên từng đối tượng 1, mỗi lần chạy thì được đổi 1 đối tượng. Em muốn rằng 1 lần chạy có thể đổi tên được n đối tượng.
Mình có 1 cách không dùng lisp hi vọng đáp ứng đc bạn.
Bạn chọn 1 cái block ( B ) nào đó muốn đổi tên, explore nó ra rùi B lại theo tên bạn muốn, dùng lệnh replace B with another B trong express tool là ok. chú ý vị trí base point của B trc và sau giống nhau để không phải chỉnh sửa sau khi replace.
B = block nhé.
Làm đc thì nhớ thanks + mình cái nha^^
-
1
-
-
Ket có nói rồi nè ^^ Nhưng mà cái phần ghi file ketxu cũng dốt đặc, chỉ chém ra cái cớ thế thôi :(
cái này bác nói e ko hiểu lắm.
-
Cad có thể xuất số liệu ra ở một Cell bất kỳ, miễn là cell đó được chỉ định trước, VD: hàng 2 cột 3. Khi đó chỉ cần thêm các ký tự "\t" (nếu ghi ra file txt), "," (nếu ghi ra file csv) và "\n" (cả file txt và csv) là được. Do bạn nói không rõ thôi, chứ bác Ket thì dư sức qua cầu mấy chuyện này.
vâng e cũng biết các bác có thừa khả năng làm a. em cũng nói là em không hiểu rõ lắm về lập trình. em nghĩ khi gõ lệnh sẽ có chỗ thông báo "chọn ô xuất kết quả" và mình chỉ cần pick 1 ô bất kỳ là xong. còn ô A1 là cột A hàng thứ 1 mà bác :(.
Em diễn đạt không theo tư duy lập trình mong các bác hiểu cho.
Em cám ơn mọi ng.
@DVH cad 2008 có lệnh này bác a.
-
1
-
-
Bạn có thể sử dụng lệnh DATAEXTRACTION để xuất dữ liệu. Bạn chịu khó tìm kiếm lệnh này trên diễn đàn, đọc, hiểu nó nhé
vâng e cám ơn bác đã chỉ. em sẽ tìm và đọc ngay. chúc bác 1 ngày tốt lành
-
1
-
1
-
-
Đỏ : Bạn Đã nói ở chỗ nào mà Ket tìm hổng thấy :)
Xanh : bạn minh họa bằng hình vẽ, vì nào ai biết kéo là kéo như thế nào, bạn chọn dài, rộng, xong máy tự kéo, tự tính, hay bạn kẻ 2 cái dài, rộng....?
Tím : Bạn dùng các lisp thống kê diện tích để xuất text ra CAD, copy 1 phát vào EXcel, hoặc thậm chí là tự làm 1 cái bảng trong CAD với các field, hoàn toàn có thể làm trong CAD :)
Đỏ: "không phải bác a. ý em là kết quả lần đầu lưu vào vị trị đặt chuột trong bảng excel. còn kq sau thì cứ xuống dòng thôi mà.
Em không hiểu lắm về tư duy lập trình nên ko biết khó dễ thế nào. nếu ô bất kỳ khó thì có thể chèn vào ô đầu tiên (A1) cũng đc bác a"
Xanh: Kéo như vẽ line như em hiểu đơn giản thì khi gõ lệnh, cad báo "cạnh a" MÌNH pick vào điểm đầu và điểm cuối của cạnh thứ 1, tương tự với cạnh thứ 2.
Tím: em không tìm được lisp thống kê diện tích nào trên diễn đàn dựa theo cách 'kéo' 2 cạnh như em muốn. nếu dùng lisp pick để tính thì rất khó vì bên trong còn ký hiệu cửa, các vật dụng bàn, gế, bồn cầu,... thậm chí là cánh cửa. nếu bác thấy có lisp nào tính diện như ý em trình bày thì cho em xin cái link a.
ảnh em minh họa như vẽ line http://www.cadviet.com/upfiles/3/11_3.jpg
Em cám ơn bác đã quan tâm
-
1
-
1
-
-
@Tina : sở dĩ mình nói khó bởi vì khi chuyển quyền cho Excel để bạn click, thật khó để CAD biết bạn đã chọn cái ô nào, vì cái bạn đang làm việc với là Lisp của CAD. Còn với các kỹ thuật cao hơn thì với mình thật khó khăn ^^ Phải chăng bạn quá lười ?
Thưa bác e nghĩ dùng lisp để tăng tốc độ làm việc chứ ko có j là lười đâu bác a. cái hình cn mà em nói đó là mặt bằng các phòng đấy a. em cần tính diện tích để tính toán thông gió và điều hòa cho nó. giả sử có 50 phòng, bác ngồi đo dài, rộng từng phòng rùi nhập qua excel để tính ra diện tích thì có lẽ hơi lâu. nếu có lisp thì chỉ cần thao tác trong cad mà cũng rất nhanh.
em cũng đã nói nếu chọn ô bất kỳ khó thì có thể chọn ô đầu tiên là A1 trong excel rùi mà bác và ô tiếp theo là A2, A3..., nếu cần địa chỉ cụ thể thì là cột A từ A1 đến A69 là đủ bác a. vì e chưa làm quá 50 phòng bao giờ.
Mong các bác giúp đỡ.
-
2
-
1
-
-
Chương trình bác viết in rất ổn. Bổ xung thêm plot nhiều layout nữa thì còn j bằng. mong bác cố gắng sớm hoàn thiện cho anh em đc nhờ :rolleyes:
-
Chèn vào Ô excel xong lại ô nào tùy chọn thì khoai quá :) Rút thôi :rolleyes:
không phải bác a. ý em là kết quả lần đầu lưu vào vị trị đặt chuột trong bảng excel. còn kq sau thì cứ xuống dòng thôi mà.
Em không hiểu lắm về tư duy lập trình nên ko biết khó dễ thế nào. nếu ô bất kỳ khó thì có thể chèn vào ô đầu tiên (A1) cũng đc bác a
-
2
-
1
-
-
E lại chào cả nhà lần nữa :(
Hình như chủ đề này có nhiều quá ko ai để ý hay sao vậy.
Mong các bác cho góp ý nếu đã có bài như mong muốn của e post trên diễn đàn.
-
2
-
1
-
-
Đố vui
trong Sử dụng AutoCAD
Tue_NV có 1 lời giải ở đây :
bác làm theo lệnh rotate với bắt điểm // đúng ko vậy :unsure:
-
Đố vui
trong Sử dụng AutoCAD

Làm thế nào để biến H1 thành H2 nhanh nhất???
(Một yêu cầu đơn giản, chỉ cần xoay hình chữ nhật có cạnh dài // song song với đường thẳng)
Xin mời các bác cùng vui thư giãn!
có j khó mà phải đố nhỉ :(
rotate cái xong ngay mà :o
-
1
-
-
Chào cả nhà. Em đã đọc khá nhiều bài trên diễn đàn về lisp tính diện tích nhưng chưa thấy có cái nào giải quyết đc vấn đề của e cả. Em muốn nhờ các bác viết giúp 1 cái lisp tính diện tích như sau:
- Tính diện tích hình chữ nhật bằng cách kéo 2 chiều dài 2 cạnh của nó (kéo như vẽ line)
- Diện tích tính ra được chèn vào 1 ô của 1 bảng excel có sẵn (ô nào tùy mình chọn)
- Sau khi tính xong hình 1 sẽ tiếp tục tính các hình tiếp theo cho đến khi esc hoặc enter để kết thúc.
- Kết quả tính sau được lưu vào cùng cột và ô ngay dưới kết quả trước (tất cả kết quả lưu vào 1 cột, vị trí đầu tiên của cột đó do mình chọn)
Em diễn đạt có khi hơi khó hiểu mong các bác giúp đỡ.
Chúc cả nhà 1 ngày tốt lành :rolleyes:
-
2
-
1
-
-
bạn chịu khó chỉnh lại các block, và chỉnh lại layer cho thích hợp
để khi vẽ tắt mở layer đi sẽ tốt hơn. Bản vẽ này quá nhiều đối tượng line
còn không chịu khó mở trên 1 máy mạnh nhé
Bạn làm các bước sau nhé
1. express>modify>delete duplicate objects.
2. purge
3. -scalelistedit>reset>yes
Chắc cũng đủ làm nhẹ bản vẽ kha khá :D
-
chào anh chị em trong diễn dàn .em có 1 cái vướng mắc là khi làm đồ án tốt nghiệp .em kiếm được 1 bản mẫu về làm .nhưng em cũng không biết là bản vẽ là tự vẽ hay cũng edit con số dim kích thước,anh chị naò biết chỉ cho em cách nhận biết con số bị edit với.và có cách nào cho nó về con số dim thật của nó không a?em cảm ơn.
Lệnh ED chỉ làm từng dim thôi.
Nếu bạn muốn cho tất cả dim về giá trị thực thì nên dùng dimreassoc là ok.
-
Chào các anh! Chúc mọi người luôn vui vẻ và gắn bó lâu dài với cadviet. Chúc cadviet có nhiều thành viên và là sân chơi hữu ích giành cho các bạn trẻ.
Em có một ý tưởng như thế này, mong được các anh giúp đỡ.
- Vì autocad có rất nhiều lệnh.
- Mỗi LISP cũng có riêng một lệnh
-> Có khi quên mất lệnh lại phải bật LISP lên để xem lệnh
- Các lệnh cad hay được mọi người chia sẻ nhưng lâu không động đến quên mất
Ý TƯỞNG CỦA EM LÀ:
Tạo một menu trong đó có chứa các lệnh của cad và lisp nữa, khi mà mình click vào tương ứng với việc gõ lệnh.( LISP luôn được bật khi khởi động cad: cho vào contend,support hay như thế nào đó)
Với một menu như thế em sẽ không sợ quên lệnh, mà cũng sẽ rất dễ dàng khi máy có menu này để hướng dẫn cho các bạn mới học cad(như em chẳng hạn) để khi nào không nhớ lệnh có thể mở menu. hoặc mỏi tay gõ lệnh dùng chuột. hjhj
Em kính mong mọi người giúp đỡ! thanks cadviet.
Lần sau bạn nên ghi rõ yêu cầu chức năng của Lisp khi đặt tên Topic
Ban điều hành
1. cad có đến vài chục toolbar rùi, mình cần cái j thì cho cái đó ra thôi chứ cho ra hết sao đc. Bạn có thể tạo toolbar riêng bao gồm những lệnh bạn hay dùng.
2. lisp tự load khi bạn add nó vào "contents" và mình thì chỉ add 1 vài cái mình hay dùng. vì lisp do nhiều tác giả viết nếu lúc nào cũng để tự động load có thể trùng lệnh thì hơi mệt.
3. lệnh nào bạn hay dùng thì viết ra sổ tay lúc nào quên thì mở ra đọc chứ dùng toolbar chắc là lâu hơn gõ lệnh ^^
-
Bạn cho mình hỏi bạn chỉ có 1 nhóm B và muốn thay thế bằng 1 nhóm A thôi ah. nếu thế thì copy và paste cho nhanh. còn nếu có nhiều nhóm như vậy thì sao bạn ko tạo 2 block A, B, rùi dùng lệnh "Replace block with another block" trong express tool.
-
1. Lisp này thì có ngoặc hay không, vẫn chạy tốt
2. Em đã phá tan tành cái lisp của anh ketxu rồi :P
;; free lisp from cadviet.com ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=43745&st=0&gopid=149909entry149909 (defun c:++(/ num kq oldvalue str dng ddt) (setq num (getreal "\nS\U+1ED1 c\U+1EA7n c\U+1ED9ng th\U+00EAm :")) (foreach ent (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT"))))))) (setq dng (vl-string-position (ascii ")") (setq str (vlax-get-property ent 'TextString)))) (if (= dng nil) (setq dng (strlen str))) (setq kq (vl-string-subst (strcat " " (rtos (+ num (atof (setq oldvalue (substr str (+ 2 (setq ddt (vl-string-position (ascii "-") str))) (- dng ddt 1))))) 2 (- (strlen oldvalue) (cond ((vl-string-position (ascii ".") oldvalue)) (T (1- (strlen oldvalue)))) 1))) oldvalue str )) (vlax-put-property ent 'TextString kq))) (vl-load-com)
Cám ơn bạn nhiều nhé. Thanks + bạn rùi đó ^^.
@Ketxu bác ơi vì hôm trc bác nói ko thích string lắm, em đợi mấy hôm ko thấy bác reply nên mới viết thêm, mà bài cũ chẳng biết viết thêm vào cái j nên mới lập thêm 2pic. lần sau e sẽ chú ý hơn :rolleyes:
Mà bác bảo nhận lỗi với e sao ko cho em cái thanks + coi như tạ lỗi nhỉ :lol:
Chúc cả nhà 1 ngày vui vẻ :))
-
1
-
1
-
-
Đây là lisp e bác ketxu đã viết cho em: http://www.cadviet.com/upfiles/3/2b2b.lsp
Tác dụng của lisp: http://www.cadviet.com/forum/index.php?showtopic=43745&st=0&p=149882&fromsearch=1entry149882
Trong quá trình sử dụng em có 1 vài vấn đề như sau mong các bác sửa giúp:
- Text dạng (EF - 1) khi dùng lisp với giá trị tăng thêm 2 cho kết quả (EF -3), em muốn sửa để có dấu cách giữa "-" và "3": (EF - 3)
- Với text dạng (EF - 10.1) với giá trị tăng thêm 2 cho kết quả (EF - 12), em muốn kết quả có dạng (EF - 12.1)
Mong được các bác giúp đỡ. Em cám ơn và chúc các bác 1 ngày tốt lành :rolleyes:
-
Thanks bác nhé :lol:
-
http://www.cadviet.com/upfiles/3/tinya1225.dwg
Nhờ các bác xem giúp.
Chỗ cần xem em đã đánh dấu,vấn đề cần quan tâm là:
- cửa và cửa sổ chỉ move đc theo tường, khi xóa thì tường tự nối, khi copy sang 1 đoạn tường nào đó thì đoạn đó tự cắt.
- đoạn tường giao nhau (đánh dấu trên cùng) khi explode 1 vách thì đoạn kia tự nối lại, move thì điểm nối tự di chuyển theo.
Câu hỏi của e:
1. Đây là cái j?
2. Làm sao tạo được nó.
Em xin cám ơn các bác và chúc các bác 1 ngày tốt lành!
-
1
-
-
Bạn thêm dòng (vl-load-com) vào đầu hoặc cuối lisp hộ mình, có khả năng chưa load VL
ok ngon rùi bác a. thanks bác nhiều nhiều. nhưng có 1 vấn đề nho nhỏ. text của e là (XX - 01) khi chạy với n=1 xong thì kết quả là (XX -02), Bác chỉ giúp e để nó có dấu cách giữa "-" và "02" với a.
-
3
-
1
-
-
Mình không rành xử lý string lắm, mà chính xác là hok thích lắm. Viết như thế này, bạn thử xem có dùng được hem :
(defun c:++(/ num kq oldvalue str) (setq num (getint "\nS\U+1ED1 c\U+1EA7n c\U+1ED9ng th\U+00EAm :")) (foreach ent (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "*TEXT"))))))) (setq kq (vl-string-subst (rtos (+ num (atoi (setq oldvalue (substr (setq str (vlax-get-property ent 'TextString)) (+ 2 (vl-string-position (ascii "-") str)) )))) 2 0) oldvalue str )) (if (=(substr str (strlen str)) ")")(setq kq (strcat kq ")"))) (vlax-put-property ent 'TextString kq)) )
cám ơn bác đã bỏ công sức giúp em.
em đã chạy lệnh báo lỗi như sau:
Command: ++
Số cần cộng thêm :1
Select objects: 1 found
Select objects:
; error: no function definition: nil
đã thử với text, mtext, dtext
mong bác tiếp tục giúp em.
-
2
-
[Yêu cầu] lisp tính diện tích hình chữ nhật bằng cách đo 2 cạnh
trong AutoLisp
Đã đăng · Trả lời báo cáo
Lại bác ketxu chăm chỉ nhất :D
http://www.cadviet.com/upfiles/3/bdt.lsp
e cám ơn bác trc.