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

#1221 nguyenkhoadung98

nguyenkhoadung98

    biết vẽ pline

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

Đã gửi 22 October 2008 - 11:14 AM

bác Hoang có thể cho e xin cái lisp dùng phim tắt (phím tab cha han) để chuyển các cửa sổ của cad đc kô,đỡ phải ấn vào window rồi chọn bản mình muốn xem, cảm ơn bác nhiều
  • 0

#1222 Snowman

Snowman

    biết lệnh mirror

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

Đã gửi 22 October 2008 - 12:44 PM

nhờ các bác PRO 1 tí nhá ,,, mình cần 1 lisp xuất ra toạ độ các đỉnh của 1 đường poline >>xuất ra tệp *.txt.....trình tự thế này:
- Chọn đuờng Poliline (có thể là line , poligonal thì càng tốt...)
- Líp sẽ tự động xuất ra toạ độ các đỉnh của đường Poliline dưới dạng tệp TXT ( Ví dụ tệp TXT có dạng:
12,5,6
13,2,7
trong đó 12;13là toạ độ X - 5;2 là toạ độ Y - 6;7 là toạ độ Z; toạ độ so với Gốc 0,0,0)
Cám ơn các bác

Bạn có thể tham khảo ở đây:
http://www.cadviet.c...o...ost&p=32849


bác Hoang có thể cho e xin cái lisp dùng phim tắt (phím tab cha han) để chuyển các cửa sổ của cad đc kô,đỡ phải ấn vào window rồi chọn bản mình muốn xem, cảm ơn bác nhiều


Bạn hãy dùng tổ hợp Ctrl + Tab để di chuyển xoay vòng các bản vẽ CAD đang mở (giống như Alt+Tab để xoay vòng các Windows)
  • 2

. - ' * ' - .. - ... "Sống trong đời sống cần có một tấm lòng..." . - ' * ' - .. -
-----------------------------------------------------------------------------------

Hình đã gửi Hình đã gửi


#1223 nguyenkhoadung98

nguyenkhoadung98

    biết vẽ pline

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

Đã gửi 22 October 2008 - 01:36 PM

Bạn có thể tham khảo ở đây:
http://www.cadviet.c...o...ost&p=32849




Bạn hãy dùng tổ hợp Ctrl + Tab để di chuyển xoay vòng các bản vẽ CAD đang mở (giống như Alt+Tab để xoay vòng các Windows)


minh lam dc roi (ga qua) thanks snow mwn nhé
  • 0

#1224 leduc829

leduc829

    Chưa sử dụng CAD

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

Đã gửi 22 October 2008 - 02:05 PM

Trong Cad bạn gõ lệnh LIST chọn đường Pline. Copy các điểm toạ độ. VD:
at point X= 0.0000 Y= 10.3635 Z= 0.0000
at point X= 3.3371 Y= 12.5480 Z= 0.0000
at point X= 6.0988 Y= 10.4210 Z= 0.0000
at point X= 10.2988 Y= 14.7900 Z= 0.0000
at point X= 11.3920 Y= 14.7900 Z= 0.0000
at point X= 16.0524 Y= 13.0654 Z= 0.0000
at point X= 20.0223 Y= 14.1576 Z= 0.0000
at point X= 20.8854 Y= 15.9397 Z= 0.0000
at point X= 24.3375 Y= 14.7325 Z= 0.0000
at point X= 25.3731 Y= 14.3301 Z= 0.0000
at point X= 26.3512 Y= 12.2031 Z= 0.0000
at point X= 28.7102 Y= 10.8234 Z= 0.0000
at point X= 28.7102 Y= 9.7311 Z= 0.0000
at point X= 33.4281 Y= 11.3983 Z= 0.0000
Dán sang Excel dùng hàm MID trong excel để xử lý. =mid(a1,23,9) để tính toạ độ X, =mid(a1,36,9) để tính tọa độ Y
  • 0

#1225 romeo1982

romeo1982

    biết lệnh mirror

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

Đã gửi 22 October 2008 - 03:32 PM

