Chuyển đến nội dung
Diễn đàn CADViet

tinya1225

Thành viên
  • 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


  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é

    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.


  2. 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?


  3. 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^^

    • Vote tăng 1

  4. 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.

    • Vote giảm 1

  5. Đỏ : 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

    • Vote tăng 1
    • Vote giảm 1

  6. @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 đỡ.

    • Vote tăng 2
    • Vote giảm 1

  7. 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

    • Vote tăng 2
    • Vote giảm 1

  8. 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:

    • Vote tăng 2
    • Vote giảm 1

  9. 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é

     

    http://www.cadviet.com/forum/public/style_emoticons/default/unsure.gifhttp://www.cadviet.com/forum/public/style_emoticons/default/blink.gifhttp://www.cadviet.com/forum/public/style_emoticons/default/mad.gif

    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


  10. 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.


  11. 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 ^^


  12. 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ẻ :))

    • Vote tăng 1
    • Vote giảm 1

  13. Đâ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:


  14. 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!

    • Vote tăng 1

  15. 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.

    • Vote tăng 2
×