Chuyển đến nội dung
Diễn đàn CADViet
vndesperados

MIA - Tặng các bác làm về đo đạc khảo sát

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

http://www.cadviet.com/upfiles/Dimia.zip

 

Các bác GET về và gõ lệnh MIA

Đây là chương trình viết theo yêu cầu của bác vbao nhưng bác này nói không đầy đủ và rõ ràng.

Không biết đầu vào như thế nào.

Trong quá trình đi mia, các bác ở VN làm chắc là giống nhau, cũng vác thước đi đo và ngắm nhưng mỗi bác ghi dữ liệu một kiểu.

Có bác thì ghi theo dạng [Tọa độ quy chiếu P0] + P (X,Y) + cao độ

Có bác ghi theo dạng Tọa độ quy chiếu P0 + P(khỏang cách, góc quay) + cao độ - Cách này coi bộ nhiều ngươi thao tác hơn àh

Thôi, lan man qua nghề của các bác Khảo sát nhiều quá các bác ấy nghi ngờ cho thì chết.

Còn thao tác trong chương trình thì mới có nhập từng điểm thôi. Còn nếu bác nào muốn nhập dữ liệu từ FILE thì POSt cấu trúc FILE lên đây, mình code giùm cho.

 

Lần sau bác nào có yêu cầu thì nói rõ ràng, đầu vào như thế nào, thói quen làm việc ra sao. Mình phải hỏi cho rõ, các bác thông cảm vì không phải là dân trong nghề

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

Quên mất, còn đây là code:

 

MIA.LSP

(DEFUN DIMIA(/ DCL_ID_MIA)  
 (setq DCL_ID_MIA (load_dialog "MIA.DCL"))
 (if (not(new_dialog "MIA" DCL_ID_MIA)) (exit))
 (SETMIAVALUE)
 (Is_Chk_KH)
 (action_tile "tdX" "(CHECKVALUE_TDX)")
 (action_tile "tdY" "(CHECKVALUE_TDY)")
 (action_tile "caodo" "(CHECKVALUE_CD)")
 (action_tile "Is_KH" "(Is_Chk_KH)")
 (action_tile "info" "(ABOUT)")
 (action_tile "accept" "(GETMIAVALUE) (done_dialog 1)")
 (setq RES_MIA (start_dialog))
 (If (= RES_MIA 1)
(progn
  (DATMIA)
  (DIMIA)
)
 )  
 (unload_dialog DCL_ID_MIA) 
)

(DEFUN C:MIA()
 (MIA_INIT)
 (DIMIA)
)

(DEFUN SETMIAVALUE()
 (set_tile "Is_KH" IsKH)
 (set_tile "kyhieu" Kyhieu)
 (set_tile "caodo" Caodo)
 (set_tile "tdX" TdX)
 (set_tile "tdY" TdY)
 (set_tile "tdX_QC" TdXQC)
 (set_tile "tdY_QC" TdYQC)
)
(DEFUN GETMIAVALUE()
 (setq IsKH (get_tile "Is_KH"))
 (setq Kyhieu (get_tile  "kyhieu"))
 (setq Caodo (get_tile "caodo"))
 (setq TdX (get_tile "tdX"))
 (setq TdY (get_tile "tdY"))
 (setq TdXQC (get_tile "tdX_QC"))
 (setq TdYQC (get_tile "tdY_QC"))
)
(DEFUN MIA_INIT()
 (If (Null IsKH)
(setq IsKH "0")
 )
 (If (Null Kyhieu)
(setq Kyhieu "A")
 )
 (If (Null Caodo)
(setq Caodo "0.00")
 )
 (If (Null TdX)
(setq TdX "0.0")
 )
 (If (Null TdY)
(setq TdY "0.0")
 )
 (If (Null TdXQC)
(setq TdXQC "0.0")
 )
 (If (Null TdYQC)
(setq TdYQC "0.0")
 )
)