ở đấy có rồi này
(defun C:ol ( / ent os od )

(command "_offset" pause "")

(princ "Select object to offset or <Exit>:")
(setq ent(entsel))

(while ent
(setq os(getpoint "\nSpecify point on side to offset:"))
(if(=(getvar "OFFSETDIST")-1)
(setq od "t")
(setq od (getvar "OFFSETDIST"))
)
(command "_offset" od (car ent) os "")
(command "_change" (entlast) "" "p" "la" (getvar "clayer") "c" (getvar "cecolor") "lt" (getvar "celtype") "")
(setq ent(entsel))
)

)

Cám ơn bác, líp rất hay giúp ích cho mình rất nhiều, mình còn 1nhờ 1 tí như thế này, trên bản vẽ của mình nhận được có 1 layer nhưng vẽ rất nhiều đường thẳng lại tách ra làm 2 màu, có lip nào chuyển mỗi 1 màu thành 1 layer cho tiện việc sử lí ko bác, nhưng bác phải chú ý thế này trên bảng vẽ còn nhiều layer khác và có thể giống màu với nhau. Tốt nhất là lip sử dụng như thế này:
1 nhập lệnh
2 chọn vật có layer và màu muốn chuyển( ví dụ: layer được tách làm 2 màu là đỏ và trắng)ở đây mình sẽ chọn vật có layer màu đỏ
4 nhập tên layer mới mà mình muốn tạo ( vậy là tách tất cà vật có cùng layẻ đó nhưng màu đỏ ra thành 1 layẻ mới mà mình mới tạo), cám ơn trước
  • 0

#1226 vt_td

vt_td

    biết zoom

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

Đã gửi 22 October 2008 - 07:17 PM


Nhờ bác Hoành viết dùm lisp như sau:
Lập một lưới ô vuông vơi n hàng và m cột trong đó.
Nhập vào toạ độ điểm chuẩn hay chọn trên màn hình.
Nhập vào n và m.
Nhập khoảng cách của của hàng và khaỏng cách của cột.
Dùng bằng tay copy lâu quá. Bác Hoành giúp dùm nhé.
  • 0

#1227 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 22 October 2008 - 07:26 PM


Nhờ bác Hoành viết dùm lisp như sau:
Lập một lưới ô vuông vơi n hàng và m cột trong đó.
Nhập vào toạ độ điểm chuẩn hay chọn trên màn hình.
Nhập vào n và m.
Nhập khoảng cách của của hàng và khaỏng cách của cột.
Dùng bằng tay copy lâu quá. Bác Hoành giúp dùm nhé.

Ôi trời, cái dễ và nhanh như vậy mà bạn cũng cần lisp.
Bạn tưởng viết lisp nhanh sao.
  • 0

#1228 Flex

Flex

    biết lệnh erase

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

Đã gửi 22 October 2008 - 08:50 PM

Cái này bác dùng lênh array đi cho lành. Lười quá. Còn muốn làm thì alô em tính phí cho hi hi hi.
  • 0
Phần mềm và Tiện ích trên AutoCAD
->SHD- Phần mềm TK nhà xưởng thép tiền chế
->Nhận hợp tác thiết kế nhà thép tiền chế
website: www.cad-app.com
email: flexnet@cad-app.com
ym: flex_tools

#1229 romeo1982

romeo1982

    biết lệnh mirror

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

Đã gửi 23 October 2008 - 08:05 AM

Bạn có thể post yêu cầu về autolisp ở topic này.

Xin lỗi, mình pót lộn ngoài kia. Nhờ bác Hoành viết dùm em cái líp như thế này đang cần gấp:
Trên bản vẽ của mình nhận được có 1 layer nhưng vẽ rất nhiều đối tượng lại tách ra làm 2 màu, có lip nào chuyển mỗi 1 màu thành 1 layer cho tiện việc sử lí ko bác, nhưng bác phải chú ý thế này trên bảng vẽ còn nhiều layer khác và có thể giống màu với nhau. Tốt nhất là lip sử dụng như thế này:
1 nhập lệnh
2 chọn đối tượng có layer và màu muốn chuyển( ví dụ: layer được tách làm 2 màu là đỏ và trắng)ở đây mình sẽ chọn đối tượng có layer màu đỏ
3 nhập tên layer mới mà mình muốn tạo ( vậy là tách tất cà các đối tượng có cùng layẻ đó nhưng màu đỏ ra thành 1 layẻ mới mà mình mới tạo), mình đang cần gấp cám ơn.
  • 0

