Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
mothaiba0106

[Xin]Lisp Cắt Chân Dim (E đã Seach Nhưng Không Tìm được Lisp Như Ý)

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

Có một lần e down được lisp cắt chân dim thấy rất hay. Các dim có thể gióng lộn xộn nhưng dùng lisp, chọn điểm đầu và điểm cuối là tất cả các dim đều tăm tắp. Trên forum có nhiều lệnh cắt dim nhưng thường chỉ cắt được chứ ko gióng đều đường dim được. Thanks!

  • 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

Lisp cũ :

(defun C:GD (/ dim_ch ll_ d13_ d14_ d4_ d2_ point_cat old_osm  d10_n cat_h ang_h
            	ang_n dis_1 ang_g ang_d dim_l dim_new dis_h old_ang)
(setq old_err *error* *error* ctd_err)
(setvar "Cmdecho" 0)
(setq old_osm(getvar "Osmode") old_ang(getvar "Angdir"))
(setvar "Angdir" 0); (setvar "Osmode" 0)
(prompt "\nChon Dim <Aligned-Liner-Hor-Ver> dinh giong hang.")
(if(and(setq dim_ch(ssget '((0 . "DIMENSION"))))
  	(setq point_cat(getpoint "\nDiem moc giong hang <New>: ")) )
  (progn
	(setq ll_ 0 tol_(sslength dim_ch) total 0.0)
	(while (< ll_ tol_)
(setq d2_(ssname dim_ch ll_) d3_(entget d2_) d4_(cdr(assoc 1 d3_)) )
   	(prompt "\nDiem giong moi")
(if(and d3_ d4_)
	(setq d13_(cdr(assoc 13 d3_)) 
            	d10_(cdr(assoc 10 d3_)) 
     	d14_(cdr(assoc 14 d3_)) 
            	ang_n(angle d10_ d13_)
            	dis_1(distance d10_ d13_)
            	ang_g(angle d10_ d14_)
            	ang_d(- ang_g (dtr 90)) ) ;setq
)
   	(if (and d3_ point_cat)
       	(progn
          	(setq dis_h(distance d10_ point_cat)
                	ang_h(angle d10_ point_cat)
                	cat_h(* (sin (- ang_h ang_d)) dis_h)
                	d10_n(polar d10_ ang_g cat_h) )
          	(if (and d10_ d3_ d10_n)
              	(progn
                	(setq d3_(subst (cons '10 d10_n) (cons '10 d10_) d3_) )
                	(entmod d3_)(prompt "..... OK !")
              	) (princ "\n..... Khong thuc hien !")
          	)
       	)
   	)
   	(setq ll_(+ ll_ 1))
	);while
  )
)
(setvar "Osmode" old_osm)(setvar "Angdir" old_ang)
(setq *error* old_err)
(princ)
)

  • Vote tăng 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

bác ơi sao em ko sử dụng được lisp nhỉ,gõ gd hiện thông báo

Chon Dim <Aligned-Liner-Hor-Ver> dinh giong hang

select objects

em chọn dim rồi enter ra thông báo

điểm mốc gióng hàng (new) rồi em chọn 1 điểm bất kỳ thì xong dòng lệnh trở về command,các dim vẫn chưa được gióng

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

bacs

Lisp cũ :

(defun C:GD (/ dim_ch ll_ d13_ d14_ d4_ d2_ point_cat old_osm  d10_n cat_h ang_h
        		ang_n dis_1 ang_g ang_d dim_l dim_new dis_h old_ang)
(setq old_err *error* *error* ctd_err)
(setvar "Cmdecho" 0)
(setq old_osm(getvar "Osmode") old_ang(getvar "Angdir"))
(setvar "Angdir" 0); (setvar "Osmode" 0)
(prompt "\nChon Dim <Aligned-Liner-Hor-Ver> dinh giong hang.")
(if(and(setq dim_ch(ssget '((0 . "DIMENSION"))))
  	(setq point_cat(getpoint "\nDiem moc giong hang <New>: ")) )
  (progn
(setq ll_ 0 tol_(sslength dim_ch) total 0.0)
(while (< ll_ tol_)
(setq d2_(ssname dim_ch ll_) d3_(entget d2_) d4_(cdr(assoc 1 d3_)) )
   	(prompt "\nDiem giong moi")
(if(and d3_ d4_)
(setq d13_(cdr(assoc 13 d3_))
        		d10_(cdr(assoc 10 d3_))
     	d14_(cdr(assoc 14 d3_))
        		ang_n(angle d10_ d13_)
        		dis_1(distance d10_ d13_)
        		ang_g(angle d10_ d14_)
        		ang_d(- ang_g (dtr 90)) ) ;setq
)
   	(if (and d3_ point_cat)
       	(progn
      		(setq dis_h(distance d10_ point_cat)
            		ang_h(angle d10_ point_cat)
            		cat_h(* (sin (- ang_h ang_d)) dis_h)
            		d10_n(polar d10_ ang_g cat_h) )
      		(if (and d10_ d3_ d10_n)
          		(progn
            		(setq d3_(subst (cons '10 d10_n) (cons '10 d10_) d3_) )
            		(entmod d3_)(prompt "..... OK !")
          		) (princ "\n..... Khong thuc hien !")
      		)
       	)
   	)
   	(setq ll_(+ ll_ 1))
);while
  )
)
(setvar "Osmode" old_osm)(setvar "Angdir" old_ang)
(setq *error* old_err)
(princ)
)

bác ketxu có thể sửa lạ hộ e cái lisp này dc ko với bản vẽ này thì lip này dim bi nhay ko nhu ý muốnhttp://www.cadviet.com/upfiles/3/113313_km231_1.dwg

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
Đăng nhập để thực hiện theo  

×