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

lehoa11qn

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

    35
  • Đã tham gia

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

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


  1. Vào lúc 18/4/2022 tại 14:18, tien2005 đã nói:

    Các Bạn dùng thử cái này

    
    (defun c:tdt ( / dtl pt ent ss)
      (vl-load-com)
      (or #tl (setq #tl (getreal "\nMau so ti le ban ve: ")))
      (or #htxt (setq #htxt (getreal "\nChieu cao text: ")))
      (or #sole (setq #sole (getint "\nSo le: ")))
      (setq dtl 0)
      (setq ss (ssadd))
      (while (and (setq pt (getpoint "\nPick internal point : "))
    	      (vl-cmdf "_.-boundary" pt "")
    	      (setq ent (entlast))
    	      (vl-cmdf "_.-hatch" "_s" ent "" "_P" "ANSI31" 2 0 "")
    	      )
        (setq ss (ssadd ent ss)
    	  ss (ssadd (entlast) ss)
    	  )
        (setq dtl (+  dtl (vla-get-area (vlax-ename->vla-object ent))))
        )
      (and (/= dtl 0)
           (setq pt (getpoint "\nPoint to write: "))
           (entmake	(list
    		  (cons 0 "TEXT")
    ;;;		  (cons 8 layer)
    		  (cons 1 (rtos (/ dtl #tl #tl) 2 #sole))
    ;;;		  (cons 7 style)
    		  (cons 10 pt)
    		  (cons 40 #htxt)
    		  )
    		)
           (vl-cmdf "_.erase" ss "")
           )
      (princ)
      )

     

    Thank bác nhiều ạ


  2. Vào lúc 13/6/2020 tại 16:16, thiep đã nói:

    bạn tìm đoạn mã này:

    • cadvietlisp.lsp
      lisp help
    •  
    
        (if (= tl nil)
            (progn (setq tl (getreal "\nDrawing scale : ")) ;    (setq ntl (/ 1 tl))
                                                      ;    (setq tl2 (* ntl ntl))
            )
        )

    và thay bằng duy nhất 1 dòng mã:   (setq tl (getreal "\nDrawing scale : "))

    Tuy nhiên, nhìn chung lisp này viết không hay.

    Em muốn khi mở bất kỳ 1 bản vẽ nào mình chỉ cần khai báo một lần thì làm như thế nào vậy ạ? Chỉnh lại đoạn này như a chỉ thì tính các hình khác nó lại hỏi lặp lại ạ. Ví dụ như 2 bản vẽ thì mỗi bản vẽ nhập "Drawing scale" một lần là cad tự hiểu khi tính các hình khác trong cùng bản vẽ đó. Mong được a chỉ giúp ạ. Thank a!


  3. 5 giờ trước, hanh.phuc đã nói:
    • cadvietlisp.lsp
      lisp help
    •  
    
    (setvar "tilemode" 0)
    (vl-cmdf "_MSPACE" "_-XREF" "_D" "XR GIAO THONG" "_ZOOM" "_E" "")
    

    XREF A

    "C: \\ Users \\ Lenovo \\ Dropbox \\ 120-SONADEZI BA RIA VUNG TAU \ XR GIAO THONG- ver 03.dwg"

    Phải dùng lisp đi kèm à bác?? Mình làm cách khác thì vẫn được. Nhưng mình muốn hỏi cái lỗi này do đâu. Tại lần đầu tiên mình gặp phải trường hợp như này. Thank b

×