Jump to content
InfoFile
Tác giả: Nguyen Hoanh
Bài viết gốc: 5200
Tên lệnh: t2v
Chuyển mã từ ABC sang VNI


Tên lệnh là T2V (TCVN to VNI)

Filename: 5200_t2v.lsp
Tác giả: ui_troi_2005
Bài viết gốc: 51671
Tên lệnh: scc
Scale tất cả trên bẻn vẽ
Chào bác Phanthanhbinh.

Cái lisp bác mới up lên này nó ko scale như ý muốn của em, mà có thể là em ko dùng đc (em dùng thì nó như cái lisp đầu tiên em up lên). Em đã theo lời bác và chỉnh cái lisp đó đc rồi, lần trước em up bản vẽ đó lên có cả phần mà em đã dùng lệnh SCC đó cho bác xem mà, nhưng nó còn lỗi nhỏ em đã nói lần trước rồi, đó là vị trí của các giá trị ghi kthước nó...
>>
Chào bác Phanthanhbinh.

Cái lisp bác mới up lên này nó ko scale như ý muốn của em, mà có thể là em ko dùng đc (em dùng thì nó như cái lisp đầu tiên em up lên). Em đã theo lời bác và chỉnh cái lisp đó đc rồi, lần trước em up bản vẽ đó lên có cả phần mà em đã dùng lệnh SCC đó cho bác xem mà, nhưng nó còn lỗi nhỏ em đã nói lần trước rồi, đó là vị trí của các giá trị ghi kthước nó ko đc hợp lý.

Còn về bản vẽ của em thì thực ra nó là bản vẽ của nước ngoài họ muốn bản vẽ đó ko đc thay đổi nên họ cố tình đổi tất cả.

Em up lisp đó để bác xem, lisp này em dùng thì tốt, chỉ mỗi tội vị trí giá trị kthước nó ko tốt thôi


<<

Filename: 51671_scc.lsp
Tác giả: fire_unicorn
Bài viết gốc: 51845
Tên lệnh: cal1
Vấn đề với lisp tính khối lượng đào đắp
Trước giờ em vẫn load các lisp sau để tính khối lượng nạo vét:
Area.lsp

Vấn đề em gặp phải là số liệu xuất ra phần thập phân làm tròn đến 1 chữ số sau dấu "." chứ không phải là 2 như em mong muốn (1.6 thay vì 1.56). Vậy rất mong các bác giỏi lisp chỉ bảo giúp em giải quyết vấn đề này với ạ. Em xin cảm ơn.

Filename: 51845_cal1.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 51473
Tên lệnh: scc
Scale tất cả trên bẻn vẽ


Chào bạn Ui_troi_2005,
Mình đã xem bản vẽ bạn gửi và phát hiện một số vấn đề như sau:
1/- Các dimension của bạn đã được Modify so với nguyên gốc của nó do lệnh dimensions tạo ra.
2/- Khi mình copy bản vẽ gốc của bạn sang bản vẽ mới thì rất nhiều dimension của bạn bị đổi màu do bạn đã modify cái màu gốc của nó, (cụ thể là các dim trên lớp part và lớp Dimension)...
>>

Chào bạn Ui_troi_2005,
Mình đã xem bản vẽ bạn gửi và phát hiện một số vấn đề như sau:
1/- Các dimension của bạn đã được Modify so với nguyên gốc của nó do lệnh dimensions tạo ra.
2/- Khi mình copy bản vẽ gốc của bạn sang bản vẽ mới thì rất nhiều dimension của bạn bị đổi màu do bạn đã modify cái màu gốc của nó, (cụ thể là các dim trên lớp part và lớp Dimension) không còn là bylayer nữa.
3/- Mình scale cái bản vẽ mới copy này bằng lệnh ssc mới sửa thì thấy mọi thứ OK. Bạn xem bản vẽ kèm theo đây nhé.
http://www.cadviet.com/upfiles/testscale.dwg
4/- Bạn không đọc kỹ bài post lần hai của mình rồi, đó là đoạn lisp mình bảo bạn phải xóa đi trong cái lisp trước chứ nó có giá trị gì đâu mà bạn load nó trong cad được. Mình sẽ post lại cái lisp mới sửa cho bạn xài thử nhé.

