Jump to content
InfoFile
Tác giả: thanhduan2407
Bài viết gốc: 147253
Tên lệnh: tt
dùm em lisp

Anh đã hoàn thành và đạt chỉ tiêu lúc đầu đưa ra. hề hề hề.
Đưa lên anh em cùng tham khảo nè. Hề hề hề.

Filename: 147253_tt.lsp
Tác giả: pdle
Bài viết gốc: 146797
Tên lệnh: lp
Hàm polar

Em đã thêm vào cái lisp phía trên phần kiểm tra độ dài a, và kiểm tra sự tồn tại của layer nhập vào, nhưng lại báo lỗi : ; error: bad argument type: numberp: nil


Mong mọi người cho ý kiến ạ :)

Filename: 146797_lp.lsp
Tác giả: thanhduan2407
Bài viết gốc: 147128
Tên lệnh: dogoc
dùm em lisp
Em đang viết lisp kích vào một Polyline thì sẽ lưu ra được một tệp txt hoặc csv, trong tệp đó sẽ có kiểu dữ liệu dạng:

(Số hiệu đỉnh trái 1) (Số hiệu đỉnh giữa 2) (Số hiệu đỉnh phải 3) (Độ) (Phút) (Giây)
...........................................................................
(Số hiệu đỉnh trái (n-2)) (Số hiệu đỉnh giữa (n-1)) (Số hiệu đỉnh phải n) (Độ) (Phút) (Giây)
>>
Em đang viết lisp kích vào một Polyline thì sẽ lưu ra được một tệp txt hoặc csv, trong tệp đó sẽ có kiểu dữ liệu dạng:

(Số hiệu đỉnh trái 1) (Số hiệu đỉnh giữa 2) (Số hiệu đỉnh phải 3) (Độ) (Phút) (Giây)
...........................................................................
(Số hiệu đỉnh trái (n-2)) (Số hiệu đỉnh giữa (n-1)) (Số hiệu đỉnh phải n) (Độ) (Phút) (Giây)

(Số hiệu đỉnh 1) (Số hiệu đỉnh 2) (Chiều dài cạnh 1_2)
...........................................................................
(Số hiệu đỉnh (n-1)) (Số hiệu đỉnh n) (Chiều dài cạnh (n-1)_n)
File mẫu:
http://www.cadviet.com/upfiles/3/cad_1.dwg
http://www.cadviet.com/upfiles/3/tepdulieu.rar
Em nói trên đây là nếu các bác quan tâm và giúp đỡ em thực hiện bài toán trên.
Vì trình độ có hạn và mới mò mẫm trên con đường Lisp nên em đã làm thủ công từng bước một.
Tạm thời em đang viết thực hiện tính góc hợp với trục X (hướng Đông làm chuẩn) theo chiều kim đồng hồ để tính góc tạo bởi 2 điểm kích trên màn hình nhưng nó vẫn bị lỗi tại chỗ nào đó.
Các bác quan tâm thì giúp em chỉnh sửa lisp này với. Em chân thành cảm ơn.
http://www.cadviet.com/upfiles/3/goc_hop_voi_truc_x_nguoc_chieu_kim_dong_ho.lsp

<<

Filename: 147128_dogoc.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 146759
Tên lệnh: gcd
nội suy cao độ đường cong

Hề hề hề,
Cái lợi hại của bạn có phải là cái ni không hỉ????


Với cái ni khi lisp yêu cầu bạn "Chon diem can noi suy" hoặc "Chon diem ke tiep", bạn có thể dùng cách pick điểm trên màn hình hay di chuột và nhập khoảng cách mà bạn mong muốn, lisp sẽ lấy điểm theo đúng yêu cầu của bạn.
Trường hợp bạn muốn nội suy các diểm có cao độ nhỏ hơn cao...
>>

Hề hề hề,
Cái lợi hại của bạn có phải là cái ni không hỉ????


