Đế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

#3441 ngocnam.cad

ngocnam.cad

    biết vẽ ellipse

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

Đã gửi 04 May 2011 - 12:56 AM

các bác giúp em sửa lại lisp này với ạ.đây là lisp mà bác thaistreetz viết cho em hồi năm ngoái để chỉnh sửa trắc ngang.có một nhược điểm nhỏ là lisp này ko thể chỉnh sửa các cao độ thiết kế và khoảng cách thiết kế được mà chỉ sửa được cao độ tự nhiên và khoảng cách lẻ.Các bác làm ơn giúp em chỉnh sao cho lisp có thể sửa được cả các cọc thiết kế và khoảng cách tk. em đã gửi kèm cả file ví dụ. Mong các bác giúp em, cám ơn các bác nhiều nhiều. Đây là file của em ạ.http://www.cadviet.com/upfiles/3/edtn.rar

Các bác cao thủ về lisp và nova giúp em với ạ. !
  • 0

#3442 letrieuvt

letrieuvt

    biết zoom

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

Đã gửi 04 May 2011 - 08:19 AM

Nói ra hơi xấu hổ các bác ạ, em tốt nghiệp rồi mà cũng vẫn chỉ đi dùng lisp do người khác viết mà chẳng hiểu tí tạo nào về lisp. Em cũng tìm kiếm trên mạng mấy ngày nhưng chưa thấy gì tiến triển. Anh em tốt bụng có bài giảng hay chương trình nào hay dạy về autolisp không? cho em xin...rồi e sẽ cố gắng trở thành thành viên trung thành của toppic này...
  • 0

#3443 latoidayvn

latoidayvn

    biết zoom

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

Đã gửi 04 May 2011 - 10:04 AM

Nhờ các bác viết cho 1 cái lisp như thế này.
Em có 1 bản vẽ gồm nhiều đường pline, 3dpline...
Trong bản vẽ thì có đường có độ cao Z=a , có đường lại để độ cao Z=0
Bây giờ em muốn lệnh mà chỉ hiện các đường có độ cao Z=a lên hoặc những đường có độ cao Z=0 lên mà thôi, nếu ko hiện kiểu thế được thì có thể xóa fần Z=0 lại khi lấy fần Z=a và ngược lại.
Cám ơn trước!
  • 0

#3444 minhngockt

minhngockt

    biết vẽ pline

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

Đã gửi 04 May 2011 - 01:11 PM

Nhờ các bác viết cho 1 cái lisp như thế này.
Em có 1 bản vẽ gồm nhiều đường pline, 3dpline...
Trong bản vẽ thì có đường có độ cao Z=a , có đường lại để độ cao Z=0
Bây giờ em muốn lệnh mà chỉ hiện các đường có độ cao Z=a lên hoặc những đường có độ cao Z=0 lên mà thôi, nếu ko hiện kiểu thế được thì có thể xóa fần Z=0 lại khi lấy fần Z=a và ngược lại.
Cám ơn trước!


Theo tôi bạn có thể dùng lệnh quick select để chọn được đối tượng pl có cao độ rồi đặt riêng cho nó 1 layer là được mà,sau đó dùng lệnh layon,layoff,layiso để muốn mở hay tắt các pl đó
  • 0

#3445 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 04 May 2011 - 01:18 PM

Nói ra hơi xấu hổ các bác ạ, em tốt nghiệp rồi mà cũng vẫn chỉ đi dùng lisp do người khác viết mà chẳng hiểu tí tạo nào về lisp. Em cũng tìm kiếm trên mạng mấy ngày nhưng chưa thấy gì tiến triển. Anh em tốt bụng có bài giảng hay chương trình nào hay dạy về autolisp không? cho em xin...rồi e sẽ cố gắng trở thành thành viên trung thành của toppic này...

Hy vọng sẽ thành sự thật ^^ Hy vọng bạn hiện thực hóa lời hứa giống ketxu đang cố gắng(tự sướng 1 tí ^^). Nếu bạn có 1 tí vốn Tiếng Anh thì help Develop của CAD là tài liệu cơ sở rất tốt. Còn không, bạn chỉ cần search từ Học Lisp thì sẽ có rất nhiều thứ dành cho bạn ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3446 latoidayvn

