Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
vuminhchau

[Yêu cầu] Nhờ các anh coi giúp lisp vẽ đường tròn bao quanh chữ bị lỗi gì với!

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

vuminhchau    1

Các anh ơi coi giúp em cái lisp này nó báo lỗi : ; error: no function definition: CONS0 là do thiếu định nghĩa chứa năng cons0 phải không ạ, nhờ các anh bổ sung giúp em với!

 

(defun C:TCir()
    (setq txtSet(ssget(list(cons0"text"))))
    (setq setlen(sslength txtSet))
    (setq ctr 0)
    (repeat setlen
        (setq ent(ssname txtSet ctr))
        (setq entl(entget ent))
        (setq otex(textbox entl))
        (setq po1(cdr(assoc10 entl)))
        (setq ang1(cdr(assoc50 entl)))
        (setq sinrot(sin ang1))
        (setq cosrot(cos ang1))
        (setq t1(car otex))
        (setq t2(cadr otex))
        (setq p1o(list(+(car po1) (-(*(car t1) cosrot) (*(cadr t1) sinrot))) (+(cadr po1)(+(*(car t1) sinrot) (*(cadr t1) cosrot)))))
        (setq p2o(list (+ (car po1) (-(*(car t2) cosrot) (*(cadr t2) sinrot))) (+(cadr po1) (+(*(car t2) sinrot) (* (cadr t2) cosrot)))))        
        (command"._Circle" (midp p1o p2o) (*0.6(distance p1o p2o)))
        (setq ctr(1+ ctr))
    )
    (princ)
)

; Function to find the mid point of two points.
(defun MidP(midp_fpo midp_spo)
    (setq midp_mpo(list(/ (+(car midp_fpo) (car midp_spo))2) (/ (+(cadr midp_fpo) (cadr midp_spo))2)))
)

(princ "\nType \"TCir\" for Circling selected Texts.")  (princ)

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
vuminhchau    1

còn 1 chút nữa em làm phiền anh coi giúp là sau khi sửa xong vẽ được đường tròn nhưng nó báo lỗi ; error: no function definition: *0

à cái này có thể thêm dùng cho cả mtext được không anh nhỉ?

 

  

(defun C:TCir()
    (setq txtSet(ssget(list(cons 0"text"))))
    (setq setlen(sslength txtSet))
    (setq ctr 0)
    (repeat setlen
        (setq ent(ssname txtSet ctr))
        (setq entl(entget ent))
        (setq otex(textbox entl))
        (setq po1(cdr(assoc 10 entl)))
        (setq ang1(cdr(assoc 50 entl)))
        (setq sinrot(sin ang1))
        (setq cosrot(cos ang1))
        (setq t1(car otex))
        (setq t2(cadr otex))
        (setq p1o(list(+(car po1) (-(*(car t1) cosrot) (*(cadr t1) sinrot))) (+(cadr po1)(+(*(car t1) sinrot) (*(cadr t1) cosrot)))))
        (setq p2o(list (+ (car po1) (-(*(car t2) cosrot) (*(cadr t2) sinrot))) (+(cadr po1) (+(*(car t2) sinrot) (* (cadr t2) cosrot)))))       
        (command"._Circle" (midp p1o p2o) (*0.6(distance p1o p2o)))
        (setq ctr(1+ ctr))
    )
    (princ)
)

; Function to find the mid point of two points.
(defun MidP(midp_fpo midp_spo)
    (setq midp_mpo(list(/ (+(car midp_fpo) (car midp_spo))2) (/ (+(cadr midp_fpo) (cadr midp_spo))2)))
)

(princ "\nType \"TCir\" for Circling selected Texts.")  (princ)

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
banbe0274    0

Nhờ Bác Phan Thanh Bình và các Bác trên diễn đàn chỉnh sửa hoặc viết giúp em 1 lisp :

dùng 1 lệnh quét toàn text kết quả cho ra mỗi text vẽ đường tròn bao quanh - lưu ý là đường tròn bao quanh có đường kính khác nhau để vừa chuỗi text.

như ví dụ sau:http://www.cadviet.com/upfiles/3/72353_drawing2.rar

Cám ơn các Bá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
phamthanhbinh    3.123

Nhờ Bác Phan Thanh Bình và các Bác trên diễn đàn chỉnh sửa hoặc viết giúp em 1 lisp :

dùng 1 lệnh quét toàn text kết quả cho ra mỗi text vẽ đường tròn bao quanh - lưu ý là đường tròn bao quanh có đường kính khác nhau để vừa chuỗi text.

như ví dụ sau:http://www.cadviet.com/upfiles/3/72353_drawing2.rar

Cám ơn các Bác!

Hề hề hề,bạn đã dùng thử lisp phía trên chưa?? Nếu chưa thì hãy dùng thử coi. Nếu đã thì nó báo lỗi gì hay là bạn không thích nó ở điểm nào??

Thực tế mình thấy lisp trên đạt yêu cầu sử dụng của bạn. Tất nhiên có phải chỉnh sửa tí ti như bác DoanVanHa đã hướng dẫn.

  • Vote tăng 1

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

Đăng nhập để thực hiện theo  

×