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

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

Các bài được khuyến nghị

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!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
...................

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.com/forum/index.php?sho...ost&p=90451

  • Vote tăng 3

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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é

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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!!!!!!!!!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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ủ đề.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/forum/index.php?sho...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.com/upfiles/2/chieu_dai_2_c2.rar

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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.com/upfiles/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....

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/upfiles/2/new_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:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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.com/upfiles/2/xuat_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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
........

ú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.com/forum/index.php?sho...ost&p=73840

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/upfiles/2/xuat_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é.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/upfiles/2/new_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.com/forum/index.php?showtopic=1515

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

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.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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.com/forum/index.php?sho...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!

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
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

Không ai giúp mình sao.

Vấn đề này mình đã seach nhiều rồi nhưng vẫn chưa đúng ý mình. Còn trong Table Cad khi xuất qua bị lỗi nên mình không sử dụng được

Mong mọi người giúp đỡ. Thanks....

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Viết lại cho bạn nè :

(defun c:cs(/ ss sx lis1 lis2 n i nn mm li li1)
(vl-load-com)
(setq ss (ssget '((0 . "TEXT"))))
(setq sx (ssget '((0 . "TEXT"))))
(setq lis1 (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq lis2 (vl-remove-if 'listp (mapcar 'cadr (ssnamex sx))))
(setq lis1 (vl-sort lis1 '(lambda (x y) 
		(< (cadr (assoc 10 (entget x)))
		   (cadr (assoc 10 (entget y)))
		)
	     )
    )
)
(setq lis2 (vl-sort lis2 '(lambda (x y) 
		(< (cadr (assoc 10 (entget x)))
		   (cadr (assoc 10 (entget y)))
		)
	     )
    )
)	
(setq n (sslength ss) i 0)

(if (= (length lis1) (length lis2))
(progn
  (while (< i (length lis1))

(setq nn (entget (nth i lis1)))
(setq mm (entget (nth i lis2)))

(setq li (cdr (assoc 1 nn)))

(setq li1 (cdr (assoc 1 mm)))
(setq nn (subst (cons 1 li1) (assoc 1 nn) nn))
(setq mm (subst (cons 1 li) (assoc 1 mm) mm))

(entmod mm)
(entmod nn)
(setq i (+ i 1))

)
)
(alert "\n Hai chuoi khong bang nhau. Lisp khong thuc hien duoc")
)

(princ)

)

Trong code Lisp có kiểm tra sự bằng nhau của 2 chuỗi Text

 

Lisp đổi giá trị của 2 chuỗi text cho nhau.

Mình nhờ bạn đổi lại chút đc k, thay vì sắp xếp các chuỗi text theo X thì bây h đổi lại sắp xếp theo Y :rolleyes:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Lisp đổi giá trị của 2 chuỗi text cho nhau.

Mình nhờ bạn đổi lại chút đc k, thay vì sắp xếp các chuỗi text theo X thì bây h đổi lại sắp xếp theo Y :rolleyes:

Bạn sửa hàm cadr thành caddr trong đoạn mã dưới đây:

Thay dòng :

(setq lis1 (vl-sort lis1 '(lambda (x y)

(

(cadr (assoc 10 (entget y)))

)

)

)

)

(setq lis2 (vl-sort lis2 '(lambda (x y)

(

(cadr (assoc 10 (entget y)))

)

)

)

)

 

->>>thành dòng :

(setq lis1 (vl-sort lis1 '(lambda (x y)

(

(caddr (assoc 10 (entget y)))

)

)

)

)

(setq lis2 (vl-sort lis2 '(lambda (x y)

(

(caddr (assoc 10 (entget y)))

)

)

)

)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chào các bác.

Em thiết kế đường bằng Land desktop. Trong Land cắt ngang không thế hiện độ dốc của mặt đường và taluy nhưng hiện giờ Chủ đầu tư đang bắt thế hiện nên các chú CADer đang phải làm bằng tay. Em có một lisp thể hiện độ dốc taluy 3:1, 2:1... bằng lệnh grade nhưng nó không chạy ra độ dốc phần trăm của mặt đường. Em muốn thêm vào lisp này lệnh slope dùng cho độ dốc mặt đường khi đó mặt đường sẽ có độ dốc ví dụ 2.0%, 4.5%..v..v còn ta luy dùng lệnh grade như cũ sẽ có giá trị 3.0:1. 4.0:1...Em đã mày mò nhưng vẫn chưa ra. Mong các bác giúp em.

Xin cảm ơn nhiều.

Lisp gốc của em như sau:

 

