Đến nội dung


Hình ảnh
* * * - - 2 Bình chọn

Viết Lisp theo yêu cầu


  • Chủ đề bị khóa Chủ đề bị khóa
2780 replies to this topic

#2521 q288

q288

    biết lệnh fillet

  • Members
  • PipPipPipPip
  • 209 Bài viết
Điểm đánh giá: 164 (tàm tạm)

Đã gửi 04 August 2009 - 08:44 PM

Nhờ Bác q288 coi lại dùm em tại sao bản vẽ này không thể chạy bảng tạo độ bởi lisp VC được, mặc dù em đã chạy thử nhiều thửa khác nhau nhưng vẫn không được.
Dưới đây là bản vẽ của em.
http://www.cadviet.c...les/2/mau_4.dwg
Không biết bác nào có lisp xóa line trùng của Bác SSG giới thiệu không vậy? Nếu có thì cho em xin với. Thank các Bác nhiều. :s_dead:



Do ucs của bản vẽ này không phải là world, trước khi vào lệnh hoặc sau khi mở file, bạn gõ lệnh ucs rồi enter hoặc gõ W rồi enter.
  • 1

#2522 conghoan1003

conghoan1003

    biết vẽ point

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

Đã gửi 05 August 2009 - 08:52 AM

Chào các bác!
Các bác cho mình hỏi cái này tí: Trong bản vẽ của mình có nhiều text thuộc nhiều style khác nhau. Nhưng mà nó lại chẳng nhận chiều cao của style đó. Mình đang tìm một cái lệnh nào để đưa tấc cả các chiều cao của text về đúng chiều cao trong style của text đó. Nếu không cho mình xin cái lisp để làm việc này.
Cảm ơn nhiều!
  • 0
Học học nữa học mãi.
Đúp học lại!

#2523 xuandao0708

xuandao0708

    biết lệnh scale

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

Đã gửi 05 August 2009 - 10:17 AM

Thank Bác q228 nhiều, nhân tiện đây nhờ Bác cải tiến chút ích lệnh KT, tại vì khi làm bản vẽ phân lô thì chạy kích thước chì nên là tròn là 1 số thôi. Còn lisp Bác viết cho em thì khi chạy nó làm tròn 2 số lẻ. Nay em nhờ Bác chỉnh lại 1 chút là sau khi nhập tỷ lệ thì nó sẽ hỏi giá trị làm tròn là 1 hay 2 số lẽ. Cá mơn Bác nhiều.
  • 0

#2524 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1435 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 05 August 2009 - 11:04 AM

Chào các bác!
Các bác cho mình hỏi cái này tí: Trong bản vẽ của mình có nhiều text thuộc nhiều style khác nhau. Nhưng mà nó lại chẳng nhận chiều cao của style đó. Mình đang tìm một cái lệnh nào để đưa tấc cả các chiều cao của text về đúng chiều cao trong style của text đó. Nếu không cho mình xin cái lisp để làm việc này.
Cảm ơn nhiều!

Lisp đưa tất cả các text về đúng chiều cao trong style của text đó. (Trừ truờng hợp chiều cao của text khai báo trong TextStyle =0)
Lisp chưa tối ưu về thời gian nhưng kết quả chấp nhận đuợc. :s_dead:
(defun C:Cth (/ ss e txtsize)
(defun dxf(id entdata) (cdr (assoc id entdata)) )
(defun ModEnt(id newval ds / ds)
(setq ds (subst (cons id newval) (assoc id ds) ds))
(entmod ds) (princ)
)
; main
(command "_.undo" "_begin")
(setvar "cmdecho" 0)
(if (setq ss (ssget "_X" (list (cons 0 "TEXT" )(cons 410 (getvar "CTAB") ) )))
(foreach e (mapcar 'entget (mapcar 'cadr (ssnamex ss)))
(setq txtsize (dxf 40 (tblsearch "style" (dxf 7 e))));ch/cao Text cua TextStyle
(if (/= txtsize 0)(ModEnt 40 txtsize e));bo qua t/hop ch/cao Text cua TextStyle=0
)
)
(command "_.undo" "_end")
(princ)
)

  • 2

#2525 q288

q288

    biết lệnh fillet

  • Members
  • PipPipPipPip
  • 209 Bài viết
Điểm đánh giá: 164 (tàm tạm)

Đã gửi 05 August 2009 - 02:46 PM

Thank Bác q228 nhiều, nhân tiện đây nhờ Bác cải tiến chút ích lệnh KT, tại vì khi làm bản vẽ phân lô thì chạy kích thước chì nên là tròn là 1 số thôi. Còn lisp Bác viết cho em thì khi chạy nó làm tròn 2 số lẻ. Nay em nhờ Bác chỉnh lại 1 chút là sau khi nhập tỷ lệ thì nó sẽ hỏi giá trị làm tròn là 1 hay 2 số lẽ. Cá mơn Bác nhiều.


Sửa theo ý bạn rồi đây.

(defun muiten(pt an)
(entmakex (append '((0 . "LWPOLYLINE") (100 . "AcDbEntity") (8 . "Kthuoc") (100 . "AcDbPolyline") (90 . 3))
(list (cons 10 pt) '(41 . 0.33) '(42 . 0.0)
(cons 10 (polar pt an 0.9)) '(41 . 0.0) '(42 . 0.0)
(cons 10 (polar pt an 1.8)))))
)

(defun laydinh(plObj / n L)
(setq n -1
L nil)
(repeat (fix (1+ (vlax-curve-getEndParam plObj)))
(setq L (append L (list (vlax-curve-getPointAtParam plObj (setq n (1+ n)))))))
L
)

