Đến nội dung


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

Viết Lisp theo yêu cầu


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

#101 kts.ngocquan

kts.ngocquan

    biết vẽ ellipse

  • Members
  • PipPip
  • 59 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 06 August 2007 - 06:53 PM

Ong Nguyen Hoanh oi !!!!!!!!!!!!!!!!!! :unsure:



Mình thử nghĩ 1 cách này xem có được không nhé!

*chạy lệnh lisp:

----> lisp bắt chọn hàng dim thứ 1 (mình chọn hàng dim 3,5,3,5,3,5...)
----> lisp bắt chọn hàng dim thứ 2 (mình chọn hàng dim 10)
----> lisp bắt chọn hàng dim thứ 3 (mình chọn hàng dim 30)
----> lisp bắt nhập khoảng cách các dim (mình nhập vào 5) ----> kết thúc lệnh

Lisp sẽ thực hiện công việc move hàng dim3,5,3,5,3,5... cách hàng dim10 1 khoảng la` 5
và .... move hàng dim30 cách hàng dim10 1 khoảng la` 5

Nhìn thì hơi dài dòng nhưng thực hiện lệnh chắc cũng không lau lắm



thế cái này ông đã làm chưa vậy . Tôi khoái cái này quá . Cố lên nhé OKIE :unsure:
  • 0

#102 xaydung

xaydung

    biết lệnh trim

  • Members
  • PipPipPip
  • 191 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 06 August 2007 - 10:27 PM

Bác Hoanh ơi, cho em hỏi 1 chút
cái lisp mcaltext bác post đúng ý em rùi
tuy nhiên vẫn còn 1 điểm chưa hoàn chỉnh bác à:
đó là với những số có dấu phẩy thì lisp không chạy
VD: 2,2*2=8 khi chọn thì kết quả giữ nguyên vì 2,2 là số lẻ
không phải số nguyên, chả lẽ lisp chỉ tác dụng với số
nguyên hở bác!?
  • 0

#103 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 06 August 2007 - 10:50 PM

Bác Hoanh ơi, cho em hỏi 1 chút
cái lisp mcaltext bác post đúng ý em rùi
tuy nhiên vẫn còn 1 điểm chưa hoàn chỉnh bác à:
đó là với những số có dấu phẩy thì lisp không chạy
VD: 2,2*2=8 khi chọn thì kết quả giữ nguyên vì 2,2 là số lẻ
không phải số nguyên, chả lẽ lisp chỉ tác dụng với số
nguyên hở bác!?


Đơn giản là vì 2,2 không phải là số. Với máy tính thì 2.2 mới là số.
Kết quả 2.2*2=8 sẽ được tự động sửa thành 2.2*2=4.4
  • 0

#104 xaydung

xaydung

    biết lệnh trim

  • Members
  • PipPipPip
  • 191 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 06 August 2007 - 11:08 PM

Em hiểu rồi!
vậy bác có thể cho em xin cái lisp có nội dung sau đựơc không:
Khi chọn dòng text thì tất cả dấu "," chuyển hết thành
dấu "." sau đó sẽ tính toán giống như mcaltext bình thường
thanks bác!
  • 0

#105 kts.ngocquan

kts.ngocquan

    biết vẽ ellipse

  • Members
  • PipPip
  • 59 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 06 August 2007 - 11:58 PM

Xin chào các cao thủ LISP
Tôi có ý này ko biết là cac ae có giúp tôi ko
1.Tạo 1 lisp , cho nó chạy trong acad 1 lần Lần sau nó tự chạy
2.Nó sẽ tự động saveas copy file của mình ra 1 thư mục nào đấy (có thể là cùng 1 folder)
Các cao thủ ra tay nhé
Ngày xưa tôi có lisp này nhưng bị mất rồi Mong ae giúp tôi nhé :unsure:
  • 0

#106 Jin Yong

Jin Yong

    biết lệnh group

  • Vip
  • PipPipPipPipPipPip
  • 498 Bài viết
Điểm đánh giá: 334 (khá)

Đã gửi 09 August 2007 - 10:55 AM

Chào mọi ngườii
Mình có nhiều bản vẽ trong 1 file. Mình muốn ở phần khung tên sẽ không có các chữ lặp đi lặp lại giống nhau. Nhưng khi in ra thì nó tự động in thêm những chữ đó vào đúng vị trí. Mong mọi người giúp tôi với. Cảm ơn!

