Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đă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ị

be_chanh    890

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  

×