
-
Số lượng nội dung
1171 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
26
Bài đăng được đăng bởi thanhduan2407
-
-
10 giờ trước, cuongtk2 đã nói:@trieubbBạn tự đừng đánh giá cao bản thân quá rồi, bọn mình viết để giải trí nhu cầu giải trí của bản thân như chơi game vậy thôi. Có lệnh dùng là tốt rồi. Đừng nghĩ bọn này là chatbot.
Đồng ý với bác.
-
@trieubb: Bạn dùng lisp này xem có được không nhé! Lệnh TNG
https://www.mediafire.com/file/lhn26fe0mbjglql/TAO+NUT+GIAO+-+TNG.VLX/file -
Nó đang là m2 rồi. Nó cho nhập cả sau dấu phẩy bao nhiêu số mà.
Bạn dùng lisp này tính cho nhanh.
(defun C:TDTV (/ DTICH DTICH1 LSTPLINE SSPLINE TAMVUNG) ;;;TINH DIEN TICH VUNG (vl-load-com) (setq Caochu (LM:GetXWithDefault_New getdist "\nNh\U+1EADp chi\U+1EC1u cao ch\U+1EEF: " '*Caochu* 0.25 nil nil) ) (setq Sole (LM:GetXWithDefault_New getint "\nNh\U+1EADp s\U+1ED1 th\U+1EADp ph\U+00E2n sau d\U+1EA5u ph\U+1EA9y: " '*Sole* 3 nil nil) ) (setq Donvi (LM:GetXWithDefault_New getkword "\nCh\U+1ECDn \U+0111\U+01A1n v\U+1ECB hi\U+1EC3n th\U+1ECB [Hecta / Meter]" '*Donvi* "H" '("H M") nil) ) (setq ssPline (ssget '((0 . "*POLYLINE")))) (if ssPline (progn (setq LstPLine (acet-ss-to-list ssPline)) (foreach ePl LstPLine (if (or (equal (vlax-curve-getStartPoint ePl) (vlax-curve-getEndPoint ePl) 1e-8) (equal (vlax-curve-isClosed (vlax-ename->vla-object ePl)) T) ) (progn (setq Dtich (vlax-get-property (vlax-ename->vla-object ePl) 'Area)) (cond ((= Donvi "H") (setq Dtich1 (/ Dtich 10000.0)) ) ((= Donvi "M") (setq Dtich1 Dtich) ) ) (setq Tamvung (_cen ePl)) (MakeText Tamvung (strcat (rtos Dtich1 2 Sole)) Caochu 0 "MC" nil nil nil ) ) ) ) ) ) (princ) ) (defun _cen (v / p1 p2 p u) (vla-getboundingbox (setq v (vlax-ename->vla-object v)) 'p1 'p2) (setq p (mapcar '* (mapcar '+ (vlax-safearray->list p1) (vlax-safearray->list p2) ) '(0.5 0.5 0.5) ) ) (setq u (entmakex (list '(0 . "LINE") (cons 10 p) (cons 11 (polar p (/ pi 2) 1)) ) ) ) (setq p (vlax-invoke v 'IntersectWith (vlax-ename->vla-object u) 2)) (entdel u) (if (>= (length p) 4) (list (car p) (/ (+ (cadr p) (nth 4 p)) 2) (caddr p)) p ) ) (defun MakeText (point string Height Ang justify Layer Style Color / Lst) ; Ang: Radial (setq Lst (list '(0 . "TEXT") (cons 10 point) (cons 40 Height) (cons 8 (if Layer Layer (getvar "CLAYER") ) ) (cons 1 string) (if Ang (cons 50 Ang) ) (cons 7 (if Style Style (getvar "Textstyle") ) ) (cons 62 (if Color Color 256 ) ) ) justify (strcase justify) ) (cond ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))) ) ((= justify "L") (setq Lst (append Lst (list (cons 72 0) (cons 73 0) (cons 10 point))) ) ) ((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))) ) ((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))) ) ((= justify "TL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 3))) ) ) ((= justify "TC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 3))) ) ) ((= justify "TR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 3))) ) ) ((= justify "ML") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 2))) ) ) ((= justify "MC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 2))) ) ) ((= justify "MR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 2))) ) ) ((= justify "BL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 1))) ) ) ((= justify "BC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 1))) ) ) ((= justify "BR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 1))) ) ) ) (entmakex Lst) ) (defun LM:GetXWithDefault_New (_function _prompt _symbol _default _initget _args / _toString) (vl-load-com) ;; © Lee Mac 2010 (setq _toString (lambda (x) (cond ((eq getangle _function) (angtos x)) ((eq 'REAL (type x)) (rtos x)) ((eq 'INT (type x)) (itoa x)) ((vl-princ-to-string x)) ) ) ) (if _initget (apply 'initget _initget) ) (set _symbol ( (lambda (input) (if (or (not input) (eq "" input)) (eval _symbol) input ) ) (apply '_function (append _args (list (strcat _prompt "<" (_toString (set _symbol (cond ((eval _symbol)) (_default) ) ) ) "> : " ) ) ) ) ) ) )
-
Vào lúc 6/2/2025 tại 05:04, Quan2008 đã nói:Trong AutoCAD, nếu bạn muốn thay đổi cài đặt mặc định của Distance in Pixels trong bảng Quick Properties bằng cách sử dụng ngôn ngữ AutoLISP , thì bạn cần làm việc với hệ thống biến (system variables) liên quan đến Quick Properties.
Biến hệ thống liên quan:
Biến hệ thống chính liên quan đến Quick Properties là:
QPMODE : Điều khiển trạng thái bật/tắt của Quick Properties.
Giá trị 0: Tắt Quick Properties.
Giá trị 1: Bật Quick Properties.
QPLOC : Điều khiển vị trí hiển thị của bảng Quick Properties.
Giá trị 0: Hiển thị ở góc trên bên phải.
Giá trị 1: Hiển thị gần con trỏ chuột.
Tuy nhiên, khoảng cách giữa các thành phần trong bảng Quick Properties (Distance in Pixels) không được quản lý trực tiếp bởi một biến hệ thống cụ thể. Thay vào đó, nó thường là một phần của cấu hình giao diện người dùng và không có biến hệ thống riêng biệt để điều chỉnh khoảng cách này.
Kết luận:
Hiện tại, không có biến hệ thống cụ thể nào trong AutoCAD quản lý trực tiếp Distance in Pixels của bảng Quick Properties. Để tùy chỉnh khoảng cách này, bạn có thể:
Thử điều chỉnh thông qua Windows Registry bằng AutoLISP.
Tạo giao diện tùy chỉnh bằng CUI .
Sử dụng các công cụ lập trình nâng cao như .NET API hoặc ObjectARX .
P/s: AI trả lời
-
Bạn thử cái này nhé!
(defun C:TBC (/ DEM LTSTEXT P1 SOTB SSTEXT STR TONG) (setvar "CMDECHO" 0) (prompt "\nCh\U+1ECDn c\U+00E1c Text c\U+1EA7n t\U+00EDnh trung b\U+00ECnh c\U+1ED9ng " ) (setq ssText (ssget '((0 . "TEXT")))) (if ssText (progn (setq LtsText (acet-ss-to-list ssText)) (setq Caochu (LM:GetXWithDefault_New getdist "\nNh\U+1EADp cao ch\U+1EEF " '*Caochu* 2.0 nil nil) ) (setq Tong 0) (setq Dem 0) (foreach e LtsText (setq Str (cdr (assoc 1 (entget e)))) (if (distof Str 2) (progn (setq Tong (+ Tong (atof Str))) (setq Dem (1+ Dem)) ) ) ) (if (> Dem 0) (progn (setq SoTB (/ Tong Dem)) (setq p1 (getpoint "\nCh\U+1ECDn \U+0111i\U+1EC3m ghi k\U+1EBFt qu\U+1EA3: " ) ) (MakeText p1 (rtos (/ Tong Dem) 2 3) Caochu 0 "L" nil nil nil ) (princ (rtos (/ Tong Dem) 2 3)) ) ) ) ) (princ) ) (defun MakeText (point string Height Ang justify Layer Style Color / Lst) ; Ang: Radial (setq Lst (list '(0 . "TEXT") (cons 10 point) (cons 40 Height) (cons 8 (if Layer Layer (getvar "CLAYER") ) ) (cons 1 string) (if Ang (cons 50 Ang) ) (cons 7 (if Style Style (getvar "Textstyle") ) ) (cons 62 (if Color Color 256 ) ) ) justify (strcase justify) ) (cond ((= justify "C") (setq Lst (append Lst (list (cons 72 1) (cons 11 point)))) ) ((= justify "L") (setq Lst (append Lst (list (cons 72 0) (cons 73 0) (cons 10 point))) ) ) ((= justify "R") (setq Lst (append Lst (list (cons 72 2) (cons 11 point)))) ) ((= justify "M") (setq Lst (append Lst (list (cons 72 4) (cons 11 point)))) ) ((= justify "TL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 3))) ) ) ((= justify "TC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 3))) ) ) ((= justify "TR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 3))) ) ) ((= justify "ML") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 2))) ) ) ((= justify "MC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 2))) ) ) ((= justify "MR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 2))) ) ) ((= justify "BL") (setq Lst (append Lst (list (cons 72 0) (cons 11 point) (cons 73 1))) ) ) ((= justify "BC") (setq Lst (append Lst (list (cons 72 1) (cons 11 point) (cons 73 1))) ) ) ((= justify "BR") (setq Lst (append Lst (list (cons 72 2) (cons 11 point) (cons 73 1))) ) ) ) (entmakex Lst) ) (defun LM:GetXWithDefault_New (_function _prompt _symbol _default _initget _args / _toString) (vl-load-com) ;; © Lee Mac 2010 (setq _toString (lambda (x) (cond ((eq getangle _function) (angtos x)) ((eq 'REAL (type x)) (rtos x)) ((eq 'INT (type x)) (itoa x)) ((vl-princ-to-string x)) ) ) ) (if _initget (apply 'initget _initget) ) (set _symbol ( (lambda (input) (if (or (not input) (eq "" input)) (eval _symbol) input ) ) (apply '_function (append _args (list (strcat _prompt "<" (_toString (set _symbol (cond ((eval _symbol)) (_default) ) ) ) "> : " ) ) ) ) ) ) )
-
Bạn tham khảo cách thức chia tách thửa đất theo TT10 nhé! Liên hệ 0972.0168.25
-
1
-
-
-
Vào lúc 22/2/2024 tại 11:18, Doan Van Ha đã nói:Trước đây tôi có đọc 1 thuật toán để "xấp xỉ" các đường thẳng và đường cong, nhưng giờ quên và tìm lại chưa ra. Nó có cơ sở rất thuyết phục chứ không theo kiểu "thích gì chọn nấy" được.
Thuật toán này trong Excel được đưa vào để vẽ đồ thị, từ đó suy ra phương trình, cho các bài toán dạng thống kê dựa vào tập hợp các số đo (xi, yi) thực nghiệm.Ngày xưa cháu học trong trường có môn gọi là "Phương pháp tính" cũng có thuật toán này. Nhưng lâu rồi (20 năm) nên cháu không nhớ
-
5 giờ trước, Xuân Lộc đã nói:Be Vietnam Pro gõ cụm này lên google nó ở top đầu luôn ạ, còn link thì đây anh:
https:// fonts . google . com / specimen / Be+Vietnam+Pro
anh chịu khó bỏ dấu cách, dùng loại thin in ra ko khác gì fonts mảnh vntimeh.shx luôn ạ
Cảm ơn bạn!
-
Bạn có thể Share cho mng dùng để thay đổi thói quen nhé!
-
Dựa trên nền tảng của bác ssg. Mình viết thêm để có công cụ phục vụ cho cviec của mình.
Chia diện tích hàng loạt -
Chia đất với diện tích bằng nhau thì chỉ đáp ứng chia lô quy hoạch và còn nhiều hạn chế. Cần đáp ứng chia lô cả bằng nhau (hoặc theo số phần), khác nhau, dịch song song và xoay quanh 1 điểm (hạn chế nút gần nhau). Mong các cao thủ vừa viết ngon vừa tốc độ nhanh.
-
-
Hãy Zoom bản vẽ ấy lên. Copy bản vẽ đó sang bản vẽ mới. Ctr+A rồi xóa hết đối tượng trong bản vẽ cũ. Copy bản vẽ mới về bản vẽ cũ.
P/s: Rất có thể có đối tượng nhỏ nằm xa bản vẽ -
Xuất tọa độ các đỉnh. Tìm Xmin và Xmax. Nếu Xmin trùng nhau thì Y nào lớn hơn chọn nó là điểm chặn. Tương tự Xmax trùng nhau thì xét Y nào lớn hơn chọn chặn. Vậy ta có 2 điểm chặn. Có thể sắp xếp lại đỉnh rồi vẽ lại, xóa đối tượng cũ đi.
-
1
-
-
Vào lúc 29/1/2023 tại 14:44, 7o7 đã nói:Bác có thể nói rõ hơn được không , tại sao cài vietkey mà có luôn font cad?
Theo kinh nghiệm thôi bạn.
-
Nên cài Vietkey2000. Khởi động lại máy là có
-
Tại Node em nên cho nó thành 1 Block Att để quản lý nó dễ hơn thay vì rời rạc (CDTN, CDTK, Chênh cao).
Phần xuất ra bảng thì em nên vẽ kiểu Table, khi xuất sang Excel thì chỉ cần nhấn chuột phải và Export mà không cần viết thêm gì cả.
P/s: Em viết rất tốt đấy
-
Virus acad.fas
trong AutoLisp
Dùng phần mềm tìm kiếm này để tìm file acad.fas rồi nhấn chuột phải chọn delete nó đi là xong
-
Sửa như này! Thêm Princ
(Defun C:ZA() (command "zoom" "all") (princ) )
-
1
-
-
Thiếu hàm: ST:SS->List-Vla mà bác vẫn chạy được nhỉ?
-
Xuất ra excel rồi phun lại table.
-
Nối text cao độ
trong AutoLisp
Bản vẽ bạn gửi không cần lisp gì cả. Xuất toạ độ Point ra là có cao độ Z. Phun lại là xong.
Nếu như Point hoặc Circle không có cao độ (khác 0 hoặc khác giá trị chuẩn nhưng không đều) thì mới cần đến việc viết theo yêu cầu.
Liên hệ mình Zalo: 0972.0168.25 để trao đổi thêm
-
Nối text cao độ
trong AutoLisp
Liên hệ mình: 0972.0168.25
Nhờ sửa lisp vẽ hình chữ nhật bằng DCL
trong AutoLisp
Đã đăng · Trả lời báo cáo
Bạn tham khảo nhé!
(defun c:00 () (command "undo" "be") (setq cmd (getvar "cmdecho")) (setvar "cmdecho" 1) (setq vl_ltren0 "2.0" vl_lduoi0 "2.0" vl_ltrc0 "2.0" vl_lsau0 "2.0" ) (setq dcl_code (list (strcat "vehinhchunhat : dialog { label = \"&Ve hinh chu nhat\";" " : boxed_radio_column { label = \"Chon loai\"; key = \"hcn\";" " : radio_button { label = \"&1-Hinh chu nhat lech TREN\"; key = \"tren\";}" " : radio_button { label = \"&2-Hinh chu nhat lech TRAI\"; key = \"trai\";}}" " : row {" " : column {" " : edit_box { label = \"Chieu dai canh duoi (m)\"; edit_width = 5; key = \"lduoi\";}" " : edit_box { label = \"Chieu dai canh tren (m)\"; edit_width = 5; key = \"ltren\";}" " : edit_box { label = \"Chieu dai canh truoc (m)\"; edit_width = 5; key = \"ltruoc\";}" " : edit_box { label = \"Chieu dai canh sau (m)\"; edit_width = 5; key = \"lsau\";}}" " }" " ok_cancel;}" ) ) ) (setq temp (vl-filename-mktemp "vehinhchunhat.dcl") file_dcl (open temp "W") ) (foreach l dcl_code (write-line l file_dcl)) (close file_dcl) (setq dcl_id (load_dialog temp)) (vl-file-delete temp) (new_dialog "vehinhchunhat" dcl_id) (if (not rad_lech) (setq rad_lech "tren") ) (set_tile rad_lech "1") (action_tile "tren" "(mapcar 'mode_tile '(\"lduoi\" \"ltren\" \"ltruoc\" \"lsau\" ) '(0 1 0 0)) (setq rad_lech $key) " ) (action_tile "trai" "(mapcar 'mode_tile '(\"lduoi\" \"ltren\" \"ltruoc\" \"lsau\" ) '(0 0 1 0)) (setq rad_lech $key) " ) (if (not vl_ltren) (setq vl_ltren vl_ltren0) ) (set_tile "ltren" vl_ltren) (if (not vl_lduoi) (setq vl_lduoi vl_lduoi0) ) (set_tile "lduoi" vl_lduoi) (if (not vl_ltrc) (setq vl_ltrc vl_ltrc0) ) (set_tile "ltruoc" vl_ltrc) (if (not vl_lsau) (setq vl_lsau vl_lsau0) ) (set_tile "lsau" vl_lsau) (action_tile "accept" "(if (= rad_lech \"tren\") (progn (setq vl_tren (get_tile \"lduoi\")) (setq vl_lduoi (get_tile \"lduoi\")) (setq vl_ltrc (get_tile \"ltruoc\")) (setq vl_lsau (get_tile \"lsau\")) ;(hinhchunhatlechtren lduoi ltren ltrc lsau) ) (progn (setq vl_ltren (get_tile \"ltren\")) (setq vl_lduoi (get_tile \"lduoi\")) (setq vl_ltrc (get_tile \"ltruoc\")) (setq vl_lsau (get_tile \"lsau\")) ;(hinhchunhatlechtrai lduoi ltren ltrc lsau) )) (done_dialog)" ) (action_tile "cancel" "(done_dialog) (exit)") (start_dialog) (unload_dialog dcl_id) (command "style" "vntime.shx" "vntime.shx" "0" "0.75" "0" "n" "n" "n") (command "style" "vntimeh.shx" "vntimeh.shx" "0" "0.75" "0" "n" "n" "n") ;tao lop kich thuoc (if (tblsearch "dimstyle" "D25") (command "_dimstyle" "r" "D25") (progn (command "DIMSCALE" 0) (command "DIMDLE" 0.15 "DIMDLI" 0.2 "DIMEXE" 0.15 "DIMEXO" 0 "DIMBLK1" "Oblique" "DIMBLK2" "Oblique" "DIMLDRBLK" "Oblique" "DIMASZ" 0.1 "DIMSAH" "ON" "DIMCEN" 0.1 "DIMTAD" 1 "DIMJUST" 0) (command "DIMTXSTY" "vntime.shx" "DIMCLRT" 7 "DIMGAP" 0.05 "DIMDEC" 0 "DIMTOH" "OFF" "DIMTIH" "OFF" "DIMTIX" "ON" "DIMTXT" 0.25 "DIMFXLON" "On" "DIMFXL" 0.2 "DIMTMOVE" 2 "DIMTOFL" "On" "DIMLFAC" 25) (command "-dimstyle" "s" "D25") ) ) (if (tblsearch "dimstyle" "D100") (command "_dimstyle" "r" "D100") (progn (command "DIMSCALE" 0) (command "DIMDLE" 0.15 "DIMDLI" 0.2 "DIMEXE" 0.15 "DIMEXO" 0 "DIMBLK1" "Oblique" "DIMBLK2" "Oblique" "DIMLDRBLK" "Oblique" "DIMASZ" 0.1 "DIMSAH" "ON" "DIMCEN" 0.1 "DIMTAD" 1 "DIMJUST" 0) (command "DIMTXSTY" "vntime.shx" "DIMCLRT" 7 "DIMGAP" 0.05 "DIMDEC" 0 "DIMTOH" "OFF" "DIMTIH" "OFF" "DIMTIX" "ON" "DIMTXT" 0.25 "DIMFXLON" "On" "DIMFXL" 0.2 "DIMTMOVE" 2 "DIMTOFL" "On" "DIMLFAC" 100) (command "-dimstyle" "s" "D100") ) ) (setvar "cmdecho" cmd) (command "undo" "end") (princ) )