Jin thì nghĩ Khung Tên nên được làm thành một Block Attrributes, như vậy thì mình có thể copy thoải mái mà không sợ sót, và chỉ cần chỉnh sửa một vài khoản mục cần thiết (tên công trình, tên bản vẽ...)
  • 0

Phát triển phần mềm thiết kế Kết cấu Việt Nam - http://www.ketcausoft.com


#107 Jin Yong

Jin Yong

    biết lệnh group

  • Vip
  • PipPipPipPipPipPip
  • 498 Bài viết
Điểm đánh giá: 334 (khá)

Đã gửi 09 August 2007 - 10:57 AM

Anh Hoành viết hộ Jin cái lisp cho phép chọn các đường thẳng và đưa ra tổng chiều dài của chúng với, cái này mấy bác làm Điện ở chỗ Jin đang cần lắm!
  • 0

Phát triển phần mềm thiết kế Kết cấu Việt Nam - http://www.ketcausoft.com


#108 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 09 August 2007 - 01:04 PM

Anh Hoành viết hộ Jin cái lisp cho phép chọn các đường thẳng và đưa ra tổng chiều dài của chúng với, cái này mấy bác làm Điện ở chỗ Jin đang cần lắm!

Jin xem ở đây: http://www.cadviet.com/forum/index.php?showtopic=763

Các bác có thể viết cho em 1 đoạn mã để gia hạn sử dụng cho 1 người sử dụng file vlx được không? khi hết hạn thì file đó sẽ không được sử dung cho dù sang bất cứ máy nào khác, và lisp để tạo các mã số bản quyền chương trình dùng ổ cứng làm thứ để xác nhận mã đó! tức là chương trình cài lên mỗi một ổ cứng sẽ có mã khoá riêng!

Congtrinhthuy05 xem ở đây: http://www.cadviet.com/forum/index.php?showtopic=1024
  • 0

#109 xaydung

xaydung

    biết lệnh trim

  • Members
  • PipPipPip
  • 191 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 10 August 2007 - 05:00 PM

tìm lisp dạng : chọn 2 điểm point cho ra 2 toạ độ
của điểm đó ra dạng text điểm chèn là 2 điểm point (dạng bottom left)
text có dạng (x,y) thanks các bác!
  • 0

#110 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 10 August 2007 - 05:45 PM

tìm lisp dạng : chọn 2 điểm point cho ra 2 toạ độ
của điểm đó ra dạng text điểm chèn là 2 điểm point (dạng bottom left)
text có dạng (x,y) thanks các bác!

không hiểu ý bạn muốn gì nữa.
Đang chờ bạn nói kỹ hơn!
  • 0

#111 conghoa

conghoa

    biết lệnh attdef

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

Đã gửi 10 August 2007 - 07:58 PM

@Nguyen Hoanh ơi, cho mình hỏi cái lisp của mình có làm được không vậy?
  • 0

#112 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 10 August 2007 - 09:00 PM

@Nguyen Hoanh ơi, cho mình hỏi cái lisp của mình có làm được không vậy?

Mình đang nghiên cứu để cố gắng có được 1 lisp: chọn các đối tượng Dim rồi chương trình sẽ tự dàn các dim ra theo các khoảng bằng nhau, chứ không chọn làm nhiều lần.

Hy vọng sẽ sớm post lên chia sẻ với mọi người.
  • 0

#113 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 10 August 2007 - 09:08 PM

Xin chào các cao thủ LISP
Tôi có ý này ko biết là cac ae có giúp tôi ko
1.Tạo 1 lisp , cho nó chạy trong acad 1 lần Lần sau nó tự chạy
2.Nó sẽ tự động saveas copy file của mình ra 1 thư mục nào đấy (có thể là cùng 1 folder)
Các cao thủ ra tay nhé
Ngày xưa tôi có lisp này nhưng bị mất rồi Mong ae giúp tôi nhé :unsure:

Tự động thì khó, vì để lisp thao tác sâu vào hệ thống sẽ phức tạp.

Nhưng nếu dùng 1 lệnh để làm điều bạn muốn thì đây:
http://www.cadviet.com/forum/index.php?showtopic=1259
  • 0

#114 xaydung

xaydung

    biết lệnh trim

  • Members
  • PipPipPip
  • 191 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 10 August 2007 - 09:21 PM

không hiểu ý bạn muốn gì nữa.
Đang chờ bạn nói kỹ hơn!