5/- Hàm setq được dùng để xác định giá trị các biến của bạn thôi.
(setq a (entget (car (entsel)))) dịch nôm na là: đặt biến a là giá trị của hàm entget với biến của hàm entget là giá trị của hàm car, còn hàm car thì lại lấy biến là giá trị của hàm entsel tức là hàm dùng để chọn một đối tượng trên màn hình cad.
(setq b (assoc 0 a)) được dịch nôm là: đặt biến b là giá trị của hàm assoc với các tham số là 0 và biến a ở trên.
Để hiểu kỹ về từng hàm có lẽ bạn nên tìm một cuốn tài liệu về lisp để đọc thêm hoặc chịu khó tra từ điển và vọc trong phần Developer Help của Cad sẽ rõ ngay thôi.
Để sử dụng hàm lisp trong cad, rất đơn giản là bạn nhập vào dòng lệnh command của cad đúng những gì bạn vie61ttrong lisp rồi enter là xong.
6/- Bạn nên thận trọng khi xài các dim vì nó có nhiều điều bất thường lắm. Tốt nhất là hãy tôn trọng Cad và đừng tự sửa những thông số trong Dim khi chưa hiểu hết cái sự đỏng đảnh của nó. Thường thì mình cố gắng tạo các Dim style cho từng bản vẽ trước khi dim và giữ nguyên các thuộc tính của nó chứ không mạo hiểm làm dim trước rồi đi sửa từng chú cho nó vừa mắt bạn ạ.
7/- Bạn có thể thử lisp trên với việc chọn từng mảng nhỏ trên bản vẽ của bạn xem nó có vấn đề như bạn đã gặp không nhé. Hy vọng bạn se hài lòng với kết quả.

Chúc bạn vui.
<<

Filename: 51473_scc.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5158
Tên lệnh: t2p
Viết Lisp theo yêu cầu


Tên lệnh là T2P (Text to Point)

Filename: 5158_t2p.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 51258
Tên lệnh: lj
Viết Lisp theo yêu cầu


Chào bạn nguyenkhoadung98,
Đây là cái lisp mình cải tiến theo cái ý mình nói ở trên. Bạn dùng thử và cho mình biết ý kiến nhé.

Lệnh sử dụng là LJ (line joint) bạn nhé.

Filename: 51258_lj.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5107
Tên lệnh: sd
Viết Lisp theo yêu cầu


Lệnh là SD (sắp dim)

Chương trình sẽ yêu cầu người sử dụng chọn đường Dim chuẩn. Sau đó, yêu cầu người sử dụng chọn các đường Dim cần sắp xếp. Chương trình sẽ tự động dàn các Dim theo hàng đều.
http://img.photobucket.com/albums/v672/nguyenhoanh/sapdim.gif

Filename: 5107_sd.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5110
Tên lệnh: mcaltext
Viết Lisp theo yêu cầu


Đã sửa và đáp ứng được yêu cầu của bạn, vẫn là lệnh MCALTEXT.

Filename: 5110_mcaltext.lsp
Tác giả: gia_bach
Bài viết gốc: 51017
Tên lệnh: dimmcur dmc
Lisp lấy Dim

Bạn dùng thử LISP này (tên lệnh DimMCur, lệnh tắt : DMC):

Filename: 51017_dimmcur_dmc.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 51045
Tên lệnh: scc
Scale tất cả trên bẻn vẽ


Chào bạn Ui_troi_2005,
Nhờ có cái lisp của bạn gửi, mình đã mày mò vọc nó và bổ sung thêm các yêu cầu mà bạn đã nêu. Không biết như vầy đã đúng ý bạn chưa, bạn thử xem nhé. Mình cũng đang định cải biên nó thêm tí nữa sau khi đã hiểu hòm hòm cái lisp này.
Đây là cái lisp mà mình đã bổ sung:


