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

ginger

Nhà quảng cáo
  • Số lượng nội dung

    113
  • Đã tham gia

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

  • Ngày trúng

    1

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


  1. cảm ơn bạn đã quan tâm, m vừa hỏi được rồi, dung lệnh ctrl+shift+c sau đó nhập 0,0,0 sau đó chọn file cần ghép vào file bản đồ địa chính. Sau đó sang file bản đồ địa chính vào mục edit > paste to original.... la ok. ko biết vậy đúng không?

    đúng rồi , còn không kiểm tra lại một vài cái mẫu là biết đúng sai ngay 


  2. Có đọc bên Page, giúp bạn 1 cái (4 trong 1):

    (defun c:tt (/ tongdim gandim fun tt1 tt2 ttf)

    (defun tongdim (msg / ss ttd)

    (setq ttd 0)

    (princ msg)

    (if (setq ss (ssget '((0 . "DIMENSION"))))

    (foreach x (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))

    (setq ttd (+ ttd

    (cond ((distof (cdr (assoc 1 (entget x)))))

    ((cdr (assoc 42 (entget x))))))))

    (setq ttd nil))

    ttd)

    (defun gandim (val / ent obj pre)

    (and (setq ent (car (entsel (strcat "\nPick Dim de gan <" (vl-princ-to-string val) ">: "))))

    (eq (cdr (assoc 0 (entget ent))) "DIMENSION")

    (setq pre (vla-get-PrimaryUnitsPrecision (setq obj (vlax-ename->vla-object ent))))

    (vla-put-TextOverride obj (rtos val 2 pre))))

    ;; *** Main ***

    (if (setq tt1 (tongdim "\nChon nhom thu Nhat !"))

    (if (setq tt2 (tongdim "\nChon nhom thu Hai !"))

    (progn (if (equal tt2 1e-13)

    (progn (not (initget "+ - *")) (setq fun (getkword "\nPhep tinh [+/-/*] ")))

    (progn (not (initget "+ - * :")) (setq fun (getkword "\nPhep tinh [+/-/*/:] "))))

    (and (cond ((eq fun "+") (setq ttf (+ tt1 tt2)))

    ((eq fun "-") (setq ttf (- tt1 tt2)))

    ((eq fun "*") (setq ttf (* tt1 tt2)))

    ((eq fun ":") (and (not (zerop tt2)) (setq ttf (/ tt1 tt2)))))

    (princ (strcat "\nKet qua: " (vl-princ-to-string ttf)))

    (gandim ttf)))

    (and (princ (strcat "\nKet qua tong dim chon lan 1: " (vl-princ-to-string tt1)))

    (gandim tt1))))

    (princ))

    được rồi anh ạ ! em cảm ơn bác nhé


  3. P/s : mình đã sửa bài cho bạn, khi copy code lisp thì cho vào tag Code bạn nhé 

    @Ketxu

     

     

    em copy được lisp cộng trừ dim trên mạng nhờ các bác sửa giúp thành lisp nhân chia dim ạ ! hoặc cho em xin lisp nhân chia dim cũng được ! em cảm ơn 

     

    (defun c:ccc(/ 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))
    )
    
    
    
    
    (alert (rtos S 2 0))
    
    
    (princ)
    )
    (defun c:ttt(/ 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 sst (ssget '((0 . "DIMENSION"))))
    
    
    (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)
    )
    • Vote giảm 2

  4. Lỗi gì vậy bạn?

    Bạn copy đoạn mã trên bằng Ctrl+C

    vào autocad, gõ lệnh vlide

    dán vào = Ctrl+V, save as thành 1 file *.lsp

    apload file trên

    gõ lệnh FL là xong

    (nếu bạn muốn chọn DIMENSION thì thay dòng lệnh trên từ LEADER sang DIMENSION)

    khi em chọn leader để chuyển layer thì báo không có đối tượng được chọn ạ !


  5. Gửi bạn

     

    (defun c:fl (/)

    (print "\nChon LEADER de chuyen layer ")

    (setq ss (ssget '((-4 . "<AND") (0 . "LEADER") (-4 . "AND>"))) ;_ ssget

    ) ;_ setq

    (setq ent (entget (car (entsel "\nChon 1 Layer de Set Current: "))) ;_ entget

    ) ;_ setq

    (if ent

    (progn (setq lay (cdr (assoc 8 ent)))

    (command "change" ss "" "p" "LA" lay "")

    (print (strcat "\nDa chuyen "

    (itoa (sslength ss))

    " doi tuong LEADRER ve layer : "

    lay

    ) ;_ strcat

    ) ;_ print

    ) ;_ progn

    ) ;_ if

    )

    bác ơi lisp báo lỗi bác ạ 

    • Vote giảm 2

  6. Gửi bạn

     

    (defun c:fl (/)

    (print "\nChon LEADER de chuyen layer ")

    (setq ss (ssget '((-4 . "<AND") (0 . "LEADER") (-4 . "AND>"))) ;_ ssget

    ) ;_ setq

    (setq ent (entget (car (entsel "\nChon 1 Layer de Set Current: "))) ;_ entget

    ) ;_ setq

    (if ent

    (progn (setq lay (cdr (assoc 8 ent)))

    (command "change" ss "" "p" "LA" lay "")

    (print (strcat "\nDa chuyen "

    (itoa (sslength ss))

    " doi tuong LEADRER ve layer : "

    lay

    ) ;_ strcat

    ) ;_ print

    ) ;_ progn

    ) ;_ if

    )

    em cảm ơn ạ !


  7. Các anh chị và  cho em hỏi là có lisp hoặc lệnh nào để sắp xếp vị trí bản vẽ chỗ layout giống như vị trí bên sheetsetmanager không ạ ! Hình ảnh minh họa bên dưới ! 
    ( vì nếu không sắp xếp vị trí các bản vẽ ở layout thì in bản vẽ nó chạy lung tung lên ; và người kiểm tra khi không dùng sheetset cũng khó xem ) Em cảm ơn !


  8. Dưới đây là lisp convert các mã font thông dụng (unicode, tcvn, vni, xược) trong AutoCAD. Chương trình tự nhận dạng mã font hiện hành của đối tượng text.

     

    Sau khi Appload xong:

    Dùng lệnh cfu để chuyển font sang unicode

    Dùng lệnh cft để chuyển font sang tcvn

    Dùng lệnh cfv để chuyển font sang vni

    Dùng lệnh cfx để chuyển font sang xược (/)

    Dùng lệnh cfk để chuyển font sang không dấu

    Dùng lệnh cf+ để chuyển font sang chữ hoa

    Dùng lệnh cf- để chuyển font sang chữ thường

     

    File lisp: Download Lisp chuyển font (để tham khảo)

    File vlx: convertfont.vlx (download và sử dụng file này)

     

    Câu hỏi thường gặp

    Hỏi: Sau khi chuyển font, tôi vẫn chưa đọc được

    Đáp: Sau khi chuyển font, bạn phải chỉnh cả style phù hợp thì mới đọc được (nếu style chưa phù hợp với mã font)

     

    Hỏi: Text của tôi là TCVN (vì sử dụng font .vnArial hiển thị bình thường), nhưng không thể convert được sang bất cứ mã nào. Khi convert dường như Text không hề thay đổi.

    Đáp: Có thể mã chữ của bạn được viết theo mã %%. Cách kiểm tra xem có phải mã này không bằng cách dùng lệnh LIST rồi chọn một text có tiếng việt. Nếu bạn thấy tại các vị trí ký tự nguyên âm là dấu %%, thì bạn phải "sửa" text trước khi dùng mã lệnh này. Cách sửa bạn xem ở đây: http://www.cadviet.com/forum/topic/150896-lisp-chuya-n-a-i-ma-font-cha-trong-autocad/?p=386883

     

    Hỏi: Tại sao khi tôi chuyển từ TCVN sang các mã khác, các chữ có dấu bị hoa-thường không đúng.

    Đáp: Vì font TCVN có nhược điểm là dùng chung mã chữ (char code) cho cả chữ hoa hoa và chữ thường thường. Vì vậy khi convert sang mã khác, sẽ không đúng ý.

    Muốn được đúng, bạn cần convert sang mã khác, sau đó dùng lệnh cf+ hoặc cf-.

     

    Lịch sử phát triển

    2015-10-04: Phiên bản đầu tiên

    2015-10-05:

    - Hiệu chỉnh lỗi tên file

    - Tính năng tự tìm mã font

    - Tính năng loại bỏ dấu

    2015-10-06:

    - Sửa lỗi

    - Tính năng chữ hoa / chữ thường

    - Sửa / rút ngắn số lệnh

    2015-11-23:

    - Cải tiến tính năng tự tìm mã font

    - Cải tiến tốc độ chạy chương trình

    - Bổ sung tính năng xác định thời gian

    2015-11-27:

    - Upload file lisp thay vì download file.

    ____________________________________________

    Bác Hoành ơi bác xem lại giúp links die rồi thanks anh 

     


  9. http://www.cadviet.com/upfiles/6/87918_ban_ve_di_hoi.dw

     

    chào cả nhà. tình hình của em tương tự trên mong cả nhà giúp đỡ. bản vẽ chỉ hiện bên layout mà không có bên model và cũng không thể phá được block, không hiển thị được khung Viewport. mong các cao thủ chỉ giáo giúp em. 

     

    cám ơn cả nhà trước

    xem tên của block đó là gì dùng lệnh be để copy nó ra và xóa cái cũ đi 


  10. Ket cũng hiểu chưa hết ý như Hoằn. Giả sử có 1 bản cad cần trình chiếu cho chủ đầu tư. Trên bản vẽ có rất nhiều đối tượng, người ta có thể ngẩu hứng y/c làm nổi bật 1 hoặc 1 số đối tượng rời rạc nào đó thì lisp này làm ngon. Còn group hay block thì mất thời gian, chỉ phù hợp với các đối tượng được chỉ định trước mà thôi.

    anh Hà ơi sao em không dùng được lisp này của anh nhỉ ? anh xem hộ em với

×