latoidayvn

    biết zoom

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

Đã gửi 05 May 2011 - 08:47 AM

Theo tôi bạn có thể dùng lệnh quick select để chọn được đối tượng pl có cao độ rồi đặt riêng cho nó 1 layer là được mà,sau đó dùng lệnh layon,layoff,layiso để muốn mở hay tắt các pl đó

cám ơn bạn đã chỉ dẫn, nhưng mà các đường cao đó nằm xen kẽ nhau,lai nhiều đường thì cái đó mình nghĩ ko tiện.
Nếu mà có thể bạn hướng dãn mình cách làm chọn tất cả các đường rồi nó tu fân loại cho mình cái nào có độ cao, cai nào chưa có để ẩn, hiện hoặc xoá đi 1 trong 2 cái đó thì ổn quá.
  • 0

#3447 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 05 May 2011 - 09:32 AM

cám ơn bạn đã chỉ dẫn, nhưng mà các đường cao đó nằm xen kẽ nhau,lai nhiều đường thì cái đó mình nghĩ ko tiện.
Nếu mà có thể bạn hướng dãn mình cách làm chọn tất cả các đường rồi nó tu fân loại cho mình cái nào có độ cao, cai nào chưa có để ẩn, hiện hoặc xoá đi 1 trong 2 cái đó thì ổn quá.

VD: bạn muốn chọn tập hợp e gồm các đường có cùng cao độ Z thì ghi như sau:
(setq e (ssget '((38 . Z))))
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3448 minhngockt

minhngockt

    biết vẽ pline

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

Đã gửi 05 May 2011 - 09:42 AM

cám ơn bạn đã chỉ dẫn, nhưng mà các đường cao đó nằm xen kẽ nhau,lai nhiều đường thì cái đó mình nghĩ ko tiện.
Nếu mà có thể bạn hướng dãn mình cách làm chọn tất cả các đường rồi nó tu fân loại cho mình cái nào có độ cao, cai nào chưa có để ẩn, hiện hoặc xoá đi 1 trong 2 cái đó thì ổn quá.

bạn có thể gửi bản vẽ của bạn lên cho mọi nguời tham khảo được ko?
  • 0

#3449 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 05 May 2011 - 04:19 PM

Cao nhân nào viết giúp em lisp có chức năng như sau với ạ.
Lisp thứ nhất: Chọn text theo thuộc tính (như lệnh fi của cad), rồi thêm %%u (gạch chân) cho các text đã chọn đó. Lisp thêm text thì có thể thêm được chuỗi %%u nhưng lại phải pick text, mà text lọc ra theo thuộc tính khó quá. Em có thể dùng fi lọc ra text cần gạch chân rồi, nhưng không áp dụng với lệnh thêm text được.
Lisp thứ 2: Replace tolerace của cad (giống find), vì e thử find thì nó không nhận được tolerance.

Cái nữa là cho e hỏi, e dùng find để thay thế dấu chấm thành dấu phẩy, nhưng khoảng trắng " " giữa các chữ cũng thành dấu phẩy luôn. Không biết Dtext cấu trúc kiểu gì, mà hiểu khoảng trắng thành dấu chấm nữa.
  • 0

#3450 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 05 May 2011 - 04:35 PM

Cao nhân nào viết giúp em lisp có chức năng như sau với ạ.
Lisp thứ nhất: Chọn text theo thuộc tính (như lệnh fi của cad), rồi thêm %%u (gạch chân) cho các text đã chọn đó. Lisp thêm text thì có thể thêm được chuỗi %%u nhưng lại phải pick text, mà text lọc ra theo thuộc tính khó quá. Em có thể dùng fi lọc ra text cần gạch chân rồi, nhưng không áp dụng với lệnh thêm text được.
Lisp thứ 2: Replace tolerace của cad (giống find), vì e thử find thì nó không nhận được tolerance.

Cái nữa là cho e hỏi, e dùng find để thay thế dấu chấm thành dấu phẩy, nhưng khoảng trắng " " giữa các chữ cũng thành dấu phẩy luôn. Không biết Dtext cấu trúc kiểu gì, mà hiểu khoảng trắng thành dấu chấm nữa.

Thứ 1 : Bạn hãy dùng Qselect hoặc Fi để lọc text trước khi thực hiện lisp thêm text.
Thứ 2 : đã có lisp trên diễn đàn. Bạn hãy tận dụng chức năng của Google và Tool Tìm kiếm của diễn đàn trước khi hỏi lại :)
Tolerance

Thứ cái nữa : chắc phải hỏi bác AutoDesk. Vì cái dấu . bạn cho vào Find String nó cũng trùng với wildcard của CAD, có nghĩa tương đương với chọn các ký tự non-alphanumeric, chẳng may khoảng trắng cũng đáp ứng được nhu cầu ^^
Để thao tác với dấu ., bạn thử thêm dấu ` đằng trước xem sao :)
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3451 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 05 May 2011 - 05:00 PM

Thứ 1 : Bạn hãy dùng Qselect hoặc Fi để lọc text trước khi thực hiện lisp thêm text.
Thứ 2 : đã có lisp trên diễn đàn. Bạn hãy tận dụng chức năng của Google và Tool Tìm kiếm của diễn đàn trước khi hỏi lại :)
Tolerance

Thứ cái nữa : chắc phải hỏi bác AutoDesk. Vì cái dấu . bạn cho vào Find String nó cũng trùng với wildcard của CAD, có nghĩa tương đương với chọn các ký tự non-alphanumeric, chẳng may khoảng trắng cũng đáp ứng được nhu cầu ^^
Để thao tác với dấu ., bạn thử thêm dấu ` đằng trước xem sao :)

