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

khanh phong

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

    11
  • Đã tham gia

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

Bài đăng được đăng bởi khanh phong


  1. Mình chỉ vẽ nhanh được mặt cắt ống bằng pline (như circle) chưa làm được mặt cắt ống bằng block như vậy được, nhờ cao thủ nào giúp một tay vậy

    mình ko up lên mạng được nên gửi link vậy

     

    https://drive.google.com/file/d/0B1TsLvqrTXByVjJ3QXM0R0ZtbW8/view?usp=sharing

    mình thấy không cần lisp vẫn được mà, bạn xem file cad mình đính kèm xem đúng ý bạn chưa, chon vào block mà bạn tạo, click sổ mủi tên xuống và chọn đường kính của ống.

     

    https://drive.google.com/file/d/0Bw5ZlXvjRgHLeVR6NWY2MFVTNTA/view?usp=sharing


  2. Em cần lisp dim kích thước nếu dim ra 0.6 mét thì tự động đổi thành 0.60 MIN, em mới tập lisp nên không biết code bên dưới bị lỗi gì mà không so sánh điều kiện được, nhờ anh chị trên diễn đàn giúp đỡ. Cám ơn nhiều

    
    (defun c:AsA( / D1 D2 D3 )
    (setq D1 (getpoint "\ndiem 1 dim: ")
          D2 (getpoint "\ndiem 2 dim: ")
          D3 (getpoint "\ndiem dat text dim: "))
    (command "_.dimaligned" D1 D2 D3 )
    (setq dt (entlast)
          gt (cdr (assoc 42 (entget dt))))
    (if (= gt 0.6)
        (progn
          (entmod
    	(subst (cons 1 "0.60 MIN") (assoc 1 (entget dt)) (entget dt))
          )
          (entupd dt)
        )
      )
    
    (princ)
    )
    

  3.  

    Copy lisp mà ko hiểu thì làm sao viết được. Heizzzz.

     

    1. Đặt biến cục bộ lung ku tung ---> chứng tỏ copy ko hiểu :D

    2. Đặt góc mà lại chọn hàm getpoint----->cũng là ko hiểu :D

    3. Xử lý block_att mà trực tiếp ---> cũng là ko hiểu. :D

     

    Nghiên cứu học hỏi thêm nhé.

    Đây là lisp sửa ở trên ^_^

    
    

    Cám ơn anh Bee nhiều, anh sửa xong chay rất tốt, em mới làm quen với lisp nên đa số em học theo các bài viết của trên diễn đàn này là nhiều, còn muốn thành thục các cấu trúc lệnh thì còn lâu lắm em mới tới lv đó. Thanks anh nhiều nhiều !


  4. (defun C:gra( / p1 st ss ht entx )
    (setq osm (getvar "osmode"))
    (setq uni (getvar "insunits"))
    (setq atd (getvar "attdia"));1
    (ACET-ERROR-INIT (LIST (LIST "OSMODE" 0) T))
    (setvar "attdia" 0)
    (setvar "insunits" 6)
    (setvar "cmdecho" 0)
    (vl-cmdf "clayer" "ANNOTATION" )
    (initget "G C") (setq st (getkword "\nTEXT: <Grass/Concrete (C. S/W)>: "))
    (if (= st "G") (setq st "GRASS")
    (if (= st "C") (setq st "CONCRETE (C. S/W)")))
    (command "_.insert" "TEXT01" (getpoint "\n\\U+0110i\\U+1EC3m \\U+0111\\U+1EB7t TEXT:") 1 1 (getpoint "\nGóc quay: ") st)
    
    (setq dt (entget (entnext (car (entlast)))))
    (entmod (subst (cons 40 0.5) (assoc 40 dt) dt))
    
    (setvar "osmode" osm)
    (setvar "insunits" uni)
    (setvar "attdia" atd)
    (setvar "cmdecho" 1)
    (ACET-ERROR-RESTORE)
    (princ)
    )
    

    Đoạn code trên chỉ insert được text mà không thay đổi được chiều cao text attribute, mong các anh chị chỉnh giúp.

    Cám ơn các anh chị nhiều.


  5. Nhờ các anh chỉnh lại vòng lặp giúp em, lisp dim kích thước dưới chỉ chạy trên 1 line em chọn, em chọn 2 line là chạy lung tung. Cám ơn nhiều

    (defun c:SDF()
    (if (setq ss (ssget))
    (progn
    (setq n (sslength ss)
    	i 0)
    (while (< i n)
    (setq B (ssname ss i)
    	A1 (getpoint "\nDiem 1 phuong dim: ")
    	A2 (getpoint "\nDiem 2 phuong dim: ")
    	C (getpoint "\nVi tri TEXT dim "))
    (command "_line" A1 A2 "")
    (setq L0 (entlast))
    (command ".copy" L0 "" "0,0,0" "@")
    (setq L00 (entlast))
    (command ".rotate" L00 "" A1 "90")
    (setq L1 (entlast))
    (setq D1 (car(acet-geom-intersectwith L1 B 1)))
    (setq D2 (car(acet-geom-intersectwith L1 L0 1)))
    (command "_.dimaligned" D1 D2 C)
    (command ".erase" L0 L1 "")
    (setq i (+ 1 i))
    ))
    (princ "\nKhong co duong line nao duoc chon !")
    )
    (princ)
    )
    

  6. Mình cần lisp dim vuông góc line 1 với 3 line còn lại, vì làm job mình phải dim như vậy rất nhiều, nên nhờ diển đàn cadviet giúp.

    Vì mình mới học viết lisp nên mình chỉ biết cách làm thủ công như bên dưới. Anh chị có chỉnh giúp em số point A1,A2,A3 thành biến số n point.

    (defun c:FDD()
    (setq cmdecho 0)
    (setq osmode 0)
    (WHILE
    (setq A1 (getpoint "\nDiem 1 càn dim: ")
    	A2 (getpoint "\nDiem 2 càn dim: ")
    	A3 (getpoint "\nDiem 1 càn dim: ")
    	B (getpoint "\nDuòng càn vuông góc: ")
    	C (getpoint "\nVi trí dat TEXT1: ")
    	D (getpoint "\nVi trí dat TEXT2: ")
    	E (getpoint "\nVi trí dat TEXT3: "))
    (command "_.dimaligned" A1 "PER" B C)
    (command "_.dimaligned" A2 "PER" B D)
    (command "_.dimaligned" A3 "PER" B E))
    (princ)
    )
    

  7.  Nhờ các anh chị giúp em về yêu cầu sau:

     - Em có 4 line: line 1,2,3,4 và 1 đường giống song song line 1. Em cần dim nhanh kích thước cho line 1 vuông góc line 2, line 1 vuông góc line 3, line 1 vuông góc line 4. Và text của 3 kích thước dim ra được xếp trên đường giống đã offset sẵn.

    Các anh chị xem thêm file ảnh cho rõ.

     

    http://YEUCAU_zpsoinf7fvu.jpg

     

    Cám ơn nhiều.

     

    • Vote giảm 1
×