#1230 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 23 October 2008 - 09:36 AM

Xin lỗi, mình pót lộn ngoài kia. Nhờ bác Hoành viết dùm em cái líp như thế này đang cần gấp:
Trên bản vẽ của mình nhận được có 1 layer nhưng vẽ rất nhiều đối tượng lại tách ra làm 2 màu, có lip nào chuyển mỗi 1 màu thành 1 layer cho tiện việc sử lí ko bác, nhưng bác phải chú ý thế này trên bảng vẽ còn nhiều layer khác và có thể giống màu với nhau. Tốt nhất là lip sử dụng như thế này:
1 nhập lệnh
2 chọn đối tượng có layer và màu muốn chuyển( ví dụ: layer được tách làm 2 màu là đỏ và trắng)ở đây mình sẽ chọn đối tượng có layer màu đỏ
3 nhập tên layer mới mà mình muốn tạo ( vậy là tách tất cà các đối tượng có cùng layẻ đó nhưng màu đỏ ra thành 1 layẻ mới mà mình mới tạo), mình đang cần gấp cám ơn.

1. Bạn dùng lệnh filter để chọn đối tượng có màu mình muốn.
2. Bạn đổi các đối tượng được chọn sang layer mà bạn muốn.
  • 0

#1231 romeo1982

romeo1982

    biết lệnh mirror

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

Đã gửi 23 October 2008 - 11:44 AM

1. Bạn dùng lệnh filter để chọn đối tượng có màu mình muốn.
2. Bạn đổi các đối tượng được chọn sang layer mà bạn muốn.

Cám ơn anh đã quan tâm, xài lệnh FI thì đưa cùng một màu về layer nhưng nếu muốn xóa thì sao nó sẽ dính theo những màu đi chung nhưng khác layer mà mình đã chọn theo lệnh FI ban đầu. Ý em là như vầy anh xem bản vẽ minh họa:
http://www.cadviet.c...01i_CADVIET.dwg
  • 0

#1232 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 23 October 2008 - 01:02 PM

Cám ơn anh đã quan tâm, xài lệnh FI thì đưa cùng một màu về layer nhưng nếu muốn xóa thì sao nó sẽ dính theo những màu đi chung nhưng khác layer mà mình đã chọn theo lệnh FI ban đầu. Ý em là như vầy anh xem bản vẽ minh họa:
http://www.cadviet.c...01i_CADVIET.dwg

bạn sử dụng lệnh FI,
add tên layer
add màu đối tượng
chắc chắn không dính với đối tượng khác vì chỉ có đối tượng nào có layer đó và màu đó thì mới được chọn.
  • 0

#1233 smilingman82

smilingman82

    biết vẽ arc

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

Đã gửi 23 October 2008 - 06:08 PM

cám ơn các bác , mình nghiên cứu kĩ lại rồi.....Vấn đề của mình bây giờ là muốn chèn một BlOCK vạo tại vị trí các đỉnh của đường POLILINE được chọn:
Trình tự như sau:
+ Chạy file lisp
+ Chương trình yêu cầu chọn tên BLOCK cần chèn tại các đỉnh của đường POLILINE
+ Nhập tên BLOCK , tỉ lệ, góc xoay block....càng nh options càng tốt , nếu không thì chỉ cần chọn tên BLOCK cũng được
+ Chọn đường POLINE cần chèn BLOCK - có thể lựa chọn chèn tại tất cả các đỉnh hoặc chèn riêng tại các đỉnh chẵn hay đỉnh lẻ-
>>>ra kết quả.....
Vì mình đang làm phần mặt bằng , phải vẽ các cọc GPMB trên bình đồ, đưòng POLILINE mình tạo ra được rồi, bây giờ chỉ cần chèn block thui vào tại vị trí các đỉnh thui , nếu chèn bằng tay thì lâu mà dễ nhầm ........Mong bác nguyên hoanh giúp hộ cái nhá....thank...bác nào bít thì hộ tớ 1 tay cái nhá
  • 0