(defun c:grade ()

textsize 0.5

osmode 1

(prompt "\npick points for the grade")

(setq pnt1 (getpoint) pnt2 (getpoint pnt1))

(setq ang1 (angle pnt1 pnt2))

;(setq ang1 (getangle))

(setq tanofang (/ (sin ang1) (cos ang1)))

(if (= tanofang 0) (setq grade1 0.0)

(setq grade1 (/ 1 tanofang))

)

(setq txt1 (strcat (rtos (abs grade1) 2 1) ":1"))

;(setq pnt1 (getpoint "\nPick location for text"))

 

(setq midpt (list (/ (+ (car pnt1) (car pnt2)) 2) (/ (+ (cadr pnt1) (cadr

pnt2)) 2)))

(setq odist (getvar "textsize"))

(setq ang2 (+ ang1 (/ pi 2)))

(setq osmd (getvar "osmode"))

(setvar "osmode" 0)

(setq inspt (polar midpt ang2 odist))

(command "text" "mc" inspt "" (rtd ang1) txt1) ; middle centre justified

(setvar "osmode" osmd)

(princ)

) ; replace the "c" above with "bc" for bottom centre

 

 

(defun rtd (a)

(/ (* a 180.0) pi)

)

 

(defun c:slope ()

textsize 0.5

osmode 1

(prompt "\npick points for the slope")

(setq pnt1 (getpoint) pnt2 (getpoint pnt1))

(setq ang1 (angle pnt1 pnt2))

;(setq ang1 (getangle))

(setq tanofang (/ (sin ang1) (cos ang1)))

(if (= tanofang 0) (setq slope1 0.0%)

(setq slope1 (/ (* 100 (- (cadr pnt1) (cadr pnt2)) (- (car pnt1) (car pnt2)))

))

(setq txt1 (strcat (rtos (abs slope1) 2 1) "%"))

;(setq pnt1 (getpoint "\nPick location for text"))

 

(setq midpt (list (/ (+ (car pnt1) (car pnt2)) 2) (/ (+ (cadr pnt1) (cadr

pnt2)) 2)))

(setq odist (getvar "textsize"))

(setq ang2 (+ ang1 (/ pi 2)))

(setq osmd (getvar "osmode"))

(setvar "osmode" 0)

(setq inspt (polar midpt ang2 odist))

(command "text" "mc" inspt "" (rtd ang1) txt1) ; middle centre justified

(setvar "osmode" osmd)

(princ)

) ; replace the "c" above with "bc" for bottom centre

 

 

(defun rtd (a)

(/ (* a 180.0) pi)

)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bác TUE NV nói đúng lắm, em up lại link ở đây, mong bác và anh em trên diễn đàn bớt chút thời gian, xem xét và giúp đỡ em

http://www.mediafire.com/?mtmnjzjn2aj

Xin chân thành cảm ơn anh em

Bác TUE NV và anh em bớt chút thời gian xem xét giải quyết vấn đề này giúp em với,em đang cần gấp quá, cảm ơn mọi người nha

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Có phải thế này ko bạn.

Click here for download it.

Cảm ơn bạn nhé, gãi đúng chỗ ngứa của mình. Mình sẽ học tập thêm từ lsp đó nhưng bạn ơi cho mình hỏi biến e1 và e2 ở đây có ý nghĩa như thế nào.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bác TUE NV và anh em bớt chút thời gian xem xét giải quyết vấn đề này giúp em với,em đang cần gấp quá, cảm ơn mọi người nha

Nqt266 sử dụng thử cái này :

http://www.cadviet.com/upfiles/2/xck.rar

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác TUE NV à,Quên mất em không nói rõ, ý em là mình dùng lệnh, sau đó chọn lần lượt các text theo thứ tự em chỉ ra như đường pline có mũi tên đó, sau đó sẽ xuất ra bảng excell theo mẫu bảng mà em để ở dưới. Bác xem giúp em với nhé. Thanks bác nha

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Bác TUE NV à,Quên mất em không nói rõ, ý em là mình dùng lệnh, sau đó chọn lần lượt các text theo thứ tự em chỉ ra như đường pline có mũi tên đó, sau đó sẽ xuất ra bảng excell theo mẫu bảng mà em để ở dưới. Bác xem giúp em với nhé. Thanks bác nha

Thế này nhé :

Thay vì bạn chọn thứ tự Text theo chiều mũi tên -> bạn vẽ 1 Pline qua các Text đó như hình bạn đã post. PLINE này bạn nên để vào lớp DEFPOINTS để khi in ra không thấy và có thể ẩn nó đi bất cứ lúc nào (sử dụng lệnh Layoff). Sau này muốn sửa số và chạy lại Lisp thì cho hiện cái Pline này lên và ... chạy, khỏi mất công chọn ......Text. Chú ý rằng Pline này : điểm đầu -> điểm cuối phải đi theo chiều mũi tên nhé

 

Về kết quả xuất của Lisp : Xuất ra Table -> Muốn chuyển qua Excel thì cứ Chọn cái Table mà Export là xong -> Tiếp muốn chuyển qua CAD theo đối tượng OLE(như bản vẽ của bạn) thì cứ copy -> paste là xong

 

PS : Không nên sử dụng đối tượng OLE trong CAD mà nên sử dụng Table

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Khách
Chủ đề này bây giờ đã bị đóng lại để trả lời thêm.

×