(defun ghikt(obj k / Ldinh n p1 p2 ndai ang pm dai)
(if (= k 1)
(progn
(setq Ldinh (laydinh obj)
n 0)
(repeat (1- (length Ldinh))
(setq p1 (nth n Ldinh)
p2 (nth (setq n (1+ n)) Ldinh)
ndai (/ (setq dai (distance p1 p2)) 2)
ang (if (< (car p1) (car p2)) (angle p1 p2) (angle p2 p1))
p1 (polar p1 (+ ang (* 0.5 pi)) 0.5)
p2 (polar p2 (+ ang (* 0.5 pi)) 0.5)
pm (polar p1 (angle p1 p2) ndai)
)
(ghichu))
)
(progn
(setq p1 (vlax-curve-getStartPoint obj)
p2 (vlax-curve-getEndPoint obj)
ndai (/ (setq dai (distance p1 p2)) 2)
ang (if (< (car p1) (car p2)) (angle p1 p2) (angle p2 p1))
p1 (polar p1 (+ ang (* 0.5 pi)) 0.5)
p2 (polar p2 (+ ang (* 0.5 pi)) 0.5)
pm (polar p1 (angle p1 p2) ndai)
)
(ghichu)
))
)

(defun ghichu()
(entmakex (list '(0 . "TEXT") (cons 11 pm) (cons 10 pm) (cons 40 caoc) (cons 50 ang)
'(72 . 1) '(73 . 1) (cons 1 (rtos (* scalen dai) 2 ssle))))
(if (= ck "C")
(progn (muiten p1 (angle p1 p2))
(muiten p2 (angle p2 p1)))
)
)

