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

thiep

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

    472
  • Đã tham gia

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

  • Ngày trúng

    37

Cộng đồng

335 (khá)

1 Người theo dõi

About thiep

  • Cấp bậc
    biết lệnh explore
  • Ngày sinh 18/10/1966

Thông tin hồ sơ

  • Giới tính
    Male
  • Vị trí
    TP.HCM

Khách truy cập Tiểu sử gần đây

9.371 chế độ xem tiểu sử
  1. thiep

    GIÚP ĐỠ VIẾT AUTOLISP RẢI TALUY

    Bạn có thể gửi 1 bản vẽ mẫu có tỷ lệ bản vẽ, Thiep có thể giúp bạn.
  2. thiep

    Nhờ code lisp lấy toạ độ điểm giao của rectang or pline or line

    Lisp của bạn, các toạ độ góc được gắn vào biến polst (defun sysvar-set (lst_setvar / strN var var_oldname n) (setq n 0 lstvar_thiep nil lstValue_thiep nil ) (repeat (/ (length lst_setvar) 2) (setq var (nth n lst_setvar) var_oldname (strcat "oldvar_thiep" (itoa n)) ) (setq lstvar_thiep (append lstvar_thiep (list var))) (set (read var_oldname) (getvar var)) (setq lstValue_thiep (append lstValue_thiep (list (read var_oldname)))) (setvar var (nth (+ n 1) lst_setvar)) (setq n (+ 2 n)) ) ) (defun c:gdt (/ ucshold po ent_bo polst lstvar_thiep lstValue_thiep) (sysvar-set '("cmdecho" 0 "osmode" 0)) (setq ucshold (acet-ucs-get nil)) (acet-ucs-cmd '("w")) (setq po (getpoint "\Pick a point inside the closed boundary ")) (command "_.-boundary" po "") (if (and (setq ent_bo (entlast)) (eq (acet-dxf 0 (entget ent_bo)) "LWPOLYLINE")) (progn (setq polst (acet-geom-object-point-list ent_bo nil)) (if (equal (car polst) (last polst) 0.01) (setq polst (cdr polst)) ) (entdel ent_bo) ) ) (acet-ucs-set ucshold) (mapcar '(lambda (var value) (setvar var (eval value))) lstvar_thiep lstValue_thiep ) (and polst(princ polst)) (princ) )
  3. thiep

    Nhờ code lisp lấy toạ độ điểm giao của rectang or pline or line

    Tôi sẽ giúp bạn nhưng toạ độ cần lấy sẽ đặt ở đâu?
  4. thiep

    XIN GIÚP ĐỠ VỀ OFFSET POLYLINE DẠNG RECTANG

    Một cách khác không phải so sánh diện tích rồi xoá đỡ tốn thời gian. Lisp này lấy trên nền lisp OFS của @tranducanh18 gửi ở trên (vl-load-com) (defun GetA (lst) (apply '+ (mapcar '(lambda (a b) (- (* (car b) (cadr a)) (* (car a) (cadr b)))) lst (cons (last lst) lst) ) ) ) (defun c:ofs (/ ss lay lst obj bit #d #dold) (setq ActDoc (vla-get-ActiveDocument (vlax-get-acad-object))) (vla-StartUndoMark ActDoc) (acet-sysvar-set '("cmdecho" 0 "osmode" 0)) (setq #dold (getvar "offsetdist")) (cond ((setq ss (ssget '((0 . "CIRCLE,ELLIPSE,*POLYLINE,SPLINE")))) (if (null (setq #d (getdist (strcat "\nOffsetdist <" (rtos #dold 2 2) ">"))) ) (setq #d #dold) (setvar "offsetdist" #d) ) (foreach ent (acet-ss-to-list ss) (setq obj (vlax-ename->vla-object ent) bit (GetA (acet-geom-vertex-list ent)) ) (if (vlax-method-applicable-p obj 'Offset) (cond ((< bit 0) (vlax-invoke obj 'Offset #d)) ((> bit 0) (vlax-invoke obj 'Offset (- #d))) ) ) ) ) (T (princ "\nNo thing to do")) ) (acet-sysvar-restore) (vla-EndUndoMark ActDoc) (princ) )
  5. thiep

    Nhờ tạo lisp tự động vẽ pline theo điểm, block, text có sẵn

    Lisp của bạn đây, lệnh là AL9 ;;; Lisp add lwpolyline promt insertpoint of texts blocks === by Trân Thiêp 05/2020 (defun DXF (code en) (cdr (assoc code (entget en)))) (defun TD:Text (ent / X11) (setq Ma10 (dxf 10 ent)) (setq Ma11 (dxf 11 ent)) (setq X11 (car Ma11)) (setq Ma71 (dxf 71 ent)) (setq Ma72 (dxf 72 ent)) (if (or (and (= Ma71 0) (= Ma72 0) (= X11 0)) (and (= Ma71 0) (= Ma72 3)) (and (= Ma71 0) (= Ma72 5)) ) Ma10 Ma11 ) ) ;;;================================================= (defun c:al9 (/ doc ss entlst lstpo po) (defun *error* (msg) (and doc (_EndUndo doc)) (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*") (princ (strcat "\n** Error: " msg " **")) ) (princ) ) (defun _EndUndo (doc) (if (= 8 (logand 8 (getvar 'UNDOCTL))) (vla-EndUndomark doc) ) ) (acet-sysvar-set '("cmdecho" 0 "osmode" 0)) (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))) (vla-StartUndoMark doc) (command "_ucs" "w") (prompt "\nCh\U+1ECDn t\U+1EADp h\U+1EE3p các text, block b\U+1EB1ng ph\U+01B0\U+01A1ng th\U+1EE9c FENC:" ) (setq lstpo nil) (if (setq ss (ssget "F" (ACET-UI-FENCE-SELECT) '((0 . "TEXT,INSERT")))) (progn (setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss)))) (foreach ent entlst (cond ((= (dxf 0 ent) "TEXT") (setq po (TD:Text ent))) ((= (dxf 0 ent) "INSERT") (setq po (dxf 10 ent))) ) (setq lstpo (cons po lstpo)) ) (acet-lwpline-make (list lstpo)) ) (prompt "\nCh\U+01B0a ch\U+1ECDn t\U+1EADp h\U+1EE3p texts, blocks") ) (acet-sysvar-restore) (command "_ucs" "P") (_EndUndo doc) (princ "\nOk") ) Chúc bạn vui.
×