Đến nội dung


Hình ảnh
* * * - - 8 Bình chọn

Viết lisp theo yêu cầu [phần 2]


  • Chủ đề bị khóa Chủ đề bị khóa
3783 replies to this topic

#1221 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 23 May 2010 - 07:50 AM

Nhờ bác Gia_bach viết thêm Lisp trên để sau mổi tên Layer là các Status: On hoặc Off, Freeze hoặc Thaw và Lock hoặc Unlock.
Thí dụ như sau:
Layer1, ON, Thaw, Unlock
Layer20, OFF, Thaw, Unlock
...
Xref|C_ex-fence, ON, Thaw, Lock
Xref|C_future, ON, Freeze, Unlock
...vv
Kết quả là khi dùng Excel để đọc thì sẽ thấy được 4 cột.
Xin cám ơn nhiều.

Vậy thì xuất lqua Excel luôn. Phiphi hãy thử code này :

(defun c:LS2F (/ fname tbl_lst); Layer and Status to File
;; By : Tue_NV, tue_nvcc@yahoo.com
(vl-load-com)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
La (vla-get-layers doc) i -1 tbl_lst '())
(vlax-for ob La
(setq tbl_lst (append tbl_lst (list
(list (vla-get-name ob)
(status(vla-get-layeron ob))
(status(vla-get-freeze ob))
(status(vla-get-lock ob)) )) ))
)
(if (setq fName (getfiled "Ten file xuat Layer" (getvar "dwgprefix") "xls" 1))
(progn
(setq fName (open fName "a"))
(write-line (strcat "Danh sach Layer trong file : " (getvar"dwgname"))fName)
(write-line "Name\tLAYON\tFreeze\tLOCK" fname)
(foreach pt (vl-sort tbl_lst '(lambda (x y) (< (car x) (car y))))
(write-line (strcat (nth 0 pt) "\t" (nth 1 pt) "\t"
(nth 2 pt) "\t" (nth 3 pt)) fName)
)
(close fName)))

(princ)
)
(defun status(a)
(if (= a :vlax-true)
(setq a "ON")
(setq a "OFF")
)
)

  • 1

#1222 ut_cung

ut_cung

    biết vẽ line

  • Members
  • PipPip
  • 21 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 23 May 2010 - 09:42 AM

út có ý kiến này có vẽ dễ hơn mong các bác giúp đỡ nhé.
Thay vì mình chạy lisp như trên, mình có thể viết lisp thực hiện công việc sau: Xuất tấc cả các text được chọn ra file .txt, Theo thứ tự trong cad: từ trên xuống dưới và từ trái qua phải. Còn khi xuất qua file .txt thì theo thứ tự từ trái sang phải và từ trên xuống dưới. Nghĩa là sắp xếp hết hàng này đến hàng khác. Số text trong 1 hàng được mình tự chọn. Monng các bác giúp đỡ.
Cảm ơn cadviet thật nhiều!

Bác Tuệ và Bác Hoành đâu rồi nhỉ! Giúp dùm út đi!
  • 0

#1223 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 23 May 2010 - 09:58 AM

út có ý kiến này có vẽ dễ hơn mong các bác giúp đỡ nhé.
Thay vì mình chạy lisp như trên, mình có thể viết lisp thực hiện công việc sau: Xuất tấc cả các text được chọn ra file .txt, Theo thứ tự trong cad: từ trên xuống dưới và từ trái qua phải. Còn khi xuất qua file .txt thì theo thứ tự từ trái sang phải và từ trên xuống dưới. Nghĩa là sắp xếp hết hàng này đến hàng khác. Số text trong 1 hàng được mình tự chọn. Monng các bác giúp đỡ.
Cảm ơn cadviet thật nhiều!

Vừa hay, mới vừa viết xong Code cho Út. Tuy nhiên, không hiểu sao Lisp chạy lần đầu tiên thì không có kết quả. Chạy lần thứ hai trở đi thì OK
Út hãy thử với Code này :

(defun c:xkl(/ doc ss Lptext Lpxtext Ltt sset st fname i team)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
st (getint "\n So Text tren 1 hang :"))
(setq ss (ssget '((0 . "TEXT"))) Lptext '() Lpxtext '() Ltt '() i 0
sset (vla-get-activeselectionset doc))
(vlax-for x sset
(setq Lptext (cons (cons (vlax-get x 'InsertionPoint)
(vlax-get x 'Textstring)
) Lptext))
)
(setq Lptext (vl-sort Lptext '(lambda (x y) (> (cadar x) (cadar y)))))
(Repeat (fix (/ (length Lptext) st))
(setq Ltt (removeL (* st i) (1- (* st (1+ i))) Lptext))
(setq Lpxtext (append Lpxtext (list Ltt)))
(setq i (1+ i))
)
(if (setq fName (getfiled "Chon file" (getvar "dwgprefix") "txt" 1))
(progn
(setq fName (open fName "a"))
(foreach x Lpxtext
(setq team "")
(foreach y x
(setq team (strcat team " " (cdr y)))
)
(write-line team fName)
)
)
(close fName))
(vla-delete sset)
(princ)
)
;;;;;;;;;;
(defun removeL(d c L)
(reverse
(member (nth c L)
(reverse (member (nth d L) L))
)
)
)


Bac Tue oi. giup minh ti
Hãy giúp mình viết lisp cho cái này nhé các ban. cảm ơn
http://www.cadviet.c...cho_ho_ga_1.dwg
http://www.cadviet.c...u_the_nay_1.dwg

mình cần rãi hố ga và điền cốt cho các vị trí hố ga với khoảng cách các hố ga đó
khi đã biết hố ga và cốt của hố ga này và cốt ga cuối
cac khoang cach hố ga nay thi tuỳ ý người dung nhập vào

Chào thanhliemvqh : file kết quả của bạn upload có vấn đề : không load về được.
Trước đây thanhliem có gửi 1 yêu cầu như yêu cầu này, Tue_NV thấy kết quả bạn nội suy, theo Tue_NV được biết thì nội suy tuyến tính (theo tam giác đồng dạng) nhưng sao kết quả mình tính sao không thấy giống????
-> Bạn thử minh hoạ 1 cái cốt hố ga mà bạn cần đánh (công thức tính) nội suy, kết quả xuất qua file .dwg 1 cách cụ thể nhé.

Bài viết đã được chỉnh sửa nội dung bởi Tue_NV: 24 May 2010 - 09:49 AM

  • 1

#1224 mCuongs

mCuongs

    biết zoom

  • Members
  • Pip
  • 17 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 23 May 2010 - 11:42 AM

Xin hỏi các bác đây xem có ai biết đc cách nào để lọc các PL có Z=0 không, số là khi e làm HS, nhập cao độ cho đwờng đồng mức hay vấp phải lỗi là 1 số PL chưa nhập Z nhưng e cứ twởng nhập rồi mặc dù e rất cẩn thận. Thế nên khi tính khối lwợng, chwơng trình sẽ tự hiểu các PL chưa nhập Z là các PL có Z=0, khối lwợng sẽ bị tính sai, mong các bác giúp e : :rolleyes:
  • 0

#1225 Phiphi-

Phiphi-

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 434 Bài viết
Điểm đánh giá: 175 (tàm tạm)

Đã gửi 23 May 2010 - 12:57 PM

Vậy thì xuất lqua Excel luôn. Phiphi hãy thử code này :


(defun c:LS2F (/ fname tbl_lst); Layer and Status to File
;; By : Tue_NV, tue_nvcc@yahoo.com
(vl-load-com)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
La (vla-get-layers doc) i -1 tbl_lst '())
(vlax-for ob La
(setq tbl_lst (append tbl_lst (list
(list (vla-get-name ob)
(status(vla-get-layeron ob))
(status(vla-get-freeze ob))
(status(vla-get-lock ob)) )) ))
)
(if (setq fName (getfiled "Ten file xuat Layer" (getvar "dwgprefix") "xls" 1))
(progn
(setq fName (open fName "a"))
(write-line (strcat "Danh sach Layer trong file : " (getvar"dwgname"))fName)
(write-line "Name\tLAYON\tFreeze\tLOCK" fname)
(foreach pt (vl-sort tbl_lst '(lambda (x y) (< (car x) (car y))))
(write-line (strcat (nth 0 pt) "\t" (nth 1 pt) "\t"
(nth 2 pt) "\t" (nth 3 pt)) fName)
)
(close fName)))

(princ)
)
(defun status(a)
(if (= a :vlax-true)
(setq a "ON")
(setq a "OFF")
)
)

Cám ơn bác Tue_NV nhưng đoạn code trên hình như còn thiếu đoạn cuối...nên chưa chạy được.
Nhớ Bác check lại nhé.

Command: ap
APPLOAD LS2F.lsp successfully loaded.
Command: ; error: bad argument type: numberp: nil
Command:
  • 0

#1226 ut_cung

ut_cung

    biết vẽ line

  • Members
  • PipPip
  • 21 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 23 May 2010 - 02:07 PM

Vừa hay, mới vừa viết xong Code cho Út. Tuy nhiên, không hiểu sao Lisp chạy lần đầu tiên thì không có kết quả. Chạy lần thứ hai trở đi thì OK
Út hãy thử với Code này :


(defun c:xkl(/ doc ss Lptext Lpxtext Ltt sset st fname i team)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
sset (vla-get-activeselectionset doc)
st (getint "\n So Text tren 1 hang :"))
(setq ss (ssget '((0 . "TEXT"))) Lptext '() Lpxtext '() Ltt '() i 0)
(vlax-for x sset
(setq Lptext (cons (cons (vlax-get x 'InsertionPoint)
(vlax-get x 'Textstring)
) Lptext))
)
(setq Lptext (vl-sort Lptext '(lambda (x y) (> (cadar x) (cadar y)))))
(Repeat (fix (/ (length Lptext) st))
(setq Ltt (removeL (* st i) (1- (* st (1+ i))) Lptext))
(setq Lpxtext (append Lpxtext (list Ltt)))
(setq i (1+ i))
)
(if (setq fName (getfiled "Chon file" (getvar "dwgprefix") "txt" 1))
(progn
(setq fName (open fName "a"))
(foreach x Lpxtext
(setq team "")
(foreach y x
(setq team (strcat team " " (cdr y)))
)
(write-line team fName)
)
)
(close fName))
(vla-delete sset)
(princ)
)
;;;;;;;;;;
(defun removeL(d c L)
(reverse
(member (nth c L)
(reverse (member (nth d L) L))
)
)
)

Chào thanhliemvqh : file kết quả của bạn upload có vấn đề : không load về được.
Trước đây thanhliem có gửi 1 yêu cầu như yêu cầu này, Tue_NV thấy kết quả bạn nội suy, theo Tue_NV được biết thì nội suy tuyến tính (theo tam giác đồng dạng) nhưng sao kết quả mình tính sao không thấy giống????
-> Bạn thử minh hoạ 1 cái cốt hố ga mà bạn cần đánh (công thức tính) nội suy, kết quả xuất qua file .dwg 1 cách cụ thể nhé.


thanks bác Tuệ nhiều nhiều, ut đã chạy thử thấy rất tốt. một lần nữa cảm ơn Bác nha!
  • 0

#1227 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 23 May 2010 - 10:47 PM

...................
Tuy nhiên, không hiểu sao Lisp chạy lần đầu tiên thì không có kết quả. Chạy lần thứ hai trở đi thì OK


(defun c:xkl(/ doc ss Lptext Lpxtext Ltt sset st fname i team)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
sset (vla-get-activeselectionset doc)
st (getint "\n So Text tren 1 hang :"))
(setq ss (ssget '((0 . "TEXT"))) Lptext '() Lpxtext '() Ltt '() i 0)
(vlax-for x sset
.............................

...............

Bạn đưa dòng vla-get-activeselectionset ra phía sau ssget :
(defun c:xkl(/ doc ss Lptext Lpxtext Ltt sset st fname i team)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
st (getint "\n So Text tren 1 hang :"))
(setq ss (ssget '((0 . "TEXT"))) Lptext '() Lpxtext '() Ltt '() i 0
sset (vla-get-activeselectionset doc)
)
(vlax-for x sset
.............................


Vậy thì xuất lqua Excel luôn. Phiphi hãy thử code này :
........

Bạn tham khảo hàm ghi 1 danh sách (list) ra file Excel.
http://www.cadviet.c...o...ost&p=90451
  • 3

#1228 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 24 May 2010 - 09:43 AM

Cám ơn bác Tue_NV nhưng đoạn code trên hình như còn thiếu đoạn cuối...nên chưa chạy được.
Nhớ Bác check lại nhé.

Command: ap
APPLOAD LS2F.lsp successfully loaded.
Command: ; error: bad argument type: numberp: nil
Command:

@Phiphi : Code đã được Tue_NV check lại. Không có lỗi.
Đây là kết quả của file chạy thử: http://www.cadviet.com/upfiles/2/t.rar

@ anh gia_bach: Cảm ơn anh. Tue_NV sơ ý quá :rolleyes:

@Utcung : Code hoàn chỉnh đã được Tue_NV sửa lại ở bài viết 1251. Bạn lấy code về chạy thử nhé
  • 2

#1229 minhhaird

minhhaird

    biết pan

  • Members
  • Pip
  • 6 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 24 May 2010 - 02:03 PM

các đại ca cao thủ có ai biết làm thế nào để làm khung tên 1 file cad.
trong mạng nội bộ cho tất cả mọi người sử dụng.
khi có sửa đổi 1 file khung tên tất cả các file có khung tên đó đều sủa đổi theo mà không cần sửa chi tiết từng file 1 không?
tại công ty tôi rất hay sửa đổi khung tên nên mỗi lần mà có sửa đổi chúng tôi phải mở từng bản vẽ của nhiều khách hàng ra
coppy vào block có chứa khung tên, nên mất rất nhiều thời gian (chúng tôi có nhiều khách hàng và mã hàng khác nhau)
nên đưa lên diễn đàn thử xem ai có cách nào giúp làm giảm bớt thời gian hơn không? cảm ơn các đại ca nhiều!!!!!!!!!
  • 0

#1230 trinhvqh

trinhvqh

    biết lệnh block

  • Members
  • PipPipPipPipPipPip
  • 408 Bài viết
Điểm đánh giá: 222 (khá)

Đã gửi 24 May 2010 - 03:06 PM

các đại ca cao thủ có ai biết làm thế nào để làm khung tên 1 file cad.
trong mạng nội bộ cho tất cả mọi người sử dụng.
khi có sửa đổi 1 file khung tên tất cả các file có khung tên đó đều sủa đổi theo mà không cần sửa chi tiết từng file 1 không?
tại công ty tôi rất hay sửa đổi khung tên nên mỗi lần mà có sửa đổi chúng tôi phải mở từng bản vẽ của nhiều khách hàng ra
coppy vào block có chứa khung tên, nên mất rất nhiều thời gian (chúng tôi có nhiều khách hàng và mã hàng khác nhau)
nên đưa lên diễn đàn thử xem ai có cách nào giúp làm giảm bớt thời gian hơn không? cảm ơn các đại ca nhiều!!!!!!!!!


Câu hỏi hàm chứa sự tham vọng ngây ngô nhưng "rất hay"
Giải quyết việc này không phải không có cách
Nhưng trước tiên, bạn phải tự chiêm nghiệm những mâu thuẫn nội tại trong lời yêu cầu này

À, bạn nên chuyển vấn đề này sang chỗ khác và trình bày cụ thể hơn kẻo các admin xóa bài vì khong phù hợp chủ đề.
  • 0

#1231 ut_cung

ut_cung

    biết vẽ line

  • Members
  • PipPip
  • 21 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 24 May 2010 - 04:45 PM

Bạn đưa dòng vla-get-activeselectionset ra phía sau ssget :
(defun c:xkl(/ doc ss Lptext Lpxtext Ltt sset st fname i team)
(setq doc (vla-get-activedocument (vlax-get-acad-object))
st (getint "\n So Text tren 1 hang :"))
(setq ss (ssget '((0 . "TEXT"))) Lptext '() Lpxtext '() Ltt '() i 0
sset (vla-get-activeselectionset doc)
)
(vlax-for x sset
.............................
Bạn tham khảo hàm ghi 1 danh sách (list) ra file Excel.
http://www.cadviet.c...o...ost&p=90451

Cảm ơn Gia Bach, cảm ơn Bác tue! Lisp chạy rất tốt.
Út còn cái này nhờ các bác nữa, hôm bữa út có tìm được lisp tính chiều dài rất hay, nhưng giờ muốn thay đổi chút xíu cho hoàn thiện hơn.
Sau khi tính chiều dài rồi ghi vào ra 1 text (text chỉ có số). Nhưng trong text tạo thành luôn có 1 khoảng cách trông ở phía trước. Các Bác giúp út bỏ cái khản cách trống này với. Vì út không biết lisp nên chẳng biết sữa thế nào, mong các Bác thông cảm và giúp đỡ.
Cảm ơn các Bác! cảm ơn diễn đàn Cadviệt!
File lisp tính chiều dài: http://www.cadviet.c...eu_dai_2_c2.rar
  • 0

#1232 quangtvxd

quangtvxd

    biết zoom

  • Members
  • Pip
  • 18 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 May 2010 - 10:04 AM

Chào các bác, mình có vấn đề cần hởi sau:khi thay đổi các giá trị trong "BLOCK có thuộc tính" thì các giá trị khác trong BLOCK đó thay đổi theo một công thức nào đó, Ví dụ như file thống kê thép sau: http://www.cadviet.c...pfiles/2/00.dwg , khi thay đổi chiều dài thì tổng chiều dài, trọng lượng cũng thay đổi theo. Giúp mình có thể làm được điều này nhé. Cám ơn nhiều....
  • 0

#1233 funnyzui

funnyzui

    biết vẽ arc

  • Members
  • PipPip
  • 49 Bài viết
Điểm đánh giá: 1 (bình thường)

Đã gửi 25 May 2010 - 10:24 AM

Lâu rồi mà ko ai giúp mình. Nên giờ lại làm phiền các bạn 1 lần nữa.
Rất mong các bạn edit lại lisp sao cho nó tự động nhân "Số thanh trong 1 CK" với "Số CK" để tự cho ra "Tổng số thanh". Và kết quả này (hay biến này) được update trong lisp để cho ra kết quả cuối cùng. Cám ơn mọi người!

Help me, plz!
Có lẽ yêu cầu của mình làm mất nhiêu thời gian của mọi người. Nên mình sẽ giảm bớt yêu cầu lại cho gọn. Rất mong ae cadviet.com giúp đỡ.
Yêu cầu về chương trình lisp:
- Vẫn là tự động nhân "Số thanh trong 1 CK" với "Số CK" để tự cho ra "Tổng số thanh". Nhưng yêu cầu chỉ dừng lại ở đây, ko cần tự động tính toán và update vào kết quả cuối cùng là Tổng chiều dài và Tổng khối lượng thép nữa.
- Mình xin nói ra thêm 1 chút để các bạn có thể dựa trên các Tag trong Block thuộc tính mà viết lisp: Trong Block thuộc tính, số thanh trong 1 CK với tên Tag SOTHANH đã được nhập, sau khi sử dụng lisp SCK nhập số lượng vào nó sẽ tự nhân ra kết quả và update vào tên Tag TST trong block thuộc tính đó. Đây là file mẫu: http://www.cadviet.c...ew_block_14.dwg
Yêu cầu này của mình đã giảm đi một nữa rồi đó, rất mong ae cadviet.com giúp đỡ.
Xin cảm ơn!
Help me, plz! :rolleyes:
  • 0

#1234 nqt266

nqt266

    biết vẽ circle

  • Members
  • PipPip
  • 37 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 25 May 2010 - 10:35 AM

Quả này em phải nhờ đích danh bác TUE NV nhe,bác giúp em cái món này với. Em có file cad up ở đây
http://www.cadviet.c...cao_do_va_kcach.

Em fải nhập hàng trăm cái như thế, rất mất thời gian, bác xem giúp em 1 cái lisp để giải quyết vấn đề này với, em đag cần gấp quá
Chân thành cảm ơn bác nhiều
  • 0

#1235 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 25 May 2010 - 10:36 AM

........
út có tìm được lisp tính chiều dài rất hay, nhưng giờ muốn thay đổi chút xíu cho hoàn thiện hơn.
Sau khi tính chiều dài rồi ghi vào ra 1 text (text chỉ có số). Nhưng trong text tạo thành luôn có 1 khoảng cách trông ở phía trước. Các Bác giúp út bỏ cái khản cách trống này với. Vì út không biết lisp nên chẳng biết sữa thế nào, mong các Bác thông cảm và giúp đỡ.
............

Bạn tham khảo LISP đo chiều dài các đối tuợng : LINE,ARC,SPLINE,LWPOLYLINE,POLYLINE,CIRCLE,ELLIPSE
(với CIRCLE,ELLIPSE sẽ lấy chu vi của đối tuợng)
với tùy chọn : ghi Text cho từng đoạn - Chỉ ghi Text tổng - Không ghi Text .

Link : http://www.cadviet.c...o...ost&p=73840
  • 1

#1236 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 25 May 2010 - 10:57 AM

Quả này em phải nhờ đích danh bác TUE NV nhe,bác giúp em cái món này với. Em có file cad up ở đây
http://www.cadviet.c...cao_do_va_kcach.

Em fải nhập hàng trăm cái như thế, rất mất thời gian, bác xem giúp em 1 cái lisp để giải quyết vấn đề này với, em đag cần gấp quá
Chân thành cảm ơn bác nhiều

Chào nqt266.
Có lẽ có thể việc nhờ đích danh sẽ khiến cho bạn chờ đợi đó....., có khi là.. không được thoả mãn yêu cầu của bạn vì trình độ của mình có hạn

Đường Link của file bạn upload lên bị lỗi -> Không down về được. Bạn vui lòng upload lại nhé.
  • 0

#1237 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 25 May 2010 - 11:28 AM

Help me, plz!
Có lẽ yêu cầu của mình làm mất nhiêu thời gian của mọi người. Nên mình sẽ giảm bớt yêu cầu lại cho gọn. Rất mong ae cadviet.com giúp đỡ.
Yêu cầu về chương trình lisp:
- Vẫn là tự động nhân "Số thanh trong 1 CK" với "Số CK" để tự cho ra "Tổng số thanh". Nhưng yêu cầu chỉ dừng lại ở đây, ko cần tự động tính toán và update vào kết quả cuối cùng là Tổng chiều dài và Tổng khối lượng thép nữa.
- Mình xin nói ra thêm 1 chút để các bạn có thể dựa trên các Tag trong Block thuộc tính mà viết lisp: Trong Block thuộc tính, số thanh trong 1 CK với tên Tag SOTHANH đã được nhập, sau khi sử dụng lisp SCK nhập số lượng vào nó sẽ tự nhân ra kết quả và update vào tên Tag TST trong block thuộc tính đó. Đây là file mẫu: http://www.cadviet.c...ew_block_14.dwg
Yêu cầu này của mình đã giảm đi một nữa rồi đó, rất mong ae cadviet.com giúp đỡ.
Xin cảm ơn!
Help me, plz! :s_big:

Trong khi chờ đợi ai đó viết LISP, bạn có thể tham khảo bài huớng dẫn sử dụng lệnh FIELD của bác Hoành.
Việc sử dụng lệnh FIELD thuần thục sẽ giúp bạn nhiều việc hữu ích hơn, thậm chí cũng không cần (hay phụ thuộc) vào LISP nữa. :rolleyes:
Sử dụng lệnh FIELD với đối tuợng Block thuộc tính cũng tưong tự.
Link : http://www.cadviet.c...?showtopic=1515
  • 1

#1238 HoangSon614

HoangSon614

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 254 Bài viết
Điểm đánh giá: 66 (tàm tạm)

Đã gửi 25 May 2010 - 11:36 AM

Chào cả nhà! Mình có yêu cầu nhỏ nhờ các bạn trên diễn đàn giúp mình với
Mình muốn viết 1 lisp xuất dữ liệu từ Excell sang Cad, cụ thể như sau:
tên lisp: XDL
Khi đánh lệnh lisp hỏi: chọn dữ liệu cần xuất sang Cad -> Enter -> Gọi lệnh khởi động Excell -> User dùng chuột quét chọn các dòng, cột bên Excell cần xuất -> Enter -> dữ liệu tự động xuất sang Excell
Cảm ơn tất cả mọi người. Chờ tin
  • 0
-~-~-~-~-~-~-~-~-~-~-~-~-~-~
Hôm qua là sự học hỏi nhận được sau 1 ngày
Ngày mai là sự bí ẩn mà chúng ta sẽ khám phá


------------------------------------------
http://www.tailieukythuat.com

#1239 18011985

18011985

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 255 Bài viết
Điểm đánh giá: 61 (tàm tạm)

Đã gửi 25 May 2010 - 12:31 PM

Em c­hưa hiểu lắm về lập list đối tượng chọn, mong các bạn làm giúp em ví dụ này.
- Em có 1 loạt các đoạn thẳng đứng.
- Em chọn toàn bộ các đoạn thẳng
- Lsp tự động đánh số thứ tự dưới chân đoạn thẳng hướng tăng từ trái sang phải đến hết.
Mong các bạn cho mình lsp ví dụ này nhé.
Mong tin.
  • 0
Trăng 16 trăng tròn
Em 16 bụng ... như trăng

Hướng dẫn sử dụng diễn đàn:
Để cảm ơn hay bài viết có ích: Ấn dấu + cuối bài.
Không vừa lòng hay bài spam: Ấn dấu - cuối bài.

#1240 ut_cung

ut_cung

    biết vẽ line

  • Members
  • PipPip
  • 21 Bài viết
Điểm đánh giá: 2 (bình thường)

Đã gửi 25 May 2010 - 01:28 PM

Bạn tham khảo LISP đo chiều dài các đối tuợng : LINE,ARC,SPLINE,LWPOLYLINE,POLYLINE,CIRCLE,ELLIPSE
(với CIRCLE,ELLIPSE sẽ lấy chu vi của đối tuợng)
với tùy chọn : ghi Text cho từng đoạn - Chỉ ghi Text tổng - Không ghi Text .

Link : http://www.cadviet.c...o...ost&p=73840

Cảm ơn Gia Bach!
Món này ngon nhưng không "hợp khẩu vị" của út, vì út dùng để đo rất nhiều cái khác nhau nên cái lisp của út sẽ phù hợp hơn. Chỉ khổ nỗi mỗi lần ghi ra text thì nó luôn có 1 khoảng cách phía trước. Bác nào rãnh giúp út với!
Cảm ơn mọi nguời!
  • 0