Đến nội dung


Hình ảnh
- - - - -

[yêu cầu] lisp tính tổng số đai trong dim


  • Please log in to reply
24 replies to this topic

#21 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 08 June 2014 - 05:20 PM

Không nghĩ bạn "quơ" luôn dim không đai.

(defun c:tmp()
  (defun GeD(v / l en)
    (setq l nil)
    (vlax-for item (vla-item (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
    (cdr (assoc 2 (entget v))))
      (if (= "MTEXT" (cdr (assoc 0 (entget (setq en (vlax-vla-object->ename item))))))
(setq l en))
    ) l
  )
  (Prompt "\nChon Dim:")
  (setq l nil)
  (foreach x (acet-ss-to-list (ssget '((0 . "DIMENSION"))))
    (setq txt  (cdr (assoc 1 (entget (Ged x)))))
    (if (and (vl-string-search "[" txt) (vl-string-search "%" txt) (vl-string-search "a" txt))
      (setq
 sl (atoi (substr txt (+ 2 (vl-string-search "[" txt))
  (- (vl-string-search "%" txt) (vl-string-search "[" txt) 1)))
 fi (atoi (substr txt (+ 4 (vl-string-search "%" txt))
  (- (vl-string-search "a" txt) (vl-string-search "%" txt) 3)))
 l (if (not (assoc fi l))
     (cons (cons fi sl) l)
     (subst (cons fi (+ sl (cdr (assoc fi l)))) (assoc fi l) l))))
  )
  (if l
    (progn
      (setq st "")
      (foreach x l (setq st (strcat st "\n" (itoa (cdr x)) (chr 216) (itoa (car x)))))
      (alert st)))
  (princ)
)
 

  • 1

#22 proconeng86

proconeng86

    biết lệnh break

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

Đã gửi 08 June 2014 - 05:28 PM

Không nghĩ bạn "quơ" luôn dim không đai.

 

(defun c:tmp()
  (defun GeD(v / l en)
    (setq l nil)
    (vlax-for item (vla-item (vla-get-blocks (vla-get-ActiveDocument (vlax-get-acad-object)))
    (cdr (assoc 2 (entget v))))
      (if (= "MTEXT" (cdr (assoc 0 (entget (setq en (vlax-vla-object->ename item))))))
(setq l en))
    ) l
  )
  (Prompt "\nChon Dim:")
  (setq l nil)
  (foreach x (acet-ss-to-list (ssget '((0 . "DIMENSION"))))
    (setq txt  (cdr (assoc 1 (entget (Ged x)))))
    (if (and (vl-string-search "[" txt) (vl-string-search "%" txt) (vl-string-search "a" txt))
      (setq
 sl (atoi (substr txt (+ 2 (vl-string-search "[" txt))
  (- (vl-string-search "%" txt) (vl-string-search "[" txt) 1)))
 fi (atoi (substr txt (+ 4 (vl-string-search "%" txt))
  (- (vl-string-search "a" txt) (vl-string-search "%" txt) 3)))
 l (if (not (assoc fi l))
     (cons (cons fi sl) l)
     (subst (cons fi (+ sl (cdr (assoc fi l)))) (assoc fi l) l))))
  )
  (if l
    (progn
      (setq st "")
      (foreach x l (setq st (strcat st "\n" (itoa (cdr x)) (chr 216) (itoa (car x)))))
      (alert st)))
  (princ)
)
 

 

Tại vì trong đoạn cột thì không có đai, nếu chọn từng thằng thì tốn nhiều thời gian mà

Lisp này là ok rồi

Cám ơn bạn Tot77 nhiều nhé, bạn nhiệt tình thật đó. khi nào có dịp ra hà nội pm mình nhé, ae giao lưu nha  :)  :)  :)


  • 0

#23 caychuoixd

caychuoixd

    Chưa sử dụng CAD

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

Đã gửi 23 April 2015 - 01:30 PM

Của em sao ấy dùng ko được, các bác xem lỗi do gì thế ạ, thanks

http://www.cadviet.c...751_dai_dam.dwg


  • 0

#24 ptd1987

ptd1987

    biết vẽ ellipse

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

Đã gửi 25 April 2015 - 09:05 AM

 em xài cad 2007 32 bit load lisp lên, cad ko hiểu dc lisp, làm sao mà xài đây các bác


  • 0

#25 cunconlangthang1088

cunconlangthang1088

    biết zoom

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

Đã gửi 31 May 2015 - 10:09 AM

các bác ơi em load lisp tmp ở phía trên toàn báo lỗi ; error: syntax error?


  • 0