Bạn thử lại và cho mình biết ý kiến nha.
@ Bác Haanh:...
>>


Chào bạn Ui_troi_2005,
Nhờ có cái lisp của bạn gửi, mình đã mày mò vọc nó và bổ sung thêm các yêu cầu mà bạn đã nêu. Không biết như vầy đã đúng ý bạn chưa, bạn thử xem nhé. Mình cũng đang định cải biên nó thêm tí nữa sau khi đã hiểu hòm hòm cái lisp này.
Đây là cái lisp mà mình đã bổ sung:


Bạn thử lại và cho mình biết ý kiến nha.
@ Bác Haanh: Có lẽ cái này có thể đáp ứng điều bác muốn, tuy nhiên bác cần lưu ý là không phải cứ giảm nhỏ theo tỷ lệ là có cửa nhỏ được vì bác còn phải quan tâm đến các yêu cầu khác của cửa nữa, (ví như độ bền, vật liệu, chiều dày, ....... cũng như tính hợp lý của kết cấu cửa.)
<<

Filename: 51045_scc.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 51048
Tên lệnh: scc1
Scale tất cả trên bẻn vẽ



Chào bạn Ui_troi_2005,
Đây là cái lisp mình cải tiến lại cái lisp trườc. Bạn xem thử xem có tiến không hay là lùi nhé. Chức năng y chang nhau.


Theo cảm nhận của mình, cái lisp này đọc dễ hiểu hơn nhưng mò được ít kiến thức về lisp hơn bạn ạ.
@ Bác Haanh: Sorry, không được bác ạ vì lisp này vẫn giữ nguyên giá trị của kích thước trên bản vẽ. Nếu bác...
>>


Chào bạn Ui_troi_2005,
Đây là cái lisp mình cải tiến lại cái lisp trườc. Bạn xem thử xem có tiến không hay là lùi nhé. Chức năng y chang nhau.


Theo cảm nhận của mình, cái lisp này đọc dễ hiểu hơn nhưng mò được ít kiến thức về lisp hơn bạn ạ.
@ Bác Haanh: Sorry, không được bác ạ vì lisp này vẫn giữ nguyên giá trị của kích thước trên bản vẽ. Nếu bác muốn giá trị của kích thước cũng thay đổi theo tỷ lệ scale thì chỉ cần bỏ đi các dòng code có chữ dimlfac là OK. Chúc bác vui.
<<

Filename: 51048_scc1.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5070
Tên lệnh: cong
Viết Lisp theo yêu cầu


Lệnh là CONG.

Filename: 5070_cong.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 50780
Tên lệnh: mb
Viết Lisp theo yêu cầu

Chào bạn tuan_thietkedien,
Thú thục với bạn là mình chưa viết cái lisp tạo block bao giờ. Nay thấy bạn yêu cầu thì làm thử song không biết có vừa ý bạn hay không. Trong lisp này cái việc đặt tên cho block theo tên file hiện hành mình chưa biết ính sao nên đành để cho bạn tự nhập vậy. Do cái tên không dài quá nên chắc bạn cũng vui lòng nhập giùm nha.


Chúc bạn vui.

Filename: 50780_mb.lsp
Tác giả: Phiphi-
Bài viết gốc: 50694
Tên lệnh: ip
Lisp xuất-nhập toạ độ
+Lệnh IP dùng để insert các Points tại các giao điểm của các Line/Pline/Spline (trên mặt phằng XY) sau khi dùng mouse quét qua các objects.
Lisp do Trưởng lão Ssg viết:

Filename: 50694_ip.lsp
Tác giả: Phiphi-
Bài viết gốc: 50690
Tên lệnh: mexy
Lisp xuất-nhập toạ độ
+ Lệnh MEXY chia Polyline/Spline theo phương X/Y thành những đoạn nhỏ bằng nhau có kích thước xác định.

http://img132.imageshack.us/img132/7104/splinexl1.jpg
http://img132.imageshack.us/img132/splinexl1.jpg/1/w949.png
Lisp này do bác Nataca viết:

Filename: 50690_mexy.lsp
Tác giả: Phiphi-
Bài viết gốc: 50692
Tên lệnh: ck
Lisp xuất-nhập toạ độ
+Lệnh CK đánh dấu/chia trên 3D Pline và 3D Spline theo những khoảng cách bằng nhau (từ point đến point)

http://img132.imageshack.us/img132/2755/makingdistanceseg5.jpg
http://img132.imageshack.us/img132/makingdistanceseg5.jpg/1/w758.png
Lisp do Trưởng lão Ssg viết:

Filename: 50692_ck.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 50552
Tên lệnh: vd
Viết Lisp theo yêu cầu

Chào bác Phiphi.
Cái lisp này có cải tạo một chút cho phép bác nhập một lần nhiều điểm cần nội suy, nhưng bác phải nhập số lượng điểm cần nội suy trước và sau đó thực hiện đủ số lần chọn các điểm này. Mỗi khi chọn điểm xong là lisp sẽ tự ghi kết quả cho điểm vừa chọn.
Rất mong nó hợp với ý bác.


Chúc bác vui.

Filename: 50552_vd.lsp
Tác giả: Phiphi-
Bài viết gốc: 50687
Tên lệnh: ins point
Viết Lisp theo yêu cầu

Phần nội suy rồi đặt kết quả ngay tại những điểm User chọn của LISP các Bác viết thì làm việc OK rồi, nhưng còn phần "vẽ thêm Points" thì chưa có.
Đây là đoạn code vẽ thêm Points bên cạnh các số, nhờ các Bác viết chung vào LISP trên nhé. Vì khi có các Points, chúng ta có thể dùng cho các việc khác nữa. Thanks you.
Tham khảo thêm ở topic này:...
>>

Phần nội suy rồi đặt kết quả ngay tại những điểm User chọn của LISP các Bác viết thì làm việc OK rồi, nhưng còn phần "vẽ thêm Points" thì chưa có.
Đây là đoạn code vẽ thêm Points bên cạnh các số, nhờ các Bác viết chung vào LISP trên nhé. Vì khi có các Points, chúng ta có thể dùng cho các việc khác nữa. Thanks you.
Tham khảo thêm ở topic này: http://www.cadviet.com/forum/index.php?showtopic=9019

<<

Filename: 50687_ins_point.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 50551
Tên lệnh: vd
Viết Lisp theo yêu cầu

Chào bác Phiphi,
Căn cứ vào bản vẽ bác post, mình thử viếp cái lisp này, không biết có đúng ý bác không. Bác xài thử rồi cho mình biết ý kiến để bổ sung nhé.


Bác có thể thay đổi chiều cao text , góc nghiêng text cũng như điểm đặt của text tùy theo ý bác bằng cách sửa lại dòng code (command "text" (list (car p4) (+ 5 (cadr p4))) "" 45 (cadr p4) "")
Việc bác muốn chọn một...
>>

Chào bác Phiphi,
Căn cứ vào bản vẽ bác post, mình thử viếp cái lisp này, không biết có đúng ý bác không. Bác xài thử rồi cho mình biết ý kiến để bổ sung nhé.


Bác có thể thay đổi chiều cao text , góc nghiêng text cũng như điểm đặt của text tùy theo ý bác bằng cách sửa lại dòng code (command "text" (list (car p4) (+ 5 (cadr p4))) "" 45 (cadr p4) "")
Việc bác muốn chọn một lần nhiều điểm nội suy sẽ hơi phức tạp hơn. Ở lisp này chỉ cho bác nội suy mỗi lần một điểm. Nếu bác muốn làm nhiều điểm thì phải làm nhiều lần.
Do trình độ còn hạn chế nên chưa thể đáp ứng ngay yêu cầu của bác. Mong bác thông cảm và chờ thêm ít bữa nữa. Bác dùng thử và cho ý kiến nhé.

Chúc bác vạn sự như ý.
<<

Filename: 50551_vd.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 5040
Tên lệnh: p2t
Viết Lisp theo yêu cầu

Tên lệnh là P2T (point to text)


Filename: 5040_p2t.lsp

Trang 16/330

16