(defun c:kt(/ ck scale1 ss caoc scalen obj)
(vl-load-com)

(if (not scale) (setq scale 500))
(initget "C K")
(setq ck (getkword "\nCo ve mui ten khong? (C/K):")
scale1 (getreal (strcat "\nTy le <1/" (rtos scale 2 0) ">: 1/"))
ssle (getint "\nSo so le:")
ss (ssget '((0 . "LINE,*POLYLINE"))))

(if (not ck) (setq ck "C"))
(if scale1 (setq scale scale1))
(setq scalen (/ scale 500)
caoc 0.85 )

(command "-layer" "n" "Kthuoc" "c" 4 "Kthuoc" "l" "continuous" "Kthuoc" "lw" "default" "Kthuoc" "")
(setvar "clayer" "Kthuoc")

(foreach ent (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))
(setq obj (vlax-ename->vla-object ent))
(if (= (cdr (assoc 0 (entget ent))) "LINE")
(ghikt obj 0)
(ghikt obj 1))
)
(princ)
)

  • 1

#2526 HoangSon614

HoangSon614

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 254 Bài viết
Điểm đánh giá: 66 (tàm tạm)

Đã gửi 05 August 2009 - 08:08 PM

Đây là lisp mà một người bạn cho mình, nó rất có ích trong vẽ trắc dọc ống cấp nước (lisp: Vẽ trắc dọc ống cấp nước). Khi dùng có một vài vấn đề mà mình muốn hoàn thiện hơn. Nhưng vì chẳng biết gì về lisp cả, lực bất tòng tâm nên mình làm phiền Tue_NV, không biết có quá đáng không? nhưng bạn cố gắng xem và sửa giúp mình những vấn đề sau: (mình rất hy vọng ở bạn). Mình chờ tin bạn. Cảm ơn bạn rất nhiều
1. Khi mình vẽ với đơn vị mặc định là inches thì kết quả không vấn đề gì (Hình 1), nhưng khi vẽ với đơn vị mặc định là mm thì kết quả không chính xác (Hình 2).
2. Mình muốn thể hiện mặt cắt ống bằng 2 nét và thêm ký hiệu đất vào (nằm giữa khoảng cách 2 cọc) (Hình 3)
Mình muốn Tue_NV chỉnh lại như sau:
Vấn đề 1: Khi vẽ với đơn vị bản vẽ mặc định là mm
Vấn đề 2: Như mình nói ở trên

;--------------------------------
;;function set parameter
(defun Init ()
(setvar "BLIPMODE" 0)
(setvar "CMDECHO" 0)
(setvar "ANGBASE" 0)
);;
;--------------------------------
;;function return parameter
(defun Reinit ()
(setvar "BLIPMODE" 0)
(setvar "CMDECHO" 1)
(setvar "ANGBASE" 0)
)
;--------------------------------
;;function change degree to radian
(defun doi (a)
(* PI (/ a 180))
)
;--------------------------------
;function set corner by radian
(defun doi1 ()
(setq a 1.5707965 a45 0.78539825
b 3.141593 b45 -0.78539825
c 4.7123895
)
)
;--------------------------------
;;function change radian to degree
(defun doi2 (d)
(* 180 (/ d pi))
)
;;
;--------------------------------
; make layer
(defun taolop ()
(command
"-OSNAP" "OFF"
"layer" "m" "manh" "c" "252" "" "l" "continuous" "manh" "lw" "0.2" "" ""
"layer" "m" "giong" "c" "252" "" "l" "continuous" "giong" "lw" "0.2" "" ""
"layer" "m" "bao" "c" "1" "" "l" "continuous" "bao" "lw" "0.25" "" ""
"layer" "m" "ong" "c" "5" "ong" "l" "continuous" "ong" "lw" "0.8" "" ""
"layer" "m" "chua" "c" "3" "" "l" "continuous" "" ""
"layer" "m" "chuv" "c" "3" "" "l" "continuous" "" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"style" "chua" "romans.shx" "" "0.7" "" "" "" ""
)
)
;
;--------------------------------
;---------------------------------
;1 ENDP 2 MID 4 CEN 8 NODE 16 QUA 32 INT 64 INS 128 PER 256 TAN 512 NEA 1024 QUI
;;ONAP ENDP INT(MID) NEAR
(defun onap ()
(setvar "OSMODE" (+ 1 32 512))
)
;;;;ONAP ENDP INT(MID) CEN
(defun onap1 ()
(setvar "OSMODE" (+ 1 4 32))
)
;;;
;;;;ONAP ENDP INT(MID) CEN
(defun onap2 ()
(setvar "OSMODE" (+ 1 2 4 16 32 128 512))
)
;;;;;;
(defun ofnap ()
(command "-OSNAP" "OFF" )
)
;----------------------------(ofnap) (onap2)
(defun COCSS()
(doi1)
(setq
i 1
j 0
Ess1 (+ Ess 1)
Ptssx (polar Ptss 0 -1) Ptssx1 (polar Ptssx a (* Esn Td))
Ptssy (polar Ptss 0 1) Ptssy1 (polar Ptssy a (* Esn Td))
)
(Repeat Esn
(setq Ess2 (rtos Ess1 2 2)
Ptss2 (polar Ptss 0 (* i 0.5))
Ptss21 (polar Ptss2 a (* j Td)) Ptss22 (polar Ptss21 a Td)
Ptss3 (polar Ptss 0 -1)
Ptss31 (polar Ptss3 a (+ (* j Td) Td)) Ptss32 (polar Ptss31 0 -5)
Ptss33 (polar Ptss32 0 -1)
)
(command
"layer" "s" "manh" ""
"pline" Ptss21 "w" 1.0 1.0 Ptss22 ""
"line" Ptss31 Ptss32 ""
"layer" "s" "chuv" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "j" "mr" Ptss33 2.5 0.0 (strcat Ess2)
)
(setq
i (* i -1)
j (+ j 1)
Ess1 (+ Ess1 1)
)
);endrepeat
(command "layer" "s" "manh" "" "pline" Ptssx "w" 0.0 0.0 Ptssx1 Ptssy1 Ptssy ""
)
);end function comparation (princ lis)
;==========================
;function main
(defun C:TD ()
(Init)
(taolop)
(doi1)
;-----------------------------------------
;-----------------------------------------
(Princ "\n**Day la chuong trinh ve TRAC DOC duoc viet boi Anh NGUYEN NGOC QUANG**")
(setq
Tln (getint "\nTy le ngang :")
Tld (getint "\nTy le dung :")
Tn (/ 1000 Tln)
Td (/ 1000 Tld)
)
;-----------------------------------------
(setq LisLkcd1 nil LisLkcd nil
LisLkcdo nil)
(initget "Moi Tieptuc")
(Princ "\n")
(setq Ansertt (getint "\nVe moi hay tiep tuc <1.Moi/2.Tieptuc> :")
)
(cond
((= Ansertt 1)
(setq
Kcdo 0 LisLkcdo (cons Kcdo LisLkcdo)
Kcd 0 LisLkcd1 (cons Kcd LisLkcd1)
LisLkcd LisLkcdo)
)
((= Ansertt 2)
(setq
Kcdo (getreal "\nChieu dai tai coc tiep theo (m):");distance 2 station
Kcd (* Kcdo Tn) ; distance
LisLkcd (cons (- Kcdo Kcdo) LisLkcd)
LisLkcdo (cons Kcdo LisLkcdo)
LisLkcd1 (cons Kcd LisLkcd1))
)
)
(progn
;------------------------------------(princ lis)
(onap)
(setq Pta (getpoint "\nChon diem bat dau ve :")
Pta1 (polar pta 0 60)
Pta2 (polar pta 0 5)
Pta3 (polar pta 0 60)
Pta4 (polar pta 0 14.75)
Pta5 (polar pta2 a 95)
Pta6 (polar pta4 a 90)
Ptss1 (polar pta 0 57)
Ptss (polar Ptss1 a 70)
Ptsg1 (polar pta 0 60)
Ptsg (polar Ptsg1 a 15)
Ess (getreal "\nCao do so sanh :")
Esn (getint "\nSo moc so sanh :")
Es (rtos Ess 2 2)
VL (getint "\nVat lieu ong :")
D (getreal "\nDuong kinh ong :")
Ho (getreal "\nDo sau chon ong ban dau (m):")
i 0
LisCSS '("[STAKE NO.]" "TEÂN COÏC"
"[ANGLE OF DIRECTION]" "GOÙC QUAY MAËT BAÈNG (0%%176)"
"[ACCU. DISTANCE]" "KHOAÛNG CAÙCH COÄNG DOÀN (m)"
"[DIA - GRADIENT.]" "ÑÖÔØNG KÍNH - ÑOÄ DOÁC (%)"
"[DEPTH .]" "ÑOÄ SAÂU CHOÂN OÁNG (m)"
"[PIPE BOTTOM ELEV.]" "CAO ÑOÄ ÑAÙY OÁNG (m)"
"[GROUND ELEV.]" "CAO ÑOÄ MAËT ÑAÁT (m)"
"[DATUM.]" "COÁT SO SAÙNH")
LisTs '("Cot mat dat coc so" "Do doc doan ong giua hai coc"
"Khoang cach giua hai coc"
"Goc quay mat bang coc so")
LisVL '("STK" "uPVC" "THEÙP" "GANG" "BEÂ TOÂNG" "BTCT" "SAØNH" "HDPE")
Lismd nil Lisdo nil LisHo nil Lisi nil Lisio nil LisLkc nil LisLkco nil
LisTcoc nil LisGoc nil LisDeltaMD nil LisdeltaDO nil
)
(ofnap)
;--------
;-------------------------------------------
;data stake no.
(Princ "\n**Neu khong muon ky tu dau cua Coc la mot Chu Cai (VD:A, B...) ma la mot so thuc
(VD:1, 2...) thì nhan phim Space bar de tiep tuc**")
(setq k (getint "\nSo coc:")
CTc (getstring "\nKy tu dau cua coc:")
Tcoc (getint "\nTen coc dau tien hoac tiep theo:")
Ki Tcoc
i1 Tcoc
i2 Tcoc
i3 Tcoc
i4 Tcoc
i5 Tcoc
)
(repeat k
(progn
(setq
LisTcoc (cons Tcoc LisTcoc)
Tcoc (1+ Tcoc)
)
);endprogn
);endrepeat;(princ Lis)
(setq LisTcoc (reverse LisTcoc))
;-------------------------------------------
;data ground level.
(repeat k
(progn
(print (nth 0 LisTs)) (prin1 CTc) (prin1 Ki)
(setq
Cmdo (getreal "\nCao do mat dat (m) :")
Cmd Cmdo
Lismd (cons Cmd Lismd)
Ki (1+ Ki)
)
);endprogn
);endrepeat;(princ Lis)
(setq Lismd (reverse Lismd))
;-------------------------------------------
;data gradient.
(repeat (- k 1)
(progn
(print (nth 1 LisTs)) (prin1 CTc) (prin1 i1) (prin1 CTc) (prin1 (+ i1 1))
(setq
io (getreal "\nDo doc dat ong <+ doc xuoi/- doc nguoc> (%) :")
io1 (/ io 1) Lisi (cons io1 Lisi)
io2 (* io 1000) Lisio (cons io2 Lisio)
i1 (1+ i1)
)
);endprogn
);endrepeat;(princ Lis)
(setq Lisi (reverse Lisi) Lisio (reverse Lisio))
;-------------------------------------------
;data distance.
(repeat (- k 1)
(progn
(print (nth 2 LisTs)) (prin1 CTc) (prin1 i2) (prin1 CTc) (prin1 (+ i2 1))
(setq
Kco (getreal "\nKhoang cach giua hai coc (m):");distance 2 station
Kc (* Kco Tn) ; distance
LisLkco (cons Kco LisLkco)
LisLkc (cons Kc LisLkc)
i2 (1+ i2)
)
);endprogn
);endrepeat;(princ Lis)
(setq LisLkc (reverse LisLkc) LisLkco (reverse LisLkco))
;----------------------------------------
;mapcar Kcdo Kcd1
(setq n1 0 Kcd1 0)
;Kcdo 0 LisLkcdo (cons Kcdo LisLkcdo)
;Kcd 0 LisLkcd1 (cons Kcd LisLkcd1))
(mapcar
'(lambda (Kco Kc)
(setq
Kcdo (+ Kcdo (nth n1 LisLkco)) LisLkcdo (cons Kcdo LisLkcdo)
Kcd (+ Kcd (nth n1 LisLkc)) LisLkcd1 (cons Kcd LisLkcd1)
Kcd1 (+ Kcd1 (nth n1 LisLkc)) LisLkcd (cons Kcd1 LisLkcd)
n1 (1+ n1)
)
);endlambda
LisLkco LisLkc
);endmapcar
(setq LisLkcdo (reverse LisLkcdo) LisLkcd1 (reverse LisLkcd1) LisLkcd (reverse LisLkcd))
;----------------------------------------
;mapcar deltaMD deltaDO
(setq n2 1
n3 0
LisHo (cons Ho LisHo)
Cdo (- (nth 0 Lismd) Ho) Lisdo (cons Cdo Lisdo)
DeltaMD (* (- (nth 0 Lismd) Ess) Td) DeltaDO (* (- (nth 0 Lismd) Ess Ho) Td)
LisDeltaMD (cons DeltaMD LisDeltaMD) LisDeltaDo (cons DeltaDo LisDeltaDo))
(mapcar
'(lambda (Cmd io1 Kco)
(setq
Cdo (- Cdo (* Kco (nth n3 Lisi))) Lisdo (cons Cdo Lisdo)
Ho (- (nth n2 Lismd) Cdo) LisHo (cons Ho LisHo)
DeltaMD (* (- (nth n2 Lismd) Ess) Td) LisDeltaMD (cons DeltaMD LisDeltaMD)
DeltaDO (- deltaDO (* (nth n3 LisLkco) (nth n3 Lisi) Td))
LisDeltaDO (cons DeltaDO LisDeltaDO)
n2 (1+ n2)
n3 (1+ n3)
)
);endlambda
Lismd Lisi LisLkco
);endmapcar
(setq LisDeltaMD (reverse LisDeltaMD) LisDeltaDO (reverse LisDeltaDO)
LisHo (reverse LisHo) Lisdo (reverse Lisdo))
;-------------------------------------------
;data cornor.
(repeat k
(progn
(print (nth 3 LisTs)) (prin1 CTc) (prin1 i3)
(setq
Gmb (getreal "\nGoc quay mat bang :")
LisGoc (cons Gmb LisGoc)
i3 (1+ i3)
)
);endprogn
);endrepeat;(princ Lis)
(setq LisGoc (reverse LisGoc))
;-------------------------------------------
(Repeat 8
(setq Ptb (polar Pta a (* i 10))
Ptc (polar Pta1 a (* i 10))
ptd (polar pta2 a (+ (* i 10) 3.5))
)
(command
"layer" "s" "manh" ""
"line" Ptb Ptc ""
"layer" "s" "chuv" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "j" "ml" ptd 2.5 0.0 (nth (+ (* i 2) 1) LisCSS)
)
(setq i (+ i 1))
);endrepeat
(command
"layer" "s" "manh" ""
"line" Pta Ptb ""
"layer" "s" "chuv" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" "" ""
"text" "j" "ml" Pta5 2.5 0.0 "TYÛ LEÄ NGANG: 1/500"
"text" "j" "ml" Pta6 2.5 0.0 "ÑÖÙNG : 1/100")
;------------------------
(COCSS)
;draw one
(setq LisPTcoc nil PTcoc (polar Pta1 a 5) LisPTcoc (cons PTcoc LisPTcoc)
LisPGmb nil PGmb (polar Ptss1 a 15) LisPGmb (cons PGmb LisPGmb)
LisPGmb nil PGmb (polar Ptsg1 a 17) LisPGmb (cons PGmb LisPGmb)
LisPGmb1 nil PGmb1 (polar Pta1 a 13) LisPGmb1 (cons PGmb1 LisPGmb1)
LisPKc nil PKc (polar Pta1 a 25) LisPKc (cons PKc LisPKc)
LisPdd nil Pdd (polar Pta1 a 30) LisPdd (cons Pdd LisPdd)
Pddi (polar pta1 a 30)
LisPho nil Pho (polar Pta1 a 45) LisPho (cons Pho LisPho)
LisPmd nil Pmd (polar Pta1 a 65) LisPmd (cons Pmd LisPmd)
LisPdo nil Pdo (polar Pta1 a 55) LisPdo (cons Pdo LisPdo)
LisPss nil Pss (polar Pta1 a 70) LisPss (cons Pss LisPss)
LisPsg nil Psg (polar Pta1 a 15) LisPsg (cons Psg LisPsg)
LisPssd nil LisPssd1 nil LisPssdo nil LisPssdo1 nil
V 0
)
(mapcar
'(lambda (Kc)
(setq
PTcoc (polar PTcoc 0 (nth V LisLkc)) LisPTcoc (cons PTcoc LisPTcoc)
PGmb (polar PGmb 0 (nth V LisLkc)) LisPGmb (cons PGmb LisPGmb)
PGmb1 (polar PGmb1 0 (nth V LisLkc)) LisPGmb1 (cons PGmb1 LisPGmb1)
PKc (polar PKc 0 (nth V LisLkc)) LisPKc (cons PKc LisPKc)
Pdd (polar Pdd 0 (nth V LisLkc)) LisPdd (cons Pdd LisPdd)
Pho (polar Pho 0 (nth V LisLkc)) LisPho (cons Pho LisPho)
Pmd (polar Pmd 0 (nth V LisLkc)) LisPmd (cons Pmd LisPmd)
Pdo (polar Pdo 0 (nth V LisLkc)) LisPdo (cons Pdo LisPdo)
Pss (polar Pss 0 (nth V LisLkc)) LisPss (cons Pss LisPss)
V (1+ V)
)
)
LisLkc
)
(setq LisPTcoc (reverse LisPTcoc)
LisPGmb (reverse LisPGmb) LisPGmb1 (reverse LisPGmb1)
LisPKc (reverse LisPKc)
LisPdd (reverse LisPdd)
LisPHo (reverse LisPHo) LisPmd (reverse LisPmd) LisPdo (reverse LisPdo)
LisPss (reverse LisPss)
V1 0)
;-----------
(mapcar
'(lambda (PTcoc PGmb PGmb1 PKc Pho Pmd Pdo Pss
Tcoc Gmb Kcdo Ho Cmd Cdo deltaMD deltaDO)
(setq
;parameter draw rotational corner
PGmb11 (polar PGmb1 0 -3.5) PGmb14 (polar PGmb1 0 3.5)
PGmb12 (polar PGmb1 a 2) PGmb122 (polar PGmb12 0 -3.5) PGmb13 (polar PGmb12 0 3.5);90
PGmb133 (polar PGmb13 a 2.5) PGmb144 (polar PGmb13 a 4.5)
PGmb2 (polar PGmb1 a 2) PGmb21 (polar PGmb2 0 -3.5);<180
PGmb22 (polar PGmb2 a45 4.5) PGmb23 (polar PGmb2 a45 6.5);<180
PGmb24 (polar PGmb2 0 3.5) PGmb25 (polar PGmb2 0 6);=180
PGmb26 (polar PGmb2 b45 4) PGmb27 (polar PGmb2 b45 6.5);>180
PGmb3 (polar PGmb1 a 2) PGmb31 (polar PGmb3 0 -3.5) PGmb32 (polar PGmb3 0 3.5);270
PGmb33 (polar PGmb32 c 2.5) PGmb34 (polar PGmb32 c 4.5)
;end draw rotational corner
;parameter comparation
Pssd (polar Pss a (nth V1 LisDeltaMD)) LisPssd (cons Pssd LisPssd)
Pssdo (polar Pss a (nth V1 LisDeltaDO)) LisPssdo (cons Pssdo LisPssdo))
(command
"layer" "s" "chuv" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "j" "mc" PTcoc 4.5 0.0 (strcat CTc (itoa (nth V1 LisTcoc)))
"text" "j" "mc" PKc 2.2 90.0 (rtos (nth V1 LisLkcdo) 2 2)
"text" "j" "mc" Pho 2.2 90.0 (rtos (nth V1 LisHo) 2 2)
"text" "j" "mc" Pmd 2.2 90.0 (rtos (nth V1 Lismd) 2 2)
"text" "j" "mc" Pdo 2.2 90.0 (rtos (nth V1 Lisdo) 2 2)
"layer" "s" "chua" ""
"style" "chua" "romans.shx" "" "0.7" "" "" "" ""
"text" "j" "mc" PGmb 2.0 0.0 (strcat (rtos (nth V1 LisGoc) 2 0) "%%d")
"layer" "s" "bao" ""
"circle" PTcoc "5"
"layer" "s" "giong" ""
"line" Pss Pssd ""
"layer" "s" "manh" "")
(cond
((= Gmb 90) (command "pline" PGmb122 PGmb13 PGmb133 "w" "1.0" "0" PGmb144 ""))
((< Gmb 180) (command "pline" PGmb21 PGmb2 PGmb22 "w" "1.0" "0" PGmb23 ""))
((= Gmb 180) (command "pline" PGmb21 PGmb24 "w" "1.0" "0" PGmb25 ""))
((or (and (> Gmb 180) (< Gmb 270)) (and (> Gmb 270) (< Gmb 360)))
(command "pline" PGmb21 PGmb2 PGmb26 "w" "1.0" "0" PGmb27 ""))
((= Gmb 270) (command "pline" PGmb31 PGmb32 PGmb33 "w" "1.0" "0" PGmb34 ""))
)
(setq V1 (1+ V1))
);endlambda
LisPTcoc LisPGmb LisPGmb1 LisPKc LisPho LisPmd LisPdo LisPss
LisTcoc LisGoc LisLkcdo LisHo Lismd Lisdo LisdeltaMD LisdeltaDO
);endmapcar (princ lis)
;-----
;draw two
(setq lisdd (cdr LisLkcd)
Pdd1 (polar Pddi a 3.5) Pdd2 (polar Pddi a 6.5) Pdd3 (polar Pddi a 10)
Pdd4 (polar Pddi a 5)
PKcd (polar Pta1 a 25)
)
(command "layer" "s" "manh" "" "line" pddi pdd3 "")
(setq V4 0)
(repeat (length Lisdd)
(setq
;parameter gradient
Pddi1 (polar Pddi 0 (- (nth V4 Lisdd) (nth V4 LisLkc)))
Pddi2 (polar Pdd3 0 (- (nth V4 Lisdd) (nth V4 LisLkc)))
Pddi3 (polar Pdd4 0 (- (nth V4 Lisdd) (nth V4 LisLkc)))
Pdd11 (polar Pdd1 0 (- (nth V4 Lisdd) (- (nth V4 LisLkc) 10)))
Pdd12 (polar Pdd1 0 (- (nth V4 Lisdd) 10))
Pdd21 (polar Pdd2 0 (- (nth V4 Lisdd) (- (nth V4 LisLkc) 10)))
Pdd22 (polar Pdd2 0 (- (nth V4 Lisdd) 10))
Pdd31 (polar Pdd3 0 (nth V4 Lisdd))
Pdd32 (polar Pddi 0 (nth V4 Lisdd))
Pdd41 (polar Pdd4 0 (nth V4 Lisdd))
PKcd1 (polar PKcd 0 (- (nth V4 Lisdd) (/ (nth V4 LisLkc) 2)))
)
(cond
((> (nth V4 Lisi) 0)
(command
"layer" "s" "manh" ""
"pline" Pddi2 Pdd32 Pdd31 ""
"layer" "s" "chuv" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "j" "mc" PKcd1 2.5 0.0 (strcat (rtos (nth V4 LisLkco) 2 2) "m" )
"text" "j" "mc" Pdd11 2.5 0.0 (strcat (nth VL LisVL) "-" "D" (rtos D 2 0))
"text" "j" "mc" Pdd22 2.5 0.0 (strcat "i=" (rtos (nth V4 Lisi) 2 4))))
((= (nth V4 Lisi) 0)
(command
"layer" "s" "manh" ""
"pline" Pddi3 Pdd41 Pdd31 Pdd32 ""
"layer" "s" "chuv" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "j" "mc" PKcd1 2.5 0.0 (strcat (rtos (nth V4 LisLkco) 2 2) "m" )
"text" "j" "mc" Pdd11 2.5 0.0 (strcat (nth VL LisVL) "-" "D" (rtos D 2 0))
"text" "j" "mc" Pdd22 2.5 0.0 (strcat "i=" (rtos (nth V4 Lisi) 2 4))))
((< (nth V4 Lisi) 0)
(command
"layer" "s" "manh" ""
"pline" Pddi1 Pdd31 Pdd32 ""
"layer" "s" "chuv" ""
"style" "chuv" "VNI-Helve-condense" "" "1" "" "" ""
"text" "j" "mc" PKcd1 2.5 0.0 (strcat (rtos (nth V4 LisLkco) 2 2) "m" )
"text" "j" "mc" Pdd12 2.5 0.0 (strcat (nth VL LisVL) "-" "D" (rtos D 2 0))
"text" "j" "mc" Pdd21 2.5 0.0 (strcat "i=" (rtos (nth V4 Lisi) 2 4))))
)
(setq V4 (1+ V4))
)
;--draws ground and pipe bottom level line
(setq
LisPssd (reverse LisPssd)
LisPssd1 (append (cdr LisPssd) (car LisPssd))
LisPssdo (reverse LisPssdo)
LisPssdo1 (append (cdr LisPssdo) (car LisPssdo))
V2 0 V3 0
)
(repeat (- (length LisPssd) 1)
(command
"layer" "s" "manh" ""
"line" (nth V2 LisPssd) (nth V2 LisPssd1) ""
"layer" "s" "ong" ""
"line" (nth V2 LisPssdo) (nth V2 LisPssdo1) ""
)
(setq V2 (1+ V2))
)
(repeat 8
(setq Ptdao (polar Pta1 a 70)
Ptda1 (polar Ptdao c (* V3 10))
Ptda2 (polar Pss c (* V3 10)))
(command "layer" "s" "manh" "" "line" Ptda1 Ptda2 "")
(setq V3 (1+ V3))
);repeat
;--end draws ground and pipe bottom level line
(onap2)
);progn
);end function TD
;--------------------

