master_worse
-
Số lượng nội dung
168 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
1
Bài đăng được đăng bởi master_worse
-
-
Xin phép bác NGUYEN HOANH
(defun CHANGE-LAYER (_TYPE LAYER / OBJS) (setq OBJS (ssget "X" (list (cons 0 _TYPE)))) (if (not (tblsearch "layer" LAYER)) (command ".layer" "m" LAYER "") );_ end if (command ".chprop" OBJS "" "la" LAYER "") (princ) );_ end defun (defun C:D2D (/ OBJS) (CHANGE-LAYER "DIMENSION" "DIM")) (defun C:H2H (/ OBJS) (CHANGE-LAYER "HATCH" "HATCH")) (defun C:B2B (/ OBJS) (CHANGE-LAYER "INSERT" "BLOCK")) (defun C:T2T (/ OBJS) (CHANGE-LAYER "*TEXT" "TEXT"))
- 10
-
Lệnh của bác hình như là khoá đối tượngLaysio: chon stetting muốn tắt hay khóa thì tùy
Bỏ thêm chút thời gian nghiên cứu xem lệnh đó có options gì không nha bạn rồi hãy hỏi :cheers: :cheers:
- 1
-
bạn dung lệnh thử xem nha:
layiso
layuniso
-
Vậy mình UP bản vẽ và 1 đọan Lisp minh họa mong ban giabach giúp mình nhé. Thanks(defun c:gan (/ hoten diachi sdthoai) (setq hoten(ssget "X"(list (cons 0 "Text")(cons 8 "tchu")))) (setq diachi(ssget "X"(list(cons 0 "Text")(cons 8 "dchi")))) (setq sdthoai(ssget "X"(list(cons 0 "Text")(cons 8 "dthoai")))) (princ hoten ", " diachi ", " sdthoai) )
Xin phép lão tiền tiền bối giabach nha!
Có phải ý bạn là
TRUNGNGAMY Gửi vào Sep 25 2009, 16:0bạn này chắc muốn tạo 1 danh sách trong đó mỗi phần tử gồm có 3 thành phần như trên đó mà.
hay ...
Bạn Up file chi có
NGUYỄN VĂN A
QUẬN 10-TP HCM
0909999999
và đọn code trên thì lão giabach chắc cũng không hiểu đâu :cheers:
-
thử thêm (setvar "OSMODE" 0) trước hàm entmake xem
sao không sử dụng :
(setq OLDOS (getvar "OSMODE"))
(setvar "OSMODE" 0)
(command "PLINE" P1 P2 P3 P4 "")
(setvar "OSMODE" OLDOS)
-
- Bản vẽ A có một Text (gọi là nguồn)
- Bản vẽ B, C ... có rất nhiều text (gọi là đích) có các nội dung không giống nhau
- Sau khi thực hiện lệnh [chọn đối tượng nguồn >enter> chọn các đối tựong đích >enter> ]thì các đối tượng đích sẽ có nội dung của đối tượng nguồn.
(giống lệnh lisp match text trên diễn đàn nhưng cho dùng tổ hợp phím CTRL+Tab để chọn đối tượng trên bản vẽ khác)
Các tiền bối giúp em được không
-
Ø S Weight
(mm) (cm2) (kg/m)
6 0.283 0.22
8 0.503 0.39
10 0.785 0.62
12 1.131 0.89
14 1.539 1.21
16 2.011 1.58
18 2.545 2.00
20 3.142 2.47
22 3.801 2.98
24 4.524 3.55
25 4.909 3.85
28 6.158 4.83
30 7.069 5.55
32 8.042 6.31
36 10.179 7.99
40 12.566 9.86
-
Các anh, các chị cho em hỏi:
Làm sao có thể tạo 1 tập chọn chứa các đối tượng của nhiều bản vẽ (file)?
Xử lý, cập nhật các đối tượng này có như bình thường không?
Tks!!!
Hôm nay! Cả nhà đi vắng à!
Ngày mai (20/09/2009) mấy anh chị di cafe xong về chỉ em nha!
23/09/2009: topic này bị bỏ hoang rồi sao?????????? :cheers:
-
Trong BLOCK này gồm:
1 hình tròn và 2 Attribute(1 cao do chan và 1 cao do le)
Chỉ có cách tạo block khác thôi (tôi chỉ biết thế)
-
Chọn text là số
trong AutoLisp
Xin "múa rìu qua mằt thợ":
(defun NUMATXT(/ ss ss_num ss_txt)
(setq ss (ssget '((0 . "TEXT"))))
(setq ss_num (ssadd)) ; tập chứa các string là number
(setq ss_txt (ssadd)) ; tập chứa các string là text
(Setq i 0)
(while (< i (sslength ss))
(setq ss_i (ssname ss i))
(setq str_i (cdr(assoc 1 (entget ss_i))))
(if (distof str_i)
(ssadd ss_i ss_num)
(ssadd ss_i ss_txt)
)
(setq i (1+ i))
)
)
"kiểm tra trước khi sử dụng"
-
Bạn nên "Tìm kiếm" trước khi hỏi nha!
Trên diễn đàn có nhiều lắm.
-
Học AutoLisp
trong AutoLisp
[ quote]Cho mình hỏi thêm cái này 1 tí nữa đi!
(defun c:XXX( / sst ent old tt)
(defun c:cv( sst / ent old tt)
(defun c:XXX( / sst ent old tt)
Sau tên hàm là mình liệt kê tất cả các biến ra phải ko?
Cho mình hỏi ý nghĩa và vị trí của dấu / đó là gì?
Có phải sau dấu / là các biến cục bộ được giải phóng khi hàm kết thúc không, còn trước dấu / là biến toàn cục phải ko?
Mình vẫn chưa hiểu lắm biến nào cần giải phóng và biến nào ko cần giải phóng nữa?[ /quote]
sau dấu / là các biến cục bộ được giải phóng khi hàm kết thúc
còn trước dấu / là các tham số cần thiết khi gọi hàm
nên sử dụng biến cục bộ, để không ảnh hưỡng đến các hàm khác nếu vô tình ta đặt trùng tên biến cho 2 hàm khác nhau.
-
Thank gia bach,
Chay tốt mà
(defun C:LENH()
(setq tbl (tblnext "STYLE" T))
(while tbl
(command "-style" (cdr(assoc 2 tbl)) "VNARIALN.TTF" "" "" "" "" "")
(setq tbl (tblnext "STYLE" ))
)
(princ)
)
- 1
-
Không biết đúng ý bạn không?
(defun C:CHANGEALLSTYLEWITHVNARIALN (/ CUR_TEXTSTYLE TEXTSTYLE_LIST I TEXTSTYLE_I)
(setq CUR_TEXTSTYLE (getvar "TEXTSTYLE"))
(setq TEXTSTYLE_LIST (list (cdr (nth 1 (tblnext "STYLE" t)))))
(while (tblnext "STYLE")
(setq TEXTSTYLE_LIST (append TEXTSTYLE_LIST (list (cdr (nth 1 (tblnext "STYLE"))))))
) ;_ end while
(setq I 0)
(while (< I (length TEXTSTYLE_LIST))
(setq TEXTSTYLE_I (nth I TEXTSTYLE_LIST))
(command "-style" TEXTSTYLE_I "VNARIALN.TTF" "" "" "" "" "")
(setq I (1+ I))
) ;_ end while
(setvar "TEXTSTYLE" CUR_TEXTSTYLE)
) ;_ end defun
nếu đúng đổi tên lệnh cho ngắn lại mà sử dụng
-
Thank duongthanh85!
-
Thank duongthanh85!
Lisp đó thì em mót được rồi. Nhưng em muốn biết (mót) thêm chút nữa đó mà!
Rất mong được chỉ giáo!!!
-
Làm thế nào để có thể chạy một ứng dụng giữa 2 hay nhiều bản vẽ (giống như lệnh MATCHPROP).
Ví dụ:
- Bản vẽ A có một Text (gọi là nguồn)
- Bản vẽ B, C ... có rất nhiều text (gọi là đích) có các nội dung không giống nhau
- Sau khi thực hiện lệnh thì các đối tượng đích sẽ có nội dung của đối tượng nguồn.
Các cao thủ chỉ em với.
Viết lisp theo yêu cầu [phần 2]
trong AutoLisp
Đã đăng · Trả lời báo cáo
Xin phép lão tiền bối gia_bach
(setq database (ssget "X" '((-4 . "< AND")(0 . "Text")(8 . "tchu,dchi,dthoai")(-4 . "AND >"))))
bỏ khoảng trắng chỗ in đậm
((= lay_name "tchu") (setq hoten (append (list noidung) hoten)))
((= lay_name "dchi") (setq diachi (append (list noidung) diachi)))
((= lay_name "dthoai") (setq sdthoai (append (list noidung) sdthoai)))
chỗ gạch dưới có phân biệt chữ hoa và chữ thường
------------------------------------------
PS: Cho hỏi làm sao để đưa tên lão tiền bối gia_bach vào sau chữ Trích dẫn