-
Số lượng nội dung
1387 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
117
Bài đăng được đăng bởi Danh Cong
-
-
+ Vừa xóa bài của bạn này: Do viết bài "không dấu"
+ Ban tham khảo các bài viết sau :
https://www.cadviet.com/forum/topic/149769-lỗi-autocad-10-bị-xuất-hiện-nhiều-đường-thẳng-lạ/
https://www.cadviet.com/forum/topic/171084-vấn-đề-về-autocad-2016/
-
lỗi cad 2016
trong Sử dụng AutoCAD
Xin lỗi, tôi đọc nhầm , và cũng không hiểu bạn: "Thanh trạng thái" theo ý của bạn là cái gì vậy?
-
lỗi cad 2016
trong Sử dụng AutoCAD
1: Không phải Ctrl+F1, mà chỉ là Ctrl+1.
2. Cad tôi dùng 2012 không có tính năng này, diễn đàn cũng có nói vấn đề này rồi. Bạn muốn thay đổi thì gõ OP ( Option) --> Selection, rồi nghịch ngợm tí là ra ( Chỉnh chỗ Selection Mode hoặc Selection Methor ). Không rõ nữa thì Google dịch là được.
-
-
+ Lisp cắt Dim hiện tại chỉ áp dụng cho đường kích thước thẳng hoặc xiên ( DLI hoặc DAL ). Không áp dụng cho đường kích thước đo cung tròn DAR.
-
Có 2 font bạn cần biết : 1 là font của Window, 2 là font của riêng phần mềm cad ( với các phiên bản cad khác nhau sẽ có sự khác nhau, 2007 khác với 2018)
Bạn đọc kỹ lại bài tôi đã gửi lúc trước có nói rồi.
-
Thử đọc bài này.
-
17 giờ trước, doductiep đã nói:Cho em hỏi về hàm vlax-curve-getPointAtDist (tìm điểm trên Cuver khi biết khoảng cách):
Các bác hiểu như thế nào thế nhỉ ^^, em thì suy luận theo nội dung này của chủ thớt:
(defun c:CONG ( / DIS DISOBJ OBJECT PARAM PT1 PT2) (vl-load-com) (setq object (car (entsel "\nPick Polyline: ")) pt1 (getpoint "\nPick point:") dis (getreal "\nNhap khoang cach: ")) (setq param (vlax-curve-getparamatpoint object pt1)) (if (= param 0) (progn (setq pt2 (vlax-curve-getpointatdist object dis)) );end progn 1 (progn (setq disobj (vlax-curve-getDistAtParam object (vlax-curve-getEndParam object)) pt2 (vlax-curve-getpointatdist object (- disobj dis))) );end progn 2 ) (command "point" "non" pt2) (princ))
( Mà các anh cho em hỏi, làm sao bài đăng của em nó có màu mè, dễ nhìn code như của các bác vậy ?, em đăng cả file .lsp mà nó có mỗi đường dẫn thôi. )
-
1
-
-
@@, bạn đọc lại đi, ngay mấy bài đầu bình luận có thứ bạn cần rồi đấy. Bác #SSG đã giải thích kỹ lưỡng lắm rồi. :)))
Đọc ko hiểu nữa thì mình nói tiếp. ^^
-
Bài của bạn đây, xưa rồi nhưng đọc lại vẫn thấy hay :))
https://www.cadviet.com/forum/topic/10065-hỏi-về-thông-tin-của-spline-và-một-số-hàm-vlvlax/
-
Chèn thư viện - CTV
trong AutoLisp
:) Hay quá bác #QuocManh . Vote bác ^^
-
2 giờ trước, mmxiv07 đã nói:ko có mẫu virus mình đã tự tạo. CAD mặc định lưu macro thành các file riêng (lsp, fas, dvb,...) nhưng cũng có cho set lại để nhúng trực tiếp macro vào file DWG, bên trong file DWG cũng có nhiều chỗ để nhúng các malicious content (phải tự phân tích cấu trúc và xử lý ở cấp binary - cấp hacker biết lập trình với binary:).
AutoDesk ko muốn hacker đụng chạm đến DWG nên mã hóa rất ác liệt và ko public tài liệu mô tả, mỗi thành phần trong file mã theo 1 kiểu - rồi cứ sau vài năm lại đổi file format structure! Hiện tại mình đã decode được các version từ 2004 đến 2018, ngoại trừ 2007 :)
#mmxiv07,
Mình ko tìm hiểu sâu trong cấu trúc dữ liệu Autocad, nên ko giúp gì cho bạn được.
Bạn có thể liên hệ với các thành viên kỳ cựu trong lĩnh vực này ( Theo như mình biết, các bác này có kiến thức rất sâu trong mảng lập trình ). https://www.cadviet.com/forum/topmembers/
Như bác NguyenHoanh, Tue NV, PhamThanhBinh, Doan Van Ha, KetXu, GiaBach, DuongTrungHuy và nhiều thành viên khác ...., các bác ấy khá nhiệt tình, bạn thử liên hệ xem. :)))
-
Dùng món này của bác #KetXu nhé. Nhớ cảm tạ bác ấy :v
-
Code tham khảo :
-
1
-
-
Vào lúc 20/12/2017 tại 15:36, DuongTrungHuy đã nói:Gửi bạn kienxd04
Chỉ là một góc nhìn khác!
(defun c:VeCN(/ d1 d2 td1 td2 goc1 goc2 td3 td4 td kieu dkb diem)
(defun GrdrawDs1 (Dspolya nmau / i dsve d1 d2)
(setq i 0 dsve '())
(Repeat (1- (length Dspolya))
(setq dsve (append dsve (list nmau) (list (nth i Dspolya)) (list (nth (1+ i) Dspolya)))
i (1+ i)
)
)
(grvecs dsve)
)
(setvar "Osmode" 0)(Setvar "orthomode" 0)
(setq d1 (getpoint "\nCho diem dau: ") d2 (getpoint d1 "\nCho diem cuoi: ")
ds2cu (list d1 d2) diem 2 goc1 (+ (angle d1 d2) (/ pi 2.0))
)
(While diem
(setq kieu 3 dkb 5)
(while (and (/= kieu 2)(/= dkb 3))
(setq toado (grread 1) td (cadr toado) dkb (car toado))
(If (or (= dkb 5) (= dkb 3))
(Progn
(setq td1 (Polar td goc1 100) td2 (inters d1 d2 td td1 F)
goc2 (angle td2 td) kc1 (distance td td2)
td3 (Polar d2 goc2 kc1) td4 (Polar d1 goc2 kc1)
)
(GrdrawDs1 ds2cu 0)(setq ds2 (list d1 d2 td3 td4 d1)) (GrdrawDs1 ds2 10)
)
)
(If (= dkb 3)(setq oo (command "Pline" d1 d2 td3 td4 "c") diem nil))
(setq ds2cu ds2)
)
(command "Redraw")
)
)Bác #DuongTrungHuy, lisp bác rất tuyệt. Nếu thêm nốt 1 tính năng bắt điểm khi pick điểm thứ 3 nữa là hoàn hảo. :)))
-
1
-
-
15 phút trước, doductiep đã nói:Tiện thể các bác cho hỏi làm sao lấy khoảng cách giữa 2 điểm theo trục ngang hoặc theo trục đứng?
Thông thường với 2 điểm (x1 y1) , (x2 y2) mình phải làm thủ công là tách x và y của 2 điểm ra , nếu tính khoảng cách theo trục x thì cho y bằng 0, chỉ giữa lại x, sau đó dùng hàm : : distance (x1 0) (x2 0)
A (x1, y1); B (x2, y2);
Code
(setq kc_x (abs (- (car A) (car B)))
(setq kc_y (abs (- (cdr A) (cdr B)))
-
Đã tắt LineWeight thì bao nhiêu độ dày sẽ mất hết.
Nếu muốn hiện để tính khối lượng sao thì nên áp dụng cho nó 1 layer riêng, màu sắc riêng để quản lý.
-
-
Kết hợp lisp theo cách đổi trục và vẽ hình chữ nhật:
(defun c:test2 ()
(command "cmdecho" 0)
(defun *Error* (msg)
(command "ucs" "p")
(princ msg))
(prompt "\nChon 2 diem theo huong ve HCN: ")
(command "ucs" pause pause "")(prompt "\nVe HCN:")
(command "rectang" pause pause)
(command "ucs" "p")
(princ)) -
Yêu cầu có vẻ hơi lạm dụng lisp quá.
+ Tại sao bạn không dùng lệnh UCS để đổi trục theo ý muốn bất kỳ, sau đó rồi vẽ hình chữ nhật ?
+ 1 câu hỏi nữa: Để xoay 1 hình chữ nhật bạn mất bao nhiêu thao tác , các thao tác là như thế nào ( Kể cả cú pháp viết lệnh) ( Câu hỏi mang tính kiểm tra trình độ sử dụng thành thạo Autocad của bạn)
-
1
-
-
Code thì có , còn ghi ra đâu là tùy bạn nhé: @@
(defun C:LTD (/ dtpl point sset pt1)
(setq dtpl (entsel "\nChon Polyline"))
(setq Point (getpoint "\nPick Point"))(setq toadopl (reverse (laytoado dtpl)))
(setq toadotrai '()
toadophai '())
(foreach pt1 toadopl
(progn
(if (< (car pt1) (car Point))
(setq toadotrai (append toadotrai (list pt1)))
(setq toadophai (append toadophai (list pt1)))
); end if
); end progn
); end foreach(princ)
)
;;;;***********************************************************************************************
(defun laytoado (sset / hnd ent obj lsttd toado)
(setq hnd (car sset))
(setq ent (entget hnd))
(setq obj (cdr (assoc 0 ent)))
(cond
((= obj "LWPOLYLINE")
(foreach rec ent
(if (= (car rec) 10)
(progn
(setq pnt (cdr rec))
(setq toado (list (car pnt) (cadr pnt)))
(setq lsttd (cons toado lsttd))
)))))
lsttd
)-
1
-
-
Bài bạn nhiều nghĩa quá, nên có hình minh họa thì rõ ràng hơn.
-
@@, đúng là bậy thật bác ạ. Cáo lỗi chủ thớt, xui dại quá ^^.
-
Vô phương cứu chữa ! Chia buồn cùng bạn, đã có chủ đề bàn luận về vấn đề này rồi.
https://www.cadviet.com/forum/topic/396-quên-mật-khẩu-file-dwg/
https://www.cadviet.com/forum/topic/6744-có-ai-biết-cách-lấy-password-của-file-cad-không/
-
1
-
1
-
[HELP] NHỜ SỬA LISP CHÈN BLOCK THEO FILE DCL
trong AutoLisp
Đã đăng · Trả lời báo cáo
Có tinh thần học hỏi là tốt, diễn đàn rất khuyến khích điều này. Tuy nhiên thì bạn nên học 1 cách căn bản , chứ không nên "ăn xổi ở thì" không gốc cũng chẳng ngọn. Điều đó làm người trả lời mất nhiều thời gian , và không hứng thú trả lời cho lắm.
Vậy căn bản học ở đâu?, Bạn sẽ cần 1 cuốn sách : Lên diễn đàn hoặc Google gõ :" Lập trình thiết kế với Auto Lisp và VisuaLisp " của tác giả Nguyễn Hữu Lộc. Sách này hướng dẫn dễ hiểu và căn bản.
Mong bạn sẽ có những câu hỏi chọn lọc hơn.