#1234 Flex

Flex

    biết lệnh erase

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

Đã gửi 23 October 2008 - 06:29 PM

cám ơn các bác , mình nghiên cứu kĩ lại rồi.....Vấn đề của mình bây giờ là muốn chèn một BlOCK vạo tại vị trí các đỉnh của đường POLILINE được chọn:
Trình tự như sau:
+ Chạy file lisp
+ Chương trình yêu cầu chọn tên BLOCK cần chèn tại các đỉnh của đường POLILINE
+ Nhập tên BLOCK , tỉ lệ, góc xoay block....càng nh options càng tốt , nếu không thì chỉ cần chọn tên BLOCK cũng được
+ Chọn đường POLINE cần chèn BLOCK - có thể lựa chọn chèn tại tất cả các đỉnh hoặc chèn riêng tại các đỉnh chẵn hay đỉnh lẻ-
>>>ra kết quả.....
Vì mình đang làm phần mặt bằng , phải vẽ các cọc GPMB trên bình đồ, đưòng POLILINE mình tạo ra được rồi, bây giờ chỉ cần chèn block thui vào tại vị trí các đỉnh thui , nếu chèn bằng tay thì lâu mà dễ nhầm ........Mong bác nguyên hoanh giúp hộ cái nhá....thank...bác nào bít thì hộ tớ 1 tay cái nhá


Bác có nhu cầu gì cứ alo em, nhưng em tính có phí đèn đóm (sorry các bác nhé, thế cho đơn giản).
  • 0
Phần mềm và Tiện ích trên AutoCAD
->SHD- Phần mềm TK nhà xưởng thép tiền chế
->Nhận hợp tác thiết kế nhà thép tiền chế
website: www.cad-app.com
email: flexnet@cad-app.com
ym: flex_tools

#1235 nataca

nataca

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 712 Bài viết
Điểm đánh giá: 553 (tốt)

Đã gửi 23 October 2008 - 08:13 PM

Bác có nhu cầu gì cứ alo em, nhưng em tính có phí đèn đóm (sorry các bác nhé, thế cho đơn giản).

Ai có nhu cầu mà muốn nhanh thì cứ gọi cho tên này, không phải post bài vào đây để hỏi anh em làm gì để anh em mất công đọc. -_- . Tôi quảng cáo cho ông thế được chưa hả ông Flex. Ai cũng như ông thì cái topic này mốc meo rồi.
Xin lỗi các anh em vì đã spam
  • 0

#1236 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 23 October 2008 - 08:36 PM

cám ơn các bác , mình nghiên cứu kĩ lại rồi.....Vấn đề của mình bây giờ là muốn chèn một BlOCK vạo tại vị trí các đỉnh của đường POLILINE được chọn:
Trình tự như sau:
+ Chạy file lisp
+ Chương trình yêu cầu chọn tên BLOCK cần chèn tại các đỉnh của đường POLILINE
+ Nhập tên BLOCK , tỉ lệ, góc xoay block....càng nh options càng tốt , nếu không thì chỉ cần chọn tên BLOCK cũng được
+ Chọn đường POLINE cần chèn BLOCK - có thể lựa chọn chèn tại tất cả các đỉnh hoặc chèn riêng tại các đỉnh chẵn hay đỉnh lẻ-
>>>ra kết quả.....
Vì mình đang làm phần mặt bằng , phải vẽ các cọc GPMB trên bình đồ, đưòng POLILINE mình tạo ra được rồi, bây giờ chỉ cần chèn block thui vào tại vị trí các đỉnh thui , nếu chèn bằng tay thì lâu mà dễ nhầm ........Mong bác nguyên hoanh giúp hộ cái nhá....thank...bác nào bít thì hộ tớ 1 tay cái nhá