Thứ 1: Lisp them text nó bắt chọn text sau, và không kết hợp với fi được. Lọc được text bằng fi rồi, gõ themtext thì lệnh fi mất tác dụng.
Thứ 2: Lisp bạn viết là tìm. Giờ mình muốn nó tìm và thay thế như find. Lisp bạn viết nó tìm ra vị trí của tolerance, nhưng không replace giá trị hàng loạt được. Có lẽ phải dùng block att thôi.

Thứ 3: Mình thêm ` ở chỗ find thì nó tìm k thấy. Mình cần thay dấu chấm thành dấu phẩy của chữ số (theo Việt Nam).

Thứ 4: Thanks bạn!
  • 0

#3452 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 05 May 2011 - 05:21 PM

Thứ 1: Lisp them text nó bắt chọn text sau, và không kết hợp với fi được. Lọc được text bằng fi rồi, gõ themtext thì lệnh fi mất tác dụng.
.....

Khi chạy Lisp -> Ở dòng select object : bạn nhấn 'fi -> lọc.....
Khi lọc bằng FI trước -> chạy Lisp -> Ở dòng select object : bạn nhấn P để chọn lại đối tượng đã lọc bằng FI trước đó
  • 1

#3453 boylovemusic

boylovemusic

    Chưa sử dụng CAD

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

Đã gửi 05 May 2011 - 07:12 PM

Mấy anh ơi, em gà cad lắm, mấy anh có lisp nào để đánh dấu thứ tự cột 1,2,3,.... hay a,b,c ko. Em vẽ bài rất nhiều cột mà phải ngồi sửa text từng cái mệt quá.....
  • 0

#3454 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 05 May 2011 - 08:57 PM

Khi chạy Lisp -> Ở dòng select object : bạn nhấn 'fi -> lọc.....
Khi lọc bằng FI trước -> chạy Lisp -> Ở dòng select object : bạn nhấn P để chọn lại đối tượng đã lọc bằng FI trước đó

Đùng là mình kém quá. Không biết sử dụng chức năng cửa lisp. Mình làm theo cách lọc trước, rồi chạy, nhấn P thì ok. Còn chạy lisp trước thì chưa được. Nhưng chừng đó là quá đủ rồi. Cảm ơn bạn ketxu nhiều (không biết ý nghĩa nickname ketxu là gì ta?)
  • 0

#3455 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5685 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 05 May 2011 - 10:41 PM

Két xù là 1 nhân vật trong phim Ông trùm thôi :).
Việc change tol có lẽ cũng không khó,srr bạn vì mình không đọc kỹ :).
Còn thêm dấu ` đằng trước thì mình làm được, k hiểu sao bên bạn hok được :)
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3456 tranduyquang25111

