-
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
-
-
Nối thép 40D
trong AutoLisp
10 giờ trước, thanh96 đã nói:Em lại gặp lỗi nữa nhờ anh giúp ak.
Nếu vẫn lisp cũ ý ak. Gặp trường hợp 2 đầu thanh đó bẻ neo thì nó chưa xử lí được tại mình đang để break ra sau đó vẽ 1 đường line khác.
Có cách nào xử lí được không ak.
Trước em chưa xử lí hết trg hợp giờ làm mới thấy ak.
Em cảm ơn ak.
Chịu. Gặp Polyline thì rắc rối nên tôi chịu.
- 1
-
Nối thép 40D
trong AutoLisp
3 giờ trước, thanh96 đã nói:Anh giúp em với sửa mãi nó cứ lỗi kiểu gì ý ak.
Em cản ơn ak
Tôi đã sửa lại một số chỗ. Bạn chạy thử xem thế nào.
(defun c:1 ( / A1 A2 B1 B2 OBJ OLDOS P1 P2 P3 P4 VL-OBJ )
(command "cmdecho" 0)
(setq oldos (getvar "osmode"))
(or duongkinhthep (setq duongkinhthep 16))
(setq duongkinhthep (cond ((getreal (strcat "\nDuong Kinh Thep: < " (rtos duongkinhthep 2 0) " >:")))(duongkinhthep)))
(setq obj (entsel "Select object: ")
VL-Obj (vlax-ename->vla-object (car obj ))
p-end (vlax-curve-getEndPoint VL-Obj )
p-start (vlax-curve-getStartPoint VL-Obj )
p1 (getpoint "chon diem Break: "))
(if (< (car p-end) (car p-start)) (setq p2 p-start) (setq p2 p-end))
(setvar "osmode" 0)
(setq a1 (- (car p1) (* 40 duongkinhthep))
a2 (- (cadr p1) 100)
b1 (car p2)
b2 (- (cadr p2) 100))
(setq p3 (list a1 b2)
p4 (list b1 b2))
(command "break" p2 p1)
(command ".line" p4 p3 "")
(setvar "osmode" oldos)
(princ)
)- 2
-
Nối thép 40D
trong AutoLisp
7 giờ trước, thanh96 đã nói:Em viết như này cơ mà nó đang còn dính lỗi cái điểm P3 ý em gắn vậy cơ mà nó không nhảy điểm là do gì ak.
Với để dim 2 điểm trong lisp ak.
Em cảm ơn ak
(defun c:1 ( / )
(setq obj (entsel "Select object: ")
d (getreal "\n Duong kinh:"))
(setq VL-Obj (vlax-ename->vla-object (car obj )))
(setq p2 (vlax-curve-getEndPoint VL-Obj ))
(setq p1 (getpoint "chon diem cut: "))
(setq a1 (- (car p1) (* 40 d))
a2 (- (cadr p1) 100)
b1 (car p2)
b2 (- (cadr p2) 100))
(setq p3 (list a1 b2)
p4 (list b1 b2))
(command "break" p2 p1)
(command ".line" p4 p3 "")
)+ Bạn viết được vậy cũng là khá rồi. Cố thêm ít nữa chắc sẽ ok :))
Tôi nghĩ bạn nên bổ xung điều sau cho lisp:
+ Tắt chế độ bắt điểm (setvar "osmode" 0) Sau khi chọn hết, nhập hết số liệu để tránh trường hợp máy bắt điểm nhầm.
+ Lisp này hiện tại chỉ hoạt động với đường thẳng nằm ngang. Vậy đường xiên thì sao?
+ Điểm EndPoint của đường thẳng có thể nằm ở 1 trong 2 đầu. Vì thế đoạn nối lúc thì bên trái, lúc thì bên phải. Bạn sẽ giải quyết thế nào ?
+ Nếu là đường thẳng, thay vì Break thì bạn có hết toạ độ rồi. Vậy vẽ xừ nó 2 đường thẳng mới,rồi xoá đường thẳng cũ đi. Liệu có ok hơn không :))) hề hề.
- 2
-
Nối thép 40D
trong AutoLisp
Mà bạn viết được lisp nho nhỏ là thế nào. Tôi nghĩ bạn có thể làm được. Hãy đưa ra ý tưởng đi. :)
- 2
-
Nối thép 40D
trong AutoLisp
À, sorry bạn. Tôi hiểu sai đề bài.
Tôi sẽ viết cho bạn sau đợt nghỉ lễ nếu chưa có bác nào rảnh viết cho bạn.
Bạn nên đưa thêm cái hình ảnh cho trực quan.
- 2
-
Nối thép 40D
trong AutoLisp
Tôi hay dùng cái thể thể loại này - Tự viết cũng lâu rồi. Chỉ vẽ ra cốt thép, còn Dim thì dùng tay ( Bởi không thích viết và không có nhu cầu cần viết).
- 1
-
14 phút trước, Doan Van Ha đã nói:Cớ sự là do 25.4. Lẽ nào bản vẽ ngoài đã vào file acad.lin để sửa?
"Bình thường, nếu xét về khoảng cách dãn. Thì chỉ cần nhân tỷ lệ 25.4 với 1 trong 2 đường ---> khoảng cách giãn phải giống nhau. Nhưng ở đây lại không giống như thế ??
+ Thấy cũng có phần ảnh hưởng của Annotation. Bác #DoanVanHa không chọn đối tượng nào, thử bật Property lên, mục Misc: thì thấy tỷ lệ Annotation Scale khác nhau lè lưỡi. Chỉnh cho nó giống nhau thì khoảng cách giãn còn khác nhau rất lớn ( Chênh 25400 lần @@).
- 1
-
9 phút trước, Minh Trọng đã nói:Khác nhau thật, nhưng bên mình nó đều là nét liền.
10 phút trước, Doan Van Ha đã nói:Thế nào là "định nghĩa khác nhau" vậy, khi chúng đều được load từ "acad.lin" ?
Lại có cả trường hợp của bạn Minh Trọng ở trên nữa à?
+ Minh Trọng: Liền hay không liền là do bạn để tỷ lệ Line Scale nhỏ quá hoặc to quá. Chỉnh lại vừa vừa là thấy sự khác nhau.
-
1 giờ} trướ}c, qonquixote đã nói:hi bạn, bạn có thể help m trường hợp nó là block được không?
Hãy tìm hiểu về lệnh : XREF.
- 1
-
28 phút trước, HUUTUYEN_NIKE đã nói:Em chào mọi người ạ. Mọi người cho e hỏi khi e dùng lệnh PL và đã chỉnh độ dày của nét nhưng nó ko ra nét dày mà ra 1 hình chữ nhật mà ko hiển thị nét dày. vậy mong các bác chỉ giáo giúp em ạ. Em cảm ơn
Thử FILL---> ON, rồi Regen lại xem thế nào.
-
8 phút trước, quocmanh04tt đã nói:Cái lệnh đó để biết thêm các lệnh con trong nó!
Không thì dùng thẳng vào lệnh này: AI_DIM_TEXTHOME
Đọc trên Cadviet thì biết em nó thuộc Express Tool. Nhưng mò trong Express trong cad thì không biết em nó nằm ở cái giường nào. ^^ Bác chỉ chỗ giùm em với @@
-
3 phút trước, jangboko đã nói:cám ơn bác. bác thấy em gà nên cứ trêu thôi :D
Bạn xóa đi dấu nháy kép "" trên đoạn code vừa rồi. Không thì nó chỉ chọn được 1 đối tượng. Xóa đi thì chọn được nhiều đối tượng.( Tôi vứa sửa lại code xong )
-
21 phút trước, jangboko đã nói:cảm ơn bạn nhiều nhé. Có cách nào rút ngắn chuỗi lệnh này ko. Mình muốn sử gõ lệnh xong nó mặc định luôn là lựa chọn <home>: h
Mất hết cả đất diễn rồi...
Định đùa bác này tẹo nữa nhưng bị bác QuocManh trả lời mất,,, thế nên lại thôi.... ^^
Gõ lệnh tắt thế này nhé @@
(defun c:ABCDEFGH ()
(command "_Dimedit" "Home" pause)
(princ))- 1
-
5 phút trước, nội thất Đô My đã nói:bạn bị chuyển đổi các nét vẽ, mình cũng đang bị tương tự nhưng chưa tìm được cách khắc phục
http://mancuadomy.com/Tu-van/rem-van-phong-dep-va-cach-bao-quan-23.html
Xóa ngay đi cái Link đính kèm. Ko thì tôi khóa nick trong vòng 2h tới.
33 phút trước, ChiPheo123456 đã nói:file của mình toàn file nặng, éo up lên đc. nói chung là nét vẽ mảnh bị đổi thành nét vẽ đậm, tất cả các bản vẽ luôn.
nét vẽ by_layer mặc định bị đổi hết thành nét default
Tìm hiểu thêm về các lệnh hiển thị nét đậm của bản vẽ : Ví dụ như LineWeight. Tốt nhất bạn nên sử dụng công cụ tìm kiếm của diễn đàn. Rất nhiều.
- 1
-
Có 2 cách giải quyết:
1: Tự học cho trình độ Cad nó cao lên.
2: Học thêm cách trình bày để người khác hiểu ( Hình ảnh, bản vẽ..).
-
1 giờ} trướ}c, jangboko đã nói:Xin lỗi các bác. Em đã thử tìm trên diễn đàn rồi mà chưa thấy cái Lisp hay lệnh cad nào phù hợp với yêu cầu của em ( có thể e tìm chưa kĩ mong các bác thông cảm)
+ Do tìm chưa kỹ: Hoặc bạn chưa dám mày mò nghịch ngợm để làm được. @@
Vốn dĩ cái họ nhà Dim nó thẳng như hình 2 rồi. Vậy thì phải hỏi cớ sao nó lại có đường nối như hình 1: Túm lại là chỉnh DimStyle các thông số sau:
Lưu ý: Việc chỉnh này chỉ áp dụng với các Dim không bị thay đổi vị trí Text. Nếu thay đổi thì sẽ có thêm phần gay cấn khác ^^
- 2
-
Lisp tính tổng dim có nhiều rồi. Giờ có mỗi việc nhập tay thôi thì sao phải xoắn.. ^^. Giảm 90% thao tác rồi đấy. Bạn tìm trên diễn đàn là ra.
- 1
-
1. Chọn đường line. Nhấn Ctrl+1 xem Property của line đấy, xem mục "Color" có phải là "By Layer" không ?
Nếu mới học thì chắc cũng biết bật thanh công cụ "Layer", "Style".... Vậy thì giờ bật thêm thanh công cụ "Property" lên để hiểu rõ. ( Màu sắc , đường nét các loại...")
2. Nét vẽ : Phụ thuộc vào chế độ đặt in: Tìm hiểu trên diễn đàn về cách in ấn:
3. Cỡ chữ: "Phụ thuộc vào cỡ chữ bên Model và tỷ lệ khung nhìn bên layout. Vấn đề này cứ tìm hiểu trên diễn đàn về in ấn, rất nhiều.
-
+ Cứ 1 điểm trừ trước đã - Dù là quên hay sai sót , nhưng bản vẽ ko tài nào mở được trên Cad 2012. Dùng TrueView 2016 cũng không ăn thua. Tôi dị ứng với ai không biết lưu về đời cad thấp hơn cho mọi người dùng.
- 1
-
23 phút trước, doductiep đã nói:Cách mình thường làm là dùng lệnh joint các đường, arc bằng lệnh PE với tham số Fuzz Distance lớn (fuzz distance nhập phải lớn hơn hoặc bằng khoảng các giữa các đầu mút lớn nhất của các đối tượng sẽ nối vào nhau)
File ví dụ của mình bạn làm ok, chọn fuzz distance = 20
Bạn dùng Cad đời nào vậy? Có thể chụp cái ảnh màn hình chỉnh thông số Fuzz Distance lên được không ? Tôi dùng Cad 2012, dùng mãi mà không thấy có điều này, 1 Vote cho bạn.
-
+ Fillet + Extend + Trim như bạn là nhanh nhất rồi. Không có cách nào khác tốt hơn nữa đâu.
Lisp cũng không thể viết cho trường hợp này.
Góp ý: Bạn đăng hình ảnh với bài này sẽ tốt hơn, mọi người ngại tải file về mở lắm.
-
Có các nguyên nhân gây ra lỗi:
+ Số trong Dim là số đã sửa.
+ Dim Style có Scale khác 1.
Dự là nguyên nhân thứ 2. Bạn vẽ 1 đường line bật Property xem nó dài bao nhiêu là biết đúng sai thế nào.
Ko đúng là đưa bản vẽ lên. Chứ tôi làm thầy bói thì dự vậy thôi. @@
-
+ Bạn đăng bài rất tốt, có tiêu đề, nội dung, trình bày rất rõ ràng. Diễn đàn hoan nghênh bạn điều này :)) 1 Vote luôn.
+ Về thắc mắc của bạn : Nếu bạn dùng máy tính khác thì các vấn đề này đơn giản, ai cũng chỉ cho bạn được. Nhưng với hệ điều hành của Macbook thì bản thân tôi cũng chịu. Do ko dùng và rất ít tiếp xúc. ( Ngay cả Cad 2017 có phần dành riêng cho hệ điều hành Mac cũng là điêù tôi ko biết luôn).
Đành để các bác khác giúp bạn điều này. ( Nếu có lời khuyên thì tôi khuyến khích bạn sử dụng Cad 2012 hơn, vì nó đơn giản, cài nhẹ nhưng rất ổn )
-
+ Định viết lisp. Nhưng chợt nhận ra: "Cần cái méo gì lisp khi Cad đã có Attribute !!". Thế là tìm được cái này. Bạn đọc rồi tự tìm hiểu, nó giải quyết trường hợp cho bạn:
Ngoài lề: Định ko trả lời nữa, nhưng nếu bạn còn sử dụng diễn đàn thì lập 1 tài khoản mới đi. Cái tên cũ "mayhoigitao", tôi nói thật, nó ko tôn trọng diễn đàn chúng tôi. Chúng tôi có thể xoá tài khoản này nếu mọi người ko trân trọng diễn đàn. Mong bạn tiếp thu điều này.
Nhờ sửa lisp chọn text
trong AutoLisp
Đã đăng · Trả lời báo cáo
Bạn không làm được vì thiếu 1 chữ "Ét sì" :v :v
(SSSETFIRST nil ss)