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

whatcholingon

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

    222
  • Đã tham gia

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

  • Ngày trúng

    6

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


  1. Chào các bác!

     

    Tôi mới sử dụng bản cad 2015, hiện đang bị vướng một tính năng (chưa biết tên là gì) gây khó chịu quá, mong các bác chỉ giúp cái, cụ thể thế này.

     

    Khi mở bất kỳ bản vẽ nào ra, trên giao diện có rất nhiều các đường line ảo, những line này không cố định mà sẽ thay đổi khi ta zoom to hoặc nhỏ. Tôi tìm hoài mà chưa biết tắt bằng cách nào. Mong các bác giúp với. 

     

    Xin chân thành cảm ơn các bác!

     

    Xin đính kèm dưới đây là đường link ảnh chụp màn hình, các đường line mà tôi đề cập như chỗ được khoanh đường tròn đó các bác.

     

    https://onedrive.live.com/?authkey=%21AKgesd0MNIgdt9A&cid=A018B5B4189288E5&id=A018B5B4189288E5%211516&parId=root&o=OneUp

    Bạn nhấn F7


  2. Trường hợp 2 thì bạn dùng lisp này, dùng lệnh OC ( tác giả như trên)   ( LỆNH OC DÙNG ĐƯỢC CHO CẢ 2 TRƯỜNG HỢP LUN)

    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=51710
    
    ;; free lisp from cadviet.com
    ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=34029
    ;; free lisp from cadviet.com
    
    ;;;**********************************************
    ;;;CHUONG TRINH DANH SO THU TU VA COPY TANG DAN
    ;;;1. Lenh OD: danh so thu tu, tuy chon so bat dau (begin) va so gia (increment) tuy y
    ;;;2. Lenh OC: copy tang dan tu mot so thu tu co san
    ;;;3. Lenh oCA: copy tang dan voi doi tuong Attribute Block
    ;;;Chuong trinh chap nhan cac dinh dang bang so, chu, so va chu ket hop:
    ;;;1, 2... A, B..., A1, A2..., AB-01, AB-02..., AB-01-C1, AB-01-C2...
    ;;;Cac chu gioi han trong khoang tu A den Z. Cac so khong han che
    ;;;Copyright by ssg - www.cadviet.com - December 2008
    ;;;**********************************************
    
    
    ;;;-------------------------------------------------
    (defun etype (e) ;;;Entity Type
    (cdr (assoc 0 (entget e)))
    )
    ;;;-------------------------------------------------
    (defun wtxt (txt p / sty d h) ;;;Write txt on graphic screen, defaul setting
    (setq
        sty (getvar "textstyle")
        d (tblsearch "style" sty)
        h (cdr (assoc 40 d))
    )
    (if (= h 0) (setq h (cdr (assoc 42 d))))
    (entmake
        (list (cons 0 "TEXT") (cons 7 sty) (cons 1 txt) (cons 10 p) (cons 40 h) (assoc 41 d))
    )
    )
    ;;;-------------------------------------------------
    (defun incN (n dn / n2 i n1) ;;;Increase number n
    (setq
        n2 (itoa (+ dn (atoi n)))
        i (- (strlen n) (strlen n2))
    )
    (if (> i 0) (setq n1 (substr n 1 i)) (setq n1 ""))
    (strcat n1 n2)
    )
    ;;;-------------------------------------------------
    (defun incC (c / i c1 c2) ;;;Increase character c
    (setq
        i (strlen c)
        c1 (substr c 1 (- i 1))
        c2 (chr (1+ (ascii (substr c i 1))))
    )
    (if (or (= c2 "{") (= c2 "["))
        (progn (command "erase" (entlast) "") (alert "Over character!") (exit))
        (strcat c1 c2)
    )
    )
    ;;;============================
    (defun C:OD( / cn dn c n p) ;;;Make OrDinal number with any format
    (setq
        cn (getstring "\nBegin at <1>: " T)
        dn (getint "\nIncrement <1>: ")
    )
    (if (not dn) (setq dn 1))
    (if (= cn "") (setq cn "1"))
    (setq c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn))
    (setq n (vl-string-subst "" c cn))
    (if (/= n "") (setq mode 1) (setq mode 0))
    (while (setq p (getpoint "\nBase point <exit>: "))
        (wtxt cn p)
        (if (= n "") 
            (setq cn (incC cn))
            (setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))        
        )
    )
    (princ)
    )
    ;;;============================
    (defun C:OC( / e dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from template
    (command "undo" "be")
    (setq
        e (car (entsel "\nSelect template text:"))
        dn (getint "\nIncrement <1>: ")
        p1 (getpoint "\nBase point:")
        cn (cdr (assoc 1 (entget e)))
        k (strlen cn)
        i (getint "\n Nhap so ky tu can giu trong suffix: ")
        cn0 (substr cn 1 (- k i))
        cn1 (substr cn (1+ (- k i)))
    )
    (if (not dn) (setq dn 1))
    (if (= cn "") (setq cn "1"))
    (setq
        c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn0)
        n (vl-string-subst "" c cn0)
    )
    (while (setq p2 (getpoint p1 "\nNew point <exit>: "))
        (command "copy" e "" p1 p2)
        (if (= n "") 
            (setq cn0 (incC cn0))
            (setq cn0 (strcat c (incN (vl-string-subst "" c cn0) dn)))        
        )
        (setq
            dat (entget (entlast))
            dat (subst (cons 1 (strcat cn0 cn1)) (assoc 1 dat) dat)
        )
        (entmod dat)    
    )
    (command "undo" "e")
    (princ)
    )
    ;;;============================
    (defun C:oCA( / e e0 dn p1 cn c n p2 dat) ;;;Make Ordinal number. Copy from Atttribute block
    (setq
        e0 (car (entsel "\nSelect attribute block:"))
        e (entnext e0)
    )
    (if (/= (etype e) "ATTRIB") (progn (alert "Object is not a Attribute Block!") (exit)))
    (setq
        dn (getint "\nIncrement <1>: ")
        p1 (getpoint "\nBase point:")
        cn (cdr (assoc 1 (entget e)))
    )
    (if (not dn) (setq dn 1))
    (if (= cn "") (setq cn "1"))
    (setq
        c (vl-string-right-trim "0 1 2 3 4 5 6 7 8 9" cn)
        n (vl-string-subst "" c cn)
    )
    (while (setq p2 (getpoint p1 "\nNew point <exit>: "))
        (command "copy" e0 "" p1 p2)
        (if (= n "") 
            (setq cn (incC cn))
            (setq cn (strcat c (incN (vl-string-subst "" c cn) dn)))        
        )
        (setq
            dat (entget (entnext (entlast)))
            dat (subst (cons 1 cn) (assoc 1 dat) dat)
        )
        (entmod dat)
        (command "regen")
    )
    (princ)
    )
    ;;;============================
    
    
    
    • Vote tăng 1

  3. Trường hợp 1: Bạn có thể sử dụng lsp này (không biết bản quyền của bà con cô dì chú bác nào cả)

    ;;;=====Increasing copy=====
    (defun c:dsc (/ ang x y ent tg tg1tg2 num_r num_c num_inc dis_r dis_c num top idnum
    dx dy bottom inc tgnum attr attr_ent t_base b_base locat value
    deci stnum loca1 loca2 tt count inctg inctg1 bpoint mx my nx ny bx by)
    (setq idnum 0)
    (while (/= idnum 1)
    (setq ent (entsel "\nHay lua chon so ma ban muon copy : "))
    (if ent
    (progn
    (setq e (car ent))
    (setq tg (entget e))
    (if (= (cdr (assoc 0 tg)) "TEXT") (setq idnum 1))
    )
    (princ)
    )
    )
    
    (setq num_inc (getreal "\nHay nhap he so tang giam <1> : "))
    (if (= num_inc nil) (setq num_inc 1))
    
    (setq bpoint (getpoint "\nChon diem goc de copy : "))
    (setq x (car bpoint))
    (setq y (car(cdr bpoint)))
    
    (if (and (= (cdr (assoc 72 tg)) 0) (= (cdr (assoc 73 tg)) 0))
    (progn
    (setq bx (car (cdr (assoc 10 tg))))
    (setq by (car (cdr (cdr (assoc 10 tg)))))
    )
    (progn
    (setq bx (car (cdr (assoc 11 tg))))
    (setq by (car (cdr (cdr (assoc 11 tg)))))
    )
    )
    
    (setq attr (cdr tg)) ;attr chua cac thuoc tinh cua Entity nguon
    (setq tg (cdr (assoc 1 tg)))
    (setq inc 0)
    (setq tg1 "")
    (setq t_base "")
    (setq b_base "")
    (setq idnum 0)
    (setq top 0)
    (setq bottom 0)
    (setq stnum "")
    (setq deci 0)
    (repeat (strlen tg)
    (if (or (and (> (ascii (setq tgnum (substr tg (- (strlen tg) inc) 1))) 47)
    (< (ascii (setq tgnum (substr tg (- (strlen tg) inc) 1))) 58))
    (= (ascii (setq tgnum (substr tg (- (strlen tg) inc) 1))) 32)
    (= (ascii (setq tgnum (substr tg (- (strlen tg) inc) 1))) 46))
    (progn
    (if (= (ascii (setq tgnum (substr tg (- (strlen tg) inc) 1))) 46) (setq deci inc))
    (if (= inc 0)
    (progn
    (setq idnum 1)
    (if (= (ascii (setq tgnum (substr tg (- (strlen tg) inc) 1))) 46)
    (setq b_base (strcat "." b_base)))
    )
    )
    (if (= bottom 1) (progn (setq bottom 0) (setq idnum 1) (setq top 1)))
    (if (and (= idnum 0) (= top 1)) (setq t_base (strcat tgnum t_base)))
    (if (= idnum 1)
    (progn
    (if (and (= tgnum "0") (> inc 0)) (setq stnum (strcat stnum "0")) (setq stnum ""))
    (setq tg1 (strcat tgnum tg1))
    )
    )
    )
    (if (= inc 0)
    (progn
    (setq b_base (strcat tgnum b_base))
    (setq bottom 1)
    )
    (if (= bottom 1)
    (setq b_base (strcat tgnum b_base))
    (progn
    (setq top 1)
    (setq t_base (strcat tgnum t_base))
    (if (= idnum 1) (setq idnum 0))
    )
    )
    )
    )
    (setq inc (+ inc 1))
    )
    
    (if (= tg1 "") (exit))
    (setq num (atof tg1))
    (setq count 1)
    
    (while (setq bpoint (getpoint "\nChon diem copy tiep theo : "))
    (setq num (+ num num_inc))
    (if (>= (strlen b_base) 3)
    (cond
    ( (or (= "A" (strcase (substr b_base 2 1))
    )
    (= "B" (strcase (substr b_base 2 1))
    )
    )
    (setq b_base (strcat (substr b_base 1 1) (chr (1+ (ascii (substr b_base 2 1))) ) (substr b_base 3)
    )
    )
    )
    ((= "C" (strcase (substr b_base 2 1)))
    (setq b_base (strcat (substr b_base 1 1) "A") )
    )
    )
    (cond
    ( (or (= "A" (strcase (substr b_base 2 1))
    )
    (= "B" (strcase (substr b_base 2 1))
    )
    )
    (setq b_base (strcat (substr b_base 1 1) (chr (1+ (ascii (substr b_base 2 1))) ) (substr b_base 3)
    )
    )
    )
    ((= "C" (strcase (substr b_base 2 1)))
    (setq b_base (strcat (substr b_base 1 1) "A") )
    )
    )
    )
    (setq value (strcat t_base (strcat stnum (rtos num 2 deci)) b_base))
    (setq nx (car bpoint))
    (setq ny (car(cdr bpoint)))
    (setq dx (- nx x))
    (setq dy (- ny y))
    (setq mx (car (getvar "ucsxdir")))
    (setq my (car (cdr (getvar "ucsxdir"))))
    (setq loca1 (+ bx (* mx dx)))
    (setq loca2 (+ by (* my dx)))
    (setq mx (car (getvar "ucsydir")))
    (setq my (car (cdr (getvar "ucsydir"))))
    (setq loca1 (+ loca1 (* mx dy)))
    (setq loca2 (+ loca2 (* my dy)))
    (setq attr_ent (subst (cons 1 value) (assoc 1 attr) attr))
    (if (and (= (cdr (assoc 72 attr_ent)) 0) (= (cdr (assoc 73 attr_ent)) 0))
    (setq attr_ent (subst (list 10 loca1 loca2 0) (assoc 10 attr_ent) attr_ent))
    (setq attr_ent (subst (list 11 loca1 loca2 0) (assoc 11 attr_ent) attr_ent))
    )
    (entmake attr_ent)
    (setq count (+ count 1))
    ) ;end while
    (princ)
    )
    
    
    • Vote tăng 2

  4. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    (defun c:THEMTEXT (/ c e ss txt cmde ttdangs ttdangt)
      (command "undo" "be")
      (setq cmde (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (setq ttdangt (getstring 5"\nChuoi muon them phia truoc:")) 
      (setq ttdangs (getstring 5"\nChuoi muon them phia sau:")) 
      (if (null ttdangt)(setq ttdangt ""))
      (if (null ttdangs)(setq ttdangs ""))
     (prompt "\nChon chu muon chinh.")
      (setq ss (ssget))
      (setq c 0)
      (if ss (setq e (ssname ss c)))
      (while e
        (setq e (entget e))
        ; Ensure entity is text
        (if (= (cdr (assoc 0 e)) "TEXT")
            (progn
                     (setq txt (strcat ttdangt (cdr (assoc 1 e)) ttdangs))
               (setq e (subst (cons 1 txt) (assoc 1 e) e))
               (entmod e)
            )
        )
        (setq c (1+ c)) ; Increment counter.
        (setq e (ssname ss c))  ; Obtain next entity.
       )
       (setvar "CMDECHO" cmde)
       (command "undo" "end")
          (Prin1)
    )
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    (defun c:BOTTEXT (/ c e ss txt cmde tbdangs tbdangt)
      (command "undo" "be")
      (setq cmde (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (setq tbdangt (getreal "\nSo ky tu muon bot phia truoc:")) 
      (setq tbdangs (getreal "\nSo ky tu muon bot phia sau:")) 
      (if (null tbdangt)(setq tbdangt 0))
      (if (null tbdangs)(setq tbdangs 0))
      (setq sotru (+ tbdangt tbdangs))
     (prompt "\nChon chu muon chinh.")
      (setq ss (ssget))
      (setq c 0)
      (if ss (setq e (ssname ss c)))
      (while e
        (setq e (entget e))
        ; Ensure entity is text
        (if (= (cdr (assoc 0 e)) "TEXT")
            (progn
    (setq sochu (strlen (cdr (assoc 1 e))))
    (if (> sochu sotru)
    (progn
    (setq txt (substr (cdr (assoc 1 e)) (fix (+ 1 tbdangt)) (fix (- sochu tbdangt tbdangs))))
               (setq e (subst (cons 1 txt) (assoc 1 e) e))
               (entmod e)
    )
    )
    
            )
        )
        (setq c (1+ c)) ; Increment counter.
        (setq e (ssname ss c))  ; Obtain next entity.
       )
       (setvar "CMDECHO" cmde)
       (command "undo" "end")
          (Prin1)
    )
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    

    Mr. Duy và mọi người giúp mình với 

    mình load lisp lên báo lỗi như này:

    Command:

    Command: ap

    APPLOAD themtextvabottex.lsp successfully loaded.

    Command: ; error: syntax error

    Thanks all.

    Lệnh là  THEMTEXT và  BOTTEXT

     

     
     
    Mr. Duy và mọi người giúp mình với 
    mình load li sp lên báo lỗi như này:
    Command:
    Command: ap
    APPLOAD themtextvabottex.lsp successfully loaded.
    Command: ; error: syntax error
    Thanks all.

  5. Xin hỏi các cao thủ muốn đánh số thứ tự tự động trong mtext nhưng bắt đầu bằng một số bất kỳ thì làm thế nào

    chỉ cần ENTER xuống dòng là số thứ tự sẽ nhảy77723_untitled_1.png

    không dùng lệnh TCOUNT

    Bạn làm thủ công tý. bạn mở Excel lên đánh số thứ tự xong copy sang Notebad sau đó copy, paste lại vào cad là được.


  6. Chào mọi người:

    - Mình có 1 bản vẽ quy hoạch phân lô, trong bản vẽ quy hoạch có 1 block nhà, 1 block số thửa, 

    - Mình cho block số thửa đè lên block nhà thì bị block nhà che khuất mất,

    - Mọi người cho mình hỏi làm thế nào để Block số thửa hiện lên trên block nhà 

    đây là hình :

    96857_untitled.jpg

    Đây là file:

    http://www.cadviet.com/upfiles/5/96857_new_block1.dwg

    Thanks all  !


  7. mình có ý như này không biết có được chính xác không nữa: 

    bạn đo khoảng cách trên google map bình thường, rồi bạn chụp hình lại paste vào CAD sau đó bạn vẽ theo đường đo kích thước rồi đo góc trên cad,

    góc thì lấy theo trên CAD còn cạnh thị lấy theo google map.

    Chúc bạn thành công.

    • Vote tăng 1

  8. Do nhu cầu công việc mình thấy lsp này rất tiện ích cho công việc của mình, nhưng không biết các sửa thêm tính năng như thế nào? Mong bạn Tue_NV hoặc các bạn trên diễn đàn ai biết giúp mình với: khi gõ lệnh CTE và ta chỉ chạm text hoặc dim(tất cả đều chưa sữa) thì các text và dim đó đều đổi màu(đổi sang màu số 9). Thanks các bạn

    Nếu không cần sửa mà đổi màu, thì bạn chọn các đối tượng đó đưa về màu số 9 luôn.


  9. Chào mọi người!

    - Mình có 1 Lsp tính diện tích, mặc định số thập phân của lsp này là 1,( vd: 10.0,  15.0...)

    - Mình nhờ mọi người chỉnh giùm mình là lấy số thập phân lên 3 (vd: 10.000, 15.000...)  hoặc là lấy số thập phân theo phần UNIT thì tuyệt vời ạ.

    đây là lsp đó:

    http://www.cadviet.com/upfiles/5/96857_tdt3.lsp

    Thanks!

    • Vote giảm 1
×