Mình gửi bạn file Cad: http://www.cadviet.c...pfiles/2/td.dwg
  • 0

#2527 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 05 August 2009 - 09:01 PM

Đây là lisp mà một người bạn cho mình, nó rất có ích trong vẽ trắc dọc ống cấp nước (lisp: Vẽ trắc dọc ống cấp nước). Khi dùng có một vài vấn đề mà mình muốn hoàn thiện hơn. Nhưng vì chẳng biết gì về lisp cả, lực bất tòng tâm nên mình làm phiền Tue_NV, không biết có quá đáng không? nhưng bạn cố gắng xem và sửa giúp mình những vấn đề sau: (mình rất hy vọng ở bạn). Mình chờ tin bạn. Cảm ơn bạn rất nhiều

Rất cảm ơn HoangSon đã tin tưởng, nhưng Tue_NV không phải là dân cấp nước, e rằng việc này đã nằm ngoài phạm vi của mình rồi.
Bởi lẽ khi dò lại cấu trúc cũng như cú pháp của code thì có lẽ rằng phải am hiểu kiến thức trong chuyên ngành thì mới làm được.
Điều này thì chắc HoangSon cũng hiểu

Tue_NV e việc này đã vượt qua tầm tay của mình vì không đúng chuyên ngành. Mong HoangSon thông cảm.

