Đến nội dung


Hình ảnh
- - - - -

Bác Pro nào sửa cho em đoạn Lisp cái !


  • Please log in to reply
10 replies to this topic

#1 hhhhgggg

hhhhgggg

    biết dimedit

  • Members
  • PipPipPipPipPip
  • 393 Bài viết
Điểm đánh giá: 30 (tàm tạm)

Đã gửi 15 April 2009 - 01:28 PM

Đây là đoạn Lisp thay lệnh PE với tham số J,
1.em muốn đưa thêm khoảng hở giữa các line bằng 50 vào. Có nghĩa là line nào cách nhau <=50 thì vẫn nối vào nhau.
2. Em muốn thay đổi là chọn đối tượng xong đánh lệnh chứ ko phải đánh lệnh xong mới chọn đối tượng. Có nghĩa em chọn các line sau đánh jj thì nó liền vào thành 1 Pline .
Bác pro nào sửa cho em với !!!

CODE

(defun c:jj()
(setq b (ssget))
(COMMAND "PEDIT" "M" b "" "j" "" "")
(princ)
)
  • 0
Hoàng Giang

#2 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 15 April 2009 - 02:02 PM

Đây là đoạn Lisp thay lệnh PE với tham số J,
1.em muốn đưa thêm khoảng hở giữa các line bằng 50 vào. Có nghĩa là line nào cách nhau <=50 thì vẫn nối vào nhau.
2. Em muốn thay đổi là chọn đối tượng xong đánh lệnh chứ ko phải đánh lệnh xong mới chọn đối tượng. Có nghĩa em chọn các line sau đánh jj thì nó liền vào thành 1 Pline .
Bác pro nào sửa cho em với !!!

CODE

(defun c:jj()
(setq b (ssget))
(COMMAND "PEDIT" "M" b "" "j" "" "")
(princ)
)

Đây bạn:
(defun c:jj()
(COMMAND "PEDIT" "M" "P" "" "Y" "j" "50" "")
(princ)
)
Bạn phải chọn Line trước bằng Grid thì nó mới chạy đấy nhé. Đối tượng là Line
  • 1

#3 hhhhgggg

hhhhgggg

    biết dimedit

  • Members
  • PipPipPipPipPip
  • 393 Bài viết
Điểm đánh giá: 30 (tàm tạm)

Đã gửi 15 April 2009 - 02:36 PM

Đây bạn:

(defun c:jj()
(COMMAND "PEDIT" "M" "P" "" "Y" "j" "50" "")
(princ)
)
Bạn phải chọn Line trước bằng Grid thì nó mới chạy đấy nhé. Đối tượng là Line

ok ! Thanks bác tuệ nhiều nhé !
  • 0
Hoàng Giang

#4 hhhhgggg

hhhhgggg

    biết dimedit

  • Members
  • PipPipPipPipPip
  • 393 Bài viết
Điểm đánh giá: 30 (tàm tạm)

Đã gửi 17 April 2009 - 12:36 PM

ok ! Thanks bác tuệ nhiều nhé !

Bác Tuệ xem sửa lại giúp em đoạn Code đó đi, nó chạy hay bị lỗi treo máy lắm và hay lỗi ko chạy được lắm ! huhu
  • 0
Hoàng Giang

#5 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 17 April 2009 - 12:55 PM

ok ! Thanks bác tuệ nhiều nhé !
Bác Tuệ xem sửa lại giúp em đoạn Code đó đi, nó chạy hay bị lỗi treo máy lắm và hay lỗi ko chạy được lắm ! huhu

Sửa đây bạn :
(defun c:jj()
(setq ss (ssget "P"))
(if (null ss) (prompt "khong co doi tuong nao duoc chon")
(COMMAND "PEDIT" "M" ss "" "Y" "j" "50" "")
)
(princ)
)

ok ! Thanks bác tuệ nhiều nhé !

Chỉ cần tick thanks nhiều nhiều là OK :cheers:
  • 1

#6 hhhhgggg

hhhhgggg

    biết dimedit

  • Members
  • PipPipPipPipPip
  • 393 Bài viết
