Đến nội dung


Hình ảnh
- - - - -

Nhờ Sửa Lsp Giúp


  • Please log in to reply
28 replies to this topic

#21 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 20 August 2016 - 02:36 PM

Hị hị cái này gọi là hổng kiến thức. Chứ phịc mệt chết ai muốn.


  • 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


#22 thainguyen_tg

thainguyen_tg

    biết vẽ circle

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

Đã gửi 20 August 2016 - 05:12 PM

 

Than tới than lui tốn đất của cadviet quá:

(defun c:td (/ kw ss str n)
(prompt "\nSua tex tang dan(TD)")
  (initget "T D")
  (if (and
	(if (setq kw (getkword "\nTren xuong/Duoi len[T/D]<T>: ")) kw (setq kw "T"))
	(setq ss (ssget '((0 . "*TEXT"))))
      )
    (progn
      (setq str (getstring "\nNhap chuoi co dinh: "))
         (setq ss
	     (vl-sort (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))

		      '(lambda (x y)
			 (> (cadr (cdr (assoc 10 (entget x))))
			    (cadr (cdr (assoc 10 (entget y))))
			 )
		       )
	     )
      )
      (if (= kw "D")(setq ss (reverse ss)))
     (setq n (getreal "\nNhap gia tri bat dau : "))
      (foreach e  (mapcar 'vlax-ename->vla-object ss)
	(vla-put-textstring e (strcat str (itoa (fix n))))
	(setq n (+ n 1))
	)
    )
  )
  (princ)
  )

Thanks bạn duy782006 nhiều! Nhưng mình có vài ý thế này?

1/ Mình muốn tăng từ dãy số S00 đến S15, tuy nhiên nó tăng được từ S00 đến S015

(từ S10 trở đi thì không nên có số 0 phía trước)

Ví dụ: tăng S00->S15 thì ok

tăng từ S00->S015 thì chưa ok

Từ số 10 trở đi thì không nên có số 0 ở đầu(lsp gốc vẫn bị hạn chế chỗ này)

2/ Nếu bỏ qua luôn bước: 

Nhap chuoi so co dinh: thì ok hơn(được thì tốt lắm, còn không cũng không sao)

Thanks bạn! 


  • 0

#23 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 20 August 2016 - 08:21 PM

Lần này nửa thôi đấy!

 (defun c:td (/ kw ss str n)
(prompt "\nSua tex tang dan(TD)")
  (initget "T D")
  (if (and
	(if (setq kw (getkword "\nTren xuong/Duoi len[T/D]<T>: ")) kw (setq kw "T"))
	(setq ss (ssget '((0 . "*TEXT"))))
      )
    (progn
      (setq str (getstring "\nNhap chuoi co dinh: "))
         (setq ss
	     (vl-sort (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))

		      '(lambda (x y)
			 (> (cadr (cdr (assoc 10 (entget x))))
			    (cadr (cdr (assoc 10 (entget y))))
			 )
		       )
	     )
      )
      (if (= kw "D")(setq ss (reverse ss)))
     (setq n (getint "\nNhap gia tri bat dau : "))
      (foreach e  (mapcar 'vlax-ename->vla-object ss)

(cond
((< n 10) (setq nv (strcat "0" (itoa n))) )
((>= n 10) (setq nv (itoa n)) )
)

	(vla-put-textstring e (strcat str nv))
	(setq n (+ n 1))
	)
    )
  )
  (princ)
  )
 

  • 1

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


#24 thainguyen_tg

thainguyen_tg

    biết vẽ circle

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

Đã gửi 20 August 2016 - 09:02 PM

 

Lần này nửa thôi đấy!

 (defun c:td (/ kw ss str n)
(prompt "\nSua tex tang dan(TD)")
  (initget "T D")
  (if (and
	(if (setq kw (getkword "\nTren xuong/Duoi len[T/D]<T>: ")) kw (setq kw "T"))
	(setq ss (ssget '((0 . "*TEXT"))))
      )
    (progn
      (setq str (getstring "\nNhap chuoi co dinh: "))
         (setq ss
	     (vl-sort (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))

		      '(lambda (x y)
			 (> (cadr (cdr (assoc 10 (entget x))))
			    (cadr (cdr (assoc 10 (entget y))))
			 )
		       )
	     )
      )
      (if (= kw "D")(setq ss (reverse ss)))
     (setq n (getint "\nNhap gia tri bat dau : "))
      (foreach e  (mapcar 'vlax-ename->vla-object ss)

(cond
((< n 10) (setq nv (strcat "0" (itoa n))) )
((>= n 10) (setq nv (itoa n)) )
)

	(vla-put-textstring e (strcat str nv))
	(setq n (+ n 1))
	)
    )
  )
  (princ)
  )
 

Nhờ vã hoài mình cũng ngại lắm chứ!

Thanks bạn duy782006! 

Lsp bạn viết sửa lại khắc phục được lỗi trên, nhưng có vấn đề này ở bước:

Nhap gia tri bat dau:

Nó cho ra là 2 số nên cũng bất tiện cho những list có số thứ tự tăng dần từ:

Ví dụ: 

1/ Có những bản vẽ họ đánh STT từ: S00->S15 thì ok

2/ Có những bản vẽ họ đánh STT từ: S01->S16 thì cũng ok

3/ Tuy nhiên có những bản vẽ họ đánh STT từ: S0->S15 hoặc S1->S16 thì lại bất ổn(có người muốn 2 số thập phân, nhưng có người lại muốn 1 số thập phân)

 


  • -1

#25 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 20 August 2016 - 09:33 PM

Vấn đề là bạn là người nào? 1 số cũng chưa ok. 2 số cũng chưa ok.
Bạn ko cần ngại đâu vì tôi sẽ giữ lời hứa của mình.
  • 1

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


#26 quocmanh04tt

quocmanh04tt

    biết lệnh imageclip

  • Members
  • PipPipPipPipPipPipPip
  • 673 Bài viết
Điểm đánh giá: 314 (khá)

Đã gửi 20 August 2016 - 09:49 PM

Chúc mừng bác Duy, buồn cho bác Hạ và mình...! :D


  • 1

#27 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 21 August 2016 - 03:34 AM

;)


  • 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


#28 thainguyen_tg

thainguyen_tg

    biết vẽ circle

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

Đã gửi 21 August 2016 - 11:10 AM

Vấn đề là bạn là người nào? 1 số cũng chưa ok. 2 số cũng chưa ok.
Bạn ko cần ngại đâu vì tôi sẽ giữ lời hứa của mình.

:)
Vấn đề là tối ưu hoá bạn duy782006 ơi!
  • 0

#29 the.jcsc

the.jcsc

    Chưa sử dụng CAD

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

Đã gửi 21 August 2016 - 05:20 PM

Xin lỗi các bác vì em chưa biết lập topic mới nên Ké vào đây. Cũng là thắc mắc về lisp.

 Em vừa lấy dc lisp cộng trừ nhân chia text trong block att. Nhưng hiện em chưa thực hiện được.

 Em đăng bản vẽ lên đây nhờ các Pro giúp. Cái này giúp ích cho em trong việc làm bản vẽ đường đồng mức san nền và chỉnh sửa cao độ chi tiết trong nút giao thông khi sử dụng mạng lưới cao độ thiết kế.

 Em cần cộng text trong các block CDDiem nut được chọn cho cùng một số ví dụng 0.15 do khi thay đổi cao độ tim trên trắc dọc thì cao độ rãnh đan, cao độ đỉnh bó vỉa, cao độ bó gáy cũng thay đổi cùng giá trị với tim. Đây là lisp em dowd dc trên diễn đàn của bác Tue_nv

http://www.cadviet.c...54946_ttb_3.rar

http://www.cadviet.c...54946_08nut.dwg


  • 0