Chào các bạn khi ta scale nhiều hình tròn vẽ bằng lệnh donut thì tâm của đường tròn này thường không nằm tại vị trí ban đầu,Bạn Tue NV đã có viết 1 lisp nhưng chỉ cố định được tâm nằm trên trục X thôi còn trục Y thì vấn bị thay đổi,nhờ các bạn chỉnh lại lisp này sao cho sau khi scale thì tâm của đường tròn vẽ bằng lệnh donut sẽ cố định không bị thay đổi.Chân thành cảm ơn.
http://www.cadviet.c.../2/sc_donut.lsp


Đã viết lại code trả lời câu hỏi của bạn 790312 ở đây rồi. Mong rằng lần sau bạn đừng bao giwò post 1 nội dung ở 2 chủ đề
http://www.cadviet.c...amp;#entry69251
  • 1

#2528 HoangSon614

HoangSon614

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 254 Bài viết
Điểm đánh giá: 66 (tàm tạm)

Đã gửi 05 August 2009 - 09:46 PM

Rất cảm ơn HoangSon đã tin tưởng, nhưng Tue_NV không phải là dân cấp nước, e rằng việc này đã nằm ngoài phạm vi của mình rồi.
Bởi lẽ khi dò lại cấu trúc cũng như cú pháp của code thì có lẽ rằng phải am hiểu kiến thức trong chuyên ngành thì mới làm được.
Điều này thì chắc HoangSon cũng hiểu

