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  
letruong295

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

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

letruong295    1

 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!

  • Vote giảm 1

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
hiepttr    523

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

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  

×