Đến nội dung


Hình ảnh
- - - - -

Routine tính tổng chiều dài các đối tượng


  • Please log in to reply
53 replies to this topic

#41 Lê Bình Minh

Lê Bình Minh

    biết pan

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

Đã gửi 23 June 2012 - 10:56 PM

Ặc ặc! Chỉ 1 câu nói của bác Ketxu là:" File lisp khi load chỉ có tác dụng với file hiện hành đó, phiên làm việc đó"...em đã làm được...Thích thật. Cảm ơn tất cả các Pro! Mong rằng sẽ được chỉ giáo nhiều hơn!!
  • 1

#42 dg_189

dg_189

    Chưa sử dụng CAD

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

Đã gửi 16 January 2013 - 03:11 PM

Khai quật. e dùng lisp của bác Vnsdes mà khi gõ lệnh cl thì k thấy con trỏ chuột có thay đổi gì, kể cả chọn đối tượng rồi gõ cl cũng k có tác dụng gì. trong khi dã làm theo hướng dẫn của bác í cẩn thận.
  • 0

#43 longsigma

longsigma

    Chưa sử dụng CAD

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

Đã gửi 24 March 2014 - 07:26 PM

các bác cho e hỏi e đang cần dùng lisp nầy lắm mà không biết sử dụng thế nào, đánh lệnh tg rồi chọn các đối tượng sau đó làm thế nào ạ, e ấn space nhưng mà không được các bác chỉ giúp được không ạ


  • 0

#44 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 25 March 2014 - 11:21 AM

các bác cho e hỏi e đang cần dùng lisp nầy lắm mà không biết sử dụng thế nào, đánh lệnh tg rồi chọn các đối tượng sau đó làm thế nào ạ, e ấn space nhưng mà không được các bác chỉ giúp được không ạ

Hề hề hề,

Chọn xong đối tượng thì nhấn enter để kết thúc việc chọn chứ nhấn space làm chi????


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#45 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 25 March 2014 - 11:25 AM

Khai quật. e dùng lisp của bác Vnsdes mà khi gõ lệnh cl thì k thấy con trỏ chuột có thay đổi gì, kể cả chọn đối tượng rồi gõ cl cũng k có tác dụng gì. trong khi dã làm theo hướng dẫn của bác í cẩn thận.

Hề hề hề,

Lisp này dùng tính tổng chiều dài các đối tượng được chọn chớ không phải là để là thay đổi cấu hình con trỏ. Bởi thế nó chả thay đổi gì là rất chuẩn đó.

Gõ lệnh xong nhấn enter để phát lệnh thực hiện, sau đó làm theo các hướng dẫn trên dòng command hoặc trong các dialog hiển thị.


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#46 trangnhung

trangnhung

    biết vẽ pline

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

Đã gửi 31 March 2014 - 01:52 PM

http://www.cadviet.c...58_ban_ve_3.dwg

 

Nhờ các bác xem hộ e bản vẽ này: Tại sao khi đo bằng lệnh dim thì kết quả là 3.98, nhưng khi dùng lisp nó lại ra kết quả là 127,58. Muốn lisp nhận đúng về 3.98 thì làm thế nào. Rất mong được giúp đỡ. Chân thành cảm ơn !


  • 0

#47 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 31 March 2014 - 02:01 PM

http://www.cadviet.c...58_ban_ve_3.dwg

 

Nhờ các bác xem hộ e bản vẽ này: Tại sao khi đo bằng lệnh dim thì kết quả là 3.98, nhưng khi dùng lisp nó lại ra kết quả là 127,58. Muốn lisp nhận đúng về 3.98 thì làm thế nào. Rất mong được giúp đỡ. Chân thành cảm ơn !

Hề hề hề,

Bạn dùng lisp nào thì phải post cái lisp đó lên mới biết được chứ. ???


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#48 trangnhung

trangnhung

    biết vẽ pline

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

Đã gửi 01 April 2014 - 10:24 AM

http://www.cadviet.c...ochieudaizz.lsp

 

Đây là lisp đo chiều dài e hay dùng, e cũng đã thử với các lisp khác như lisp tg...nhưng kết quả vẫn thế. mong bác phamthanhbinh nghiên cứu giúp e với. e chân thành cảm ơn 1


  • 0

#49 conghoa

conghoa

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 411 Bài viết
Điểm đánh giá: 88 (tàm tạm)

Đã gửi 01 April 2014 - 10:45 AM

Lisp chạy không sai đâu :D, do bản vẽ của bạn không đồng phẳng, bạn thử quay góc nhìn Top thành Front thì sẽ thấy.


  • 0

#50 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 01 April 2014 - 12:30 PM