Với cái ni khi lisp yêu cầu bạn "Chon diem can noi suy" hoặc "Chon diem ke tiep", bạn có thể dùng cách pick điểm trên màn hình hay di chuột và nhập khoảng cách mà bạn mong muốn, lisp sẽ lấy điểm theo đúng yêu cầu của bạn.
Trường hợp bạn muốn nội suy các diểm có cao độ nhỏ hơn cao độ điểm gốc thì bạn phải nhập giá trị độ dốc theo phần trăm là một số âm bạn nhé.
Hãy dùng thử và cho biết ý kiến phản hồi bạn nhé.
Chúc bạn luôn đã con mắt bên phải, sướng con mắt bên trái hỉ.
<<

Filename: 146759_gcd.lsp
Tác giả: pdle
Bài viết gốc: 146761
Tên lệnh: lp
Hàm polar

Ura, em đã tìm ra rồi các anh ạ :D. Sau khi đọc kĩ lại hàm entmakex (cám ơn anh ketxu đã cho em biết về hàm này :)) em nhận ra là các code dxf 10 và 11 (điểm đầu và điểm cuối) là tọa độ của các điểm ấy so...
>>

Ura, em đã tìm ra rồi các anh ạ :D. Sau khi đọc kĩ lại hàm entmakex (cám ơn anh ketxu đã cho em biết về hàm này :)) em nhận ra là các code dxf 10 và 11 (điểm đầu và điểm cuối) là tọa độ của các điểm ấy so với WCS, như vậy là nó không phụ thuộc UCS.
Ngoài ra việc sử dụng polar trong việc vẽ đoạn thẳng là khá "nhạy cảm" vì nó phụ thuộc vào hướng của trục X của UCS. Do vậy em đã quyết định tính tọa độ theo hình học giải tích.
Và cuối cùng em đã thành công :D. Cảm ơn cả nhà đã giúp đỡ em rất tận tình. Sau đây là code cái lisp của em.
À em nói qua về yêu cầu bài toán của em một tí:
Yêu cầu: vẽ mô hình dây của một kết cấu cầu ở dạng file .dxf, dùng để import vào chương trình tính toán Femap-Nastran. Mỗi thanh thẳng của khung được cấu tạo từ 2 loại vật liệu: 2 đầu là thép, ở giữa là vật liệu composite. Ngoài ra ở các vị trí khác nhau thì kích thước của các thành phần sử dụng các vật liệu cũng khác nhau, do đó đòi hỏi phân ra các layer rõ ràng để thuận tiện cho việc mô hình hóa về sau.


<<

Filename: 146761_lp.lsp
Tác giả: thanhduan2407
Bài viết gốc: 146693
Tên lệnh: zz
Lisp in nhiều bản vẽ trong model mà chỉ cần 1 layout
Lisp ứng dụng với các bản vẽ có cùng một khổ giấy, cùng tỷ lệ và kích thước giống nhau.
Sau đây là hướng dẫn sử dụng lisp.
Giả sử ta có rất nhiều bản vẽ (Giả sử in A4, tỷ lệ 1:1)
http://www.cadviet.com/upfiles/3/1_45.jpg
Copy 1 khung trống ra ngoài và dùng polyline (layer ko in) để nối các điểm góc trái dưới khung in (như hình vẽ).
Vào trong Page Setup Manager … để cài...
>>
Lisp ứng dụng với các bản vẽ có cùng một khổ giấy, cùng tỷ lệ và kích thước giống nhau.
Sau đây là hướng dẫn sử dụng lisp.
Giả sử ta có rất nhiều bản vẽ (Giả sử in A4, tỷ lệ 1:1)
http://www.cadviet.com/upfiles/3/1_45.jpg
Copy 1 khung trống ra ngoài và dùng polyline (layer ko in) để nối các điểm góc trái dưới khung in (như hình vẽ).
Vào trong Page Setup Manager … để cài đặt các thông số máy in hay khổ giấy như: chọn máy in (factory), tỷ lệ 1:1, khổ giấy A4, lực nét, màu sắc….
http://www.cadviet.com/upfiles/3/2a.jpg
http://www.cadviet.com/upfiles/3/2_23.jpg
Vào trong layout, xóa cái cửa số liên kết với model đó.Vào trong Model copy 1 khung cho sang layout và đặt cho nó chuẩn đẹp.http://www.cadviet.com/upfiles/3/3_16.jpg
Dùng lệnh Mview để tạo một cửa sổ mới vừa khít với cái khung vừa copy sang
http://www.cadviet.com/upfiles/3/4_7.jpg
Chui vào trong cửa sổ layout bằng cách gõ lệnh MSPACE và zoom vừa khít với với cửa sổ Mview. Hoặc dùng đoạn lisp sau để zoom cái khung đầu tiên vừa khít.