Đọc văn tả cảnh rồi viết lisp rất khó.

Bạn hãy thể hiện bằng file dwg (upload lên diễn đàn), trong đó có các trạng thái trước và sau khi chạy lisp.
  • 0

#1237 smilingman82

smilingman82

    biết vẽ arc

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

Đã gửi 23 October 2008 - 08:46 PM

Đọc văn tả cảnh rồi viết lisp rất khó.

Bạn hãy thể hiện bằng file dwg (upload lên diễn đàn), trong đó có các trạng thái trước và sau khi chạy lisp.

chờ em tí e post ảnh lên nhá . nhân thể mày mò đc cái code này, lấy đỉnh PLine , chắc là dùng đc , các bác nghiên cứu hộ nhá

(DEFUN PHANTICHLINE (obj / i dt td ListXY)
(setq ListXY (List))
(setq i 0)
(setq dt (entget obj))
(if (OR (= (TENDOITUONG obj) "LWPOLYLINE" ) (= (TENDOITUONG obj) "MLINE" ) (= (TENDOITUONG obj) "LINE" ))
(progn
(repeat (length dt)
(setq ds (nth i dt))
(if (OR (= (nth 0 ds) 10) (= (nth 0 ds) 11))
(progn
(setq td (cdr ds))
(setq ListXY (append ListXY (List td)))
)
)
(setq i (1+ i))
)
)
)
ListXY
)


Tặng Bommak đọan code này nè. Cái này mà bây giờ bạn cố nghĩ cũng chẳng biết để làm gì đâu. Nhưng mà dùng được đấy.
Nội dung: lấy tất cả các đỉnh của một LINE, PLINE hoặc MLINE...


--------------------
cuongvk@daitri.biz
vkcuong.23@gmail.com
Skype: cuong.vokien
Phone: 01689924187
Dreams have come true if you still believe...
cái này của bác VNex...dos
  • 0

#1238 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 23 October 2008 - 09:05 PM

chờ em tí e post ảnh lên nhá . nhân thể mày mò đc cái code này, lấy đỉnh PLine , chắc là dùng đc , các bác nghiên cứu hộ nhá

Tôi thực sự buồn vì suy nghĩ của bạn đấy smilingman82 ạ.

Nếu bạn tự code được thì đừng có post yêu cầu lên đây. Nếu bạn không code được thì bạn hãy yêu cầu thật cụ thể, sẽ có người code giúp bạn. Những người có thể code được lisp trên diễn đàn này không cần bất cứ một sự trợ giúp lisp nào cả, hoặc giả sử có cần họ cũng sẽ biết search và lấy nó ra từ internet. Bạn spam ở mục này làm người khác khó chịu đấy.
  • 0

#1239 smilingman82

smilingman82

    biết vẽ arc

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

Đã gửi 23 October 2008 - 09:26 PM

sao ko upload đ bác ạ, bác nào có mail e gửi nhá
  • 0

#1240 smilingman82

smilingman82

    biết vẽ arc

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

Đã gửi 23 October 2008 - 09:29 PM

Tôi thực sự buồn vì suy nghĩ của bạn đấy smilingman82 ạ.

Nếu bạn tự code được thì đừng có post yêu cầu lên đây. Nếu bạn không code được thì bạn hãy yêu cầu thật cụ thể, sẽ có người code giúp bạn. Những người có thể code được lisp trên diễn đàn này không cần bất cứ một sự trợ giúp lisp nào cả, hoặc giả sử có cần họ cũng sẽ biết search và lấy nó ra từ internet. Bạn spam ở mục này làm người khác khó chịu đấy.

sorry bác , m ko có ý định spam, mình hoàn toàn nghiêm túc, chỉ vì m cần gấp quá nên mới phải tìm mò thui....chỉ mún nếu các bác có đoạn code này thì sẽ làm nhanh hơn thôi, chứ ko có ý gì khác....mong các bác hiểu cho.......
  • 0