Tue_NV e việc này đã vượt qua tầm tay của mình vì không đúng chuyên ngành. Mong HoangSon thông cảm.

Dù sao cũng cảm ơn Tue_NV đã quan tâm. Chúc bạn sức khoẻ
  • 0

#2529 790312

790312

    biết lệnh fillet

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

Đã gửi 06 August 2009 - 09:54 PM

Mình cần 1 lisp như sau:Khi ta chọn 1 layer nhấn số 1 thì layer đó sẽ thành màu đỏ và tương tự theo các số ứng với màu mặc định của cad,nhưng làm sao có thể gán sẵn chiều dày,nét đứt chẳng hạn cho từng layer...Chân thành cảm ơn.
  • 0

#2530 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 07 August 2009 - 02:51 PM

các anh có lisp nào giúp mình đo vạt góc của đường giao thông nhanh được ko vậy?mỗi lần đo vạt góc là em phải ngồi rà rà chuột lâu lắc mới đo được!mong các anh giúp em với!giống như hình bên dưới đó các anh!
http://www.cadviet.c...es/2/vatgoc.jpg
  • 0

#2531 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 07 August 2009 - 04:03 PM

các anh có lisp nào giúp mình đo vạt góc của đường giao thông nhanh được ko vậy?mỗi lần đo vạt góc là em phải ngồi rà rà chuột lâu lắc mới đo được!mong các anh giúp em với!giống như hình bên dưới đó các anh!
http://www.cadviet.c...es/2/vatgoc.jpg

