Đến nội dung


Hình ảnh
- - - - -

[Yêu cầu] Nhờ viết lisp cộng trừ dim edit số


  • Please log in to reply
3 replies to this topic

#1 victor85

victor85

    biết lệnh stretch

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

Đã gửi 12 June 2015 - 12:01 PM

Do nhu cầu tốc độ của công việc, một số bản vẽ mình buộc phải edit dim. Nên mình cần một lisp chỉnh sửa số trên dim như sau ạ.

Nhờ các bác trên diễn đàn giúp cho lisp này ạ:

+ lisp tinhdim

Đầu vào: các dim rotated và aligned dimesion.

Chọn đối tượng là các dim (các số trên dim này có thể là nguyên dạng hoặc số edit)

Nhập số đại số cần thêm vào các dim đó Ví dụ là số A với A là số nguyên thuộc tập Z ( A dương thì là cộng; A âm thì là trừ)

Kết quả dim mới có giá trị hiển thị (là giá trị edit số) được thêm bớt 1 lượng là số A nhập vào ạ.

Mình xin chân thành cảm ơn trước các bác ạ! 


  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 12 June 2015 - 02:26 PM

Đây bạn!

;Cong tru Dim voi 1 so, chap nhan luon ca dim da bi edit. By HA, 12/6/2015
(defun C:HA(/ ss th n i ent ent1 txt)
 (prompt "\nChon cac Dim can tang/giam...")
 (setq ss (ssget '((0 . "DIMENSION"))))
 (setq th (getreal "\nGia tri tang/giam: "))
 (setq n (sslength ss) i 0)
 (while (< i n)
  (setq ent (entget (setq ent1 (ssname ss i))))
  (if (= (cdr (assoc 1 ent)) "")
   (setq txt (cdr (assoc 42 ent)))
   (setq txt (atof (cdr(assoc 1 ent))))) 
  (setq txt (+ th txt))
  (setq i (1+ i))
  (vla-put-TextOverride (vlax-ename->vla-object ent1) txt))
 (princ))  
(vl-load-com)

  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#3 victor85

victor85

    biết lệnh stretch

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

Đã gửi 13 June 2015 - 10:48 AM

bác ơi, lisp chạy ngon rồi nhưng thêm vụ làm tròn kết quả vào lisp dùm mình với. Một số cái dim chưa tròn hoàn toàn chạy ra số lẻ sau dấu phẩy trông khá chuối.


  • 0

#4 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 13 June 2015 - 11:06 AM

Bạn sửa dòng:

(setq txt (+ th txt))

Thành dòng:

(setq txt (rtos (+ th txt) 2 0))


  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.