Điểm đánh giá: 30 (tàm tạm)

Đã gửi 17 April 2009 - 02:53 PM

Sửa đây bạn :

(defun c:jj()
(setq ss (ssget "P"))
(if (null ss) (prompt "khong co doi tuong nao duoc chon")
(COMMAND "PEDIT" "M" ss "" "Y" "j" "50" "")
)
(princ)
)

Chỉ cần tick thanks nhiều nhiều là OK :cheers:

Bác Tuệ này làm sao rùi ấy ! Bác sửa lại cho em đi. cái Code bác vừa sửa chẳng chạy được ! Bác test thử sẽ thấy. huhuhu
  • 0
Hoàng Giang

#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 17 April 2009 - 03:17 PM

Bác Tuệ này làm sao rùi ấy ! Bác sửa lại cho em đi. cái Code bác vừa sửa chẳng chạy được ! Bác test thử sẽ thấy. huhuhu

Theo yêu cầu của bạn -> Chọn đối tượng trước bằng Grid -> sau đó đánh lệnh jj

Bạn phải chọn Line trước bằng Grid thì nó mới chạy đấy nhé. Đối tượng là Line


  • 0

#8 hhhhgggg

hhhhgggg

    biết dimedit

  • Members
  • PipPipPipPipPip
  • 393 Bài viết
Điểm đánh giá: 30 (tàm tạm)

Đã gửi 17 April 2009 - 04:50 PM

Theo yêu cầu của bạn -> Chọn đối tượng trước bằng Grid -> sau đó đánh lệnh jj

em chọn Line trước rồi mà. chọn kiểu j nó cũng ko chạy. Với lại bác có thể mở rộng đối tượng lên là 1 cái là line và 1 cái là Pline mà vẫn nối vào nhau được ko ? Bác cứ Test kỹ júp em nhé. Tránh mất thời gian !
  • 0
Hoàng Giang

#9 q288

q288

    biết lệnh fillet

  • Members
  • PipPipPipPip
  • 209 Bài viết
Điểm đánh giá: 164 (tàm tạm)

Đã gửi 17 April 2009 - 06:22 PM

em chọn Line trước rồi mà. chọn kiểu j nó cũng ko chạy. Với lại bác có thể mở rộng đối tượng lên là 1 cái là line và 1 cái là Pline mà vẫn nối vào nhau được ko ? Bác cứ Test kỹ júp em nhé. Tránh mất thời gian !


Mình xin sửa cái lisp của bạn như sau, bạn test thử xem sao, mình test thếy ok.

(defun c:jj()
(setq ss (ssget "_i"))
(COMMAND ".PEDIT" "M" ss "" "Y" "J" "50" "")
)
  • 1

#10 hhhhgggg

hhhhgggg

    biết dimedit

  • Members
  • PipPipPipPipPip
  • 393 Bài viết
Điểm đánh giá: 30 (tàm tạm)

Đã gửi 18 April 2009 - 08:10 AM

Mình xin sửa cái lisp của bạn như sau, bạn test thử xem sao, mình test thếy ok.

(defun c:jj()
(setq ss (ssget "_i"))
(COMMAND ".PEDIT" "M" ss "" "Y" "J" "50" "")
)

ok ! Mình mới chạy test sơ bộ thấy ok. Để dùng một thời gian xem nó có bị lỗi ko đã. Nếu lỗi thì mình sẽ nhờ bạn sửa lại júp mình nhé . Thanks !
  • 0
Hoàng Giang

#11 q288

q288

    biết lệnh fillet

  • Members
  • PipPipPipPip
  • 209 Bài viết
Điểm đánh giá: 164 (tàm tạm)

Đã gửi 18 April 2009 - 10:03 AM

ok ! Mình mới chạy test sơ bộ thấy ok. Để dùng một thời gian xem nó có bị lỗi ko đã. Nếu lỗi thì mình sẽ nhờ bạn sửa lại júp mình nhé . Thanks !


Chú ý là cái lisp trên chỉ chạy đc khi có ít nhất 1 trong các đối tượng đc chọn là line, nếu chỉ toàn là pline thì sẽ bi lỗi.
  • 0