Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
ThanhDattdk

Xác Định 2 Đỉnh Đối Nhau Của Khung Tên Được Xref

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

Xin chào các bác. Em muốn xác định 2 đỉnh đối nhau của khung tên được Xref để làm lisp IN [ lisp in chỉ quét khung tên được chọn thì tự bắt 2 đỉnh để preview hoặc in với đk mình đã ADDlayout từ trước ]. Mong các bác chỉ giáo thêm, em xin cảm ơn

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

Xin chào các bác. Em muốn xác định 2 đỉnh đối nhau của khung tên được Xref để làm lisp IN [ lisp in chỉ quét khung tên được chọn thì tự bắt 2 đỉnh để preview hoặc in với đk mình đã ADDlayout từ trước ]. Mong các bác chỉ giáo thêm, em xin cảm ơn

Có thể dùng box của Lee nhé. ^_^

Code here:

(defun c:test ( / ent )
    (if (setq ent (car (entsel)))
        (entmake
            (append
               '(
                    (000 . "LWPOLYLINE")
                    (100 . "AcDbEntity")
                    (100 . "AcDbPolyline")
                    (090 . 4)
                    (070 . 1)
                )
                (mapcar '(lambda ( p ) (cons 10 p)) (LM:boundingbox (vlax-ename->vla-object ent)))
            )
        )
    )
    (princ)
)
(vl-load-com) (princ)

;; Bounding Box  -  Lee Mac
;; Returns the point list describing the rectangular frame bounding the supplied object.
;; obj - [vla] VLA-Object

(defun LM:boundingbox ( obj / a b lst )
    (if
        (and
            (vlax-method-applicable-p obj 'getboundingbox)
            (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-getboundingbox (list obj 'a 'b))))
            (setq lst (mapcar 'vlax-safearray->list (list a b)))
        )
        (mapcar '(lambda ( a ) (mapcar '(lambda ( b ) ((eval b) lst)) a))
           '(
                (caar   cadar)
                (caadr  cadar)
                (caadr cadadr)
                (caar  cadadr)
            )
        )
    )
)

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  

×