Dùng lệnh “innhanh”, lúc này lệnh nhảy vào cửa sổ layout. Bạn chú ý ko được zoom to thu nhỏ nó mà chỉ kích chọn vào Polyline đó. (Mẹo: Để cái khung ngoài cùng nó ở dưới để trong bản vẽ đầu tiên có polyline hiển thị để ko phải zoom, zoom là sai). Bây giờ bạn chỉ cần ra máy in ngồi chờ bản vẽ thôi. Trên đây mình nói thì dài dòng nhưng trên thực tế ko có gì phức tạp lắm. Vì thời gian có hạn nên sau này mình cải tiến thêm vào số hiệu bản vẽ (Lisp của các bác Cadviet trên diễn đàn, nếu ai chỉnh sửa ngay thì giúp mình cải tiến luôn nhé). Để tiện thực hiện mình sẽ post video lên đây để các bạn xem. Cám ơn các bạn đã chú ý đọc.
P/s: http://www.cadviet.com/upfiles/3/hdsd.doc
Link Video:
http://www.4shared.com/video/TV6tb_NN/Cadviet.html
<<

Filename: 146693_zz.lsp
Tác giả: gia_bach
Bài viết gốc: 146694
Tên lệnh: jt
LISP : Ánh xạ giá trị đối tượng (thay đổi giá trị nguồn -> Đích cập nhật theo)

LISP : Ghép các chuỗi text lại với nhau theo thứ tự chọn.

Filename: 146694_jt.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 146655
Tên lệnh: nscdpl
nội suy cao độ đường cong

Hề hề hề,
Bạn dùng thử cái này coi xem có ngứa con mắt bên phải, đỏ con mắt bên trái không nhé......


Hễ chưa đã thì post lên nhé......

Filename: 146655_nscdpl.lsp
Tác giả: thanhduan2407
Bài viết gốc: 146657
Tên lệnh: tdspl
nội suy cao độ đường cong


Hề hề hề, mong bạn thông cảm. Vì nếu như spline có cao độ thì cứ trích nó ra mà ghi lên đó thôi. Hii. Bạn thử xem cái này nhé.

Filename: 146657_tdspl.lsp
Tác giả: pdle
Bài viết gốc: 146661
Tên lệnh: lp
Hàm polar


Cảm ơn anh Tue_NV đã cho em biết thêm về hàm trans. Tiếc là chỉ được thank có 1 lần thôi :D
Hàm này theo em hiểu là sẽ chuyển tọa độ của một điểm từ hệ trục tọa độ này sang hệ trục tọa độ khác. Chẳng hạn (trans 1st 1 0) sẽ trả về tọa độ của điểm 1st trong hệ trục tọa...
>>


Cảm ơn anh Tue_NV đã cho em biết thêm về hàm trans. Tiếc là chỉ được thank có 1 lần thôi :D
Hàm này theo em hiểu là sẽ chuyển tọa độ của một điểm từ hệ trục tọa độ này sang hệ trục tọa độ khác. Chẳng hạn (trans 1st 1 0) sẽ trả về tọa độ của điểm 1st trong hệ trục tọa độ WCS. Không biết em hiểu như thế có đúng không nữa?

