Đến nội dung


Hình ảnh
- - - - -

[Đã xong] Lisp xuất thông số của đường ra block thuộc tính


  • Please log in to reply
17 replies to this topic

#1 bachngoctung

bachngoctung

    biết lệnh copy

  • Members
  • PipPipPip
  • 115 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 16 June 2011 - 08:38 PM

-MÌnh có một lisp nhỏ muốn nhờ các bạn sửa lại giùm cụ thể như sau:
+ Lisp cũ: (lệnh tsdc) cấu trúc là đánh lệnh, chọn đường cong rồi nó điền ra thông số của đường cong (cụ thể mọi người xem bản vẽ và lisp mình gửi kèm theo nhé)
+ Líp mới cấu trúc chọn lệnh y hệt líp cũ tuy nhiên giá trị của đường cong se được điền vào block thuộc tính có tên TSCONG mà mình đà lập sẵn trong bản vẽ mình gửi kèm
- Mọi người down file mình gửi kèm nhé, trong đó có lisp cũ và file cad ví dụ
- Xin chân thành cám ơn!
http://www.cadviet.c...s/3/cadviet.rar
-Đây là ảnh minh họa;
Hình đã gửi
  • 2

#2 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 16 June 2011 - 09:25 PM

-MÌnh có một lisp nhỏ muốn nhờ các bạn sửa lại giùm cụ thể như sau:
+ Lisp cũ: (lệnh tsdc) cấu trúc là đánh lệnh, chọn đường cong rồi nó điền ra thông số của đường cong (cụ thể mọi người xem bản vẽ và lisp mình gửi kèm theo nhé)
+ Líp mới cấu trúc chọn lệnh y hệt líp cũ tuy nhiên giá trị của đường cong se được điền vào block thuộc tính có tên TSCONG mà mình đà lập sẵn trong bản vẽ mình gửi kèm
..

