huunhantvxdts
-
Số lượng nội dung
857 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
40
Bài đăng được đăng bởi huunhantvxdts
-
-
31 phút trước, buivansu đã nói:Cảm ơn bạn, mình có xem qua lisp của Ketxu rồi nhưng thấy không phù hợp, của Ketxu là những đường line, pline đơn lẻ, liền nhau, còn của mình là những ngã 3, ngã 4 giao thông , không liền nhau và không liên tiếp
Mong mọi người giúp đỡ.
Mình nghĩ bạn trên trim tại các điểm giao rồi dùng lisp của bạn Ketxu còn không thì bạn chờ thôi (mà điều này nếu free chắc sẽ vô vọng)
-
2 giờ trước, buivansu đã nói:Chào cả nhà. Mình là kỹ sư quy hoạch giao thông, hay phải dùng lệnh chamfer và fillet các tuyến đường, công việc lặp đi lặp lại rất nhiều lần, mong mọi người giúp đỡ viết giúp 1 lisp để thực hiện công việc nhanh hơn và hiệu quả hơn. Mô tả lệnh như sau:
Lệnh Chamfer: Lệnh chh. Đánh lệnh chh: quét qua ngã ba hoặc ngã tư, kết thúc lệnh
(Có thể thay đổi chiều dài vát góc bằng cách đánh d rồi nhập vào khoảng cách mong muốn trước khi tiếp tục thực hiện lệnh, ghi nhớ giá trị nhập cho lần tiếp theo).Lệnh Fillet: Lệnh cff: Đánh lệnh cff: quét qua ngã ba hoặc ngã tư, kết thúc lệnh
(Có thể thay đổi bán kính bằng cách đánh r rồi nhập vào bán kính mong muốn trước khi tiếp tục thực hiện lệnh, ghi nhớ giá trị nhập cho lần tiếp theo).Có bản vẽ mô tả lệnh và cách thực hiện đính kèm bên dưới.
Trân trọng cảm ơn và hậu tạ!
vào đây xem của bạn ketxu nhé: https://lispcad.vn/san-pham
tìm ở mục Free thấy có 2 lisp như bạn yêu cầu
-
18 giờ trước, HALUMGLASS@GMAIL.COM đã nói: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)
Cái này Pick diem thu 2Unknown command "Y". Press F1 for help. nó báo vậy nhưng đã tạo được DIM nhé bỏ "Y" để nó không báo nữa.
(alert (strcat "Dim " tendim " da co")) ): Dòng này có tác dụng là thông báo DIM trên bản vẽ đã có rồi không tạo lại nữa nhé
- 1
-
1 giờ} trướ}c, TrungOji đã nói:Vâng. Trước em có từng tạo kiểu đường rồi. Nhưng yêu cầu đối tượng phải là các line riêng lẻ, ko có liên kết cơ các bác ạ.
Cái này chắc phải nhờ các cao thủ viết lisp thôi, với mình chắc làm được line và pl còn các đường khác thì chịu thôi
-
17 giờ trước, HALUMGLASS@GMAIL.COM đã nói: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
Về setq biến như bạn @Danh Cong đã up ở trên chắc bạn biết để sử dụng rồi.
Còn các vấn đề bạn nêu mình cũng chưa hiểu biết hết
- Styles dim tạo ra các style overrides rất khó chịu (NHỜ CHỈNH SỬA) => Là như thế nào
Pick diem thu 2Unknown command "Y". Press F1 for help. (NHỜ CHỈNH SỬA) => (command "dimstyle" "s" tendim "y")--->(command "dimstyle" "s" tendim )
- 1
-
15 giờ trước, HALUMGLASS@GMAIL.COM đã nói: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)
)Bạn xem thế này đã được chưa nhé
(defun c:had1(/ p1 p2 kc hesocale tendim oldos) (setq cur_lay (getvar "clayer" )) (setq oldos (getvar "osmode")) (setvar "osmode" 15359) (setq p1 (getpoint "\nPick diem thu 1")) (setq p2 (getpoint p1 "\nPick diem thu 2")) (setq kc (distance p1 p2)) (setq hesocale (/ kc 420 3)) (setvar "cmdecho" 0) ;(command "layer" "m" "Dims" "c" "2" "") (if (not (tblsearch "layer" "Dims")) (command "-layer" "new" "Dims" "color" "1" "Dims" "") ) (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" hesocale); 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" "Vnsimple.shx" 0 0.75 "" "" "" "") ;(command "style" "romanc" "romanc" "0" "" "" "" "" "") ;(command "style" "romans" "romans" "0" "" "" "" "" "") (setvar "DIMTXSTY" "romanc"); chon kieu text style (setvar "dimblk" "dotsmall") (setvar "dimblk1" ".") (setvar "dimblk2" ".") (setq tendim (strcat "HA-D-" (rtos hesocale 2 2))) (if (not (tblsearch "dimstyle" tendim)) (command "dimstyle" "s" tendim "y") (alert (strcat "Dim " tendim " da co")) ) ;(command "dimstyle" "s" tendim "y") (setvar "osmode" oldos) (setvar "CMDECHO" 1) (setvar "clayer" cur_lay) (princ) )
- 1
- 1
-
2 giờ trước, khanhnd.hy đã nói:Kính nhờ các bro chia sẻ cách đo tổng độ dài các đường block động D27 hoặc D24 như file đính kèm dưới đây ạ
Có ở đây rồi mà bạn:
-
7 giờ trước, FutureX đã nói:Có bạn nào có lisp hỗ trợ việc này thì giúp mình với!
Cảm ơn!
Bạn tìm lisp đo đường Polyline nhé
-
4 giờ trước, sg0nline đã nói:thank bác tham gia giúp mình chỉ cần đơn gian thôi bác kích chọn 1 loại ống rồi đánh lệnh là ra khối lượng tổng của loại ống đó giống tương tự lệnh đo chiều dài tl ( thay vì đo line thì mình đo chiều dài block)
thử làm cái tổng hợp và thông kê luôn không biết có đúng ý chủ thớt ko nữa
-
59 phút trước, sg0nline đã nói:thank bác tham gia giúp mình chỉ cần đơn gian thôi bác kích chọn 1 loại ống rồi đánh lệnh là ra khối lượng tổng của loại ống đó giống tương tự lệnh đo chiều dài tl ( thay vì đo line thì mình đo chiều dài block)
Bạn làm như ai cũng biết lệnh tl vậy??
-
10 phút trước, caohan239 đã nói:Có nhiều tên lạ quá nên ko biết cái nào bác ạ..!
Rãnh rỗi sinh nông nổi
-
-
5 phút trước, DuongTrungHuy đã nói:Cái của cháu là người ta lấy tọa độ (x,y,z) để xuất ra file text sau đó sẽ dùng file text để vẽ lại mặt cắt đào và trắc dọc
- 1
-
2 phút trước, tranhieu.kisuxaydung đã nói:mình vẽ đồ thị cần gióng nhanh các điểm trên đồ thị xuống trục hoành hoặc trục tung. có lisp này pic điểm 1 phát nó dóng xuống luôn không cần lệnh ray nữa
Cái này cần dữ liệu đầu vào nó như thế nào??nếu dữ liệu là file text thì lúc vẽ đồ thị nó vẽ luôn chứ???
-
3 phút trước, DuongTrungHuy đã nói:Trong thực tế gặp trường hợp này khi nào bạn có thể nói ra được ko?
Chào nhé!
Cái này là cháu có gặp trong trường hợp mấy người thi công hầm đo tạo mặt cắt đào nhưng cắm mia không được thẳng mặt cắt. nhưng họ đã dùng phần mềm hs để đưa về được mặt cắt (chỉ đưa tọa độ còn cao độ giữ nguyên).
-
38 phút trước, tranhieu.kisuxaydung đã nói:vẽ lệnh ray rồi pic điểm cũng nhanh mà bác?
Cái này là đi bộ nữa nè
-
Vào lúc 2/11/2020 tại 10:50, sg0nline đã nói:pipe.dwg Em chào các bậc tiền bối cao nhân trong nhóm ạ, Hiện tại e đang cần các bác giúp e một lisp cad saumình có block động có các loại kính thước ống muốn nhờ các bác viết giùm list tính chiều dài riêng cho từng loại ống trong block cụ thể như file đính kèm ! thank
Rãnh làm cái thử xem
-
30 phút trước, thien316 đã nói:Vâng anh nhưng đánh vậy với hàng nghìn hố ga thì sẽ rất lâu và dễ gây nhầm lẫn anh.
Hiện tại mình đã có lệnh đánh theo thứ tự đường tim cống rồi bạn nhé
-
8 giờ trước, thien316 đã nói:Cái này giống như trong ứng dụng thoát nước dọc mình viết nhỉ?? nếu bạn sử dụng tiện ích đó thì có lệnh để đặt tên thứ tự cho hố ga rồi mà
- 1
-
2 giờ trước, TASHI đã nói:mình có 1 lisp nó xuất được toạ độ của chữ text nhưng nó ra toạ độ có sau dấu phẩy có 2 số, mình xin các pro sửa giúp mình toạ độ lấy sau dấy phẩy 3 số
sửa lại cho bạn
(defun c:ttx (/ ss ss1 y xlApp xlCells row col i iPt) (vl-load-com) (if (setq ss (ssget '((0 . "*TEXT")))) (progn (setq xlApp (vlax-get-or-create-object "Excel.Application") xlCells (vlax-get-property (vlax-get-property (vlax-get-property (vlax-invoke-method (vlax-get-property xlApp "Workbooks") "Add") "Sheets") "Item" 1) "Cells") row 0 col 1) (vla-put-visible xlApp :vlax-true) (setq ss (mapcar '(lambda (x) (list (vlax-get (vlax-ename->vla-object x) 'InsertionPoint) (vlax-ename->vla-object x))) (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))) (while ss (setq ss (vl-sort ss '(lambda (x y) (< (cadr (car x)) (cadr (car y))))) ss1 (vl-remove-if-not '(lambda (x) (equal (cadr (caar ss)) (cadr (car x)) 0.3)) ss) ss1 (vl-sort ss1 '(lambda (x y) (< (caar x) (caar y)))) ss (vl-remove-if '(lambda (x) (member x ss1)) ss) ) (foreach z ss1 (setq iPt (car z) y (list (vla-get-TextString (last z)) (rtos (car iPt) 2 3) (rtos (cadr iPt) 2 3) (rtos (caddr iPt) 2 3)) ) (if (> row 65536) (setq col 5)) (setq i -1 row (1+ row)) (mapcar '(lambda (x) (vlax-put-property xlCells "Item" row (+ col (setq i (1+ i))) x)) y) ) ) ) ) (mapcar 'vlax-release-object (list xlApp xlCells)) (princ) )
- 2
-
20 phút trước, minhmani đã nói:Thế cũng được bác :D
thế ib fb nhé: https://www.facebook.com/lienkettudong
-
9 phút trước, minhmani đã nói:Chào mọi người, mong mn viết giúp mình 1 lisp với yêu cầu như sau:
- Dùng lệnh "spy"
Giả sử mình gọi A là khoảng cách theo phương đứng giữa 2 đường polyline (Trong đó có 1 đường Polyline đã có Text cao độ chuẩn)
- Chọn tỉ lệ đứng 1/X (nếu X=1000 thì A=Chiều dài đường dim; nếu X=100 thì A= (Chiều dài đường dim) / 10; nếu X=200 thì A= (Chiều dài đường dim) / 5 .............)
Coi như mình chọn X=100 (tức tỉ lệ đứng là 1/100 --> Vậy A= (Chiều dài đường dim) / 10 )
- Chọn vị trí làm mốc (Trên đường Polyline có cao độ chuẩn)
- Chọn Text cao độ ứng với vị trí mốc
--> Sau đó phần mềm sẽ hỏi: "Bạn muốn sửa Text (1) hay muốn sửa chênh cao (2)
*Trường hợp 1: Nếu chọn sửa theo Text (1)
- Chọn đường Polyline có cao độ chuẩn
- Quét những Text có cao độ chuẩn (cái này nếu các bác thấy không cần thiết có thể bỏ đi)
- Chọn đường Polyline đang có cao độ Text bị sai
- Quét những Text cần sửa
--> Kết quả là các Text ghi sai cao độ đã được sửa thành cao độ chuẩn.
*Trường hợp 2: Nếu chọn sửa chênh cao (2)
- Chọn đường Polyline có cao độ chuẩn
- Quét những Text có cao độ chuẩn (cái này nếu các bác thấy không cần thiết có thể bỏ đi)
- Chọn đường Polyline đang có cao độ Text bị sai
- Quét các Text cần sửa chênh cao ( A= (Chiều dài đường dim) / 10 )
--> Kết quả là các Text ghi sai chênh cao đã được sửa thành chênh cao chuẩn
Cám ơn mọi người trước :D
Theo mình là chạy luôn 1 thể xóa luôn cao độ và chênh cao cũ đi điền vào cao độ và chênh cao mới luôn cho nó nhanh chứ hỏi chi trường hợp 1 với trường hợp 2 nữa
ib nếu mời coffe
-
2 phút trước, vudungcom đã nói:câu trên bảo rất đơn giản, câu dưới đã ko đủ tầm, hay là bác thích nhiều ly cafe, bác ở Hải Phòng thì em mời uống bội thực luôn
Ý mình là suy nghĩ của người yêu cầu thôi. Còn người viết như mình không với tới được
- 1
-
3 phút trước, CadExTools đã nói:Order cho bác @huunhantvxdts vài ly cafe uống là bác đó nhổm đít viết dc ngay đó mà.
Cái này mình không đủ tầm bạn ơi. vài ly hay cả trăm ly cũng không với tới
Xin giúp đỡ lisp so sánh tổng giá trị trong cột cad
trong AutoLisp
Đã đăng · Trả lời báo cáo
Cái này bạn tìm lisp c2e trên diễn đàn để xuất ra excell nhé