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

thikladuoc

Thành viên
  • Số lượng nội dung

    23
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi thikladuoc


  1. Bạn quocmanh04tt ơi!

    Lisp của bạn có bổ xung việc tự chọn khổ giấy in không bạn? ví dụ trong trường hợp mình phải in nhiều bản vẽ, mà mỗi bản vẽ trên file dwg lại với nhiều khung in...

    Chn chế độ auto. (áp dụng với khung PL hoặc Rec ):

    Cách thức chọn như sau: Lisp sẽ đo 2 cạnh của khung in. Nếu 2 cạnh bằng nhau sẽ chọn 1 cạnh để so sánh.

    Khi cả 2 cạnh đều lớn hơn 840mm thì sẽ bỏ qua khung in đó và đánh dấu vào khung đó là: vượt khung.

    Nếu thỏa mãn có 1 cạnh nhỏ hơn 840mm thì sẽ chạy so sánh:

    So sánh theo thứ tự từ khung A5 đến khung A0. Lisp sẽ lấy cạnh dài của khung đo được so sánh với cạnh dài của khung A5 , lấy cạnh ngắn so sánh với cạnh ngắn khung A5. cả 2 điều kiện trên thỏa mãn sẽ chọn khung in A5. Nếu 1 trong hai điều kiện trên không thỏa mãn sẽ chọn tiếp so sánh với khung A4, lặp lại đến khung A0. Nếu đến khung A0 mà vẫn không có điều kiện thỏa mãn sẽ tạo khung in. Lúc đó 1 cạnh sẽ là 840, 1 cạnh sẽ là cạnh dài đo được + 10mm ( vi dụ cạnh dài là 1350 thì sẽ in với 1360 ).


  2. tien2005 ơi, bạn có thể thêm chức năng tự động chọn khung thích hợp cho bản vẽ được không.

    Ngoài những khung cố định, có thêm 1 chế độ tự động chọn khung... cho bản vẽ với nhiều khung in khác nhau.

    Chọn chế độ auto. (áp dụng với khung PL hoặc Rec ):

    Cách thức chọn như sau: Lisp sẽ đo 2 cạnh của khung in. Nếu 2 cạnh bằng nhau sẽ chọn 1 cạnh để so sánh.

    Khi cả 2 cạnh đều lớn hơn 840mm thì sẽ bỏ qua khung in đó và đánh dấu vào khung đó là: vượt khung.

    Nếu thỏa mãn có 1 cạnh nhỏ hơn 840mm thì sẽ chạy so sánh:

    So sánh theo thứ tự từ khung A5 đến khung A0. Lisp sẽ lấy cạnh dài của khung đo được so sánh với cạnh dài của khung A5 , lấy cạnh ngắn so sánh với cạnh ngắn khung A5. cả 2 điều kiện trên thỏa mãn sẽ chọn khung in A5. Nếu 1 trong hai điều kiện trên không thỏa mãn sẽ chọn tiếp so sánh với khung A4, lặp lại đến khung A0. Nếu đến khung A0 mà vẫn không có điều kiện thỏa mãn sẽ tạo khung in. Lúc đó 1 cạnh sẽ là 840, 1 cạnh sẽ là cạnh dài đo được + 10mm ( vi dụ cạnh dài là 1350 thì sẽ in với 1360 ).


  3. Cám ơn Nguyentuyen6 nhé. lisp của bạn rất hay và bổ ích. Nhưng nếu thêm được phần cho nó tự chọn khổ giấy để in thì tốt. trong khổ giấy để  lựa chọn : A4, A3, A2, A1, A0 và auto. Phần auto lisp sẽ tự đo các kích thước và đặt plotstyle để in... khi đo kích thước khung in, sẽ có 2 giá trị ngang và dọc. khi so sánh với 2 giá trị đó với các kích thước cố định của A0, A1, A2, A3, A4 thì nếu 1 trong 2 kích thước lớn hơn kích thước của khung nào thì sẽ nhảy lên so sánh với khung tiếp theo, đến khi chọn được 1 khung có chỉ số lớn hơn gần nhất với kích thước ( ví dụ 1 trong 2 kích thước có số đo được lớn hơn 1 kích thước của A2 thì sẽ so sánh với kích thước A1, nếu 2 kích thước nhỏ hơn A1 thì sẽ chọn in khung A1 cho bản vẽ đó, khung in sẽ được tự tạo ra, với tâm khung trùng với tâm mà người in vẽ trước. Nếu so sánh 2 kích thước đó có số đo được lớn hơn A0 và trong 2 kích thước đó có 1 kích thước nhỏ hơn hoặc bằng 840, thì sẽ tự tạo khung in với 1 kích thước 840 và 1 kích thước được tạo ra từ kích thước đo được còn lại ( in nhưng không lưu Plotstyle, tránh bị chồng đè nhiều lần lên nhau ). Nếu cả 2 kích thước đều lớn hơn 840, lisp không in bản đó và sẽ đánh dấu lại bằng đường tròn hoặc ghi chú ( Kích thước 2 cạnh lớn hơn 840 ) rồi nhảy sang in bản kế tiếp.


  4. lệnh là EXPTXT

     

    (defun c:exptxt()
    (setq
    ss (ssget '((0 . "TEXT")))
    fn (getfiled "Ten file: " "" "txt" 1)
    f (open fn "w")
    lst (ss2ent ss)
    )
    (foreach e lst
    (setq tt (entget e)
    p (cdr (assoc 10 tt))
    x (rtos (car p))
    y (rtos (cadr p))
    z (cdr (assoc 1 tt))
    
    )
    (write-line (strcat x " " y " " z) f)
    )
    (close f)
    (princ)
    )
    
    (defun ss2ent (ss / sodt index lstent)
    (setq
    sodt (if ss
    (sslength ss)
    0
    )
    index 0
    )
    (repeat sodt
    (setq ent (ssname ss index)
    index (1+ index)
    lstent (cons ent lstent)
    )
    )
    (reverse lstent)
    )

    Bạn ơi, Lisp trên của bạn là chọn thẳng vào text và xuất tọa độ của text đó ra, cao độ cũng chính là text đó. Lisp trên sử dụng được singeltext, không xuất được mutiltext

    Nhưng nếu trong trường hợp tọa độ là ở hình tròn và cao độ ghi dang text, stt cũng dạng text thì các bạn xem giúp mình

    mình gửi file cad dạng đó và text sử dụng là cả 2 trường hợp:  http://www.mediafire.com/file/k1c7ceejkxjmk39/Xuat+Toa+Do.dwg

    Lisp trên bạn thêm giúp mọi người chút nữa với:

    khi mở và load lên, sẽ cho mọi người 2 lựa chọn ( tọa độ tại text (1)/tọa độ,stt ngoài text (2)/tọa độ tại text và stt ngoài (3):

    nếu gõ 1 sẽ chạy lisp trên ( bạn xem lại giúp, nếu Mutiltext sẽ không nhận được )

    Nếu gõ 3 thì lisp trên sẽ thêm phần stt nữa ( khi xuất ra sẽ 1 file txt có stt      x      y       z )

    nếu gõ 2 thì sẽ pick chọn lần lượt: text STT => vị trí trích tọa độ => text cao độ ( khi xuất ra sẽ 1 file txt có stt      x      y       z )


  5. Chữ bên Excel thế nào thì bên CAD sẽ y nguyên. Bạn Format VnTimeH bên excel thì sang CAD sẽ đc. Để thế cho nó đồng bộ font :D

    cảm ơn bạn nhé... nhưng mình đồng bộ rồi mà vẫn không được... chữ bắn ra là .VntimeH.ttf 

     

    thực ra mình chỉ cần sửa trong text sty chút thôi, nhưng có lẽ bộ font của mình lỗi hay sao ấy


  6. Thấy Mr. Bean giúp rồi nên mình chỉ nghịch tý thôi, đây là lsp đã bỏ mặt cười và dim bên trái: https://drive.google.com/file/d/0B2LetfHDljPGdVVldWxsellNcG8/view?usp=sharing

    Của Mr. Bean: Nếu cho độ rộng to lên thì các MC sẽ đè lên nhau.

    *** Cái của mình nếu số lượng MC > 10 thì tự xuống hàng.

    Cám ơn bạn nhé, mình đã làm được rồi...

    Của bạn Bee thì mình đã gặp lỗi và có chụp ảnh lại nè;

    http://www.mediafire.com/file/y6hkuxfk1ha6jyt/Loi.rar

    Mình nhờ bạn Bee bổ xung giúp mình với:

    Bạn thêm giúp mình thêm chọn cỡ chữ với, nếu bỏ qua chọn cỡ chữ thì sẽ về cỡ chữ mặc định bạn đang để.

    Bạn tách giúp mình 4 yếu tố ra 4 layer ( hiện tại đang 2 layer, chữ trên, chữ dưới, đường tròn, đường gạch tương ứng ; layer1,2,3,4) 

    Text Style bạn giúp tạo tex VLT (.vntimeH) thay cho standard để khỏi trùng với các text khác nhé:

    https://drive.google.com/file/d/0B-3fZ45DSr_XWXV4U1VHZlU3OTQ/view?usp=sharing

    Cám ơn các bạn đã giúp mình hoàn thiện thêm công tác...!


  7.  

    Lisp này fix luôn chấm phẩy bên excell nhé.

    https://drive.google.com/file/d/0B-3fZ45DSr_XdkhVQTZfRUhUdkk/view?usp=sharing
    

    Tôi đã thử lại rồi, chủ yếu báo sai dữ liệu ở cột độ cao, khi bắn ra thì được 1 độ cao gấp 2 lần độ cao đưa vào vẽ ( cột thứ 3 đó) mình cũng thử ở cả dấu . và dấu , nữa... 

    Lisp của bạn quocmanh04tt mình thấy ổn rồi, nhưng bạn ấy lại thêm hình mặt cười và khoảng cách đo bên trái ( không có trong file số liệu ấy ) làm mình phải xóa tay ... hik

    mình cám ơn bee nhé...

     


  8. Rãnh rỗi, nghịch cái chơi: https://drive.google.com/file/d/0B2LetfHDljPGN1VmZ1d3bDFmV0E/view?usp=sharing

    Lệnh: HAMLO

    P/s (bên excel):

    - Muốn vẽ tất cả dữ liệu trong 3 cột thì bôi đen cả 3 cột, không cần chọn theo vùng (tức là pick vào cột A, giữ Shift pick cột C) rồi copy - Dòng dữ liệu nào hợp thì vẽ, không thì chuyển tiếp xuống dòng kế tiếp.

    - Hoặc muốn vẽ vùng nào thì copy vùng đó.

    Bạn ơi, bạn xem bỏ giúp tôi mặt cười và phần đo khoảng cách bên trái giúp tôi với... cám ơn bạn nhiều


  9.  

    VLT nhé ^_^

    https://drive.google.com/file/d/0B-3fZ45DSr_Xd0RhaHg2UWlRME0/view?usp=sharing
    

    Bạn ơi, bạn để thêm giúp tôi bước nhập bán kính đường tròn với ( không mặc định 0.5 nữa, mà trước khi chèn điểm sẽ có bước chọn bán kính tròn:    )

    Bạn cố gắng giúp tôi nhé... cám ơn bạn nhiều...

    P/s bạn cho tôi xin SĐT luôn nhé, co điều kiện, tôi xin hậu tạ...


  10.  

    VLT nhé ^_^

    https://drive.google.com/file/d/0B-3fZ45DSr_Xd0RhaHg2UWlRME0/view?usp=sharing
    

    Cám ơn bạn, tôi đã làm thành công... bạn thêm giúp số 0 vào sau dấu phẩy với., VD 11.0 thì bị thành 11, 9.0 thành 9...

    Nhờ các bạn xóa giúp hình mặt cười và khoảng cách đo bên trái trong lisp này với:

    https://drive.google...iew?usp=sharing

     

    Dữ Liệu:

    http://www.mediafire...eu nhap tex.xls

    http://www.mediafire.../Trac Ngang.dwg


  11. Phần HAMLO:

    http://www.mediafire.../Trac Ngang.dwg

    http://www.mediafire...eu nhap tex.xls

    Kết quả: https://drive.google...iew?usp=sharing

    nhờ các bạn xóa giúp hình mặt cười và khoảng cách đo bên trái ( không có trong file nhập tex ) và tích hợp thêm lệnh LT với dữ liệu:

    http://www.mediafire...avmv4vt/VLT.dwg

    http://www.mediafire...wc7wgmq/VLT.xls

    Phần vẽ LT sẽ vẽ theo thứ tự bên số liệu EXCEL, mỗi lần pick chuột tại bản cad sẽ là 1 lần nhảy stt và chiều sâu tương ứng bên file excel...


  12. Số liệu để làm lisp HAMLO

    http://www.mediafire.../Trac Ngang.dwg

    http://www.mediafire...eu nhap tex.xls

    https://drive.google...iew?usp=sharing (Lisp quocmanh04tt đã viết giúp mình )

    Cám ơn các bạn, tôi đã làm theo và đã thành công... cám ơn các bạn rất nhiều...

    Nhưng nhờ bạn xóa giúp cái mặt cười và kích thước đo bên trái ( không có trong số liệu) trong hình đi với... T_T

    Tiện thể, bạn thêm phần lisp vẽ phần này giúp mình với ( phần cũ lệnh HAMLO, phần này lệnh LT nhé)

    http://www.mediafire.com/file/ca1uiar3avmv4vt/VLT.dwg

    http://www.mediafire.com/file/arj730nbwc7wgmq/VLT.xls

    Phần vẽ sẽ mối lần pick sẽ vẽ theo 1 dòng tại vị trí pick trên bản vẽ...

    Cám ơn các bạn rất nhiều...

    Hai phần HAMLO và LT trong 1 lisp nhé... HAMLO là lệnh viết cũ để chạy phần trước, LT là phần chạy tôi nhờ mọi người viết thêm vào giúp tôi với.

    nhờ bạn xóa giúp cái mặt cười và kích thước đo bên trái ( không có trong số liệu) trong hình đi với... T_T

    Các bạn giúp mình nhé... cám ơn các bạn nhiều


  13. Mình đang bận làm nốt cái luận văn Ths. Không có time sửa nhiều. Ai rảnh sẽ làm giúp bạn. Nếu hết tuần ko có ai thì mình viết cho bạn.

    hi, cám ơn bạn nhé... nhưng bạn cố gắng xóa giúp mình cái mặt cười và kich thước bên trái ( không phải kích thước mình cần trong bảng số liệu ) trong hình đi với... hik


  14. Rãnh rỗi, nghịch cái chơi: https://drive.google.com/file/d/0B2LetfHDljPGN1VmZ1d3bDFmV0E/view?usp=sharing

    Lệnh: HAMLO

    P/s (bên excel):

    - Muốn vẽ tất cả dữ liệu trong 3 cột thì bôi đen cả 3 cột, không cần chọn theo vùng (tức là pick vào cột A, giữ Shift pick cột C) rồi copy - Dòng dữ liệu nào hợp thì vẽ, không thì chuyển tiếp xuống dòng kế tiếp.

    - Hoặc muốn vẽ vùng nào thì copy vùng đó.

    Cám ơn các bạn, tôi đã làm theo và đã thành công... cám ơn các bạn rất nhiều...

    Nhưng nhờ bạn xóa giúp cái mặt cười và kích thước đo bên trái ( không có trong số liệu) trong hình đi với... T_T

    Tiện thể, bạn thêm phần lisp vẽ phần này giúp mình với ( phần cũ lệnh HAMLO, phần này lệnh LT nhé)

    http://www.mediafire.com/file/ca1uiar3avmv4vt/VLT.dwg

    http://www.mediafire.com/file/arj730nbwc7wgmq/VLT.xls

    Phần vẽ sẽ mối lần pick sẽ vẽ theo 1 dòng tại vị trí pick trên bản vẽ...

    Cám ơn các bạn rất nhiều...


  15. http://www.mediafire.com/view/wm6pugmfwxa5yia/KQ.png

    mình làm theo file mới nhất và đây là hình ảnh và lệnh thu được...

    Hình vẽ màu vàng là kết quả mình muốn, hình màu trắng là KQ đưa ra...

    Mình làm riêng với C3 thì mới ra, nhưng kq không đúng như C3 mình vẽ tay... với C1 và C2 thì lại báo lỗi dữ liệu copy...

    Mình gửi bạn bản cad và file excel là 1 phần khác làm ở ngoài trời... cũng dạng copy và nhảy số theo giống như thế... 

    Bạn viết thêm giúp mình và đặt đó là VLT, còn phần cũ vẫn là VHL hộ mình nhé...

    Đây là file excel và cad mình muốn nhờ bạn viết thêm vào file lisp trên...
    Nhờ bạn giúp mình nhé... mình cảm ơn nhiều.

  16. Cám ơn bạn bee nhé... nhưng tôi vẫn bị lỗi: error: bad argument type: stringp nil

    Tôi đã xem kỹ video bạn hướng dẫn: Load lisp=> excel : copy dữ liệu => sang cad đánh lệnh comman: VHL thì báo lỗi.

    bạn xem giúp tôi cho cả cái này trong lisp đó với: bạn để lệnh kia là VHL, lệnh này là VLT nhé.


  17. Nhờ a e viết giúp tôi lisp để thực hiện các lệnh vẽ trắc ngang trong hầm lò chỉ cần nhập file tex nhé...

    Các bước tôi đã miêu tả trong excel và có kèm 1 bản vẽ cad mô tả các bước rồi

    http://www.mediafire.com/file/kkgbiv6fjahdn6n/Trac+Ngang.dwg

    http://www.mediafire.com/file/xbgfho4uge04u7a/Du+Lieu+nhap+tex.xls

    A E thông cảm, tôi upload mãi trong cad việt không được nên đành up sang mediafire...

    Chân thành cám ơn mọi người.


  18. Chào các bạn, tôi có môt file Excel gồm có STT, X, Y , H.
    các bạn có cách nào giúp tôi phun được lên autocad như bản vẽ cad tôi gửi kèm không?
    Trên bản cad, sẽ phun theo tọa độ X,Y và ghi vào tên điểm đó là STT / H. Điểm được đánh dấu bằng hình tròn.
    Trong file mẫu tôi đã để bảng tọa độ trình bày trong Excel rồi.

    Tôi xin chân thành cảm ơn !

    http://www.cadviet.com/upfiles/3/136518_mau.rar

×