hoquangvinh
-
Số lượng nội dung
212 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
3
Bài đăng được đăng bởi hoquangvinh
-
-
1 phút trước, amateurday đã nói:Chưa chắc nhé. Những bản vẽ nhẹ 1 giây in được 2 bản đấy.
Cái này rất ít trường hợp xảy ra.
Vấn đề mình biết sự cố này và sẽ tránh đc lỗi này bạn.
-
Vào lúc 8/4/2026 tại 22:23, singfeng đã nói:Mình đã cập nhật theo ý tưởng của bạn nhé. Bản cập nhật sẵn trong thư mục chưa file lisp nhé.
Đúng rồi chỉ cần ghi thêm ngày, giờ thì sẽ ko trùng tên file nữa, Thế mà mình cứ nghĩ là phải đổi tên
Nhưng khi in ra thì file vẫn chưa cập nhật đc ngày, giờ bạn ơi. File PDF lấy tên file cad thêm đuôi _01 vào sau và in tiếp vẫn bị trùng
-
Vào lúc 29/3/2026 tại 16:19, singfeng đã nói:Chào mn mình có Fix lỗi liên quan các Mtext bị tràn khỏi khung bản vẽ (dạng block) dẫn đến việc in bản vẽ không vừa với khổ giấy
Cảm ơn các bác đã đóng góp nhé ^^
V14.4.1
https://drive.google.com/drive/u/2/folders/1sYJtJvkAxqreid7PYrmUM0mivaYmCblgMình dùng một số lisp in free rồi, cái này của bạn tốt như một số lisp hay khác nhưng tháy load nhẹ hơn, dung lượng file PDF sau khi nén nhẹ hơn. Cảm ơn bạn.
Có một chỗ này chưa được tối ưu lắm là khi kết thúc 1 lệnh in, Lisp chạy và xuất ra file PDF trùng với tên BV (ok) nhưng khi in tiếp 1 lệnh in nữa (trong file đó) nếu chưa kịp đổi tên file PDF đã xuất ra trước thì lệnh in mới đè luôn vào file PDF cũ. Bạn có thể thêm tiện ích đổi tên BV (Ví dụ Bản vẽ 1, 2, ...) để khi dùng nhiều lệnh in liên tiếp không lo chưa kịp đổi tên file PDF được không?
-
1
-
-
Vào lúc 28/10/2025 tại 17:14, Truongreco đã nói:Đây là dùng Land à bác ?
Mình dùng ADS civil
-
Vào lúc 3/10/2010 tại 15:00, Thaistreetz đã nói:Có thể bạn không biết. lisp trên mình viết để áp dụng cho mọi hình dạng miền kín và mọi góc xiên của text. Vì thế với yêu cầu trên căn TRÁI VÀ PHẢI của bạn mình chỉ có thể viết để áp dụng 2 trường hợp này với điều kiện: miền kín là hình chữ nhật và text có góc quay = 0. với lựa chọn căn GIƯA, lisp vẫn làm việc bình thuờng như cũ.
Tại dòng nhắc: Select text object bạn có thể chọn đối tuợng để xử lý luôn hoặc gõ S (setting) để chọn vị trí căn lề.
(defun C:TC (/ Txt PTxt PTX SS i prmt DK TEMP_JTF DCL_ID DCL_JTF) (setq SS (ssget "I" '((0 . "TEXT"))) i 0) (command "undo" "begin") (setvar "cmdecho" 0) (if (not JTF-T) (setq JTF-T (list 0 1 0))) (if (= (cadr JTF-T) 1) (setq prmt "Text to Center") (if (= (caddr JTF-T) 1) (setq prmt "Text to Right") (setq prmt "Text to Left")) );if (vl-load-com) (if (not SS) (progn (prompt (strcat "\nSelect text object [setting - " prmt " ]")) (setq DK (grread nil 4 2)) (if (= (car DK) 3) (setq SS (ssget "C" (cadr DK) (getcorner (cadr DK)) '((0 . "TEXT")))) (if (= (cadr DK) 115) (progn (setq DCL_JTF (list "JTFtext : dialog {label = \"Justify in Region\"; : boxed_radio_row {" " : radio_button { label = \"Left\"; key = \"Lft\";}" " : spacer { width = 1.2; }" " : radio_button { label = \"Center\"; key = \"Ctr\";}" " : radio_button { label = \"Right\"; key = \"Rgt\";}}" " ok_cancel;}")) (setq TEMP_JTF (vl-filename-mktemp "CTK.DCL") FILE_DCL (open TEMP_JTF "W")) (foreach LL DCL_JTF (write-line LL FILE_DCL)) (close FILE_DCL) (setq DCL_ID (load_dialog TEMP_JTF)) (new_dialog "JTFtext" DCL_ID) (set_tile "Lft" (rtos (nth 0 JTF-T) 2 0)) (set_tile "Ctr" (rtos (nth 1 JTF-T) 2 0)) (set_tile "Rgt" (rtos (nth 2 JTF-T) 2 0)) (action_tile "accept" "(setq JTF-T (list(atof(get_tile \"Lft\"))(atof (get_tile \"Ctr\"))(atof (get_tile \"Rgt\"))))(done_dialog)") (start_dialog) (unload_dialog DCL_ID) (vl-file-delete TEMP_JTF) (setq SS (ssget '((0 . "TEXT")))) );progn (if (= (cadr DK) 32) (exit) (progn (prompt "\nWrong Key (!) Select text oject or press [s]etting") (C:TC))) );if );if );progn );if (if SS (progn (command "UCS" "W") (setq OSMLAST (getvar "osmode")) (setvar "OSMODE" 0) (cond ((= (nth 1 JTF-T) 1) (repeat (sslength SS) (setq txt (ssname SS i) PTxt (GET_MIDTEXT txt) PTX (GET_CENTER_REGION PTxt) i (1+ i)) (if PTX (vl-cmdf "move" txt "" PTxt PTX)) );repeat );list_Ctr ((= (nth 0 JTF-T) 0) (repeat (sslength SS) (setq txt (ssname SS i) PTxt (GET_RIGHTTEXT txt) PTX (cadr (GET_LR_REGION PTxt)) i (1+ i)) (if PTX (vl-cmdf "move" txt "" PTxt PTX)) );repeat );list_rgt ((= (nth 2 JTF-T) 0) (repeat (sslength SS) (setq txt (ssname SS i) PTxt (GET_LEFTTEXT txt) PTX (car (GET_LR_REGION PTxt)) i (1+ i)) (if PTX (vl-cmdf "move" txt "" PTxt PTX)) );repeat );list_lft );cond (setvar "osmode" OSMLAST) (command "UCS" "P") );progn );if (prompt "Thaistreetz@gmail.com") (command "undo" "end") (princ) );end TC (defun GET_CENTER_REGION (PT / SSL PTC ) (setq SSL (entlast)) (if (= (DXF 0 SSL) "POLYLINE") (while (/= "SEQEND" (DXF 0 (entnext SSL))) (setq SSL (entnext SSL)) );while );if (vl-cmdf "-boundary" PT "") (if (entnext SSL) (progn (command "region" "L" "") (setq PTC (vlax-safearray->list (vlax-variant-value (vlax-get-property (vlax-ename->vla-object (entlast)) 'Centroid)))) (command "erase" (entlast) "") PTC );progn nil );if );END (defun GET_LR_REGION (PT / SSL PTC ) (setq SSL (entlast)) (if (= (DXF 0 SSL) "POLYLINE") (while (/= "SEQEND" (DXF 0 (entnext SSL))) (setq SSL (entnext SSL)) );while );if (vl-cmdf "-boundary" PT "") (if (entnext SSL) (progn (command "region" "L" "") (setq PTC (ACET-GEOM-SS-EXTENTS-FAST (ssget "L"))) (command "erase" (entlast) "") (list (list (car (car PTC)) (+ (cadr (car PTC)) (* 0.5 (abs (- (cadr (car PTC)) (cadr (cadr PTC))))))) (list (car (cadr PTC)) (- (cadr (cadr PTC)) (* 0.5 (abs (- (cadr (car PTC)) (cadr (cadr PTC)))))))) );progn nil );if );END (defun GET_MIDTEXT (EN / TB PTxt PT0 PTA) (setq TB (textbox (entget EN)) PTxt (GET_M2P (car TB) (cadr TB)) PT0 (DXF 10 EN) PTA (list (+ (car PT0) (car PTxt)) (+ (cadr PT0) (cadr PTxt)))) (polar PT0 (+ (DXF 50 EN) (angle PT0 PTA)) (distance PT0 PTA)) );end (defun GET_RIGHTTEXT (EN / TB PTxt PT0 PTA) (setq TB (textbox (entget EN)) PTxt (GET_M2P (car TB) (cadr TB)) PT0 (DXF 10 EN) PTA (list (+ (car PT0) (car PTxt)) (+ (cadr PT0) (cadr PTxt)))) (list(+(car PT0)(car (cadr TB))(abs(-(cadr(car TB))(cadr (cadr TB))))) (cadr(polar PT0 (+(DXF 50 EN)(angle PT0 PTA))(distance PT0 PTA)))) ) (defun GET_LEFTTEXT (EN / TB PTxt PT0 PTA) (setq TB (textbox (entget EN)) PTxt (GET_M2P (car TB) (cadr TB)) PT0 (DXF 10 EN) PTA (list (+ (car PT0) (car PTxt)) (+ (cadr PT0) (cadr PTxt)))) (list (- (car PT0) (abs (- (cadr (car TB)) (cadr (cadr TB))))) (cadr (polar PT0 (+ (DXF 50 EN) (angle PT0 PTA)) (distance PT0 PTA)))) ) (defun DXF (Id Obj) (cdr (assoc Id (entget Obj))) ) (defun GET_M2P (PT1 PT2) (polar PT1 (angle PT1 PT2) (* 0.5 (distance PT1 PT2))));endPS: Ban đừng trích dẫn bài người khác với cả code như trên. nhìn rối mắt lắm. giữ lại những gì cần phải reply thôi.
Hôm nay vẫn tìm đc lisp cần, Cảm ơn bác Thaistreetz
-
Vào lúc 18/8/2013 tại 12:12, theducw87 đã nói:Bạn dùng lệnh "UCS" ->"W" để trục tọa độ chuyển về vị trí (0,0,0) mặc định xong rồi dùng lệnh "INSBASE"->"0,0,0" rồi chọn gốc tọa độ (0,0,0). Làm thế ở cả bản vẽ mẹ mà bản vẽ tham chiếu. Nên để điểm gốc tọa độ là điểm mà bạn muốn chèn từ bản vẽ con sang bản vẽ mẹ.
Mình tìm được lời giải sau bài hướng dẫn gần 11 năm.
Thanks bạn nhé!
-
đúng lỗi luôn rồi ạ, mình cảm ơn nhé
16 phút trước, CadExTools đã nói:Thử lệnh GRIPBLOCK và gán =0 nhé bạn
-
Em đang dùng cad 2022 mà mới bị tình trạng kick chọn block nó hiển thị hết tất cả các chi tiết trong block giống như hiển thị đối tượng group vậy.
Hình minh họa của e là block khung tên mà nó hiển thị thế này. Nếu Reset cad thì chắc cũng được nhưng e cũng cài nhiều tiện ích cad, lisp rồi và cũng muốn biết rõ ngọn ngành nên nhờ mọi người ai biết chỉ cách chỉnh lại cho e với.
Em cảm ơn ạ! -
rất ủng hộ tinh thần của bạn, diễn đàn có thêm nhiều tiện ích hay phục vụ các thành viên.
-
-
6 giờ trước, tien_bg90 đã nói:Bác dùng bản 2020 có bị dính lỗi bị phát hiện crack ko ạ? Của mình bị mới đau chứ,tìm mọi cách Fix mà k đc.
mình dùng bản 64bit từ khi dùng giờ chưa thấy báo lỗi crack nhưng mình cũng mới dùng đc vài tháng gần đây thôi
18 giờ trước, ketxu đã nói:Video cho bạn hiểu thêm về nó
xem video mới thấy nó cùng có nhiều tiện ích đấy chứ, chỉ là chưa biết dùng đúng lúc đúng chỗ thôi
-
Thanks các bạn nhé, đúng thuốc luôn rồi
Trước giờ cũng dùng rồi mà chưa gặp tình trạng này, đợt này mới cài lại cad 2020 mới bị cứ tưởng là mới, ít dùng cad đời cao nên gà quá mà.
-
thanks bạn, đúng cái này luôn nhưng khi vẽ đối tượng mới nó vẫn bị tiếp
-
Cái này chắc mới nên e cũng tìm mà chưa thấy đâu có, xin hỏi các bác xem ai biết thì chỉ e với ạ.
E đang dùng thử cad 2020 một thời gian đầu thì ko vấn đề gì vài tuần nay thấy xuất hiện một số hiển thị bắt điểm thì phải. Nó bao gôm hiển thị đường thẳng đứng, đường ngang ở Pline và Line, đường tròn và Spl thì ko thấy. Điểm trùng hợp đầu cuối giữ 2 đường line nối tiếp nhau rất khó chịu khi vẽ.
Có bác nào biết cách tắt cái này ko xin chỉ cho e với, e cảm ơn ạ.




