HƯỚNG DẪN SỬ DỤNG LISP VẼ MẶT CẮT ĐỊA CHẤT CÔNG TRÌNH
Bộ lisp này được viết để sử dụng vẽ mặt cắt công trình. Cũng như tất cả các bộ lisp khác mục đích của lisp này nhằm giúp cho người thiết kế vẽ đẹp hơn, đồng bộ hơn và tiết kiệm thời gian. Để sử dụng lisp này (cũng như các lisp khác) các bạn có thể mở file .lsp bằng Notepad sẽ thấy nội dung như dưới đây. Các bạn tự đọc cũng có thể hiểu được cơ bản Code này.
; Ve mat cat dia chat cong trinh
( defun C:TL ( / Saumax )
(Command "-style" "VNTIME" ".Vntime" "0" "1" "0" "NO" "NO")
(command "osmode" "0")
(setq Vitri ( getpoint "\nCho vi trí thuoc ty lê:"))
(setq TLD ( getreal " \nCho ty lê dung: 1/"))
(setq TLN ( getreal " \nCho ty lê ngang: 1/"))
(setq Batdau ( getreal " \nCho cao dô bat dâu= "))
(setq Saumax ( getreal " \nCho dô sâu hô khoan max= "))
(command "Color" "7")
(setq Soo (+( / (* Saumax 100 ) TLD) 1) )
(setq Vtchu ( polar Vitri 0 4 ))
(if ( >= Batdau 0) (command "text" "style" "vntime" Vtchu "2" "0" (Strcat "+"( Rtos Batdau 2 1) )))
(if ( < Batdau 0) (command "text" "style" "vntime" Ghichu "2" "0" (Rtos Batdau 2 1 ) ))
(setq dem 1 )
(while (<= dem Soo )
(setq Vitri1( polar Vitri (-(/ PI 2)) (-(* dem 10) 10 )))
(setq X1( polar Vitri1 (-(/ PI 2)) 10 ) )
(setq Y1( polar X1 0 1.5 ))
(command "rectangle" Vitri1 Y1 )
(if (= (rem dem 2) 0 ) (command "solid" Vitri1 "@1.5,0" "@-1.5,-10" "@1.5,0" ""))
(setq Ghichu( polar X1 0 4 ))
(setq Khdich (/ TLD 100))
(setq Chu (- Batdau (* dem Khdich ) ) )
(if ( >= Chu 0) (command "text" "style" "vntime" Ghichu "2" "0" (Strcat "+" ( Rtos Chu 2 1 ) )))
(if ( < Chu 0) (command "text" "style" "vntime" Ghichu "2" "0" (Rtos Chu 2 1 ) ))
(setq dem ( + 1 dem ))
); end of while
(command "Color" "1")
(setq Khch( polar Vitri (-(/ PI 2)) (* (+ Soo 1 ) 10 ) ) )
(setq Khch1( polar Khch (-(/ PI 2)) 8 ))
(setq Khch2( polar Khch1 (-(/ PI 2)) 8 ))
(setq Kh1( polar Khch 0 -15 ))
(command "line" Kh1 "@0,-24" "@30,0" "@ 0,24" "C" "")
(setq Kh1chu( polar Kh1 -1.1 5.8))
(setq Kh2chu( polar Kh1chu (-(/ PI 2)) 7.5))
(setq Kh3chu( polar Kh2chu (-(/ PI 2)) 7.5))
(command "Color" "7")
(command "text" "style" "VNTIME" Kh1chu "2" "0" "Ký hiÖu")
(command "text" "style" "VNTIME" Kh2chu "2" "0" "Cao ®é HK (m)")
(command "text" "style" "VNTIME" Kh3chu "2" "0" "Kho¶ng c¸ch (m)")
; Bat dau vao so lieu cac ho khoan
(setq Sohk ( getreal "\nCho sô luong cac hô khoan:"))
(setq so 1)
(while (<= so Sohk)
(setq Chuoi ( getstring ( strcat "\nCho tên HK thu " (rtos so 2 0 )":" )))
(setq Caodo ( getreal ( strcat "\nCho cao dô hô khoan thu " (rtos so 2 0 )":" )))
(setq Ktg ( polar Vitri (-(/ PI 2)) (/(*(- Batdau Caodo) 1000) TLD ) ))
(if (= so 1) (setq Khcach 0 ))
(setq KC (/ (* Khcach 1000 ) TLN))
(setq K1 ( polar Ktg 0 (+ 25 KC ) ) )
(setq Tg K1)
(setq Dosau ( getreal ( strcat "\nCho dô sâu hô khoan thu " (rtos so 2 0 )":" )))
(setq Lop( getint ( strcat " \nCho sô lop hô khoan thu " (rtos so 2 0 )":" )))
(setq D1( polar Tg 0 1.5 ))
(setq DC1( polar Tg (-(/ PI 2)) (* Dosau(/ 1000 TLD))) )
(setq DC2( polar DC1 0 1.5))
(setq Chuhk( Polar Kh1chu 0 (+ KC 42)))
(setq Chucaodo( Polar Kh2chu 0 (+ KC 34)))
(setq Gach( Polar Khch2 0 (+ KC 25 0.75)))
(setq Tam( Polar Gach (/ PI 2) 12 ))
(command "Color" "1")
(command "Circle" Tam "1.3" "")
(command "line" Tam "@0,1.3" "@0,-2.6" "")
(command "line" Gach "@ 0, -8" "")
( setq solop 1 )
( while ( <= solop Lop )
(command "Color" "1")
( setq Saulop( getreal ( strcat " \nCho dô sâu lop thu " (rtos solop 2 0 )":" )))
( setq Cddlop(- Caodo Saulop))
( setq D2( polar D1 (-(/ PI 2 )) (* Saulop (/ 1000 TLD) )))
( setq D3( polar D2 0 -1.5 ))
( setq Ghidosau( polar D2 0.5 1.2 ))
( setq Ghicaodo( polar Ghidosau 0 -2.8 ))
(if (= so 1)
( progn
( command "line" D3 "@ -10,0" "" )
(command "line" D2 "@ 3,0" "" )
)
)
(if (> so 1)
( progn
( command "line" D2 "@ 3,0" "")
(command "line" D3 "@ -2,0" "" )
)
)
(if (= so Sohk)
( progn
( command "line" D2 "@ 10,0" "" )
(command "line" D3 "@ -2,0" "" )
)
)
( command "Color" "7")
( command "Text" "style" "VNTIME" Ghidosau "2.0" "0" ( Rtos Saulop 2 1))
( command "Text" "Justify" "R" Ghicaodo "1.8" "0"(rtos Cddlop 2 2))
( setq solop( + 1 solop ))
); end of while
(command "Color" "7")
(command "line" tg DC1 "" )
(if ( >= Caodo 0) (command "text" "style" "VNTIME" Chucaodo "2" "0" (Strcat "+"( Rtos Caodo 2 2) )))
(if ( < Caodo 0) (command "text" "style" "VNTIME" Chucaodo "2" "0" (rtos Caodo 2 2 ) ))
(command "Color" "2")
(command "line" DC1 DC2 D1 "")
(command "Color" "7")
(command "Text" "style" "VNTIME" Chuhk "2.5" "0" Chuoi )
(command "Color" "1")
(if (= so 1)
( progn
( setq DCD ( polar DC1 0 -10 ))
( command "line" tg "@ -10,0" DCD "" )
)
)
(if (= so Sohk)
( progn
( setq DCC ( polar DC2 0 10))
( command "line" D1 "@ 10,0" DCC "" )
)
)
(if (< so Sohk)
( progn
(setq Khcach1( getreal ( strcat "\nCho khoang cách hô khoan thu " (rtos (+ so 1) 2 0 ) " toi hô khoan truoc do (m):" )))
(setq Gachgiua( polar Gach (-(/ PI 2 )) 5 ))
(setq ChuKcach( polar Gachgiua 0 (-( / (* Khcach1 1000) 2 TLN) 2)))
(command "text" "style" "VNTIME" ChuKcach "2" "0" (rtos Khcach1 2 1 ) )
)
)
(command "redraw" "")
(setq Khcach (+ Khcach Khcach1 ) )
(setq so(+ 1 so ))
); end of while so ho khoan
(setq Kh2 (polar Kh1 (-(/ PI 2)) 8))
(setq Kh3 (polar Kh2 (-(/ PI 2)) 8))
(setq Cuoi3 (polar Gach 0 10 ))
(setq Cuoi2 (polar Cuoi3 (/ PI 2) 8))
(setq Cuoi1 (polar Cuoi2 (/ PI 2) 8))
(setq Cuoi4 (polar Cuoi3 (-(/ PI 2)) 8))
(command "line" Kh2 Cuoi2 "")
(command "line" Kh3 Cuoi3 "")
(command "rectangle" Kh1 Cuoi4 )
(command "Color" "1")
(command "osmode" "6247")
); end of defun
Cách sử dụng các bạn thao tác cụ thể như sau:
Bước 1: Download file lisp về và lưu vào ổ bất kỳ trong máy tính
Bước 2: Dùng lệnh AP >chọn đường dẫn đến vị trí chứa file lisp đã lưu và chọn “Load” để load file vào Autocad.
Bước 3: Dùng lệnh TL để bắt đầu thực hiện việc vẽ cột mặt cắt địa chất. Trong Autocad sẽ lần lượt hiện các dòng lệnh hướng dẫn theo trình tự vẽ mặt cắt địa chất như sau:
- Chọn vị trí thước tỷ lệ: Các bạn pick chuột vào vị trí cần vẽ mặt cắt địa chất.
- Chọn tỷ lệ đứng: Bạn chọn tỷ lệ theo phương đứng cho cột địa chất. Ví dụ: 50,100…
- Chọn tỷ lệ ngang: Bạn chọn tỷ lệ theo phương ngang cho cột địa chất. Ví dụ: 50,100…
- Chọn cao độ bắt đầu của cột địa chất: Ví dụ +0.00 hoặc cao độ nào tùy thuộc vào mặt bằng hiện trạng của bạn.
- Chọn chiều sâu lỗ khoan max: Bạn chọn chiều sâu của lỗ khoan lớn nhất. VD: 50m, 60m….
- Chọn số lượng lỗ khoan: Theo số lượng lỗ khoan khảo sát.
- Đặt tên lỗ khoan: ví dụ: BH1, BH2…
- Chọn cao độ lỗ khoan thứ 1: theo cao độ mặt bằng tại vị trí của lỗ khoan địa chất đó. VD: +0.0.
- Chọn độ sâu lỗ khoan thứ nhất: vd: 50m
- Chọn số lớp lỗ khoan thứ nhất: Theo số lớp địa chất được khoan khảo sát.
- Chọn độ sâu lớp 1: là độ sâu của lớp 1. VD: 5.2m
- Chọn độ sâu của lớp 2,3…: nhập độ sâu của các lớp tương tự như lớp 1
- Các lỗ khoan tiếp theo thực hiện tương tự lỗ khoan 1.
- Cuối cùng bạn pick trên cad sẽ hiện thị ra cột địa chất và đã được chia các lớp và cao độ tương ứng của các lớp đó.
Bước 4: Bạn chọn Hatch trong Cad để hatch mặt cắt địa chất cho các lớp địa chất.
Chúc các bạn thực hiện thành công để giảm nhẹ và làm việc hiệu quả hơn.