Đến nội dung


Hình ảnh

Đưa bản vẽ về 1 mặt phẳng như thế nào ?


  • Please log in to reply
21 replies to this topic

#21 vietdoan92

vietdoan92

    biết pan

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

Đã gửi 07 November 2014 - 08:26 AM

http://www.cadviet.c...36925_siron.rar dua ve mot mat phang cuc nhanh 


  • 0

#22 xhxdxm

xhxdxm

    biết zoom

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

Đã gửi 15 October 2016 - 09:21 PM

Đây là lisp Ve0.
 

(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)

		   (<= (car doituong) 36) 

	  )

	(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)

  )

)

Cám ơn bác rất nhiều, em đã lọ mọ mãi để dùng lệnh bo bán kính 2 đường thẳng hay bắt điểm vì cái tội chúng không cùng 1 hệ trục tọa độ, giừo em đã làm đc. 1 lần nữa cám ơn bác rất nhiều


  • 0