-
Vào lúc 10/12/2008 tại 06:46, Tue_NV đã nói:Ứng dụng hàm Round của bác SSG đã trả lời trong topic Lisp nhân thêm hệ số K vào Text. Mình đã phát triển nên đoạn Code này để làm tròn các Text sau các chữ số thập phân
;;;------------------------------------------------------- ;;;------------------------------------------------------- (defun etype (e);;;Entity Type (cdr (assoc 0 (entget e))) ) ;;;------------------------------------------------------- (defun rnd(x);;;Round x, return INT (if (>= x 0) (fix (+ x 0.5)) (fix (- x 0.5))) ) ;;;------------------------------------------------------- (defun TP() (setq thapphan 2);Ban co the thay doi so thap phan o dong nay ) (defun round3(x / tue S i j S1 S3) (setq tue (TP)) (setq S (itoa (rnd (* (abs x) (expt 10 tue))))) (setq i (strlen S) j (- i tue) S1 (substr S 1 j) S3 (substr S (1+ j) tue) ) (if (>= x 0) (strcat S1 "." S3) (strcat "-" S1 "." S3)) ) ;;;------------------------------------------------------- (defun C:Round( / ss k i e d v S) (setq ss (ssget '((0 . "TEXT,MTEXT"))) i 0 ) (repeat (sslength ss) (setq e (ssname ss i)) (if (= (etype e) "MTEXT") (progn (command "explode" e "") (setq e (entlast)) )) (setq d (entget e) v (atof (cdr (assoc 1 d))) S (round3 v) d (subst (cons 1 S) (assoc 1 d) d) ) (entmod d) (setq i (1+ i)) ) (princ) )
Bạn có thể thay đổi số thập phân ở dòng này : (setq thapphan 2)
Đoạn Code này chưa được hoàn thiện lắm vì theo yêu cầu của người sử dụng là khi đánh số thập phân vào thì chương trình sẽ hiểu. Nhưng ở đây lại phải thay đổi số thập phân bằng cách vào file Lisp sửa lại dòng (setq thapphan 2) mới ra được kết quả như ý.
Mình đã thử thay câu (setq thapphan 2) bằng câu (setq thapphan (getint "\nSo chu so thap phan la :"))
Nhưng kết quả lại không theo như ý. Vì dưới tác dụng của vòng lặp Repeat cái câu nhắc "nSo chu so thap phan la :" được lặp lại cho đến Text cuối cùng. Điều này nó không theo được ý của người sử dụng.
Mong bác SSG và tất cả mọi người cùng góp ý để đoạn Code trên được hoàn thiện một cách trọn vẹn.
Chân thành cảm ơn tất cả mọi người. :cheers:
lisp này của bác Tuệ chọn số thập phân thì OK rồi nhưng còn muốn thành số nguyên luôn (phía sau ko có .0 hay .00) thì thế nào ạ. E thử sửa về số 0 mà ko đc
-
mình cũng thử lisp này chạy được MM1, MM2, MM4 rồi riêng với lệnh MM3 thì
+ đối với block có 1 thuộc tính dynamic thì cũng dùng đc rồi
+ đối với block có nhiều thuộc tính dynamic và thuộc tính khác nữa như Angle, Flipstate thì chưa được
-
serial của mình: 14340D08A6DB DISKV6MBVGT
cho mình xin 1 key với, trước có dùng của bạn Nguyentuyen rồi nhưng cái này nâng cấp hơn nhiều
cảm ơn bạn nhé.
-
cái này phải chạy đúng theo chương trình của bạn thì nó mới nhận chứ mình đã có sẵn block rồi và kẻ trắc dọc rồi thì nó có nhận đc ko vậy. Chắc ko đc rồi
-
mình thấy đoạn cập nhật cao độ đáy cống lên bình đồ rồi, nếu cái này làm từ đầu áp theo TN tk thì đúng như của bạn làm rồi nhưng trường hợp mình khác chút đã có hết cao độ đỉnh đáy hố ga rồi giờ mỗi đưa vào block nữa thôi
-
cái ATT này chỉ là text tên bản vẽ thôi còn tất cả phần khung nằm trong xref rồi bạn
-
lại gặp bạn rồi, đợt trước bạn có chia sẻ lisp, trao đổi, hướng dẫn mình lisp xuất khối lượng từ TN ra exel rồi
cái ứng dụng này có vẻ phức tạp hơn cái mình chút, lấy toàn bộ dữ liệu trên TN nhưng chưa có đc cái cao độ đáy cống
-
Vào lúc 21/8/2013 tại 02:01, lexussc430 đã nói:Minh sưu tầm được lisp cập nhật dữ liệu attribute từ file cvs rất hay nhưng không dùng được tiếng việt unicode, có bạn nào biết cách chỉnh giúp mình không. Thanks
http://www.cadviet.com/upfiles/3/100340_updatetitleblockv16_1.lsp
mình thử thấy ko đc dù chuyển font của csv thành font *.Vn rồi, cái font csv cần để đưa sang cad cấu trúc thành phần thế nào vậy bạn
-
Mình muốn làm 2 việc như sau:
1. Chuyển 06 hàng text trên cad về bảng exel và sau khi tính toán giá trị pase ngược lại từ exel vào lại cad.
2. Chuyển 02 giá trị Cao độ đỉnh và đáy hố thu từ file exel lên block ATT trong cad còn tên hố thu đã có sẵn ko cần pase lại vào block att nữa.
Mục 1 thì e đã có lisp C2E chuyển từ cad qua exel của bác Hoành rồi (Cái này mình cũng đã làm trong file exel) nhưng khoản pase ngược từ exel lại cad thì search trên diễn đàn và các nơi cũng có rất nhiều nhưng link die hết rồi chẳng còn link nào nữa.
Mục 2 mình cũng có tìm thấy một số lisp xuất từ cad sang exel hoặc txt nhưng ko dùng đc trong trường hợp của mình
có file đính kèm đây mong mọi người xem nếu biết link thì cho mình xin ko nhờ các bác viết hộ cho mình lisp này với ạ
Quên mình dùng thử bằng cad 2008, 2018. Exel 2010
-
Đúng là lệnh này rồi bác ạ , cái này sử dụng cho hatch của cad thì ok nhưng phần mềm của e chạy ra nó ko bị ảnh hưởng bởi biến này thì phải, nó xuất ra hatch vẫn vậy ạ.
Cảm ơn bác giờ biết thêm 1 lệnh nữa rồi.
Lisp in hàng loạt (ABP-Batch Plot) - Hỗ trợ in Model/Layout, tự động xoay và gộp PDF
trong AutoLisp
Đã đăng · Trả lời báo cáo
Bạn ơi một số BV mình in thấy lỗi font chứ dù in PDF bằng lisp khác thì ko bị lỗi font