Đến nội dung


Hình ảnh
5 stars - based on 24598 reviews
- - - - -

Xin lisp vẽ đường chéo


  • Please log in to reply
5 replies to this topic

#1 Phidoi_gabay

Phidoi_gabay

    biết vẽ rectang

  • Members
  • PipPip
  • 89 Bài viết
Điểm đánh giá: 14 (tàm tạm)

Đã gửi 05 April 2010 - 02:32 PM

Hi các pác. E đang làm cái ctrình này mà nó nhiều lỗ kỹ thuật quá, có bác nào có lisp hoặc cách nào vẽ nhanh 2 đường chéo (ký hiệu lỗ rỗng, lỗ kỹ thuật) trong một hình khép kín như chữ nhật ko ? Bác nào biết chỉ em với, thanks !
  • 0

#2 hoa35ktxd

hoa35ktxd

    biết lệnh move

  • Members
  • PipPipPip
  • 125 Bài viết
Điểm đánh giá: 38 (tàm tạm)

Đã gửi 07 April 2010 - 08:16 PM

Bình thường khi vẽ các cấu kiện giống nhau ta vẽ đầy đủ chi tiết rồi copy, ai lại đi vẽ 1 loạt hình chữ nhật sau đó lại đi vẽ đường chéo cho chúng như thế.
Trường hợp bạn thấy cần thiết thì vẫn có thể làm được bằng Lisp sau với điều kiện các lỗ của bạn phải là polyline.
(defun c:VeDuongCheo()
(setq SS (ssget '((-4 . "")))
SSlen (sslength ss)
I -1
J -1)
(while (setq LWPL (ssname ss (setq I (1+ I))))
(setq LWPL (entget LWPL))
(setq LstPoint '())
(while (setq Att (nth (setq J (1+ J)) LWPL))
(if (= (car Att) 10)
(setq LstPoint (append Lstpoint (list att)))
)
)
(setq J -1)
(command "LINE" (cdr (nth 0 LstPoint)) (cdr (nth 2 LstPoint)) "")
(command "LINE" (cdr (nth 1 LstPoint)) (cdr (nth 3 LstPoint)) "")
)
)

  • 0

#3 phatgtvt

phatgtvt

    Chưa sử dụng CAD

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

Đã gửi 17 July 2016 - 08:53 AM

Mấy a giúp dùm e viết 1 lisp vẽ đường chéo hình chữ nhật với.

E có 10 khung in hình chữ nhật (khổ A3), e muốn viết lisp nối đường chéo khung. Khi ta nhập lệnh, chọn 10 khung thì lisp sẽ vẽ 1 polyline nối 10 đường chéo khung hình chữ nhật lại với nhau và đánh số thứ tự từ 1 -10 tại mỗi hình chữ nhật. (polyline và số dùng layer depoint để ko in ra).

Cám ơn mọi người nhiều lắm.


  • 0

#4 VUVUZELA

VUVUZELA

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 210 Bài viết
Điểm đánh giá: 97 (tàm tạm)

Đã gửi 18 July 2016 - 02:47 PM

:)


  • 0

Hệ thống Liên Kết, Thiết Kế Tự Động

ttps://www.facebook...etThietKeTuDong


#5 tungnt08x1

tungnt08x1

    Chưa sử dụng CAD

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

Đã gửi 04 June 2017 - 05:01 PM

Bình thường khi vẽ các cấu kiện giống nhau ta vẽ đầy đủ chi tiết rồi copy, ai lại đi vẽ 1 loạt hình chữ nhật sau đó lại đi vẽ đường chéo cho chúng như thế.
Trường hợp bạn thấy cần thiết thì vẫn có thể làm được bằng Lisp sau với điều kiện các lỗ của bạn phải là polyline.

(defun c:VeDuongCheo()

  (setq SS (ssget '((-4 . "

khoongchayj được bác ơi, bác hướng dẫn em dùng với


  • 0

#6 quangthanhdu

quangthanhdu

    biết vẽ spline

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

Đã gửi 07 June 2017 - 09:49 AM

Sưu tầm.... chỉ vẽ được từng hình... dùng tạm nhé.

(defun c:vdc (/ pnt1 pnt2 pnt3 pnt4  lst e len n e1)

	(setq e (entget (car (entsel))))
	;get the entity list

	(setq len (length e))
	;get the length of the list

	(setq n 0)
	;set counter to zero
	(setq lst nil)
	(repeat len
	;repeat for the length of the entity list

	  (setq e1 (car (nth n e)))
	  ;get each item in the entity list
	  ;and strip the entity code number

	  (if (= e1 10)
	  ;check for code 10 (vertex)

	    (progn
	    ;if it's group 10 do the following

		(terpri)
		  ;new line
		(setq lst (if lst (append lst (list(cdr (nth n e))))(list(cdr (nth n e)))))	  
	    );progn

	  );if
	  (setq n (1+ n))
	  ;increment the counter

	);repeat
  (mapcar 'set '(pnt1 pnt2 pnt3 pnt4) lst)
  
	        (setq pnt1 (strcat(rtos(car pnt1))"," (rtos(cadr pnt1)) ",0"))
	      
		(setq pnt2 (strcat(rtos(car pnt2)) ","(rtos(cadr pnt2))",0"))

		(setq pnt3 (strcat(rtos(car pnt3)) ","(rtos(cadr pnt3))",0"))

		(setq pnt4 (strcat(rtos(car pnt4)) ","(rtos(cadr pnt4))",0"))

(command "line" pnt1 pnt3 "")
(command "line" pnt2 pnt4 "")
  (princ)
);defun
(princ)

  • 0