Đến nội dung


Hình ảnh
- - - - -

"yêu cầu" Lisp thay đổi font dim hàng loạt


  • Please log in to reply
3 replies to this topic

#1 nghau90

nghau90

    biết vẽ circle

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

Đã gửi 07 November 2014 - 04:30 PM

E hay phải tập hợp các bản vẽ , rất nhiều loại dim cùng tỉ lệ khác nhau. các bác giúp e 1 lisp thay đổi tất cả font dim về 1 font mong muốn. kiểu như,  chọn tất cả đánh lệnh => chọn kiểu font muốn thay=> ok.

xin cảm ơn 


  • -1

#2 anhduccec

anhduccec

    biết vẽ arc

  • Members
  • PipPip
  • 45 Bài viết
Điểm đánh giá: 21 (tàm tạm)

Đã gửi 08 November 2014 - 12:20 AM

Dựa theo lisp của Ketxu trong bài này: http://www.cadviet.c...tyle-cuc-nhanh/
Xin phép  Ketxu sửa lại giúp chủ thớt:

;;; 1. Change cho toan bo DimStyle trong ban ve :
(defun c:fdima (/ table ts)
(grtext -1 "Free lisp from Cadviet @Ketxu")
(command "undo" "be")
(defun table (s / d r)
(while (setq d (tblnext s (null d)))
(setq r (cons (cdr (assoc 2 d)) r))))
(setq ts (getstring "\nText Style: "))
(setvar "cmdecho" 0)
(mapcar '(lambda(x)(command "-DIMSTYLE" "R" x)(setvar "DIMTXSTY" ts)(command "-DIMSTYLE" "S" x "Y")) (table "DIMSTYLE"))
(command "undo" "en")(princ))

;;; 2. Pick den dau change den do:
(defun c:fdimb (/ lstDstyle ts ent dstyle)
(grtext -1 "Free lisp from Cadviet @Ketxu")
(command "undo" "be")
(setvar "cmdecho" 0)
(setq ts (getstring "\nText Style: "))
(while (setq ent (car (entsel "\n Pick dim :")))
(if (setq dstyle (cdr (assoc 3 (entget ent))))
(if (not (vl-position dstyle lstDstyle))
(progn
(setq lstDstyle (cons dstyle lstDstyle))
(command "-DIMSTYLE" "R" dstyle)(setvar "DIMTXSTY" ts)(command "-DIMSTYLE" "S" dstyle "Y")
)
(princ "\nAlready Dimension Style Picked")
)
)
)
(command "undo" "en")
(princ))
;;;; 3. Chon 1 loat roi change:
(defun c:fdimc (/ lstDstyle ts i ss ent dstyle)
(grtext -1 "Free lisp from Cadviet @Ketxu")
(command "undo" "be")
(setvar "cmdecho" 0)
(setq ts (getstring "\nText Style: ") i 0 ss (ssget (list (cons 0 "DIMENSION"))))
(while (setq ent (ssname ss i))
(if (setq dstyle (cdr (assoc 3 (entget ent))))
(if (not (vl-position dstyle lstDstyle))
(progn
(setq lstDstyle (cons dstyle lstDstyle))
(command "-DIMSTYLE" "R" dstyle)(setvar "DIMTXSTY" ts)(command "-DIMSTYLE" "S" dstyle "Y")
)
)
)
(setq i (1+ i))
)
(command "undo" "en")
(princ))

  • 1

#3 nghau90

nghau90

    biết vẽ circle

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

Đã gửi 10 November 2014 - 10:18 PM

cam on 

anhduccec
  • 0

#4 Hoatj

Hoatj

    Chưa sử dụng CAD

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

Đã gửi 31 August 2016 - 03:56 PM

Dựa theo lisp của Ketxu trong bài này: http://www.cadviet.c...tyle-cuc-nhanh/
Xin phép  Ketxu sửa lại giúp chủ thớt:


;;; 1. Change cho toan bo DimStyle trong ban ve :
(defun c:fdima (/ table ts)
(grtext -1 "Free lisp from Cadviet @Ketxu")
(command "undo" "be")
(defun table (s / d r)
(while (setq d (tblnext s (null d)))
(setq r (cons (cdr (assoc 2 d)) r))))
(setq ts (getstring "\nText Style: "))
(setvar "cmdecho" 0)
(mapcar '(lambda(x)(command "-DIMSTYLE" "R" x)(setvar "DIMTXSTY" ts)(command "-DIMSTYLE" "S" x "Y")) (table "DIMSTYLE"))
(command "undo" "en")(princ))

;;; 2. Pick den dau change den do:
(defun c:fdimb (/ lstDstyle ts ent dstyle)
(grtext -1 "Free lisp from Cadviet @Ketxu")
(command "undo" "be")
(setvar "cmdecho" 0)
(setq ts (getstring "\nText Style: "))
(while (setq ent (car (entsel "\n Pick dim :")))
(if (setq dstyle (cdr (assoc 3 (entget ent))))
(if (not (vl-position dstyle lstDstyle))
(progn
(setq lstDstyle (cons dstyle lstDstyle))
(command "-DIMSTYLE" "R" dstyle)(setvar "DIMTXSTY" ts)(command "-DIMSTYLE" "S" dstyle "Y")
)
(princ "\nAlready Dimension Style Picked")
)
)
)
(command "undo" "en")
(princ))
;;;; 3. Chon 1 loat roi change:
(defun c:fdimc (/ lstDstyle ts i ss ent dstyle)
(grtext -1 "Free lisp from Cadviet @Ketxu")
(command "undo" "be")
(setvar "cmdecho" 0)
(setq ts (getstring "\nText Style: ") i 0 ss (ssget (list (cons 0 "DIMENSION"))))
(while (setq ent (ssname ss i))
(if (setq dstyle (cdr (assoc 3 (entget ent))))
(if (not (vl-position dstyle lstDstyle))
(progn
(setq lstDstyle (cons dstyle lstDstyle))
(command "-DIMSTYLE" "R" dstyle)(setvar "DIMTXSTY" ts)(command "-DIMSTYLE" "S" dstyle "Y")
)
)
)
(setq i (1+ i))
)
(command "undo" "en")
(princ))

em tải lisp của bác về nhưng vẫn không sử dụng được mong bác giúp ehttp://www.cadviet.c...6/155204_hc.dwg


  • 0