Tue_NV viết đoạn Code này theo yêu cầu của bạn. Hy vọng bạn hài lòng
(defun c:gktvg()
(vl-load-com)
(setq ss (car(entsel "\n Pick chon duong vat goc :")))
(entdel ss)
(setq p1 (getpoint "\n Chon diem dau cua kich thuoc :"))
(setq p2 (getpoint "\n Chon diem cuoi cua duong vat goc :"))

(setq c (car(nentselp p2)))

(setq d (car(nentselp p1)))
(setq p3 (vlax-curve-getClosestPointTo c p1 0))
(setq p4 (vlax-curve-getClosestPointTo d p2 0))

(command "dimaligned" p1 p3 pause)
(command "dimaligned" p2 p4 pause)
(command "line" p1 p2 "")
)
Chú ý : Code trên sử dụng với trường hợp 2 đường vạt góc vuông góc với nhau
và 2 đường vát góc là 2 đối tượng riêng biệt

Bài viết đã được chỉnh sửa nội dung bởi Tue_NV: 07 August 2009 - 04:19 PM

  • 0

#2532 pdhuyxn2

pdhuyxn2

    biết vẽ circle

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

Đã gửi 07 August 2009 - 04:41 PM

Bạn có thể post yêu cầu về autolisp ở topic này.


Nhờ các Bác viết cho lisp nội dung sau:
Tại bảng tính excel đánh tên người, mỗi người 1 dòng theo thứ tự từ 1 đến 1000.
Sau đó chuyển sang cad mỗi lần pick 1 điểm thứ tự text của mỗi người trong bảng hiện lên theo thứ tự từ 1 đến 10000.

bảng excel:
1: An
2: Hoà
3: Hùng
4: Chiến
VVV........
  • 0

#2533 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 07 August 2009 - 05:40 PM

Tue_NV viết đoạn Code này theo yêu cầu của bạn. Hy vọng bạn hài lòng

TUE oi!sao mình PICK chọn đường vạt góc nó biến mất cái đường đó vậy!nó mất cái đường đó thi2 làm sao mình biết điểm nào để mà mình PICK vào điểm đầu và điểm cuối!mong TUE xem lại gúp mình nhé!chân thành cảm ơn sự tận tình của bạn!
À quên!với lại nó lại xảy ra tình trạng như hình sau đây nữa!nhờ TUE xem giúp với!thanks!
http://www.cadviet.c...files/2/vat.jpg
  • 0

#2534 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 07 August 2009 - 08:18 PM

TUE oi!sao mình PICK chọn đường vạt góc nó biến mất cái đường đó vậy!nó mất cái đường đó thi2 làm sao mình biết điểm nào để mà mình PICK vào điểm đầu và điểm cuối!mong TUE xem lại gúp mình nhé!chân thành cảm ơn sự tận tình của bạn!
À quên!với lại nó lại xảy ra tình trạng như hình sau đây nữa!nhờ TUE xem giúp với!thanks!
http://www.cadviet.c...files/2/vat.jpg

Chào bạn truongthanh
Đường vạt góc ; điểm đầu (điểm 1); điểm cuối (điểm 2) được Tue_NV mô tả trong file .dwg này bạn chạy thử xem nhé :
http://www.cadviet.c...s/2/chamfer.dwg

Tại bảng tính excel đánh tên người, mỗi người 1 dòng theo thứ tự từ 1 đến 1000.
Sau đó chuyển sang cad mỗi lần pick 1 điểm thứ tự text của mỗi người trong bảng hiện lên theo thứ tự từ 1 đến 10000.

bảng excel:
1: An
2: Hoà
3: Hùng
4: Chiến
VVV........

Sao bạn không dùng CAD chuyển dữ liệu 10000 người đó từ Excel qua CAD cho khoẻ. 1 lệnh là xong
  • 1

#2535 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 07 August 2009 - 11:25 PM

Chào bạn truongthanh
Đường vạt góc ; điểm đầu (điểm 1); điểm cuối (điểm 2) được Tue_NV mô tả trong file .dwg này bạn chạy thử xem nhé :
http://www.cadviet.c...s/2/chamfer.dwg
Sao bạn không dùng CAD chuyển dữ liệu 10000 người đó từ Excel qua CAD cho khoẻ. 1 lệnh là xong

