HALUMGLASS@GMAIL.COM
-
Số lượng nội dung
9 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi HALUMGLASS@GMAIL.COM
-
-
Nhờ các anh em trong diễn đàn code lisp. Trân thành cảm ơn
- Mình có vùng kín được tạo bởi Rectang hoặc Pline hoặc các Line rời rạc
- Pick vào điểm bất kì (POINT) trong vùng kín trên
- Sau khi pick vào điểm bất kỳ trên sẽ lấy tạo độ (TẠO ĐỘ ĐIỂM CẦN LẤY) theo bản vẽ đính kèm.
- Nhiệm vụ Gõ lệnh lisp, pick vào 1 điểm (POINT) trên vùng kín để vẽ các chi tiết trong vùng kín đó theo (TOẠ ĐỘ ĐIỂM CẦN LẤY) lấy được ở trên.
-
Vậy ạ. Thế để mình xem lại. Không biết có xung đột gì với lisp khác không. Trước đó mình có sử dụng hàm *error* không biết có ảnh hưởng gì ko? Doan van ha chỉ giúp mình code lisp đưa tất cả thông số về ban đầu trước khi dùng lisp đc không?
Ví dụ layer về layer ban đầu, var hệ thống ban đầu.
Trên diễn đàn cũng có nói về vấn đề này rồi tuy nhiên mình muốn 1 cách tổng quát nhất để áp dụng cho tất cả các lisp. Thanks
-
Khi dùng mình ko nhấn esc nhé.
Trước khi dùng lệnh (setq hienhanh (getvar "clayer")) trả về layer 0
Vẽ line là đường tâm với layer "center" vẽ xong (setvar "clayer" hienhanh).
Nhưng bản vẽ ko trả về layer "0" mà vẫn ở layer "center". Cuongtk2 chạy thử lisp xem lỗi do đâu xem hộ mình. Thanks
-
;Chuong trinh ve duong tam nhap thong so Celtscale theo y muon ;;;;;;;;;;;;;;;;;;;;; (defun c:lcen (/ HIENHANH CEL p1 p2) (setvar "cmdecho" 0) (setq HIENHANH (getvar "clayer")) (if (not (tblsearch "layer" "CENT1")) (command "layer" "m" "CENT1" "c" "1" "" "lt" "center" "" "") ) (setvar "clayer" "CENT1") (initget 7) (setq CEL (getint "\nNhap ty le CELTSCALE:")) (setvar "celtscale" cel) (setvar "ltscale" 1) (setq p1 (getpoint "\nNhap diem 1:")) (setq p2 (getpoint p1 "\nNhap diem 2:")) (entmake (list (cons 0 "LINE") (cons 8 (getvar "clayer")) (cons 10 p1) (cons 11 p2))) (setvar "cmdecho" 1) (setvar "clayer" HIENHANH) (princ) );end dedunNhờ các bạn xem giúp mình, không biết lỗi gì mà sau khi thực hiện lệnh Lcen mà không trả (setvar "clayer" Hienhanh) không trả về layer ban đầu.
-
Sửa như này Pick diem thu 2Unknown command "Y". Press F1 for help. (NHỜ CHỈNH SỬA) => (command "dimstyle" "s" tendim "y")--->(command "dimstyle" "s" tendim )
Chạy thử dòng này không có tác dụng (alert (strcat "Dim " tendim " da co")) ) Bạn nào giúp lại giúp với.
- Chỉnh chỉ số Offset from dim line về 1.0 ( không biết setvar của nó là gì) tìm hiểu hóa ra nó là (setvar "dimgap" 0.625)
- Gõ lệnh SYSVDLG ra 1 đống biến hệ thống thanks Danh Cong (cần câu đúng nghĩa)
-
1
-
-
Thanks huunhantvxdts rất nhiều
Mình đã chạy thử có 1 số vấn đề như sau
- (setvar "dimlfac" 1) ; scale factor (Thêm dòng này vì có lúc bản vẽ setvar dimlfac không phải là 1
- (command "style" "romanc" "Vnsimple.shx" 0 0.75 "" "" "" "") lỗi font nên mình vẫn đề thế này (command "style" "romanc" "romanc" "0" "" "" "" "" "")
- (setq kc (distance p1 p2))
(setq hesocale (/ kc 420 3)) cỡ chữ hơi nhỏ so với khổ giấy A3 nên mình để (setq hesocale (/ kc 420 2))- Chỉnh chỉ số Offset from dim line về 1.0 ( không biết setvar của nó là gì) (Xem giúp mình chỗ này với)
- Styles dim tạo ra các style overrides rất khó chịu (NHỜ CHỈNH SỬA)
- Command: TAODIM
Pick diem thu 1
Pick diem thu 2Unknown command "Y". Press F1 for help. (NHỜ CHỈNH SỬA)- Nhờ setvar toàn bộ thông số các biến dim
-
Nhờ các anh tạo code lệnh theo mong muốn của em như sau:
- Gõ lệnh TAODIM
- Lấy chiều cạnh dài khung bản vẽ (BẰNG CÁCH PICK ĐIỂM ĐẦU ĐIỂM CUỐI) Được kích thước L = A mm.
- Lấy A mm/420mm = B mm
- Lấy B mm/3 = C mm (lấy giá trị C thành giá trị Dimscale trong biến hệ thống)
- Cuối cùng sẽ tạo được dimstyle là Ha-D-C (C chính là giá trị được tạo ra ở trên)
Trân thành cảm ơn!
(defun c:had1()
(setvar "cmdecho" 0)
(command "layer" "m" "Dims" "c" "2" "")
(setvar "dimasz" 3); arrow size
(setvar "dimclrd" 9); mau duong giong
(setvar "dimclrt" 2); mau text kich thuoc
(setvar "dimclre" 9); mau duong giong ngang
(setvar "dimexe" 1); extend beyond dim lines
(setvar "dimexo" 3); offset from origin
(setvar "dimtad" 1)
(setvar "dimtih" 0)
(setvar "dimtofl" 1); Chon draw dim line between ext lines
(setvar "dimtix" 1); chon always keep text between ext lines
(setvar "dimtxt" 3); Text height
(setvar "dimdli" 10); Baseline spacing
(setvar "dimscale" 1); use overall scale of
(setvar "dimfxlon" 1) ; chon fixed length extension lines
(setvar "dimfxl" 6); gia tri fixed length bang 6(command "layer" "s" "dims" "")
(command "style" "romanc" "romanc" "0" "" "" "" "" "")
(command "style" "romans" "romans" "0" "" "" "" "" "")
(setvar "DIMTXSTY" "romanc"); chon kieu text style
(setvar "dimblk" "dotsmall")
(setvar "dimblk1" ".")
(setvar "dimblk2" ".")
(command "dimstyle" "save" "Ha-D1" )(princ)
) -
Góc nhờ vả anh chị diễn đàn
- Mình có nhiều block ví dụ: Block 1, block 2, Block 3....
- Chọn block
- Chọn khung bản vẽ (hoặc tự tạo)
- Lần lượt từng block được copy vào khung bản vẽ được chọn (hoặc khung bản vẽ tự tạo)
Thanks
Nhờ code lisp lấy toạ độ điểm giao của rectang or pline or line
trong AutoLisp
Đã đăng · Trả lời báo cáo
Toạ độ mình cần lấy gán vào biến dưới dạng list. Please!