Trong bài toán của em, để các đường thẳng vẽ ra nằm trong mặt phẳng mong muốn, như trong hình vẽ minh họa:
http://i244.photobucket.com/albums/gg18/vinhanh_hn/3-6.jpg
nghĩa là đoạn thẳng được tạo ra bởi lisp (đánh dấu vuông đỏ), phải nằm trên cùng một mặt phẳng với các đoạn thẳng được đánh dấu tròn đỏ,thì cần phải đổi cả CS nữa, nghĩa là dùng thêm cả lệnh UCS như sau:


Nhưng kết quả vẫn không được như mong muốn, nghĩa là:
1. Hệ CS mới tạo ra thì có trục X không hướng từ Pt1 đến Pt2. Các trục X Y Z quay lung tung, không như mong muốn là xác định bởi gốc Pt1, trục X là Pt1 Pt2, và điểm nằm trên XOY là Pt3
2. Có lẽ vì thế mà đoạn thẳng vẽ ra cũng không đúng yêu cầu:
http://i244.photobucket.com/albums/gg18/vinhanh_hn/4-3.jpg

Mong mọi người giúp em với ạ :D
<<

Filename: 146661_lp.lsp
Tác giả: Tue_NV
Bài viết gốc: 146122
Tên lệnh: tthe
Giúp em tách text ra khỏi text hàng loạt với!


Em thay lại chữ COVAN và Þ cho đúng lại nhé.
Code đây :

Filename: 146122_tthe.lsp
Tác giả: pdle
Bài viết gốc: 146444
Tên lệnh: lipo
Hàm polar
Đây là UCS trong bản vẽ của em:
http://i244.photobucket.com/albums/gg18/vinhanh_hn/1-10.jpg
Em muốn vẽ 3 đoạn thẳng liên tiếp nhau từ pt1 đến pt2, trong đó đoạn đầu tiên từ pt1 về hướng pt2, có độ dài là a, và đoạn cuối từ pt2 về hướng pt1 cũng có độ dài là a. Em đã viết một lisp như sau:

Nhưng khi nhập vào commandline lênh lipo và các tham số của nó thì không vẽ được các...
>>
Đây là UCS trong bản vẽ của em:
http://i244.photobucket.com/albums/gg18/vinhanh_hn/1-10.jpg
Em muốn vẽ 3 đoạn thẳng liên tiếp nhau từ pt1 đến pt2, trong đó đoạn đầu tiên từ pt1 về hướng pt2, có độ dài là a, và đoạn cuối từ pt2 về hướng pt1 cũng có độ dài là a. Em đã viết một lisp như sau:

Nhưng khi nhập vào commandline lênh lipo và các tham số của nó thì không vẽ được các đường như mong muốn.
Đây là bản vẽ này: http://www.mediafire.com/?ff58b8kmiy62e6j

Tuy nhiên khi em load lisp này vào một bản vẽ 2D bình thường thì nó lại chạy rất ổn!

Xin mọi người cho ý kiến, giúp em với ạ !
<<

Filename: 146444_lipo.lsp
Tác giả: Tue_NV
Bài viết gốc: 145906
Tên lệnh: tthe
Tác giả: Nguyen Hoanh
Bài viết gốc: 14598
Tên lệnh: sfd
Làm thế nào để nhận biết dim bị Edit text ??!!

Lệnh SFD (Select faked dim) dưới đây sẽ giúp bạn chọn các đối tượng dim đã bị edit (Các đối tượng không phải dim hoặc đối tượng dim không bị edit thì sẽ không thể chọn được bằng lệnh này).


Filename: 14598_sfd.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 145536
Tên lệnh: cd
Viết lisp theo yêu cầu [phần 2]

Hề hề hề,
Vậy là bạn chưa cài Express Tools rồi. Bạn đang dùng Cad bao nhiêu vậy, 2000, 2004, hay 2....?
Trong trường hợp bạn không có bộ cài Express tools mình sẽ sửa lại cái lísp trên một chút vậy.
Nó đây bạn nhé. Cách dùng như lisp trước.


Bạn lưu ý là với cái lisp sửa nãy thì các đường tạo ra giao điểm cần ghi cao độ phải là Line bạn nhé. Nếu không...
>>

