hahavvvv22 0 Báo cáo bài đăng Đã đăng Tháng 4 12, 2023 Em chào anh chị và mọi người, hiện tại em đang muốn get center của ssget chọn vào (mục đích dùng cho hình Oval). Em gặp lỗi khi ssget là một arc nằm trong block. A/c giúp e với ạ. Em cảm ơn nhiều ạ. (defun c:getcen () (setq qq (ssget)) (setq p3 (osnap (vlax-curve-getStartPoint (vlax-ename->vla-object (ssname qq 0))) "cen")) (princ p3) ) 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
Duong Nhat Duy 396 Báo cáo bài đăng Đã đăng Tháng 4 12, 2023 Để lấy dữ liệu đối tượng (Arc) trong block bạn dùng: (setq sel (nentsel)) (setq arc (car sel)) (setq pt (cdr (assoc 10 (entget arc)))) Tuy nhiên pt lại là tọa độ trong Block Editor (OCS), muốn sang WCS thì phải cộng với tọa độ tâm Block chứa Arc đó. Tọa độ tâm Block có thể lấy trong này (nếu ko muốn entsel thêm phát nữa) (caddr sel) Bạn có thể tham khảo trong 1 đống hàm loằng ngoằng ở bài này: https://www.cadtutor.net/forum/topic/63984-getting-a-point-of-an-entity-inside-a-block-as-wcs-coordinates/ Mình cũng ko biết lisp nó có hàm trực tiếp chuyển từ OCS sang WCS ko nữa, nhờ các pro giải đáp 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
hahavvvv22 0 Báo cáo bài đăng Đã đăng Tháng 4 12, 2023 7 phút trước, Duong Nhat Duy đã nói: Để lấy dữ liệu đối tượng (Arc) trong block bạn dùng: (setq sel (nentsel)) (setq arc (car sel)) (setq pt (cdr (assoc 10 (entget arc)))) Tuy nhiên pt lại là tọa độ trong Block Editor, muốn sang WCS thì phải cộng với tọa độ tâm Block chứa Arc đó. Tọa độ tâm Block có thể lấy trong này (nếu ko muốn entsel thêm phát nữa) (caddr sel) Bạn có thể tham khảo trong 1 đống hàm loằng ngoằng ở bài này: https://www.cadtutor.net/forum/topic/63984-getting-a-point-of-an-entity-inside-a-block-as-wcs-coordinates/ vâng. em cảm ơn a nhiều ạ <3 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