Đến nội dung


Hình ảnh
- - - - -

[Xin giúp chỉnh sửa]Vẽ cột so sánh cho MCN địa hình


  • Please log in to reply
4 replies to this topic

#1 lenhatanh

lenhatanh

    biết vẽ polygon

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

Đã gửi 05 July 2011 - 09:13 AM

Em nhờ các Bác chỉnh sửa giúp Lisp vẽ cột so sánh cho các mặt cắt ngang địa hình...
link đến file CAD cho dễ hiểu: http://www.cadviet.c.../3/drawing4.dwg

(defun C:Do-Cososa()
; (/ solan sl step cdo che caotext daitext mss tiled Nhim
; di1 di2 di3 di4 di5 di6 di7 di8 di9 p1 p2 p3 pp)
(command "undo" "be")

(if (not tiled) (setq tiled 100.0))
(setq tiledo (getreal (strcat "\n TiLe Dung Ve Mat Cat <" (rtos tiled 2 0) ">...: ")))
(if tiledo (setq tiled tiledo))

(if (not mss) (setq mss 0.0))
(setq msso (getreal (strcat "\n Muc So Sanh Cua M.Cat <" (rtos mss 2 2) ">...: ")))
(if msso (setq mss msso))

; (setq tiled (getreal "\n TiLe Dung Ve Mat Cat...: "))
; (setq mss (getreal "\n Muc So Sanh Cua M.Cat...: "))

(setq cdo (getreal "\n Cao Do Max Cua Duong D.Hinh...: "))
(setq di1 (getpoint "\n Diem Dat Thuoc...: "))
(setq caotext (getvar "Textsize") daitext (* 20 caotext))
(setq step (/ tiled 100)
che (- cdo mss)
solan (+ (fix (/ (* che 100) tiled)) 1) sl nil)
(setq di2 (polar di1 (-(/ pi 2)) (* caotext 6))
di3 (polar di2 (-(/ pi 2)) (* caotext 3))
di4 (polar di1 (- pi) daitext)
di5 (polar di2 (- pi) daitext)
di6 (polar di3 (- pi) daitext)
di7 (polar di1 (/ pi 2) solan)
di8 (polar di7 (- pi) 0.2)
di9 (polar di1 (- pi) 0.2)
)
(command "Osmode" 0)
(command "color" 7 "PLine" di6 di4 di1 di7 di8 di9 "")
(command "_text" "J" "MC" (list (+ (car di5) (* 10 caotext)) (+ (cadr di5) (* 3 caotext))) "0" "Cao ®é (m)")
(command "_text" "J" "MC" (list (+ (car di6) (* 10 caotext)) (+ (cadr di6) (* 1.5 caotext))) "0" "Kho¶ng c¸ch (m)")
(command "_text" "J" "C" (list (+ (car di4) (* 10 caotext)) (+ (cadr di1) (* 0.75 caotext))) "0" (strcat "mss: " (rtos mss 2 2)))
(command "color" 8 "Line" di2 di5 "" "Line" di3 di6 "")
;;---------------------- Ve Truc --------------------------
(setq p1 (polar di1 (/ pi 2) 1) p2 (polar di1 (- pi) 0.1)
p3 (polar p1 (- pi) 0.1))
(command "color" 8 "solid" di1 p1 p2 p3 "")
(cond
;;;;;;;;;;; Solan la chan -------------------
((= (/ solan 2) (fix (/ solan 2)))
(setq sl (- (fix (/ solan 2)) 1))
)
;;;;;;;;;;; Solan la le---------------------
(T
(setq sl (+ (fix (/ solan 2)) 1))
)
)
(repeat sl
(setq pp (polar di1 (/ pi 2) 2))
(command "copy" "L" "" di1 pp "")
(setq di1 pp)
)
(command "copy" "L" "" di1 p3 "")
(repeat sl
(setq pp (polar p3 (/ pi 2) 2))
(command "copy" "L" "" p3 pp "")
(setq p3 pp)
)
;;------------------------------ Ghi Text Truc ----------------------------
(repeat solan
(setq pp (polar p1 (- pi) 0.4) mss (+ mss step))
(command "color" 7 ".TEXT" "MR" pp "0" (rtos mss 2 2))
(setq p1 (polar p1 (/ pi 2) 1))
)
;;-------------------------------------------------------------------------
(setq mss nil)
(command "Osmode" 33 "color" "Bylayer" "ortho" "on" "redraw")
(command "undo" "e")
(princ)
)

  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 05 July 2011 - 09:53 AM

Không phải chuyên ngành nên đọc lồi mắt ra mình vẫn chưa hiểu cái lisp nó làm cái gì ^^ Chạy thôi ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 lenhatanh

lenhatanh

    biết vẽ polygon

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

Đã gửi 05 July 2011 - 02:38 PM

Để em diễn giải lại cho dễ hiểu:
- Các mặt cắt ngang Địa Hình ban đầu chưa có cột so sánh ở đầu mặt cắt... (Hình 1)
- Sử dụng lisp để thêm cột so sánh ở đầu cho các MCN địa hình đó (H2- H3).
- Hiện lisp thể hiện việc thêm cột so sánh chưa hoàn thiện: các hình Solid thể hiện
trắng đen của cột chưa đúng khi thay đổi Mức so sánh, thay đổi tỉ lệ đứng... của mặt cắt (H3).
- Yêu cầu chỉnh sửa Lisp sao cho các hình Solid đúng khi thay đổi MSS hay TILE của MCN.
- Link đến bản vẽ CAD minh hoạ: http://www.cadviet.c.../3/drawing4.dwg
  • 0

#4 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 05 July 2011 - 03:20 PM

Như thế nào gọi là đúng bạn ơi ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#5 lenhatanh

lenhatanh

    biết vẽ polygon

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

Đã gửi 05 July 2011 - 04:33 PM

Như thế nào gọi là đúng bạn ơi ^^

- Hiện lisp thể hiện việc vẽ các Solid thể hiện trắng đen của cột chưa đúng khi thay đổi Mức so sánh, thay đổi tỉ lệ đứng... của mặt cắt (H3).
- Yêu cầu chỉnh sửa Lisp sao cho các hình Solid rải đều trên cột so sánh khi thay đổi MSS hay TILE của MCN.
  • 0