http://www.cadviet.c...ochieudaizz.lsp

 

Đây là lisp đo chiều dài e hay dùng, e cũng đã thử với các lisp khác như lisp tg...nhưng kết quả vẫn thế. mong bác phamthanhbinh nghiên cứu giúp e với. e chân thành cảm ơn 1

Hề hề hề,

Đúng như bác Conghoa đã trả lời, Lisp cho ra kết quả này vì line của bạn là line 3D. kết quả trong lisp là chiều dài thực của line, kết quả bạn dùng dimension là chiều dài hình chiếu của line.

Vì vậy nếu muốn kết quả của lisp giống y chang kết quả bạn Dim thì chả khó khăn gì đâu, bạn chỉ cần hủy bỏ cao độ z của các điểm mút của line là Ok.

Có nhiều cách:

1/- Bạn dùng lệnh flaten trong express tools là phẳng các đối tượng của bạn.

2/- Sửa lại chút chút trong lisp ở hàm phụ (getLine (en) ....)

   Thay vì 

   (distance (cdr(assoc 10 enlist)) (cdr(assoc 11 enlist)))

  Bạn đổi thành:

   (distance (reverse (cdr (reverse (cdr (assoc 10 enlist))))) (reverse (cdr (reverse (cdr(assoc 11 enlist))))))

3/- .................


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#51 trangnhung

trangnhung

    biết vẽ pline

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

Đã gửi 01 April 2014 - 01:29 PM

e làm được rùi. Thanks các bác. Chúc các bác sức khoẻ...!


  • 0

#52 shatashi

shatashi

    Chưa sử dụng CAD

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

Đã gửi 17 November 2014 - 10:35 AM

http://www.cadviet.c...s/Calline_1.zip

Đây là link của chương trìn đã compile.
Trong lúc chờ vợ về ăn cơm, viết cái này tặng Bommak nè:
Cái này thì chẳng chuyên nghiệp đâu, cũng chẳng sáng tạo, cần cù một chút là OK:

Chuong trinh tinh tong chieu dai cac object - file LISP

