Chuyển đến nội dung
Diễn đàn CADViet
NguyenMinh88

Xin chào ! Nhờ các bạn xem giúp lisp này

Các bài được khuyến nghị

Mình tìm lisp này  nhưng thay dổi linestyle scale thì nhân với  linestye hiện có ;

Mình mong muốn nhập vào 100 thi linestye scale la 100 . không nhân với linesty scale hiện có.

cám ơn các bạn đã giúp !

;Change linetype scale by a factor.
 (defun c:lrr ()
 (setq en (car (entsel))
       ed (entget en)
      lts (cdr (assoc 48 ed))
 )
 (if (/= lts nil)
  (progn
   (setq ns (getreal (strcat "\nScale linetype what factor of current scale? Current scale: <"(rtos lts)">. "))
        ns2 (* (/ ns ) lts)
   )
   (setq ed
       (subst (cons 48 ns2)
              (assoc 48 ed)
              ed
       )
   )
   (entmod ed)
   (entupd en)
  );progn

(progn
   (setq ns (getreal (strcat "\nScale linetype to what factor of current scale? Current scale: <"(rtos 1)">."))
        ns2 (* (/ ns ) 1)
   )  
   (command "change" en "" "p" "s" (rtos ns2) "")
  )
 );if
)

  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
14 giờ trước, NguyenMinh88 đã nói:

Mình tìm lisp này  nhưng thay dổi linestyle scale thì nhân với  linestye hiện có ;

Mình mong muốn nhập vào 100 thi linestye scale la 100 . không nhân với linesty scale hiện có.

cám ơn các bạn đã giúp !

 

Thích sự đơn giản thì dùng cái này

(defun c:lrr (/ tls)
(setq lts (getreal "\nSpecify new linetype scale?"))
(command "change" (ssget) "" "p" "s" lts "")
(princ)
)

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn thử xem được không?
;Change linetype scale without multiplying by current scale
(defun c:lrr ()
  (setq en (car (entsel "\nSelect object to change linetype scale: "))
        ed (entget en)
        lts (cdr (assoc 48 ed)))
  
  (if (/= lts nil)
    (progn
      (setq ns (getreal (strcat "\nEnter new linetype scale (Current scale: <" (rtos lts) ">): ")))
      
      ; Không nhân với lts, chỉ đơn giản đặt ns vào
      (setq ed
            (subst (cons 48 ns)
                   (assoc 48 ed)
                   ed))
      
      (entmod ed)
      (entupd en)
      (princ (strcat "\nLinetype scale changed to: " (rtos ns)))
    )
    (princ "\nSelected entity does not have a linetype.")
  )
  (princ)
)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×