Có nghĩa là vẽ 2 điểm point trên màn hinh
Sau đó chạy lisp hỏi chọn các point
lisp sẽ tự động nhận ra toạ độ(x,y) của các điểm đó
và chèn các toạ độ đó vào gần các điểm point
và điểm chèn text (tức là khi pick chuột vào text có 1 ô vuông màu xanh
ở góc dưới bên trái đó) ở đúng vị trí điểm point !
Bác hiểu chưa ạ!
  • 0

#115 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 10 August 2007 - 11:04 PM

Có nghĩa là vẽ 2 điểm point trên màn hinh
Sau đó chạy lisp hỏi chọn các point
lisp sẽ tự động nhận ra toạ độ(x,y) của các điểm đó
và chèn các toạ độ đó vào gần các điểm point
và điểm chèn text (tức là khi pick chuột vào text có 1 ô vuông màu xanh
ở góc dưới bên trái đó) ở đúng vị trí điểm point !
Bác hiểu chưa ạ!

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


(defun c:p2t()
(princ "\nPoint to text - © CADViet.com")
(setq ss (ssget '((0 . "POINT")))
caochu (getdist "\nVao chieu cao text ket qua: ")
index -1)
(repeat (sslength ss)
(setq p (cdr (assoc 10 (entget (ssname ss (setq index (1+ index)))))))
(entmake (list
(cons 0 "TEXT")
(cons 10 p)
(cons 11 p)
(cons 1 (strcat "(" (rtos (car p) 2 2) "," (rtos (cadr p) 2 2) ")"))
(cons 40 caochu)
(cons 72 4))
)
)
)
(princ "\nP2T - free lisp from www.cadviet.com")
(princ)

  • 0

#116 xaydung

xaydung

    biết lệnh trim

  • Members
  • PipPipPip
  • 191 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 11 August 2007 - 09:58 AM

Thanks bác Hoanh, em đang cần 1 lisp nữa có nội dung như sau
lấy tất cả các kết quả sau dấu "=" rồi cộng lại với nhau
Ví dụ: trên màn hình có 2 text là
2+2=4
3+3=6
chạy lisp hỏi: chọn 2 text trên, nhập điểm chèn kết quả thì
sẽ cho ra là 10
  • 0

#117 xaydung

xaydung

    biết lệnh trim

  • Members
  • PipPipPip
  • 191 Bài viết
Điểm đánh giá: 12 (tàm tạm)

Đã gửi 11 August 2007 - 11:22 AM

À quên, phiền Bác Hoành 1 chút nữa về lisp p2t nha:
bác sửa hộ em điểm chèn dòng text là điểm góc dưới bên trái
(tức là bottom left đó) và trùng với điểm point.
thanks !
  • 0

#118 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

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

Đã gửi 11 August 2007 - 12:47 PM

À quên, phiền Bác Hoành 1 chút nữa về lisp p2t nha:
bác sửa hộ em điểm chèn dòng text là điểm góc dưới bên trái
(tức là bottom left đó) và trùng với điểm point.
thanks !

bạn xóa mã (70 4) đi là được.
  • 0

#119 kts.ngocquan

kts.ngocquan

    biết vẽ ellipse

  • Members
  • PipPip
  • 59 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 11 August 2007 - 07:34 PM

Mình đang nghiên cứu để cố gắng có được 1 lisp: chọn các đối tượng Dim rồi chương trình sẽ tự dàn các dim ra theo các khoảng bằng nhau, chứ không chọn làm nhiều lần.

Hy vọng sẽ sớm post lên chia sẻ với mọi người.


Cái này hay đấy xong chưa hả NH ơi :unsure:
  • 0

#120 kts.ngocquan

kts.ngocquan

    biết vẽ ellipse

  • Members
  • PipPip
  • 59 Bài viết
Điểm đánh giá: 36 (tàm tạm)

Đã gửi 11 August 2007 - 07:39 PM

Ae trên diễn đàn cho tôi hỏi
Có lisp nào để thay đổi dimension associate thành dimension an associate không ? Đây là bản vẽ có sẵn
Trong ACAD có cách vào bảng Option nhưng tôi thấy ko hiệu quả
Tôi bị dính mấy bản vẽ này khó chịu quá Đừng bảo tôi Explode
Nếu ko ai có thì lại nhờ ae viết hộ cái lisp này nhé
  • 0