Đến nội dung


Hình ảnh

Đánh Dấu Điểm Trong Không Gian Cad 3D - Help....!


  • Please log in to reply
1 reply to this topic

#1 letruong295

letruong295

    biết zoom

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

Đã gửi 18 March 2016 - 11:03 AM

 Chào mọi người!

 

 Mọi người có lisp hay phương pháp nào thì giúp mình nhé!

 

VD: trong không gian 3D của auto cad mình có những đoạn thẳng gấp khúc ( zich zắc) không theo quy luật mình cho cùng 1 Layer. Giờ mình muôn tạo điểm (Point) vị trí diểm đầu và vị trí điểm cuôi của các đoạn thẳng này. Khi ta tắt Layer các đoạn thẳng này thì ta sẽ được một không gian điểm 3D. 

 

Cảm ơn mọi người!


  • -1

#2 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 18 March 2016 - 01:38 PM

Hình như bạn đăng nhầm nơi (Đúng ra là phải y/c bên auto lisp)

Nhưng mình làm liều tí, đang rảnh :D

 

p/s: Trong code có sữ dụng hàm MakePoint của tác giả Thaistreetz, cảm ơn bác !

;;;lisp add point vao vi tri start & end point cua line
(defun c:ADD( / lst_va old ss point ename)
(setq lst_va '("osmode" "cmdecho"))
(setq old (mapcar 'getvar lst_va))
(mapcar 'setvar lst_va '(0 0))
(prompt "\nChon (cac) line !")
(setq ss (ssget '((0 . "LINE"))))
(if ss
	(repeat (sslength ss)
		(setq point 
			(mapcar '(lambda (y) (cdr y)) 
					(vl-remove-if-not '(lambda (x) (or (= 10 (car x)) (= 11 (car x)))) (entget (setq ename (ssname ss 0))))
			) 
		)
		(mapcar '(lambda (z) (MakePoint z "Layer_add_point" 2)) point)
		(ssdel ename ss)
	)
	(princ "\nKhong chon duoc line nao !")
)
(mapcar 'setvar lst_va old)
(princ)
)
;;;================ make point
(defun MakePoint (point layer color)	
	(entmakex (list '(0 . "POINT")'(100 . "AcDbEntity")									
					(cons 8 (if Layer Layer (getvar "Clayer")))									
					(cons 62 (if Color Color 256))									
					'(100 . "AcDbPoint")(cons 10 point))))

  • 0

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson