Chuyển đến nội dung
Diễn đàn CADViet

Tất cả hoạt động

Luồng cập nhật tự động luồng này     

  1. Giờ trước
  2. tannguyen291

    Lisp Chamfer nhiều cạnh theo chiều dài

    Sau quá nhiều bình luận mình vẫn cho rằng đã viết lisp thì không thể phiên phiến được kéo điểm, nối thêm nét... . phải chính xác Dựa trên lý thuyết của bác @duy782006 là tạo ra 3 đường thẳng có các góc tạo ra bằng nhau thì mình viết 1 lisp chọn 2 đường line sau đó nhập độ dài 1 cạnh: (defun c:test (/ ent1 ent2 ent pp1 pp2 ptx obj1 obj2 a1 a2 bankinh dis dis1 dis2) (setq ent1 (entsel "\nChon DT1") ent2 (entsel "\nChon DT2") dis (getdist "\nDo dai cac doan thang") pp1 (trans (cadr ent1) 1 0 ) pp2 (trans (cadr ent2) 1 0 ) ent1 (vlax-ename->vla-object (car ent1)) ent2 (vlax-ename->vla-object (car ent2)) pp1 (vlax-curve-getclosestpointto ent1 pp1 ) pp2 (vlax-curve-getclosestpointto ent2 pp2 ) ptx (vlax-invoke ent1 'intersectwith ent2 acExtendBoth) a1 (angle ptx pp1) a2 (angle ptx pp2) ) (if (> a1 a2) (if (< (- a1 a2) pi) (setq a1 (- a1 a2)) (setq a1 (+ pi pi a2 (- a1))) ) (if (< (- a2 a1) pi) (setq a1 (- a2 a1)) (setq a1 (+ pi pi a1 (- a2))) ) ) (setq a2 (+ (* 0.375 pi) (/ a1 8)) bankinh (abs (/ dis 2 (cos a2))) dis1 (abs (* bankinh (sin a2))) dis2 (abs (- (* dis1 (cos (/ a1 2)) (/ 1 (sin (/ a1 2))) ) (/ dis 2))) ) (vl-cmdf "offset" dis1 (vlax-vla-object->ename ent1) (trans pp2 0 1) "") (setq obj1 (vlax-ename->vla-object (entlast))) (vl-cmdf "offset" dis1 (vlax-vla-object->ename ent2) (trans pp1 0 1) "") (setq obj2 (vlax-ename->vla-object (entlast))) (setq ptx (vlax-invoke obj1 'intersectwith obj2 acExtendBoth)) (vla-delete obj1) (vla-delete obj2) (setvar "CHAMFERA" dis2) (setvar "CHAMFERB" dis2) (vl-cmdf "CHAMFER" (trans pp1 0 1) (trans pp2 0 1)) (setq ent (entget (entlast)) pp1 (cdr (assoc 10 ent)) pp2 (cdr (assoc 11 ent)) ) (entdel (cdar ent)) (setq a1 (angle ptx pp1) a2 (angle ptx pp2) obj1 (vlax-ename->vla-object (entmakex (list '(0 . "ARC") (cons 10 ptx) (cons 40 bankinh) (cons 50 a1) (cons 51 a2)))) obj2 (vlax-ename->vla-object (entmakex (list '(0 . "ARC") (cons 10 ptx) (cons 40 bankinh) (cons 50 a2) (cons 51 a1)))) ) (if (> (vlax-curve-getdistatparam obj1 (vlax-curve-getendparam obj1)) (vlax-curve-getdistatparam obj2 (vlax-curve-getendparam obj2))) (mapcar 'set '(obj1 obj2 pp1 pp2) (list obj2 obj1 pp2 pp1)) ) (vla-delete obj2) (setq obj2 (vlax-curve-getdistatparam obj1 (vlax-curve-getendparam obj1)) a1 (vlax-curve-getpointatdist obj1 (/ obj2 3)) a2 (vlax-curve-getpointatdist obj1 (* 2 (/ obj2 3))) ) (vla-delete obj1) (entmakex (list '(0 . "LINE") (cons 10 pp1) (cons 11 a1))) (entmakex (list '(0 . "LINE") (cons 10 a1) (cons 11 a2))) (entmakex (list '(0 . "LINE") (cons 10 a2) (cons 11 pp2))) (princ) )
  3. Chia.se.Hoc.hoi

    CHUYỂN HATCH SANG LINE HOẶC POLYLINE

    Thank bạn cuongtk2: cách này mình đã thử rồi, nhưng nó lệnh này nó tạo đường bao quanh Hatch, cái mình muốn là 1 line hoặc Polyline nằm chính giữa tâm của Hatch, giống như mình dùng Line để vẽ 1 cái khung vậy đó.
  4. NTHAHT

    Giúp em tải bộ fonts Arial Unicode MS Bold

    Bạn tải ở đây: https://github.com/stamen/toner-carto/blob/master/fonts/Arial-Unicode-Bold-Italic.ttf
  5. conghoa

    Giúp em tải bộ fonts Arial Unicode MS Bold

    https://www.mediafire.com/file/szzl73du47yuggx/arial-unicode-ms-bold.zip/file Bạn thử file này xem có đúng ko nhé.
  6. cuongtk2

    CHUYỂN HATCH SANG LINE HOẶC POLYLINE

    Đơn giản nhất là Recreate boundary ra polyline trong lệnh Hacth edit.
  7. ngokiet

    Lisp Chamfer nhiều cạnh theo chiều dài

    Bài toán đơn giản là chamfer n đoạn bằng nhau và nội tiếp R nào đó thôi
  8. Chia.se.Hoc.hoi

    CHUYỂN HATCH SANG LINE HOẶC POLYLINE

    Nhờ các bạn xem giúp, tình hình là có cái bảng chú thích, cái khung hiện tại là Hatch, vậy có cách nào làm cho Hatch chuyển thành Line hoặc Polyline cho tiện điều chỉnh không ạ. Nếu phải dùng Lisp thì nhờ bạn nào biết Code hộ giúp mình cái Lisp. Thank All! CHUYỂN HATCH SANG LINE HOẶC POLYLINE.dwg
  9. Hôm nay
  10. Hôm qua
  11. thuyen mai

    Lisp Chamfer nhiều cạnh theo chiều dài

    Em chào các bác ạ! Em đang cần tìm một lisp chia góc thành nhiều đoạn theo chiều dài cho trước (theo hình như bên dưới). Các bác có thể giúp em viết lisp để xử lý bài toán này không ạ? Em không biết gì về Lisp cả nên phải đi nhờ em cũng ngại lắm. Rất mong được các bác giúp đỡ. Em cảm ơn nhiều ạ!
  12. Tuần trước.
  13. nhatmufc

    Insert Field một phần nội dung

    Các anh/chị cho em hỏi có cách nào insert field một phần nội dung của text, mtext hoặc att block không ạ Ví dụ em có một text với nội dung abc - 123 - xyz, có cách nào để em insert field chỉ lấy nội dung 123 thôi được không ạ Em cảm ơn các anh/chị
  14. Ai có tài khoản QQ, Wechat bên TQ tải giúp em bộ fonts Arial Unicode MS này ko ạ, nó đầy đủ loại Bold, Italic,...Mặc định Windows có mỗi Arial Unicode MS Regular. Fonts này gõ tiếng việt không bị bé dấu, in rõ dấu.
  1. Tải thêm hoạt động


  • Newsletter

    Want to keep up to date with all our latest news and information?

    Sign Up
×