(DEFUN ABOUT(/ DCL_ID_ABOUT)
 (setq DCL_ID_ABOUT (load_dialog "MIA.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)
)

(DEFUN DATMIA(/ Pnt)
 (setq Pnt (List (+ (atof tdX) (atof tdXQC)) (+ (atof TdY) (atof tdYQC)) (atof caodo)))
 (If (= IsKH "0")
(Command "-INSERT" "Blk_mia001" Pnt "" "" "" caodo)
(Command "-INSERT" "Blk_mia002" Pnt "" "" "" caodo kyhieu)
 )  
)
(DEFUN CHECKVALUE_TDX()
 (setq temp (get_tile "tdX"))
 (If (Not (IsNumeric temp))
(progn
  (alert "Gia tri nhap vao khong hop le")
  (set_tile "tdX" TdX)
)
 )  
)
(DEFUN CHECKVALUE_TDY()
 (setq temp (get_tile "tdY"))
 (If (Not (IsNumeric temp))
(progn
  (alert "Gia tri nhap vao khong hop le")
  (set_tile "tdY" TdY)
)
 )  
)
(DEFUN CHECKVALUE_CD()
 (setq temp (get_tile "caodo"))
 (If (Not (IsNumeric temp))
(progn
  (alert "Gia tri nhap vao khong hop le")
  (set_tile "caodo" caodo)
)
 )  
)
(DEFUN Is_Chk_KH ()
 (if (= (get_tile "Is_KH") "1")
(mode_tile "kyhieu" 0)
(mode_tile "kyhieu" 1)
 )
)

MIA.DCL

//Chuong trinh ve ki hieu di mia
MIA:dialog{
label="Ve mia - Free Ware";
:boxed_column{
	label="Toa do quy chieu";
	:edit_box{
		label="Toa do X";
		key="tdX_QC";
		edit_width=12;				
		}
	:edit_box{
		label="Toa do Y";
		key="tdY_QC";
		edit_width=12;
		}
	}
:boxed_column{
	label="Diem mia";

	:row	{
		:toggle	{	
			label="Ky hieu";
			key="Is_KH";
			mnemonic="K";
			}
		:edit_box{
			key="kyhieu";
			edit_width=12;				
			}
		}

	:edit_box{
		label="Cao do";
		key="caodo";
		mnemonic="C";
		edit_width=12;
		}
	}
:boxed_column{
	label="Toa do diem mia";
	:edit_box{
		label="Toa do X";
		key="tdX";
		edit_width=12;
		mnemonic="X";
		}
	:edit_box{
		label="Toa do Y";
		key="tdY";
		edit_width=12;
		mnemonic="Y";
		}
	}
:row	{
	:button	{
		label="Import..";
		key="import";
		mnemonic="I";
		is_enabled=false;
		}
	:button	{
		label="Export..";
		key="export";
		mnemonic="E";
		is_enabled=false;
		}
	}
:row	{
	ok_cancel;
	spacer_1;
	spacer_1;
	spacer_1;
	:button	{
		label="Author";			
		key="info";
		mnemonic="A";
		}
	}
}

ABOUT:dialog{
label="About me...";
spacer_1;
:list_box{				
	key="aboutme";
	width=55;
	height=9;
	}
ok_only;
}

 

"Ừ, mình ơi, anh xong rồi, anh vào với mình ngay"

Khổ thế mà sướng thế

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
Quên mất, còn đây là code:

 

MIA.LSP

(DEFUN DIMIA(/ DCL_ID_MIA)  
 (setq DCL_ID_MIA (load_dialog "MIA.DCL"))
 (if (not(new_dialog "MIA" DCL_ID_MIA)) (exit))
 (SETMIAVALUE)
 (Is_Chk_KH)
 (action_tile "tdX" "(CHECKVALUE_TDX)")
 (action_tile "tdY" "(CHECKVALUE_TDY)")
 (action_tile "caodo" "(CHECKVALUE_CD)")
 (action_tile "Is_KH" "(Is_Chk_KH)")
 (action_tile "info" "(ABOUT)")
 (action_tile "accept" "(GETMIAVALUE) (done_dialog 1)")
 (setq RES_MIA (start_dialog))
 (If (= RES_MIA 1)
(progn
  (DATMIA)
  (DIMIA)
)
 )  
 (unload_dialog DCL_ID_MIA) 
)

(DEFUN C:MIA()
 (MIA_INIT)
 (DIMIA)
)

(DEFUN SETMIAVALUE()
 (set_tile "Is_KH" IsKH)
 (set_tile "kyhieu" Kyhieu)
 (set_tile "caodo" Caodo)
 (set_tile "tdX" TdX)
 (set_tile "tdY" TdY)
 (set_tile "tdX_QC" TdXQC)
 (set_tile "tdY_QC" TdYQC)
)
(DEFUN GETMIAVALUE()
 (setq IsKH (get_tile "Is_KH"))
 (setq Kyhieu (get_tile  "kyhieu"))
 (setq Caodo (get_tile "caodo"))
 (setq TdX (get_tile "tdX"))
 (setq TdY (get_tile "tdY"))
 (setq TdXQC (get_tile "tdX_QC"))
 (setq TdYQC (get_tile "tdY_QC"))
)
(DEFUN MIA_INIT()
 (If (Null IsKH)
(setq IsKH "0")
 )
 (If (Null Kyhieu)
(setq Kyhieu "A")
 )
 (If (Null Caodo)
(setq Caodo "0.00")
 )
 (If (Null TdX)
(setq TdX "0.0")
 )
 (If (Null TdY)
(setq TdY "0.0")
 )
 (If (Null TdXQC)
(setq TdXQC "0.0")
 )
 (If (Null TdYQC)
(setq TdYQC "0.0")
 )
)

(DEFUN ABOUT(/ DCL_ID_ABOUT)
 (setq DCL_ID_ABOUT (load_dialog "MIA.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)
)

(DEFUN DATMIA(/ Pnt)
 (setq Pnt (List (+ (atof tdX) (atof tdXQC)) (+ (atof TdY) (atof tdYQC)) (atof caodo)))
 (If (= IsKH "0")
(Command "-INSERT" "Blk_mia001" Pnt "" "" "" caodo)
(Command "-INSERT" "Blk_mia002" Pnt "" "" "" caodo kyhieu)
 )  
)
(DEFUN CHECKVALUE_TDX()
 (setq temp (get_tile "tdX"))
 (If (Not (IsNumeric temp))
(progn
  (alert "Gia tri nhap vao khong hop le")
  (set_tile "tdX" TdX)
)
 )  
)
(DEFUN CHECKVALUE_TDY()
 (setq temp (get_tile "tdY"))
 (If (Not (IsNumeric temp))
(progn
  (alert "Gia tri nhap vao khong hop le")
  (set_tile "tdY" TdY)
)
 )  
)
(DEFUN CHECKVALUE_CD()
 (setq temp (get_tile "caodo"))
 (If (Not (IsNumeric temp))
(progn
  (alert "Gia tri nhap vao khong hop le")
  (set_tile "caodo" caodo)
)
 )  
)
(DEFUN Is_Chk_KH ()
 (if (= (get_tile "Is_KH") "1")
(mode_tile "kyhieu" 0)
(mode_tile "kyhieu" 1)
 )
)

MIA.DCL

//Chuong trinh ve ki hieu di mia
MIA:dialog{
label="Ve mia - Free Ware";
:boxed_column{
	label="Toa do quy chieu";
	:edit_box{
		label="Toa do X";
		key="tdX_QC";
		edit_width=12;				
		}
	:edit_box{
		label="Toa do Y";
		key="tdY_QC";
		edit_width=12;
		}
	}
:boxed_column{
	label="Diem mia";

	:row	{
		:toggle	{	
			label="Ky hieu";
			key="Is_KH";
			mnemonic="K";
			}
		:edit_box{
			key="kyhieu";
			edit_width=12;				
			}
		}

	:edit_box{
		label="Cao do";
		key="caodo";
		mnemonic="C";
		edit_width=12;
		}
	}
:boxed_column{
	label="Toa do diem mia";
	:edit_box{
		label="Toa do X";
		key="tdX";
		edit_width=12;
		mnemonic="X";
		}
	:edit_box{
		label="Toa do Y";
		key="tdY";
		edit_width=12;
		mnemonic="Y";
		}
	}
:row	{
	:button	{
		label="Import..";
		key="import";
		mnemonic="I";
		is_enabled=false;
		}
	:button	{
		label="Export..";
		key="export";
		mnemonic="E";
		is_enabled=false;
		}
	}
:row	{
	ok_cancel;
	spacer_1;
	spacer_1;
	spacer_1;
	:button	{
		label="Author";			
		key="info";
		mnemonic="A";
		}
	}
}

ABOUT:dialog{
label="About me...";
spacer_1;
:list_box{				
	key="aboutme";
	width=55;
	height=9;
	}
ok_only;
}

 

"Ừ, mình ơi, anh xong rồi, anh vào với mình ngay"

Khổ thế mà sướng thế

 

xin lỗi vndesperados vì đã không nói rõ ràng cụ thể yêu cầu khi nhờ bạn viết hộ chương trình :s_dead: , tiện ích của vndesperados tôi đã tải về và chạy thử rất tốt. Tôi có một vài ý kiến mong desperados giải quyết dùm (trong file dwg upload lên, tôi có ghi các nhận xét này) riêng về phần nhập dữ liệu từ file, tôi cũng xin gửi lên để nhờ bạn hỗ trợ xử lý luôn. Tôi ở Tp.HCM, vndesperados hiện đang công tác tại đâu vậy?

http://www.cadviet.com/upfiles/Mia_tam.dwg

http://www.cadviet.com/upfiles/Data_diemmia.txt

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

Bác Vbao chịu khó ZIP lại rồi POST lên nhé, chứ bác để thế này thì không GET về được

Còn mình đang làm việc tại Hà Nội, mới chuyển từ HCMC ra đây được vài tháng (Chán thế đấy)

Mình không làm về CAD đâu, đang làm việc tại FITC - VINASA

FRESHWINH INFORMATION TECNOLOGY CORPORATION - VIETNAM SOFTWARE ASSOCIATION

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
Bác Vbao chịu khó ZIP lại rồi POST lên nhé, chứ bác để thế này thì không GET về được

Còn mình đang làm việc tại Hà Nội, mới chuyển từ HCMC ra đây được vài tháng (Chán thế đấy)

Mình không làm về CAD đâu, đang làm việc tại FITC - VINASA

FRESHWINH INFORMATION TECNOLOGY CORPORATION - VIETNAM SOFTWARE ASSOCIATION

 

file đã zip

http://www.cadviet.com/upfiles/Mia_tam.zip

http://www.cadviet.com/upfiles/Data_diemmia.zip

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

(DEFUN READFILEDATA(FileName / f str)
 (setq f (open FileName "r"))
 (setq str ( Read-line f))
 (while T	
(READSTRDATA str)
(setq str (Read-line f))
 )
 (close f)
)
(DEFUN READSTRDATA(str / vt str1 temp)
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )		
 (While (= (POST "," str1) (strlent str1))
(setq str1 (substr str1 1 (- (strlent str) 1)))		
 )
;Doc so thu tu
 (setq vt (POST "," str1))
 (setq temp (substr str1 1 (- vt 1)))  
 (setq str1 (substr str1 vt))
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
 (setq LiSTT (Append LiSTT (List temp)))
;Doc toa do X 
 (setq vt (POST "," str1))
 (setq tempX (substr str1 1 (- vt 1)))  
 (setq str1 (substr str1 vt))
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
;Doc toa do Y 
 (setq vt (POST "," str1))
 (setq tempY (substr str1 1 (- vt 1))) 
 (setq str1 (substr str1 vt)) 
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
;Doc toa do Z 
 (setq vt (POST "," str1))
 (setq tempZ (substr str1 1 (- vt 1))) 
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
 (setq LiTD (Append LiTD (List (atof tempX) (atof tempY) (atof tempZ))))
 (setq LiCD (Append LiCD (List tempZ)))
;Doc ghi chu
 (if (/= str1 Nil)
(setq LiCT (Append LiCD (List str1)))
(setq LiCT (Append LiCD (List "Invalid")))
 )  
)
(DEFUN POST(c chuoi / vt)
 (setq vt 0)
 (setq l (strlen chuoi))
 (setq i 1)
 (While (<= i l)
(if (= (substr chuoi i 1) c)
  (progn 			
	(setq vt i)
	(setq i l)
  )
)
 )
 vt
)

 

Các bác GET về, kết hợp thêm đọan code trước, chỉnh sữa lại BLOCK đã gởi lần trước.

Chúc các bác thành công

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
(DEFUN READFILEDATA(FileName / f str)
 (setq f (open FileName "r"))
 (setq str ( Read-line f))
 (while T	
(READSTRDATA str)
(setq str (Read-line f))
 )
 (close f)
)
(DEFUN READSTRDATA(str / vt str1 temp)
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )		
 (While (= (POST "," str1) (strlent str1))
(setq str1 (substr str1 1 (- (strlent str) 1)))		
 )
;Doc so thu tu
 (setq vt (POST "," str1))
 (setq temp (substr str1 1 (- vt 1)))  
 (setq str1 (substr str1 vt))
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
 (setq LiSTT (Append LiSTT (List temp)))
;Doc toa do X 
 (setq vt (POST "," str1))
 (setq tempX (substr str1 1 (- vt 1)))  
 (setq str1 (substr str1 vt))
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
;Doc toa do Y 
 (setq vt (POST "," str1))
 (setq tempY (substr str1 1 (- vt 1))) 
 (setq str1 (substr str1 vt)) 
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
;Doc toa do Z 
 (setq vt (POST "," str1))
 (setq tempZ (substr str1 1 (- vt 1))) 
 (While (= (POST "," str1) 1)
(setq str1 (substr str1 2))		
 )
 (setq LiTD (Append LiTD (List (atof tempX) (atof tempY) (atof tempZ))))
 (setq LiCD (Append LiCD (List tempZ)))
;Doc ghi chu
 (if (/= str1 Nil)
(setq LiCT (Append LiCD (List str1)))
(setq LiCT (Append LiCD (List "Invalid")))
 )  
)
(DEFUN POST(c chuoi / vt)
 (setq vt 0)
 (setq l (strlen chuoi))
 (setq i 1)
 (While (<= i l)
(if (= (substr chuoi i 1) c)
  (progn 			
	(setq vt i)
	(setq i l)
  )
)
 )
 vt
)

 

Các bác GET về, kết hợp thêm đọan code trước, chỉnh sữa lại BLOCK đã gởi lần trước.

Chúc các bác thành công

 

Cảm ơn vndesperados về đoạn code trên, nhưng còn file dcl chỉnh sửa ra sao để kết hợp với đoạn code mới này? Mong bạn hướng dẫn luôn. Thân ái

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

em không thể sử dụng đwợc anh ơi

Anh có thể viết thành đoạn code hoàn chỉnh được không em làm nó toàn báo lỗi mia ; error: quit / exit abort không làm thế nào sd được kiến thức của em nông cạn quá mong anh chỉ giáo

 

anh vbao ơi làm thành file hoàn chỉ đi chứ như thế này thì em chẳng hiểu gì cả. Làm đi làm lại mãi mà chẳng được

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
em không thể sử dụng đwợc anh ơi

Anh có thể viết thành đoạn code hoàn chỉnh được không em làm nó toàn báo lỗi mia ; error: quit / exit abort không làm thế nào sd được kiến thức của em nông cạn quá mong anh chỉ giáo

 

anh vbao ơi làm thành file hoàn chỉ đi chứ như thế này thì em chẳng hiểu gì cả. Làm đi làm lại mãi mà chẳng được

 

Em tìm trong diễn đàn tiện ích trắc địa của anh ssg thực hiện rất hay và dễ hiểu, nếu chưa rõ cho anh mail box của em, anh sẽ hướng dẫn

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
Anh Vbao. Lại phiền anh rồi em làm theo hướng dẫn nhưng nố lại chuyển đếm 1 trang khác cái trang này chẳng có gì cả www.110mb.....404

 

Đúng vậy, không hiểu sao ở đây không down được. Bạn chuyển đến:

 

http://www.cadviet.com/forum/index.php?sho...c=407&st=20

 

là OK.

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
http://www.cadviet.com/upfiles/Tracdia2.rar

chữ T viết hoa.

 

Vì server chứa dữ liệu sử dụng hệ điều hành Linux, nên chữ hoa với chữ thường là khác nhau.

Không phải bác Hoành ạ! Bên kia vẫn T viết hoa! Ssg nhớ có lần cũng bị như vậy, khi copy một link ở mục khác sang bài đang viết là bị lỗi (copy address của trình duyệt thì không bị).

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
Không phải bác Hoành ạ! Bên kia vẫn T viết hoa! Ssg nhớ có lần cũng bị như vậy, khi copy một link ở mục khác sang bài đang viết là bị lỗi (copy address của trình duyệt thì không bị).

T hoa là đúng mà, Vbao viết là t thường!

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

×