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

Bảng xếp hạng


Nội dung phổ biến

Hiển thị nội dung có danh tiếng cao nhất vì 09/10/2021 trong tất cả các lĩnh vực

  1. 1 điểm
    Bạn thử cái này, hình chữ nhật luôn nằm bên trái của hướng từ điểm đầu tới điểm cuối. VCN.lsp
  2. 1 điểm
  3. 1 điểm
    (defun c:hcncheo( / ANG ANG1 DIST E ENT ENTS H L1 L2 LISTDINH NAME OBJ P1 P2 P3 P4 P5 P6 PARAM PE PS PT) (setq ents (entsel "\nPick entity")) (if (null ents) (exit)) (setq pt (cadr ents) ent (car ents) name (acet-dxf 0 (entget ent))) (if (null (or (= name "LWPOLYLINE") (= name "LINE")) ) (exit) ) (if (= name "LWPOLYLINE") (setq obj (vlax-ename->vla-object ent) pt (vlax-curve-getclosestpointto obj pt) param (fix (vlax-curve-getParamAtPoint obj pt)) ps (vlax-curve-getPointAtParam obj param) pe (vlax-curve-getPointAtParam obj (+ param 1)) ) ) (if (= name "LINE") (setq ps (acet-dxf 10 (entget ent)) pe (acet-dxf 11 (entget ent)) ) ) (setq p1 (if (< (car ps) (car pe)) ps pe) p2 (if (< (car ps) (car pe)) pe ps) ang (angle p1 p2) ang1 (+ ang (* pi 0.5)) dist (DISTANCE p1 p2)) (alert (strcat "L= " (rtos dist 2 2))) (setq l1 (getdist "\nL1:")) (setq l2 (getdist "\nL2:")) (if (> (+ l1 l2) dist) (alert "Tong L1 + L2 qua lon") ) (setq h (getdist "\nH:")) (setq p3 (polar p1 ang l1) p4 (polar p2 ang (- 0 l2)) p5 (polar p4 ang1 h) p6 (polar p3 ang1 h) ) (DEFUN list_point_pline (p1 w) (LIST (LIST 10 (CAR p1) (CADR p1)) (CONS 40 w) (CONS 41 w) (CONS 42 0.0)) ) (DEFUN make_lwpolyline (list_dinh dong_lai do_day layer / dlist elist1 e_list n i) (SETQ n (LENGTH list_dinh)) (SETQ dlist nil) (SETQ i 0) (WHILE (< i n) (SETQ dlist (APPEND dlist (list_point_pline (NTH i list_dinh) do_day) ) ) (SETQ i (1+ i)) ) (SETQ elist1 (LIST (CONS 0 "LWPOLYLINE") (CONS 100 "AcDbEntity") (CONS 410 "Model") (CONS 8 layer) (CONS 100 "AcDbPolyline") (CONS 90 n) (CONS 70 dong_lai) ;(cons 43 0.0) (CONS 38 0.0) (CONS 39 0.0))) (SETQ e_list nil) (SETQ e_list (APPEND elist1 dlist)) (SETQ e_list (APPEND e_list (LIST '(210 0.0 0.0 1.0)))) (ENTMAKE e_list) ) (DEFUN make_dim_y1 (style p1 p2 p3 ang layer / d e_list basepoint p4) (SETQ e_list (LIST (CONS 0 "DIMENSION") (CONS 100 "AcDbEntity") (CONS 67 0) (CONS 410 "Model") (CONS 8 layer) (CONS 100 "AcDbDimension") (cons 10 p3) (cons 11 p3) (LIST 12 0.0 0.0 0.0) (CONS 70 32) (CONS 1 "") (CONS 71 5) (CONS 72 1) (CONS 41 1.0) (CONS 42 0) (CONS 52 0.0) (CONS 53 0.0) (CONS 54 0.0) (CONS 51 0.0) (LIST 210 0.0 0.0 1.0) (CONS 3 style) (CONS 100 "AcDbAlignedDimension") (cons 13 p1) (cons 14 p2) (LIST 15 0.0 0.0 0.0) (LIST 16 0.0 0.0 0.0) (CONS 40 0.0) (CONS 50 ang) (CONS 100 "AcDbRotatedDimension") ) ) (ENTMAKE e_list) ) (setq listdinh (mapcar '(lambda (e) (list (car e) (cadr e)) ) (list p3 p4 p5 p6)) ) (MAKE_LWPOLYLINE listdinh 1 0 "chunhat") (MAKE_DIM_Y1 "Standard" p3 p6 (polar p1 (- 0 ang) (+ h h)) ang1 "dim") (MAKE_DIM_Y1 "Standard" p1 p3 (polar p1 ang1 (+ h h)) ang "dim") (MAKE_DIM_Y1 "Standard" p4 p2 (polar p1 ang1 (+ h h)) ang "dim") ) thử lại nhé
  4. 1 điểm
    Assoc Array 1 chiều với 2 lựa chọn số lượng hoặc khoảng cách để cho mình có thêm lựa chọn ArrayDonhuong.rar
  5. 1 điểm
    https://www.cadviet.com/forum/topic/54624-yêu-cầu-lisp-kết-hợp-lệnh-array-và-copy/
  6. 1 điểm
    Với line nằm ngang thì dùng cái này (defun c:noiline ( / I KEY LS LS2 N P SS SS1 ) (defun pointmininline (ent / ENTG LS LS1 PE PS) (setq entg (entget ent) ps (acet-dxf 10 entg) pe (acet-dxf 11 entg) ls (list ps pe)) (setq ls1 (vl-sort ls '(lambda (p1 p2) (< (car p1) (car p2)) ) ) ) ls1 ) (DEFUN make_lwpolyline (list_dinh dong_lai do_day layer / dlist elist1 e_list n i) (SETQ n (LENGTH list_dinh)) (SETQ dlist nil) (SETQ i 0) (WHILE (< i n) (SETQ dlist (APPEND dlist (list_point_pline (NTH i list_dinh) do_day) ) ) (SETQ i (1+ i)) ) (SETQ elist1 (LIST (CONS 0 "LWPOLYLINE") (CONS 100 "AcDbEntity") (CONS 410 "Model") (CONS 8 layer) (CONS 100 "AcDbPolyline") (CONS 90 n) (CONS 70 dong_lai) ;(cons 43 0.0) (CONS 38 0.0) (CONS 39 0.0))) (SETQ e_list nil) (SETQ e_list (APPEND elist1 dlist)) (SETQ e_list (APPEND e_list (LIST '(210 0.0 0.0 1.0)))) (ENTMAKE e_list) ) (setq ss (ssget '((0 . "LINE"))) ss (acet-ss-to-list ss)) (setq ss1 (vl-sort ss '(lambda (e1 e2) (< (cadr (car (pointmininline e1))) (cadr (car (pointmininline e2))) ) ) ) ) (setq n (length ss1) i 0 ls (list)) (initget 1 "T P") (setq key (GETKWORD "Bat dau tu duoi Trai / Phai")) (if (= key "T") (while (< i n) (progn (setq ls2 (pointmininline (nth i ss1))) (if ( = (rem i 2) 0) (setq ls (append ls (list (car ls2) (cadr ls2)))) (setq ls (append ls (list (cadr ls2) (car ls2)))) ) ) (setq i (1+ i)) ) (while (< i n) (progn (setq ls2 (pointmininline (nth i ss1))) (if ( = (rem i 2) 0) (setq ls (append ls (list (cadr ls2) (car ls2)))) (setq ls (append ls (list (car ls2) (cadr ls2)))) ) ) (setq i (1+ i)) ) ) (setq ls (mapcar '(lambda (p) (list (car p) (cadr p))) ls)) (MAKE_LWPOLYLINE ls 0 0 "ketqua") (initget 1 "Y N") (setq key (GETKWORD "Xoa line cu khong Yes / No")) (if (= key "Y") (foreach n ss1 (entdel n)) ) )
  7. 1 điểm
    Nó dùng để đo dài , không phải đo góc nên không thể hướng tâm được. Nếu hướng tâm thì khoảng cách giữa 2 mút Extension line sẽ ngắn hơn Dimension line. Dùng một đoạn lớn hơn 330mm không rõ bao nhiêu lần để biểu diễn 330mm không có ý nghĩa gì.
  8. 1 điểm
    File nguồn ở đây cho ai thích vọc ArrayDonhuongs.rar
  9. 1 điểm
    (setq ss (ssget '((0 . "LWPOLYLINE")))) (setq ss (ACET-SS-TO-LIST ss)) (if (< (length ss) 2) (exit)) (setq pl1 (car ss) pl2 (cadr ss)) (setq ls1 (ACET-GEOM-PLINE-POINT-LIST pl1 0) ls2 (ACET-GEOM-PLINE-POINT-LIST pl2 0) pl1s (car ls1) pl1e (last ls1) pl2s (car ls2) pl2e (last ls2)) (setq p3 (if (< (distance pl1s pl2s) (distance pl1e pl2s)) pl1s pl1e) ) (setq p4 (if (< (distance pl2s pl1s) (distance pl2e pl1s)) pl2s pl2e) ) (setq line1 (entmakex (list (cons 0 "line") (cons 10 p3) (cons 11 p4)))) (command "pedit" pl1 "join" line1 pl2 "" "")
  10. -1 điểm
    Mình có lisp này, hiện tại chỉ thông báo kết quả như hình. Nhưng muốn ghi luôn vào trong bản vẽ cad. Mong mọi người giúp đỡ. Tks! tl.lsp
  11. -2 điểm
  12. -3 điểm
    Trong Lisp trên của bạn đó có dùng lệnh "LENGTHEN" để tính chiều dài. Nhưng sau khi dùng lệnh đó xong thì nó yêu có một số yêu cầu khác nữa, mà không lặp qua đối tượng tiếp theo | day rut nhua
Bảng thành tích này được đặt thành Tp. Hồ Chí Minh /GMT +07:00


  • Newsletter

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

    Sign Up
×