tranduyquang25111

    biết vẽ ellipse

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

Đã gửi 06 May 2011 - 08:03 AM

Mà nhân tiện bác Tue chỉnh cái lisp đánh số thứ tự bản vẽ của bác theo ý e được không ợ. Lisp của bác em tải ở đây

http://www.cadviet.com/upfiles/dsbv_1.vlx


Lisp này xuất ra kết quả "Bản vẽ số: 1/n". Giờ bác chỉnh, khi xuất kết quả có thể tùy chọn 1 trong 2 kết quả:
1. "Bản vẽ số: 1/n" (như cũ)
2. "Bản vẽ số: 01/n" khi n<10 được không ợ (nhiều khi e cần có số 0 trước mà k biết làm sao)

Cảm ơn bác nhiều ợ!
  • 0

#3457 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 06 May 2011 - 04:41 PM

Nói ra hơi xấu hổ các bác ạ, em tốt nghiệp rồi mà cũng vẫn chỉ đi dùng lisp do người khác viết mà chẳng hiểu tí tạo nào về lisp. Em cũng tìm kiếm trên mạng mấy ngày nhưng chưa thấy gì tiến triển. Anh em tốt bụng có bài giảng hay chương trình nào hay dạy về autolisp không? cho em xin...rồi e sẽ cố gắng trở thành thành viên trung thành của toppic này...

Bạn hãy chịu khó vào topic Hướng dẫn học lisp và Hỏi về lisp để tham khảo nhé. Hy vọng bạn sẽ tìm được cái mình cần.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3458 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 06 May 2011 - 04:45 PM

Mấy anh ơi, em gà cad lắm, mấy anh có lisp nào để đánh dấu thứ tự cột 1,2,3,.... hay a,b,c ko. Em vẽ bài rất nhiều cột mà phải ngồi sửa text từng cái mệt quá.....

Bạn hãy gửi bản vẽ và cái hình kết quả bạn muốn có lên nhé.....
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3459 latoidayvn

latoidayvn

    biết zoom

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

Đã gửi 07 May 2011 - 12:17 AM

Các bạn có thể cho mình cái lệnh xuất đúng độ cao và toạ độ của đường pline và 3dpline
VD: mình có 5 điểm có độ cao từ 1-5
mình nối 5 điểm đó với nhau
bây giờ xuất toạ độ và độ cao ra excel thì nó xuat các điểm đó theo thứ tự điểm nối đường từ 1-5 đó
Mình đã thử máy lệnh nhưng hình khi nối độ cao thì nó chỉ lấy độ cao của điểm thứ nhất là độ cao của đường lên khi xuất điểm thì độ cao chỉ có 1
Còn lisp 2d3d thì lại đòi hỏi có đường pline trước và fải nhập độ cao lên khi làm nhiều hơi bất tiện
Mong các bạn giúp mình...
  • 0

#3460 thanhblue

thanhblue

    biết pan

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

Đã gửi 09 May 2011 - 10:47 AM

Chả là em đang phải làm hồ sơ nghiệm thu công trình đường mặc dù đã có lisp rồi nhưng vẫn còn thủ công quá. Nên nhờ cao thủ viết lại lisp để công việc trôi chảy hơn. Cụ thể như sau. Dùng lệnh cd để lấy cao độ gốc và tích vào các điểm mình muốn lấy cao độ và độ dài so với tim đường ( lisp cũ) giờ em muốn có lisp chỉ cẩn tích vào tim đuờng là có thể hiện lên những giao điểm trên cùng một đường thẳng luôn. em gửi file và lisp cũ kèm theo. Có cao thủ nào giúp đỡ tí.Thank nhiều

http://www.mediafire...tyzspn7ur7k7g1a
  • 0