-
Số lượng nội dung
13 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi tung89gt
-
-
QuoteCác bác cho em hỏi là. cũng là lisp tạo layer trên. Nhưng em muốn tạo layer freeze trong tất cả các khung MV thì điều chỉnh như thế nào được.
Em xin cảm ơn!
-
Vào lúc 11/9/2022 tại 08:08, vietduc147258 đã nói:Lỗi do bạn đặt tên:
lúc đầu là : HVC - VIN - E - 005 (có khoảng cách giữa số và dấu -)
sau là: E-01 (Viết liền không có khoảng cách)
Bạn viết có cách ra là được.
Tiện thể cho em hỏi các bác là nếu ATT chỉ đơn thuần là 01,02,03... thôi thì thể sửa lisp ở chỗ nào để xuất được không?
Bạn cho mình hỏi thêm chút là : khi mình tạo block ATT mình có tích vào ô Multiple lines như trên hình thì lisp không thể xuất ra được text trong bản danh mục. Có thể sửa lại để có thể xuất được ra danh mục khi mình tích vào ô multiple lines được không bạn?
-
Vào lúc 28/7/2021 tại 07:44, DungNguyen685 đã nói:Bạn xem giúp mình vì sao khung tên mình phá block ra sau đó tạo lại thì không tạo được danh mục với!
-
NHờ chỉnh sửa lisp
trong AutoLisp
Vào lúc 6/8/2022 tại 19:30, 7o7 đã nói:Gì chứ xóa bớt lisp là nghề của tui.
Lisp chạy đúng ý của em rồi! em cảm ơn bác nha.
-
NHờ chỉnh sửa lisp
trong AutoLisp
1 giờ} trướ}c, NTHAHT đã nói:Bạn thử chạy trường hợp lọc mline Layer hoặc Style xem sao.
Em đã chạy thử trường hợp lọc theo layer và style thì thấy đều báo lỗi. nhưng nhu cầu hiện tại thì em chỉ chủ yếu dùng lọc theo scale thôi bác ạ. bác có thể chỉnh thêm giúp em là sau khi ấn lệnh thì lisp sẽ bỏ qua phần lựa chọn thuộc tính đi và chạy thẳng vào phần chọn đối tượng mẫu ( theo scale) xong rồi quét chọn vùng chứa các đối tượng được không bác.
-
NHờ chỉnh sửa lisp
trong AutoLisp
10 giờ trước, huunhantvxdts đã nói:Chỉnh lại cho bạn nhé:
(defun c:LL ( / txt) (initget "ST LA SA") (setq txt (getkword "\nLoc MLINE theo [STyle/LAyer/SAcle] <LA>: ")) (cond ((not txt) (setq kieu " thuoc STYLE: <") (setq mdxf 2)) ((= "ST" txt) (setq kieu " thuoc STYLE: <") (setq mdxf 2)) ((= "LA" txt) (setq kieu " thuoc LAYER: <") (setq mdxf 8)) ((= "SA" txt) (setq kieu " co SCALE: <") (setq mdxf 40)) ) (setq ketqua (cdr (assoc mdxf (entget (car (chonmotmline)))))) (setq ss (ssget (list (cons 0 "MLINE") (cons -4 "<OR") (cons mdxf ketqua) (cons mdxf (* ketqua -1) ) (cons -4 "OR>")))) (setq tot_len 0.0) (setq sml (sslength ss)) (while (> (sslength ss) 0) (setq e_name (ssname ss 0)) (setq e_record (entget e_name)) (setq e_type (cdr (assoc '0 e_record))) (cond ((wcmatch e_type "LINE,ARC,CIRCLE,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE") (command "lengthen" e_name "") (setq tot_len (+ tot_len (getvar "PERIMETER"))) (ssdel e_name ss) ) ((wcmatch e_type "MLINE") (add_mline)) (e_type (ssdel e_name ss)) ) ) (cond ((= "SA" txt) (setq ketqua (rtos ketqua 2 2)) )) (prompt (strcat "\nTim thay: " (itoa sml) " doi tuong MLINE" kieu ketqua "> tong chieu dai=" (rtos tot_len 2 2))) (princ)) ;;;;;;;;;;;;;; (defun chonmotmline ( / dchon) (setq dchon (entsel "\nChon Mline chuan:")) (while (or (null (car dchon)) (and (/= "MLINE" (cdr (assoc 0 (entget (car dchon))))) ) ) (princ "\nDoi tuong khong phai MLINE. Chon lai !") (setq dchon (entsel)) ) dchon) ;;;;;;;;;;;;;; (defun add_mline () (foreach e_record_sub e_record (cond ((= 10 (car e_record_sub)) (setq pt1 (cdr e_record_sub) mline_len 0.0 ) ) ((= 11 (car e_record_sub)) (setq pt2 (cdr e_record_sub) mline_len (+ mline_len (distance pt2 pt1)) pt1 pt2 ) ) ) ) (setq tot_len (+ tot_len mline_len)) (ssdel e_name ss) )
Tuyệt vời! Lisp chạy ngon rồi bác ạ, Em cảm ơn bác rất nhiều.
-
NHờ chỉnh sửa lisp
trong AutoLisp
Em chào các bác!
Em có sưu tập được 1 lisp tính khối lượng mline trên diễn đàn. không nhớ là của bác nào.
hiện tại em đang vướng mắc một chút là khi sử dụng lisp để tính khối lượng ở lệnh scale thì lisp chỉ quyét được các mline (cùng tỉ lệ scale) chưa lấy đối xứng. nhờ các bác sửa lisp quyét được cả các mline đã bị lấy đối xứng rồi giúp em với!
Em cảm ơn các bác!
-
Em làm được rồi! Em cảm ơn bác Nguyen Hoanh nhiều nha.
Nhờ chỉnh lisp tạo layer
trong AutoLisp
Đã đăng · Trả lời báo cáo
Mình Cảm ơn bạn nhiều nha!