Hề hề hề,
Vậy là bạn chưa cài Express Tools rồi. Bạn đang dùng Cad bao nhiêu vậy, 2000, 2004, hay 2....?
Trong trường hợp bạn không có bộ cài Express tools mình sẽ sửa lại cái lísp trên một chút vậy.
Nó đây bạn nhé. Cách dùng như lisp trước.


Bạn lưu ý là với cái lisp sửa nãy thì các đường tạo ra giao điểm cần ghi cao độ phải là Line bạn nhé. Nếu không phải là line thì lisp sẽ không chạy đúng đâu. Thực tế thì bản vẽ bạn gửi chúng đều là line cả nhưng mình vẫn cứ nhắc bạn vậy, mong bạn đừng cho mình là dở hơi nhé....

Bạn hãy thử nhé và chúc bạn vui.
<<

Filename: 145536_cd.lsp
Tác giả: ketxu
Bài viết gốc: 145104
Tên lệnh: cf
Định dạng font trong bản vẽ cad!

- Thay font của các Style trong bản vẽ
- Có tool trong Topic, các bạn vào bài viết gốc tìm

Filename: 145104_cf.lsp
Tác giả: ketxu
Bài viết gốc: 145425
Tên lệnh: tkd
Thống kê Dimension theo chiều dài

- Xuất bảng thống kê ra CAD



Filename: 145425_tkd.lsp
Tác giả: Nguyen Hoanh
Bài viết gốc: 14476
Tên lệnh: test reset
code giới hạn thời gian sử dụng File lisp

Ví dụ lệnh CUA nằm trong file c:\cadviet\lisp\archanwoo.lsp nhưng người sử dụng không biết tên lệnh là CUA. Khi người sử dụng lệnh TEST, sẽ tương đương như lệnh CUA, nhưng chỉ được 5 lần sử dụng.
Code như sau:

Filename: 14476_test_reset.lsp
Tác giả: hhhhgggg
Bài viết gốc: 144762
Tên lệnh: 44
Lisp copy array tổng hợp !
Em có cái lisp copy array theo các tuỳ chọn rất hay. Nhưng hiện tại nó đang bị lỗi cái mục chọn Key "2". Bác pro nào sửa giúp em mục đó với ạ !
Code


Nhắc bạn Hoàng Giang khi post code chú ý cho vào thẻ Code!

Filename: 144762_44.lsp
Tác giả: phamthanhbinh
Bài viết gốc: 145004
Tên lệnh: cd
Viết lisp theo yêu cầu [phần 2]

Hề hề hề,
Thực tình thì vẫn chưa rõ cái bạn cần lắm. Tuy nhiên mình cứ làm thử cái lísp này để bạn dùng coi sao rồi sửa tiếp. Lisp này mình cứ coi như điếc, hễ có giao điểm nào là nó chơi cái giao điểm đó bất kể là đường màu vàng hay màu ghi bạn nhé. Nếu bạn thấy chưa thích thì post lên để sửa tiếp nhé.
Nhớ rằng lisp sử dụng với cái bản vẽ bạn post C1 nên nó...
>>

Hề hề hề,
Thực tình thì vẫn chưa rõ cái bạn cần lắm. Tuy nhiên mình cứ làm thử cái lísp này để bạn dùng coi sao rồi sửa tiếp. Lisp này mình cứ coi như điếc, hễ có giao điểm nào là nó chơi cái giao điểm đó bất kể là đường màu vàng hay màu ghi bạn nhé. Nếu bạn thấy chưa thích thì post lên để sửa tiếp nhé.
Nhớ rằng lisp sử dụng với cái bản vẽ bạn post C1 nên nó có sẵn các layer trong hàm lọc và đã có sẵn các block thuộc tính của bạn. Khi dùng với các bản vẽ khác thì bạn phải kiểm tra lại các thông số này xem có đúng không nhé.
hề hề hề,
Của bạn đây:


Chúc bạn vui.
<<

Filename: 145004_cd.lsp

Trang 37/313

37