Của bạn đây :
;; free lisp from cadviet.com
(defun vtt(/ oldos)
  (setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(princ "\n Chon 1 cung Arc :")
(if (null (setq ss (ssget ":S" '((0 . "ARC"))) ))
(alert "\n Khong co cung Arc nao duoc chon ")
(progn
(setq ent (ssname ss 0))
    (setq tam (cdr(assoc 10 (entget ent))))
(setq D (cdr(assoc 40 (entget ent))));bankinh
    (setq dd (vlax-curve-getstartpoint ent))
    (setq dc (vlax-curve-getendpoint ent))
    (setq p1 (polar dd (+ (/ pi 2) (angle dd tam)) 1))
    (setq p2 (polar dc (+ (/ pi 2) (angle dc tam)) 1))
    (if (setq a (inters dd p1 dc p2 nil))
      (progn
        (vl-cmdf "line" dd a "")
        (vl-cmdf "line" dc a "")
(setq c (- 180 (/ (* 180 (abs (- (angle dd a) (angle dc a)))) pi)))
      )
    )
))
  (setvar "osmode" oldos)
(princ)
)
;;;;;;;;
(defun C:TSDC (/ ro CC CAT MD CD C D N L do ph O M I H J AA RR KK TT PP ss oldatt oldattd)
(setq oldatt (getvar "attreq") oldattd (getvar "attdia"))
(SETVAR "CMDECHO" 0)
(setvar "attreq" 1)(setvar "attdia" 0)
(setq CC (getpoint "\nCHON DIEM CHEN / Enter ket thuc "))
(while CC
(vtt)
(if ss (progn
(setq L (strcat
(itoa (setq do (fix c)) ) "%%d"
(itoa (setq ph (fix (* 60 (- c do))))) "'"
(itoa (fix (* 60 (- (* 60 (- c do)) ph)))) "''"
)
)
(setq N (rtos D 2 2))
(setq H (COS (/ (/ (* C PI) 180) 2))) ;CONG THUC TINH GIA TRI COS(A/2)
(setq O (/ (SIN (/ (/ (* C PI) 180) 2)) (COS (/ (/ (* C PI) 180) 2)))) ;CONG THUC TINH GIA TRI TAN(A/2)
(setq M (rtos (* O D) 2 2)) ;CONG THUC TINH GIA TRI T
(setq I (rtos (* D (- (/ 1 H) 1)) 2 2)) ;CONG THUC TINH GIA TRI P
(setq J (rtos (/ (* D C PI) 180) 2 2)) ;CONG THUC TINH GIA TRI K
(setq RR (strcat "R=" N)) ;GIA TRI R
(setq KK (strcat "K=" J)) ;GIA TRI K
(setq TT (strcat "T=" M)) ;GIA TRI T
(setq PP (strcat "P=" I)) ;GIA TRI P
(command "-insert" "tscong" CC 1 1 0 L RR KK TT PP)
(setq CC (getpoint "\nCHON DIEM CHEN / Enter ket thuc "))
))
) ;dong WHILE
(SETVAR "CMDECHO" 1) (setvar "attreq" oldatt)(setvar "attdia" oldattd)
(PRINC)
) ;KET THUC DEFUN
P/S : Mình thích cách post bài của bạn ^^
  • 2

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 bachngoctung

bachngoctung

    biết lệnh copy

  • Members
  • PipPipPip
  • 115 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 16 June 2011 - 09:35 PM

Của bạn đây :
....

-Cám ơn bạn, tuyệt mình đang cần nên vừa làm việc vửa để web cadviet rồi thỉnh thoảng lại F5 xem có ai hồi âm ko. Rất cám ơn.>>> Chúc ngủ ngon, hy vọng sau này có dịp giúp đỡ lại hehhehhe....
PS: À bạn có xem bài dim lisp zich zac cua mình hỏi ko? hy vọng sẽ có đáp án.
  • 1

#4 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 16 June 2011 - 10:04 PM

-Cám ơn bạn, tuyệt mình đang cần nên vừa làm việc vửa để web cadviet rồi thỉnh thoảng lại F5 xem có ai hồi âm ko. Rất cám ơn.>>> Chúc ngủ ngon, hy vọng sau này có dịp giúp đỡ lại hehhehhe....
PS: À bạn có xem bài dim lisp zich zac cua mình hỏi ko? hy vọng sẽ có đáp án.

Mình đề xuất cách này đc ko:
-Đọc lấy thông số của dim hiện hành: tên, độ lớn dấu tick, tỉ lệ tính, độ cao text, ....
-Chọn pline, chỉ điềm viết kết quả.
-Offset pline ra điểm vừa chỉ, vẻ giả 2 đường gióng và dấu tick, viết kế quả sau khi đã tính với tỉ lệ dim hiện hành.
-Kết quả là 1 nhóm đối tượng kiểu như dim đã bị x ra vậy.
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#5 dizangu

dizangu

    biết vẽ line

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

Đã gửi 09 August 2011 - 03:04 PM

Lâu không đóng góp gì cho cad việt không biết lisp này minh tìm được có hay hơn và giúp hơn cho bạn không.
;Khëi t¹o mét sè th«ng sè cho vÏ nót
;------------------------------------------------------
(defun C:knut ()
(command "dimstyle" "s" "Dimn" "dimstyle" "s" "Dran")
(command "-Style" "hoatfon" "hoatfon" "" "" "" "" "" "")
(command "-Layer" "n" "Text" "c" "4" "Text" "")
(command "-Layer" "n" "Dim" "c" "1" "DIm" "")
(command "-Layer" "n" "Khuat" "c" "4" "Khuat" "l" "Dashed" "Khuat" "")
(Princ)
)
;;;Chuong trinh chinh (Ve va thong ke cac yeu to cua duong cong)
(setq tlv (getint "\nNhap ty le ban ve nut 1/... :"))
(defun c:GN ()
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq sttdinh (getint "\nNhap so thu tu dinh :"))
(setq es (entsel "\nChon cung tron can ve:"))
(setq dbang (getpoint "\nChon vi tri dat bang thong ke:"))
(setq osm (getvar "osmode"))
(setvar "osmode" 0)
(setq tdt (car es)
dra (cadr es)
ent (entget tdt)
cen (cdr (assoc 10 ent))
goc1 (cdr (assoc 50 ent))
goc2 (cdr (assoc 51 ent))
bk (cdr (assoc 40 ent))
)
(setq td1 (polar cen goc1 bk)
td2 (polar cen goc2 bk)
)
(setq mid (list (/ (+ (car td1) (car td2)) 2) (/ (+ (cadr td1) (cadr td2)) 2) (caddr td1)))
(setq goc (angle cen mid))
(setq goctam (abs (- goc2 goc1)))
(if (< goctam pi)
(setq goct goctam)
(setq goct (- (* 2 pi) goctam))
)
(setq dtam (/ bk (cos (/ goct 2))))
(setq dinh (polar cen goc dtam))
(setq T (rtos (/ (* (distance dinh td1) tlv) 1000) 2 2)
P (rtos (/ (* (- dtam bk) tlv) 1000) 2 2)
K (rtos (/ (* (* goct bk) tlv) 1000) 2 2)
Ssbk (rtos (/ (* bk tlv) 1000) 2 2)
)
(command "-layer" "s" "khuat" "" ".line" td1 dinh td2 "")
(command "-layer" "s" "DIM" "" "Dimstyle" "" "Dimn")
(setq kckt (* 2.2 (getvar "dimtxt")) dkt1 (polar td1 goc1 kckt))
(command "DIMALIGNED" dinh td1 dkt1)
(setq dkt2 (polar td2 goc2 kckt))
(command "DIMALIGNED" dinh td2 dkt2)
(command "Dimstyle" "" "Dran" "DIMRADIUS" tdt dra "")
;VÏ khung thèng kª nut
;--------------------------------
(setq xb (+ (car dbang) (* 9 (getvar "textsize"))) yb (- (cadr dbang) (* 10.25 (getvar "textsize"))) dbang2 (list xb yb (caddr dbang)) odbang (polar dbang (/ (* 3 pi) 4) (/ (getvar "textsize") 5)) odbang2 (polar dbang2 (- (* 2 pi) (/ pi 4)) (/ (getvar "textsize") 5)))
(command ".layer" "s" "text" "" ".rectang" odbang odbang2 ".rectang" dbang dbang2) (command "change" "l" "" "p" "c" "1" "")
;Xö lý b¶ng thèng kª
;-----------------------------
(setq gockep (angtos (- pi goct) 1 4))
(setq Kiem1 (substr gockep 2 1) kiem2 (substr gockep 3 1) kiem3 (substr gockep 4 1))
(cond ((= kiem1 "d") (setq dau (substr gockep 1 1) cuoi (substr gockep 3))) ((= kiem2 "d") (setq dau (substr gockep 1 2) cuoi (substr gockep 4))) ((= kiem3 "d") (setq dau (substr gockep 1 3) cuoi (substr gockep 5)))
)
(setq gockep (strcat (strcat dau "%%d") cuoi))
;----------------------------
(setq nhan (rtos sttdinh 2 0))
(setq chugoc (strcat (strcat "A" nhan) (strcat "=" gockep)))
(setq chubk (strcat (strcat (strcat "R" nhan) (strcat "=" ssbk)) "m"))
(setq chutt (strcat (strcat (strcat "T" nhan) (strcat "=" T)) "m"))
(setq chup (strcat (strcat (strcat "P" nhan) (strcat "=" P)) "m"))
(setq chucd (strcat (strcat (strcat "K" nhan) (strcat "=" K)) "m"))
(setq dong1 (polar dbang (- (* 2 pi) (/ (* 9 pi) 24)) (* 1.75 (getvar "textsize")))
dong2 (polar dong1 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong3 (polar dong2 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong4 (polar dong3 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong5 (polar dong4 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
)
(command "-layer" "s" "Text" "" ".text" dong1 "" "" chugoc "" ".text" dong2 "" "" chubk "" ".text" dong3 "" "" chutt "" ".text" dong4 "" "" chup "" ".text" dong5 "" "" chucd "")
(setq tendinh (strcat "A" nhan))
(command ".text" dinh "" "" tendinh "")
(command "insert" "nut" dinh "" "" "" )
(setvar "osmode" osm)
(setvar "cmdecho" cmd) (princ)
)

  • 1

#6 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 09 August 2011 - 07:48 PM

@dizangu : rất cám ơn sự đóng góp của bạn cho diễn đàn, và càng tuyệt vời hơn nữa khi code được cho vào thẻ code :) Mình đã sửa bài bạn cho phù hợp nội quy post bài trong box Autolisp, hy vọng bạn không phiền và rút kinh nghiệm ^^ Link nội quy dưới chữ ký của mình
  • 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


#7 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 14 April 2012 - 10:46 AM

Lâu không đóng góp gì cho cad việt không biết lisp này minh tìm được có hay hơn và giúp hơn cho bạn không.

;Kh&#235;i t&#185;o m&#233;t s&#232; th&#171;ng s&#232; cho v&#207; n&#243;t
;------------------------------------------------------
(defun C:knut ()
(command "dimstyle" "s" "Dimn" "dimstyle" "s" "Dran")
(command "-Style" "hoatfon" "hoatfon" "" "" "" "" "" "")
(command "-Layer" "n" "Text" "c" "4" "Text" "")
(command "-Layer" "n" "Dim" "c" "1" "DIm" "")
(command "-Layer" "n" "Khuat" "c" "4" "Khuat" "l" "Dashed" "Khuat" "")
(Princ)
)
;;;Chuong trinh chinh (Ve va thong ke cac yeu to cua duong cong)
(setq tlv (getint "\nNhap ty le ban ve nut 1/... :"))
(defun c:GN ()
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq sttdinh (getint "\nNhap so thu tu dinh :"))
(setq es (entsel "\nChon cung tron can ve:"))
(setq dbang (getpoint "\nChon vi tri dat bang thong ke:"))
(setq osm (getvar "osmode"))
(setvar "osmode" 0)
(setq tdt (car es)
dra (cadr es)
ent (entget tdt)
cen (cdr (assoc 10 ent))
goc1 (cdr (assoc 50 ent))
goc2 (cdr (assoc 51 ent))
bk (cdr (assoc 40 ent))
)
(setq td1 (polar cen goc1 bk)
td2 (polar cen goc2 bk)
)
(setq mid (list (/ (+ (car td1) (car td2)) 2) (/ (+ (cadr td1) (cadr td2)) 2) (caddr td1)))
(setq goc (angle cen mid))
(setq goctam (abs (- goc2 goc1)))
(if (< goctam pi)
(setq goct goctam)
(setq goct (- (* 2 pi) goctam))
)
(setq dtam (/ bk (cos (/ goct 2))))
(setq dinh (polar cen goc dtam))
(setq T (rtos (/ (* (distance dinh td1) tlv) 1000) 2 2)
P (rtos (/ (* (- dtam bk) tlv) 1000) 2 2)
K (rtos (/ (* (* goct bk) tlv) 1000) 2 2)
Ssbk (rtos (/ (* bk tlv) 1000) 2 2)
)
(command "-layer" "s" "khuat" "" ".line" td1 dinh td2 "")
(command "-layer" "s" "DIM" "" "Dimstyle" "" "Dimn")
(setq kckt (* 2.2 (getvar "dimtxt")) dkt1 (polar td1 goc1 kckt))
(command "DIMALIGNED" dinh td1 dkt1)
(setq dkt2 (polar td2 goc2 kckt))
(command "DIMALIGNED" dinh td2 dkt2)
(command "Dimstyle" "" "Dran" "DIMRADIUS" tdt dra "")
;V&#207; khung th&#232;ng k&#170; nut
;--------------------------------
(setq xb (+ (car dbang) (* 9 (getvar "textsize"))) yb (- (cadr dbang) (* 10.25 (getvar "textsize"))) dbang2 (list xb yb (caddr dbang)) odbang (polar dbang (/ (* 3 pi) 4) (/ (getvar "textsize") 5)) odbang2 (polar dbang2 (- (* 2 pi) (/ pi 4)) (/ (getvar "textsize") 5)))
(command ".layer" "s" "text" "" ".rectang" odbang odbang2 ".rectang" dbang dbang2) (command "change" "l" "" "p" "c" "1" "")
;X&#246; l&#253; b&#182;ng th&#232;ng k&#170;
;-----------------------------
(setq gockep (angtos (- pi goct) 1 4))
(setq Kiem1 (substr gockep 2 1) kiem2 (substr gockep 3 1) kiem3 (substr gockep 4 1))
(cond ((= kiem1 "d") (setq dau (substr gockep 1 1) cuoi (substr gockep 3))) ((= kiem2 "d") (setq dau (substr gockep 1 2) cuoi (substr gockep 4))) ((= kiem3 "d") (setq dau (substr gockep 1 3) cuoi (substr gockep 5)))
)
(setq gockep (strcat (strcat dau "%%d") cuoi))
;----------------------------
(setq nhan (rtos sttdinh 2 0))
(setq chugoc (strcat (strcat "A" nhan) (strcat "=" gockep)))
(setq chubk (strcat (strcat (strcat "R" nhan) (strcat "=" ssbk)) "m"))
(setq chutt (strcat (strcat (strcat "T" nhan) (strcat "=" T)) "m"))
(setq chup (strcat (strcat (strcat "P" nhan) (strcat "=" P)) "m"))
(setq chucd (strcat (strcat (strcat "K" nhan) (strcat "=" K)) "m"))
(setq dong1 (polar dbang (- (* 2 pi) (/ (* 9 pi) 24)) (* 1.75 (getvar "textsize")))
dong2 (polar dong1 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong3 (polar dong2 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong4 (polar dong3 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong5 (polar dong4 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
)
(command "-layer" "s" "Text" "" ".text" dong1 "" "" chugoc "" ".text" dong2 "" "" chubk "" ".text" dong3 "" "" chutt "" ".text" dong4 "" "" chup "" ".text" dong5 "" "" chucd "")
(setq tendinh (strcat "A" nhan))
(command ".text" dinh "" "" tendinh "")
(command "insert" "nut" dinh "" "" "" )
(setvar "osmode" osm)
(setvar "cmdecho" cmd) (princ)
)

Các bác cho e hỏi trong code trên chỉnh sửa như thế nào để được chiều cao của text xuất ra và text trong dim được như ý muốn?
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 14 April 2012 - 11:01 AM

Các bác cho e hỏi trong code trên chỉnh sửa như thế nào để được chiều cao của text xuất ra và text trong dim được như ý muốn?

Như ý muốn là sao? Bạn có thể nói rõ hơn?
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#9 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 14 April 2012 - 11:09 AM

Tức là e có thể sửa code như thế nào đó để khi text xuất ra: có chiều cao text do e định trước, hoặc cho lisp có thêm lựa chọn: cho phép người dùng chọn chiều cao text xuất ra. Hiện tại với bản vẽ tỉ lệ 1/1000, height text xuất ra của lisp là: 0.2.
Hiện tại e muốn đổi thành 0.5 bác ah.
Trong 1 bản vẽ khác e lại cần đổi thành 1 thành 2.....nữa chẳng hạn
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#10 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 16 April 2012 - 09:09 AM

Thông số nào trong code trên quyết định height text ah?
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 16 April 2012 - 11:19 AM

Thông số nào trong code trên quyết định height text ah?

Sửa như vậy xem sao.

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=47442&pid=196822&st=0&#entry196822
;Kh&#235;i t&#185;o m&#233;t s&#232; th&#171;ng s&#232; cho v&#207; n&#243;t
;------------------------------------------------------
(defun C:knut ()
(setq hf (getreal "\nChieu cao text: "))
(command "dimstyle" "s" "Dimn" "dimstyle" "s" "Dran")
(command "-Style" "hoatfon" "hoatfon" hf "" "" "" "" "")
(command "-Layer" "n" "Text" "c" "4" "Text" "")
(command "-Layer" "n" "Dim" "c" "1" "DIm" "")
(command "-Layer" "n" "Khuat" "c" "4" "Khuat" "l" "Dashed" "Khuat" "")
(Princ)
)
;;;Chuong trinh chinh (Ve va thong ke cac yeu to cua duong cong)
(setq tlv (getint "\nNhap ty le ban ve nut 1/... :"))
(defun c:GN ()
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq sttdinh (getint "\nNhap so thu tu dinh :"))
(setq es (entsel "\nChon cung tron can ve:"))
(setq dbang (getpoint "\nChon vi tri dat bang thong ke:"))
(setq osm (getvar "osmode"))
(setvar "osmode" 0)
(setq tdt (car es)
dra (cadr es)
ent (entget tdt)
cen (cdr (assoc 10 ent))
goc1 (cdr (assoc 50 ent))
goc2 (cdr (assoc 51 ent))
bk (cdr (assoc 40 ent))
)
(setq td1 (polar cen goc1 bk)
td2 (polar cen goc2 bk)
)
(setq mid (list (/ (+ (car td1) (car td2)) 2) (/ (+ (cadr td1) (cadr td2)) 2) (caddr td1)))
(setq goc (angle cen mid))
(setq goctam (abs (- goc2 goc1)))
(if (< goctam pi)
(setq goct goctam)
(setq goct (- (* 2 pi) goctam))
)
(setq dtam (/ bk (cos (/ goct 2))))
(setq dinh (polar cen goc dtam))
(setq T (rtos (/ (* (distance dinh td1) tlv) 1000) 2 2)
P (rtos (/ (* (- dtam bk) tlv) 1000) 2 2)
K (rtos (/ (* (* goct bk) tlv) 1000) 2 2)
Ssbk (rtos (/ (* bk tlv) 1000) 2 2)
)
(command "-layer" "s" "khuat" "" ".line" td1 dinh td2 "")
(command "-layer" "s" "DIM" "" "Dimstyle" "" "Dimn")
(setq kckt (* 2.2 (getvar "dimtxt")) dkt1 (polar td1 goc1 kckt))
(command "DIMALIGNED" dinh td1 dkt1)
(setq dkt2 (polar td2 goc2 kckt))
(command "DIMALIGNED" dinh td2 dkt2)
(command "Dimstyle" "" "Dran" "DIMRADIUS" tdt dra "")
;V&#207; khung th&#232;ng k&#170; nut
;--------------------------------
(setq xb (+ (car dbang) (* 9 (getvar "textsize"))) yb (- (cadr dbang) (* 10.25 (getvar "textsize"))) dbang2 (list xb yb (caddr dbang)) odbang (polar dbang (/ (* 3 pi) 4) (/ (getvar "textsize") 5)) odbang2 (polar dbang2 (- (* 2 pi) (/ pi 4)) (/ (getvar "textsize") 5)))
(command ".layer" "s" "text" "" ".rectang" odbang odbang2 ".rectang" dbang dbang2) (command "change" "l" "" "p" "c" "1" "")
;X&#246; l&#253; b&#182;ng th&#232;ng k&#170;
;-----------------------------
(setq gockep (angtos (- pi goct) 1 4))
(setq Kiem1 (substr gockep 2 1) kiem2 (substr gockep 3 1) kiem3 (substr gockep 4 1))
(cond ((= kiem1 "d") (setq dau (substr gockep 1 1) cuoi (substr gockep 3))) ((= kiem2 "d") (setq dau (substr gockep 1 2) cuoi (substr gockep 4))) ((= kiem3 "d") (setq dau (substr gockep 1 3) cuoi (substr gockep 5)))
)
(setq gockep (strcat (strcat dau "%%d") cuoi))
;----------------------------
(setq nhan (rtos sttdinh 2 0))
(setq chugoc (strcat (strcat "A" nhan) (strcat "=" gockep)))
(setq chubk (strcat (strcat (strcat "R" nhan) (strcat "=" ssbk)) "m"))
(setq chutt (strcat (strcat (strcat "T" nhan) (strcat "=" T)) "m"))
(setq chup (strcat (strcat (strcat "P" nhan) (strcat "=" P)) "m"))
(setq chucd (strcat (strcat (strcat "K" nhan) (strcat "=" K)) "m"))
(setq dong1 (polar dbang (- (* 2 pi) (/ (* 9 pi) 24)) (* 1.75 (getvar "textsize")))
dong2 (polar dong1 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong3 (polar dong2 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong4 (polar dong3 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong5 (polar dong4 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
)
(command "-layer" "s" "Text" "" ".text" dong1 "" chugoc ".text" dong2 "" chubk ".text" dong3 "" chutt ".text" dong4 "" chup ".text" dong5 "" chucd)
(setq tendinh (strcat "A" nhan))
(command ".text" dinh "" "" tendinh "")
(command "insert" "nut" dinh "" "" "" )
(setvar "osmode" osm)
(setvar "cmdecho" cmd) (princ)
)

  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#12 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 16 April 2012 - 01:21 PM

Sửa như vậy xem sao.

 ;; free lisp from cadviet.com ;;; this lisp was downloaded from http://www.cadviet.com/forum/index.php?showtopic=47442&pid=196822&st=0&#entry196822 ;Kh&#235;i t&#185;o m&#233;t s&#232; th&#171;ng s&#232; cho v&#207; n&#243;t ;------------------------------------------------------ (defun C:knut () (setq hf (getreal "\nChieu cao text: ")) (command "dimstyle" "s" "Dimn" "dimstyle" "s" "Dran") (command "-Style" "hoatfon" "hoatfon" hf "" "" "" "" "") (command "-Layer" "n" "Text" "c" "4" "Text" "") (command "-Layer" "n" "Dim" "c" "1" "DIm" "") (command "-Layer" "n" "Khuat" "c" "4" "Khuat" "l" "Dashed" "Khuat" "") (Princ) ) ;;;Chuong trinh chinh (Ve va thong ke cac yeu to cua duong cong) (setq tlv (getint "\nNhap ty le ban ve nut 1/... :")) (defun c:GN () (setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0) (setq sttdinh (getint "\nNhap so thu tu dinh :")) (setq es (entsel "\nChon cung tron can ve:")) (setq dbang (getpoint "\nChon vi tri dat bang thong ke:")) (setq osm (getvar "osmode")) (setvar "osmode" 0) (setq tdt (car es) dra (cadr es) ent (entget tdt) cen (cdr (assoc 10 ent)) goc1 (cdr (assoc 50 ent)) goc2 (cdr (assoc 51 ent)) bk (cdr (assoc 40 ent)) ) (setq td1 (polar cen goc1 bk) td2 (polar cen goc2 bk) ) (setq mid (list (/ (+ (car td1) (car td2)) 2) (/ (+ (cadr td1) (cadr td2)) 2) (caddr td1))) (setq goc (angle cen mid)) (setq goctam (abs (- goc2 goc1))) (if (< goctam pi) (setq goct goctam) (setq goct (- (* 2 pi) goctam)) ) (setq dtam (/ bk (cos (/ goct 2)))) (setq dinh (polar cen goc dtam)) (setq T (rtos (/ (* (distance dinh td1) tlv) 1000) 2 2) P (rtos (/ (* (- dtam bk) tlv) 1000) 2 2) K (rtos (/ (* (* goct bk) tlv) 1000) 2 2) Ssbk (rtos (/ (* bk tlv) 1000) 2 2) ) (command "-layer" "s" "khuat" "" ".line" td1 dinh td2 "") (command "-layer" "s" "DIM" "" "Dimstyle" "" "Dimn") (setq kckt (* 2.2 (getvar "dimtxt")) dkt1 (polar td1 goc1 kckt)) (command "DIMALIGNED" dinh td1 dkt1) (setq dkt2 (polar td2 goc2 kckt)) (command "DIMALIGNED" dinh td2 dkt2) (command "Dimstyle" "" "Dran" "DIMRADIUS" tdt dra "") ;V&#207; khung th&#232;ng k&#170; nut ;-------------------------------- (setq xb (+ (car dbang) (* 9 (getvar "textsize"))) yb (- (cadr dbang) (* 10.25 (getvar "textsize"))) dbang2 (list xb yb (caddr dbang)) odbang (polar dbang (/ (* 3 pi) 4) (/ (getvar "textsize") 5)) odbang2 (polar dbang2 (- (* 2 pi) (/ pi 4)) (/ (getvar "textsize") 5))) (command ".layer" "s" "text" "" ".rectang" odbang odbang2 ".rectang" dbang dbang2) (command "change" "l" "" "p" "c" "1" "") ;X&#246; l&#253; b&#182;ng th&#232;ng k&#170; ;----------------------------- (setq gockep (angtos (- pi goct) 1 4)) (setq Kiem1 (substr gockep 2 1) kiem2 (substr gockep 3 1) kiem3 (substr gockep 4 1)) (cond ((= kiem1 "d") (setq dau (substr gockep 1 1) cuoi (substr gockep 3))) ((= kiem2 "d") (setq dau (substr gockep 1 2) cuoi (substr gockep 4))) ((= kiem3 "d") (setq dau (substr gockep 1 3) cuoi (substr gockep 5))) ) (setq gockep (strcat (strcat dau "%%d") cuoi)) ;---------------------------- (setq nhan (rtos sttdinh 2 0)) (setq chugoc (strcat (strcat "A" nhan) (strcat "=" gockep))) (setq chubk (strcat (strcat (strcat "R" nhan) (strcat "=" ssbk)) "m")) (setq chutt (strcat (strcat (strcat "T" nhan) (strcat "=" T)) "m")) (setq chup (strcat (strcat (strcat "P" nhan) (strcat "=" P)) "m")) (setq chucd (strcat (strcat (strcat "K" nhan) (strcat "=" K)) "m")) (setq dong1 (polar dbang (- (* 2 pi) (/ (* 9 pi) 24)) (* 1.75 (getvar "textsize"))) dong2 (polar dong1 (+ pi (/ pi 2)) (* 2 (getvar "textsize"))) dong3 (polar dong2 (+ pi (/ pi 2)) (* 2 (getvar "textsize"))) dong4 (polar dong3 (+ pi (/ pi 2)) (* 2 (getvar "textsize"))) dong5 (polar dong4 (+ pi (/ pi 2)) (* 2 (getvar "textsize"))) ) (command "-layer" "s" "Text" "" ".text" dong1 "" chugoc ".text" dong2 "" chubk ".text" dong3 "" chutt ".text" dong4 "" chup ".text" dong5 "" chucd) (setq tendinh (strcat "A" nhan)) (command ".text" dinh "" "" tendinh "") (command "insert" "nut" dinh "" "" "" ) (setvar "osmode" osm) (setvar "cmdecho" cmd) (princ) ) 

iem A điền ở đỉnh của 2 đường gióng này chạy đi đâu không thấy ra í bác Ha ah: Các thông số khác thì đều đã oki
Hình đã gửi
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#13 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 16 April 2012 - 01:37 PM

iem A điền ở đỉnh của 2 đường gióng này chạy đi đâu không thấy ra í bác Ha ah: Các thông số khác thì đều đã oki
Hình đã gửi

Khổ quá đi thôi! Tôi không có font "hoatfon", lại không hiểu bản chất của lisp này làm gì (trái ngành), mà chỉ sửa để cho bạn có thể nhập height của text, nên có thể kết quả cuối cùng không như ý muốn. Bạn có thể giải thích cho tôi lisp này làm cái gì...? Hoặc bác nào biết chính xác thì có thể giúp bạn?
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#14 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 16 April 2012 - 02:32 PM

Hí hí. Khổ thế rồi cơ hả bác.... :D
Lisp này để e thống kê các thông số của đường cong tròn trong các nút giao thông. Các ngã 3 ngã tư ấy mà.
G­ửi bác bản vẽ mô tả để bác hiểu nè: http://www.cadviet.c..._giao_thong.rar
Bác ở đâu, hôm nào mời bác đi cafe nhé :D
  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#15 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 16 April 2012 - 02:53 PM

Hí hí. Khổ thế rồi cơ hả bác.... :D
Lisp này để e thống kê các thông số của đường cong tròn trong các nút giao thông. Các ngã 3 ngã tư ấy mà.
G­ửi bác bản vẽ mô tả để bác hiểu nè: http://www.cadviet.c..._giao_thong.rar
Bác ở đâu, hôm nào mời bác đi cafe nhé :D

Hình như tôi sửa thiếu 1 dòng.
1). Bạn sửa thêm dòng này xem sao:
(command ".text" dinh "" "" tendinh "")
Thành
(command ".text" dinh "" tendinh)
2). Bạn ở đâu? Bao cafe thì bao luôn vé máy bay nhé?
  • 2

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#16 bach1212

bach1212

    biết lệnh trim

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

Đã gửi 16 April 2012 - 03:20 PM

Hình như tôi sửa thiếu 1 dòng.
1). Bạn sửa thêm dòng này xem sao:
(command ".text" dinh "" "" tendinh "")
Thành
(command ".text" dinh "" tendinh)
2). Bạn ở đâu? Bao cafe thì bao luôn vé máy bay nhé?

Oki, lisp đã hoàn chỉnh, ae giao thông có thể dùng thoải mái roài. Hí hí e ở Bắc Ninh bác ah. Thank sờ kiu bác nhều :D

;; free lisp from cadviet.com
;;; this lisp was downloaded from
http://www.cadviet.com/forum/index.php?showtopic=47442&pid=196992&st=0&#entry196992
;; free lisp from cadviet.com
;;; this lisp was downloaded from
http://www.cadviet.com/forum/index.php?showtopic=47442&pid=196822&st=0&#entry196822
;Kh&#235;i t&#185;o m&#233;t s&#232; th&#171;ng s&#232; cho v&#207; n&#243;t
;------------------------------------------------------
(defun C:knut ()
(setq hf (getreal "\nChieu cao text: "))
(command "dimstyle" "s" "Dimn" "dimstyle" "s" "Dran")
(command "-Style" "hoatfon" "hoatfon" hf "" "" "" "" "")
(command "-Layer" "n" "Text" "c" "4" "Text" "")
(command "-Layer" "n" "Dim" "c" "1" "DIm" "")
(command "-Layer" "n" "Khuat" "c" "4" "Khuat" "l" "Dashed" "Khuat" "")
(Princ)
)
;;;Chuong trinh chinh (Ve va thong ke cac yeu to cua duong cong)
(setq tlv (getint "\nNhap ty le ban ve nut 1/... :"))
(defun c:GN ()
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq sttdinh (getint "\nNhap so thu tu dinh :"))
(setq es (entsel "\nChon cung tron can ve:"))
(setq dbang (getpoint "\nChon vi tri dat bang thong ke:"))
(setq osm (getvar "osmode"))
(setvar "osmode" 0)
(setq tdt (car es)
dra (cadr es)
ent (entget tdt)
cen (cdr (assoc 10 ent))
goc1 (cdr (assoc 50 ent))
goc2 (cdr (assoc 51 ent))
bk (cdr (assoc 40 ent))
)
(setq td1 (polar cen goc1 bk)
td2 (polar cen goc2 bk)
)
(setq mid (list (/ (+ (car td1) (car td2)) 2) (/ (+ (cadr td1) (cadr td2)) 2) (caddr td1)))
(setq goc (angle cen mid))
(setq goctam (abs (- goc2 goc1)))
(if (< goctam pi)
(setq goct goctam)
(setq goct (- (* 2 pi) goctam))
)
(setq dtam (/ bk (cos (/ goct 2))))
(setq dinh (polar cen goc dtam))
(setq T (rtos (/ (* (distance dinh td1) tlv) 1000) 2 2)
P (rtos (/ (* (- dtam bk) tlv) 1000) 2 2)
K (rtos (/ (* (* goct bk) tlv) 1000) 2 2)
Ssbk (rtos (/ (* bk tlv) 1000) 2 2)
)
(command "-layer" "s" "khuat" "" ".line" td1 dinh td2 "")
(command "-layer" "s" "DIM" "" "Dimstyle" "" "Dimn")
(setq kckt (* 2.2 (getvar "dimtxt")) dkt1 (polar td1 goc1 kckt))
(command "DIMALIGNED" dinh td1 dkt1)
(setq dkt2 (polar td2 goc2 kckt))
(command "DIMALIGNED" dinh td2 dkt2)
(command "Dimstyle" "" "Dran" "DIMRADIUS" tdt dra "")
;V&#207; khung th&#232;ng k&#170; nut
;--------------------------------
(setq xb (+ (car dbang) (* 11 (getvar "textsize"))) yb (- (cadr dbang) (* 10.25 (getvar
"textsize"))) dbang2 (list xb yb (caddr dbang)) odbang (polar dbang (/ (* 3 pi) 4) (/
(getvar "textsize") 5)) odbang2 (polar dbang2 (- (* 2 pi) (/ pi 4)) (/ (getvar "textsize")
5)))
(command ".layer" "s" "text" "" ".rectang" odbang odbang2 ".rectang" dbang dbang2) (command
"change" "l" "" "p" "c" "1" "")
;X&#246; l&#253; b&#182;ng th&#232;ng k&#170;
;-----------------------------
(setq gockep (angtos (- pi goct) 1 4))
(setq Kiem1 (substr gockep 2 1) kiem2 (substr gockep 3 1) kiem3 (substr gockep 4 1))
(cond ((= kiem1 "d") (setq dau (substr gockep 1 1) cuoi (substr gockep 3))) ((= kiem2 "d")
(setq dau (substr gockep 1 2) cuoi (substr gockep 4))) ((= kiem3 "d") (setq dau (substr
gockep 1 3) cuoi (substr gockep 5)))
)
(setq gockep (strcat (strcat dau "%%d") cuoi))
;----------------------------
(setq nhan (rtos sttdinh 2 0))
(setq chugoc (strcat (strcat "A" nhan) (strcat "=" gockep)))
(setq chubk (strcat (strcat (strcat "R" nhan) (strcat "=" ssbk)) "m"))
(setq chutt (strcat (strcat (strcat "T" nhan) (strcat "=" T)) "m"))
(setq chup (strcat (strcat (strcat "P" nhan) (strcat "=" P)) "m"))
(setq chucd (strcat (strcat (strcat "K" nhan) (strcat "=" K)) "m"))
(setq dong1 (polar dbang (- (* 2 pi) (/ (* 9 pi) 24)) (* 1.75 (getvar "textsize")))
dong2 (polar dong1 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong3 (polar dong2 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong4 (polar dong3 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
dong5 (polar dong4 (+ pi (/ pi 2)) (* 2 (getvar "textsize")))
)
(command "-layer" "s" "Text" "" ".text" dong1 "" chugoc ".text" dong2 "" chubk ".text"
dong3 "" chutt ".text" dong4 "" chup ".text" dong5 "" chucd)
(setq tendinh (strcat "A" nhan))
(command ".text" dinh "" tendinh)
(command "insert" "nut" dinh "" "" "" )
(setvar "osmode" osm)
(setvar "cmdecho" cmd) (princ)
)


  • 0

Một môn tập luyện mang lại vô vàn lợi ích sức khỏe cho mọi người, nhiều bệnh tật nan y đều được chữa khỏi, hoàn toàn miễn phí. Hiệu quả chữa khỏi bệnh tật của nó lên đến hơn 90%.
Tài liệu tại đây: http://phapluan.org/

Rất vui được làm quen với mọi người trên facebook:
https://www.facebook...67946371&type=1

 

 


#17 vuducanh119

vuducanh119

    biết zoom

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

Đã gửi 06 April 2014 - 10:13 AM

các bác cho em hỏi sử dụng lisp tsdc này phải thực hiện các bước như thế nào ạ.

e đã sử dụng vài cách như copy vào support rồi mà vẫn k được các bác ạ.


  • 0

#18 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5447 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 06 April 2014 - 10:32 AM

Thì load nó xong, dùng lệnh TSDC


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.