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

Vũ Hưng 1310

Thành viên
  • Số lượng nội dung

    6
  • Đã tham gia

  • Lần ghé thăm cuối

Bài đăng được đăng bởi Vũ Hưng 1310


  1. 6 giờ trước, tannguyen291 đã nói:

    Bạn dùng thử cái này nhé. viết nhanh chất lượng thấp nhưng hiệu quả khá tốt.

    B1 thứ nhất chọn các đường dọc

    B2 chọn các đường ngang

    Lệnh FA và chỉ dùng với line thôi nhé. bạn x hết các đường pline ra.

     

    (defun c:FA (/ ss1 ss2 ent p1 p2 lstxl lstpt1 lstpt2)

      (setq

        ss1 (acet-ss-to-list (ssget '((0 . "LINE"))))

        ss2 (acet-ss-to-list (ssget '((0 . "LINE"))))

      )

      (foreach item ss1

        (setq

          ent (entget item)

          p1 (cdr (assoc 10 ent))

          p2 (cdr (assoc 11 ent))

          lstpt1 (append lstpt1 (list p1 p2))

        )

        (vl-cmdf "XLINE" p1 p2 "")

        (setq lstxl (cons (entlast) lstxl))

      )

      (foreach item ss2

        (setq

          ent (entget item)

          lstpt2 (cons (cdr (assoc 10 ent)) lstpt2)

          lstpt2 (cons (cdr (assoc 11 ent)) lstpt2)

        )

      )

      (apply 'vl-cmdf (append '("extend") lstxl '("") lstpt2 '("")))

      (mapcar 'entdel lstxl)

      (apply 'vl-cmdf (append '("extend") ss2 '("") lstpt1 '("")))

      (princ)

    )

     

    Em cảm ơn. để em thử xem ạ. Dùng lệnh của Bác cuongtk2 thì em cũng biết nhưng nó tác ngách quá mà nhiều khi không được như ý muốn

×