à!mình biết tại sao nó lại ra DIM ALIGNED rồi TUE ơi!do mình vẽ Pline!còn bạn vẽ LINE!bạn bổ sung dùm mình được ko vậy?với lại mình nâng cấp lên đồi với 2 đường thẳng bất kỳ ko vuông góc được ko TUE!vì mình làm Giao Thông gặp rất nhiều loại đường như vậy đó!thân!cảm ơn bạn nhìu!
  • 0

#2536 conghoan1003

conghoan1003

    biết vẽ point

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

Đã gửi 08 August 2009 - 08:49 AM

Chào TUE_NV!
Cho mình hỏi lisp vét bùn bạn sửa xong chưa vậy? Mình mong tin tốt đẹp của Tue!
Thank!
  • 0
Học học nữa học mãi.
Đúp học lại!

#2537 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 08 August 2009 - 09:19 AM

TUE oi!sao mình PICK chọn đường vạt góc nó biến mất cái đường đó vậy!nó mất cái đường đó thi2 làm sao mình biết điểm nào để mà mình PICK vào điểm đầu và điểm cuối!mong TUE xem lại gúp mình nhé!chân thành cảm ơn sự tận tình của bạn!
À quên!với lại nó lại xảy ra tình trạng như hình sau đây nữa!nhờ TUE xem giúp với!thanks!
http://www.cadviet.c...files/2/vat.jpg

Chào truongthanh
Bạn nên upload file .dwg thay vì upload file .jpg nhé
Vì có thể người giúp bạn không hiểu hết ý của bạn. Với file .dwg thì trực quan và dễ hiểu nhất
Code này đã sửa lại. Hy vọng bạn hài lòng

Phạm vi áp dụng : đường vạt góc toàn là Line
hoặc đường vạt góc với các đường 1, đường 2 là Pline nối liền với nhau nhé.
Chú ý điều phạm vi áp dụng của nó mà thực hiện cho đúng bạn nhé.

1 cách test Code là bạn vẽ hình chữ nhật bằng lệnh Rec -> chamfer -> sử dụng Lisp xem sao
Bạn cho ý kiến nhé

(defun c:gktvg()
(vl-load-com)
(setq po (getpoint "\n Pick chon mot diem tren canh vat goc :"))

(setq ss (car(nentselp po)))
(if (and (= (cdr(assoc 0 (entget ss))) "LWPOLYLINE") (>= (cdr(assoc 90 (entget ss))) 4))
(progn
(setq prad (fix (vlax-curve-getParamAtPoint ss po)))

(setq p11 (vlax-curve-getPointAtParam ss (- prad 1)))
(setq p1 (vlax-curve-getPointAtParam ss prad))
(setq p2 (vlax-curve-getPointAtParam ss (+ prad 1)))
(setq p22 (vlax-curve-getPointAtParam ss (+ prad 2)))
(setq inte (inters p11 p1 p2 p22 nil))

(command "dimaligned" p1 inte pause)
(command "dimaligned" p2 inte pause)
);progn
);if

(if (= (cdr(assoc 0 (entget ss))) "LINE")
(progn

(setq p1 (vlax-curve-getStartPoint ss))
(setq p2 (vlax-curve-getEndPoint ss))

(entdel ss)

(setq c (car(nentselp p2)))

(setq d (car(nentselp p1)))
(setq p3 (vlax-curve-getClosestPointTo c p1 0))
(setq p4 (vlax-curve-getClosestPointTo d p2 0))

(command "dimaligned" p1 p3 pause)
(command "dimaligned" p2 p4 pause)
(command "line" p1 p2 "")

);progn
);if

(princ)
)


@conghoan : Tue_NV đang gặp rắc rối với Lisp VB này. Nhưng mình sẽ cố gắng để hoàn thành nó. Conghoan chờ tin

Bài viết đã được chỉnh sửa nội dung bởi Tue_NV: 08 August 2009 - 09:28 AM
Da chinh sua 1 chut trong Code

  • 1

#2538 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 08 August 2009 - 10:36 AM

Chào truongthanh
Bạn nên upload file .dwg thay vì upload file .jpg nhé
Vì có thể người giúp bạn không hiểu hết ý của bạn. Với file .dwg thì trực quan và dễ hiểu nhất
Code này đã sửa lại. Hy vọng bạn hài lòng

Phạm vi áp dụng : đường vạt góc toàn là Line
hoặc đường vạt góc với các đường 1, đường 2 là Pline nối liền với nhau nhé.
Chú ý điều phạm vi áp dụng của nó mà thực hiện cho đúng bạn nhé.

mình nâng cấp thành 2 đường ko vuông góc được ko vậy TUE?dạng này mình gặp rất nhiều!cảm ơn bạn rất nhiều!
  • 0

#2539 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 08 August 2009 - 05:13 PM

mình nâng cấp thành 2 đường ko vuông góc được ko vậy TUE?dạng này mình gặp rất nhiều!cảm ơn bạn rất nhiều!

Lisp của Tue_NV áp dụng cho cả 2 đường không vuông góc với nhau.
Mời bạn xem hình vẽ:
Hình đã gửi
Nếu bạn có ý kiến khác thì xin bạn hãy upload file .dwg lên đây kèm theo hình vẽ và nói rõ
  • 1

#2540 truongthanh

truongthanh

    biết lệnh text

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

Đã gửi 08 August 2009 - 11:53 PM

Lisp của Tue_NV áp dụng cho cả 2 đường không vuông góc với nhau.
Mời bạn xem hình vẽ:
Hình đã gửi
Nếu bạn có ý kiến khác thì xin bạn hãy upload file .dwg lên đây kèm theo hình vẽ và nói rõ

sao mình đo với các góc khác nhau thì lại cho các kết quả khác nhau,mặc dù mình CHAMFER cùng 1 khoảng cách!bạn xem lại file CAD dùm mình nhé!
http://www.cadviet.c...les/2/gktvg.dwg
  • 0