


khanh phong
-
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
-
-
Bạn sửa (= gt 0.6) thành (equal gt 0.6 1E-3)
Em cám ơn bác Doan Van Ha, nhưng bác có thể cho em biết 1E-3 là gì không ạ ?
-
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) )
-
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 !
-
(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.
-
không phải em không ý kiến, mà là em mới tập tành học về lisp nên không biết gì để comments. Dù sao cũng cám ơn 2 anh đã giúp em, anh có thể chỉnh sửa lại lisp theo góp ý của "pphung 183" không ? vì em không biết cách điều chỉnh
-
Cám ơn anh Bee nhiều, lisp của anh gần như giải quyết được vấn đề của mình, chỉ có điều các text dim sắp xếp không theo được 1 line.
Hiện tại mình sử dụng lisp của anh, nhưng phải move text về thẳng hàng. Cám ơn anh nhiều
-
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) )
-
Em mới làm quen với lisp nên mong được mọi người giúp
-
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) )
-
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õ.
Cám ơn nhiều.
-
1
-
xin lisp vẽ nhanh mặt cắt của đường ống
trong Sử dụng AutoCAD
Đã đăng · Trả lời báo cáo
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