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

Khi các đối tượng không cùng nằm trên 1 mặt phẳng

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

Vẽ 2d mà sao các đối tượng cứ lung tung trục Z ? Hix. Làm thế nào ???

 

Đây rồi. Lisp CAD hỗ trợ là bản vẽ:

 

(defun c:ve0 ()
 (defun suadinhPl(thongtin / index doituong doituongmoi toado)
   (setq
     doituong (assoc '38 thongtin)      
     doituongmoi (cons 38 0.)
   )
   (subst doituongmoi doituong thongtin)
 )
 (defun suadinh (thongtin / index doituong doituongmoi toado)
   (setq thongtinmoi nil)
   (foreach doituong thongtin
     (if (and (>= (car doituong) 10)
       (	  )
(setq doituongmoi
       (list (car doituong)
	     (cadr doituong)
	     (caddr doituong)
	     0.0
       )
)
(setq doituongmoi doituong)
     )
     (setq thongtinmoi (append thongtinmoi (list doituongmoi)))
   )
   (setq thongtinmoi thongtinmoi)
 )
 (defun tendoituong (ssdt /)
   (cdr (assoc '0 (entget ssdt)))
 )
 ;;---------------------------------------------
 (setq	tapdoituong (ssget)
sodt	    (sslength tapdoituong)
index	    0
ta	    (chr 8)
stxoa	    (strcat ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta ta)
stxuly	    "Xu ly duoc: "
ptcu	    nil
 )
 (repeat sodt
   (setq
     ssdt  (ssname tapdoituong index)
     pt    (* (/ (* index 1.0) sodt) 100.0)
     index (1+ index)
   )
   (if	(/= pt ptcu)
     (progn
(princ (strcat stxoa stxuly (rtos pt 2 0) "%"))
(setq ptcu pt)
     )
   )    
   (if	(or (= (tendoituong ssdt) "SPLINE")
    (= (tendoituong ssdt) "LINE")	    
    (= (tendoituong ssdt) "CIRCLE")
    (= (tendoituong ssdt) "ARC")
    (= (tendoituong ssdt) "POLYLINE")
    (= (tendoituong ssdt) "ELLIPSE")
    (= (tendoituong ssdt) "TEXT")
    (= (tendoituong ssdt) "DIMENSION")
           (= (tendoituong ssdt) "ATTDEF")
    (= (tendoituong ssdt) "SOLID")
    (= (tendoituong ssdt) "INSERT")
    (= (tendoituong ssdt) "ATTRIB")
    (= (tendoituong ssdt) "HATCH")
)
     (progn
(setq thongtin (entget ssdt)
      thongtin (suadinh thongtin)
)
(entmod thongtin)
     )
   )
   (if (= (tendoituong ssdt) "LWPOLYLINE")
     (progn
       (setq thongtin (entget ssdt)
      thongtin (suadinhPL thongtin)	      
)
(entmod thongtin)
     )
   )
   (princ)
 )
)

 

Lệnh thực hiện là VE0 ( về 0 )/ Selec các đối tượng/ Enter ! OK

 

Ngoài ra còn 1 cách nữa. Cái này thì do EXPRESS hỗ trợ. Express/Modify/Flatten objects

 

flatob.jpg

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  

×