;Form chuong trinh va cac thao tac
(DEFUN CALLINE(/ DCL_ID_CALLINE cd_temp ID_ha ss)  
  (setq DCL_ID_CALLINE (load_dialog "CALLINE.DCL"))
  (if (not(new_dialog "CALLINE" DCL_ID_CALLINE)) (exit))  
  (start_list "La_CL")  
  (mapcar 'add_list LiLa)
  (end_list)  
  (Setvalue_CL)
  (action_tile "Sele_CL" "(Getvalue_CL) (done_dialog 2)")
  (action_tile "Info" "(ABOUT)")
  (action_tile "ChkLa_CL" "(IsChkLa_CL)")
  (setq RES (start_dialog))  
  (if (= RES 2)
	(progn	  
	  (prompt "Chon doi tuong:")
	  (setq la_name (LANAME LiLa (atoi la_CL)))	 
	  (if (= chk_CL "1")	
	(setq ss (ssget (List (cons 8 la_name))))
	(setq ss (ssget))
	  )
	  (if (/= ss Nil)
	(progn
	  (setq n (sslength ss))
		  (setq i 0)
		  (While (< i n)
			(setq dt (ssname ss i))
		(if (OR (= (TENDOITUONG dt) "LINE")
				(= (TENDOITUONG dt) "LWPOLYLINE")
								(= (TENDOITUONG dt) "POLYLINE")
				(= (TENDOITUONG dt) "SPLINE")
				(= (TENDOITUONG dt) "ARC")
				(= (TENDOITUONG dt) "CIRCLE"))
		  (progn	  
			(setq ID_ha (ID_HANDLE dt))
			(if (IsNotExist ID_ha)
			  (progn		
				(setq List_obj (Append List_obj (List ID_ha)))
				(setq cd_temp (CDAIOBJ dt))
				(setq chieudai_CL (+ chieudai_CL cd_temp))
			  )
			  (alert "Doi tuong nay da duoc chon")
			)	  
		  )
		)  
			(setq i (+ 1 i))					   
		  )
	)  
	(alert "Khong co doi tuong nao duoc chon!")
	  )
	  (CALLINE)
	)
  )  
  (unload_dialog DCL_ID_CALLINE) 
)
;Khoi dong
(DEFUN CALINIT()
  (CREALILA)
  (if (Null La_CL)
	(setq la_CL "0")
  )  
  (setq chieudai_CL 0)
  (if (Null chk_CL)
	(setq chk_CL "0")
  )
  (setq List_obj Nil)
)
;Cai dat cac gia tri
(DEFUN Setvalue_CL()
  (set_tile "L_CL" (rtos chieudai_CL 2 2))
  (set_tile "La_CL" la_CL)
  (set_tile "ChkLa_CL" chk_CL)
  (IsChkLa_CL)
)
;Nhan gia tri
(DEFUN Getvalue_CL()
  (setq chk_CL (get_tile "ChkLa_CL"))
  (setq chieudai (atof (get_tile "L_CL")))
  (setq la_CL (get_tile "La_CL"))
)
;Nhan handle
(DEFUN ID_HANDLE (obj / idha)
  (setq idha (CDR (ASSOC 5 (ENTGET obj))))  
  idha
)
;Thay doi trang thai
(DEFUN IsChkLa_CL ()
  (if (= (get_tile "ChkLa_CL") "1")
	(mode_tile "La_CL" 0)
	(mode_tile "La_CL" 1)
  )
)
;Kiem tra ton tai
(DEFUN IsNotExist (id / l in IsOK id_temp)
  (setq IsOK T)
  (setq l (length List_obj))
  (If (= l 0)
	(setq IsOK T)
	(progn
	  (setq in 0)
	  (while (< in l)
	(setq id_temp (nth in List_obj))
	(If (= id id_temp)
	  (setq IsOK Nil)
	)
	(setq in (1+ in))
	  )
	)
  )
  IsOK
)
;Ham thong tin
(DEFUN ABOUT(/ DCL_ID_ABOUT)
  (setq DCL_ID_ABOUT (load_dialog "CALLINE.DCL"))
  (if (not(new_dialog "ABOUT" DCL_ID_ABOUT))(exit))  
  (start_list "aboutme")
  (add_list " ")  
  (add_list "  VO KIEN CUONG - Bachelor of IT")
  (add_list "  =====================================================")
  (add_list "  Email : vkcuong_23@yahoo.com")
  (add_list "  Mobile: 0983616182 - 0977352125")
  (add_list "  CAD developer (LISP, DCL, VBA for AutoCad, ObjectARX...)")  
  (add_list "  ")
  (end_list)
  (start_dialog)
  (unload_dialog DCL_ID_ABOUT)
)
;Ham thuc thi chuong trinh
(DEFUN C:CL()
  (setvar "CMDECHO" 0)
  (CALINIT)  
  (CALLINE)
  (setvar "CMDECHO" 1)
)
;Ham lai chieu dai
(DEFUN CDAIOBJ(obj / cdai)
  (command "LENGTHEN" obj "")
  (setq cdai (getvar "PERIMETER"))
  cdai
)
;ham lay ten doi tuong
(DEFUN TENDOITUONG (obj / name)
  (setq name (CDR (ASSOC 0 (ENTGET obj))))  
  name  
)
;Ham tao danh sach layer
(DEFUN CREALILA (/ NL)
  (setq LiLa (List))
  (setq NL (tblnext "LAYER" T))  
  (while NL	
	(setq LiLa (append LiLa (list (cdr (assoc 2 NL)))))
	(setq NL (tblnext "LAYER"))
  )
  (setq LiLa (Acad_strlsort LiLa))
)
;Ham lay layer
(DEFUN LANAME(LiLa index / la)
  (setq la (nth index LiLa))
  la
)
Chuong trinh tinh tong chieu dai cac object - file DCL
//Form tinh chieu dai cua PolyLine
CALLINE:dialog	{
	label="Calculation Line - Free Ware";
	:edit_box{
		label="Chieu dai (m):";
		key="L_CL";
		}
	:toggle	{
		label="Khoa Layer";
		key="ChkLa_CL";		
	 	}
	:popup_list{
		label="Layer:";
		key="La_CL";
		is_enabled="0";
		}
	:row	{
		:button	{
			label="Chon doi tuong";
			key="Sele_CL";		
			}
		:button {
			label="Info..";
			key="Info";
			}
		}
	ok_only;
 	}
 ABOUT:dialog{
	label="About me...";
	spacer_1;
	:list_box{				
		key="aboutme";
		width=55;
		height=9;
		}
	ok_only;
	}

Dùng thế nào vậy. Mình đánh lệnh cl vào ko đc


  • 0

#53 Tot77

Tot77

    biết lệnh adcenter

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

Đã gửi 17 November 2014 - 11:13 AM

Bạn down về, giải nén, từ trong explorer nắm cái file đó kéo thả vào màn hình cad (hoặc dùng lệnh ap) , rồi gõ CL.


  • 0

#54 quangthang1993

quangthang1993

    biết pan

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

Đã gửi 31 October 2015 - 08:40 AM

mọi người cho e hỏi: Lip này sử dụng thế nào ạ


  • 0