Đến nội dung


Hình ảnh
- - - - -

Sửa Lisp Copy Rải


  • Please log in to reply
4 replies to this topic

#1 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 30 September 2015 - 10:07 AM

Chào các anh chị diển đàn !

 Đầu tiên mình xin chủ lisp này cho mình đăng lsp này sửa code để phù hợp nhu cầu của mình nhe !

Sau khi mình tìm kiếm trên diển đàn , mình dowload được file lisp copy nhưng chưa phù hợp với mình lắm nên nhờ anh chị giúp mình sửa lại đoạn code này với

 Mình muốn sửa lại như sau : Lisp yêu cầu mình chọn đường dẩn nhưng mình muốn sửa lại ở dạng pick điểm đầu và điểm cuối .Rất mhttp://www.cadviet.c...3_rdt__copy.lspong anh chị giúp mình với .


  • -1

#2 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 03 October 2015 - 07:10 AM

 gởi bài đã lâu chưa thấy hồi âm buồn quá !


  • -1

#3 hiepttr

hiepttr

    Edu level: li10

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

Đã gửi 03 October 2015 - 11:09 AM

Lâu lâu mới ghé một lần, đọc bài muốn giúp mà chẳng hiểu làm sao >>> Buồn thiệt :D :D :D

->> Ý bạn nói pick điểm đầu & điểm cuối là pick thế nào ?!

- Pick P1, P2 ==> line p1p2 rồi lấy nó làm đường dẫn

- Hay là: Chọn đường dẫn rồi pick 2 điểm giới hạn vùng chia trên nó ???

:D :D :D


  • 0

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#4 vanduynguyen

vanduynguyen

    biết vẽ polygon

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

Đã gửi 05 October 2015 - 07:56 AM

Lâu lâu mới ghé một lần, đọc bài muốn giúp mà chẳng hiểu làm sao >>> Buồn thiệt :D :D :D

->> Ý bạn nói pick điểm đầu & điểm cuối là pick thế nào ?!

- Pick P1, P2 ==> line p1p2 rồi lấy nó làm đường dẫn

- Hay là: Chọn đường dẫn rồi pick 2 điểm giới hạn vùng chia trên nó ???

:D :D :D

- Pick P1, P2 ==> line p1p2 rồi lấy nó làm đường dẫn


  • 0

#5 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 October 2015 - 09:40 AM

-Tên lệnh: pcm
-Thao tác: 
+Nhập lệnh. 
+Chọn đối tượng cần copy.
+Chọn điểm xuất phát.
+Chọn điểm đến. 
*Lisp thực hiện copy nhóm đối tượng từ điểm xuất phát đến điểm đến và đưa ra 3 lựa chọn. *N/:N/<: trong đó N là số tuỳ ý (nhập trực tiếp luôn nhé ví dụ *5 lisp sẽ tự lọc lấy số để thực hiện).
+Lựa chọn *N thì đối tượng sẽ được copy thêm N lần với khoảng cách từ từ đối tượng này đến đối tượng kia bằng điểm xuất phát đến điểm đến.
+Lựa chọn :N Thì khoảng cách từ điểm xuất phát đến điểm đến sẽ được chia làm N lần và đối tượng sẽ được copy đến các điểm nút này.
+Lựa chọn < thì sau khi enter lisp hỏi khoảng cách giới hạn và tính toán rãi trong khoảng cách này phần dư thì bỏ. (kiểu như MEASURE của cad ấy)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun thuchiencopy ()
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(repeat solanthuchien
(setq index (1+ index))
(command ".copy" doituong "" p1 (polar p1 goc (* kc index)))
)
(setvar "osmode" luubatdiem)
(Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun kieunhan ()
(setq index 1)
(setq solanthuchien (- (atoi kytuconlai) 1)) 
(thuchiencopy)
(Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun kieuchia ()
(setq index 0)
(setq kc (/ kc (atoi kytuconlai)))
(setq solanthuchien (- (atoi kytuconlai) 1)) 
(thuchiencopy)
(Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun kieutrong ()
(setq p3 (getpoint p1 "\nRai trong khoang: "))
(setq kc1 (distance p1 p3))
(setq index 1)
(setq solanthuchien (- (fix (/ kc1 kc)) 1)) 
(thuchiencopy)
(Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun tinhtoankieu ()
(setq ddkc (strlen kieuchep))
(setq skytuconlai (- ddkc 1))
(setq kytuconlai (substr kieuchep 2 skytuconlai))
(setq kytudautien (substr kieuchep 1 1))

(if (= kytudautien "*")
(progn
(kieunhan)
))
(if (= kytudautien ":")
(progn
(kieuchia)
))
(if (= kytudautien "<")
(progn
(kieutrong)
))
(Princ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun c:cpm ()
(command "undo" "be")
(setvar "MODEMACRO" "RAI DOI TUONG THEO QUY LUAT CHO TRUOC")
(princ "\nPHAM QUOC DUY Binh Son - Quang ngai")
(Prompt "\nChon doi tuong muon chep...")
(setq doituong (ssget)
p1 (getpoint "\nDiem bat dau: ")
p2 (getpoint p1 "\nDiem ket thuc: ")
goc (angle p1 p2)
kc (distance p1 p2)
index 0
)
(setq luubatdiem (getvar "osmode"))
(setvar "osmode" 0)
(command ".copy" doituong "" p1 p2)
(setvar "osmode" luubatdiem)
(setq kieuchep (getstring "\n*N/:N/<: "))
(tinhtoankieu)
(command "undo" "end")
(setvar "MODEMACRO" "**CHUC BAN LAM VIEC HIEU QUA** PHAM QUOC DUY - BINH SON - QUANG NGAI")
(Princ))


  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D