tamkt
-
Số lượng nội dung
74 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi tamkt
-
-
Em cảm ơn Anh "huunhantvxdts".
Nhưng Em vẫn chưa xử lý được ý tưởng của mình, hihi.
-
Kính chào các Anh,
Em có dùng 1 lisp là mình coppy và rải tất cả mọi thứ với 1 khoảng cách cho trước.
1 lisp nữa là chọn text và cứ click tới đâu là số thứ tự trong text cứ tăng dần tới đó.
Em có ý tưởng là: Coppy rải text với 1 khoảng cách cho trước, đồng thời text có số trong đó cứ tăng dần đều.
Mong các Anh giúp đỡ.
-
1
-
-
Mình xin chia sẽ cách làm với block để tiện cho việc quản lý (kiểm soát) nó:
Nếu 1 đối tượng "giống nhau" thì tạo block. VD như cột thì nên tạo mỗi size là 1 block để tiện việc quản lý
Nếu những đối tượng "giống nhau về hình thức nhưng khác kích thước" mà phải sữ dụng nhiều lần thì tạo dynamic block. VD như cửa sổ, cửa đi cùng loại
Mình nói nhiều lần ở đây là phải trên 10 cái chứ có vài cái thì thời gian bạn tạo dynamic block cũng tốn thời gian hơn.
Riêng về Dim thì cứ thủ công cho lành, ngoại trừ cái nào cũng phải dim thì mới add vào lock. Vì chỉ có Dim thủ công bạn mới kiểm soát được chúng để cho ra bản vẽ sạch sẽ, đẹp mắt. Hạn chế dùng dimassoc vì khi bạn thay đổi đối tượng đồng ý dim nhảy theo, nhưng mà vị trí nó cũng nhảy lung tung cả lên, phải cân chỉnh lại cho ngay ngắn thì càng bực mình.
...
Khi đã tạo block thì chỉnh block không tốn nhiều thời gian vì vậy không cần lisp. Lisp chỉ hiệu quả khi phải sữ dụng 1 lệnh hay 1 việc cứ lập đi lập lại nhiều lần....
Túm lại trong Autocad hiệu quả không phải là vẽ nhanh, mà là bạn phải kiểm soát được những thứ mình vẽ
Em cám ơn các ý kiến của Anh nhiều.
-
1
-
-
Tóm tắt cái lisp trên tí thôi. Không dài dòng các kiểu. Trường hợp đặc biệt là các dim cùng hàng và chân dim dài như nhau nhé.
Nghịch thử nhé ^_^
(defun c:merge () (if (setq ss (ssget '((0 . "DIMENSION")))) (progn (setq lst nil) (setq pt (cdr (assoc 10 (entget (ssname ss 0))))) (foreach dim (ssnamex ss) (if (= 'ename (type (cadr dim))) (progn (setq lst (cons (cdr (assoc 13 (entget (cadr dim)))) lst)) (setq lst (cons (cdr (assoc 14 (entget (cadr dim)))) lst)) ) ) ) (setq lst (vl-sort lst '(lambda (e1 e2) (< (car e1) (car e2))))) (command "erase" ss "") (command "dimrotated" (RtD (angle (car lst) (car (reverse lst)) ) ) (car lst) (car (reverse lst)) pt ) ) ) (princ) ) (defun RtD (r) (* 180.0 (/ r pi)))Cám ơn Anh Bee, quá tuyệt vời.
-
Bạn Up nhầm lisp chia DIM rồi
Thì là lisp chia dim mà Bạn, nhưng ý mình muốn nhờ mọi người nâng cấp lên đó.
-
Em có 2 cái lisp sưu tầm, do Em download về, mà lâu quá rồi nên không nhớ nguồn gốc.
1. Lisp chia dim ( hiện tại cứ click là chia )
2. Lisp nối dim ( chọn 2 dim là tự nối với nhau thành 1 dim )
Mong mọi người giúp Em nâng cao lên
1. Lisp chia dim ( hiện tại cứ click là chia ), thêm option 2
+ click là chia
+ nhập số lần để chia đều, ví dụ chia 10 thì nhập 10, dim tự chia ra 10 phần bằng nhau
2. Lisp nối dim ( chọn 2 dim là tự nối với nhau thành 1 dim ), thêm option 2
+ chọn nhiều dim => nối với nhau thành 1 dim
http://www.cadviet.com/upfiles/7/5798_21a_cdd__cat_dim_2.lsp
http://www.cadviet.com/upfiles/7/5798_21_jd__noi_dim_.lsp
Mong mọi người giúp Em.
-
Do là từ ngày Em đọc bài viết của Anh " Nguyenhuyhoang"
Em mới thấy có một số lệnh tác động trực tiếp lên block mà không cần vào block, hay quá.
Nên mới thấy nếu ở môi trường model mà tác động được block với các lệnh: xóa, stretch,move các đối tượng bên trong Block, sau khi xong, mình chỉ cần save.
Như vậy thì thao tác nhanh hơn rất nhiều mà không cần vào trong Block. Nên Em nghĩ chỉ có lisp mới xử lý được.

-
Hi Anh Bee, tình hình là chưa đóng topic được ùi,
là vậy nè Anh,

Em ở môi trường model, không vào trong block, mà vẫn có thể stretch đối tượng mình muốn.
Ví dụ từ ngang dầm 200 stretch lên 400mm, hay chỗ thang máy kéo 430mm thành 500mm.
-
Chẳng cần lisp mà dùng dynamic block dễ dàng hơn nhiều. Mà tự thân có thể xây dựng hệ thống cho bản thân.
Ví dụ đây.http://www.cadviet.com/upfiles/7/155566_dynamic_block.dwg
Quá hay luôn, Em cám ơn Anh Bee.
-
Em có một ý tưởng nữa, ý tưởng này giúp vẽ nhanh.
Nhập lệnh,
1. Chọn 1 đối tượng ( là line hoặc pline )
2. Chọn điểm trên đối tượng
3. chọn điểm bất kỳ
4. thì chiều dài đối tượng tự động stretch theo

Cái này Em nghĩ lisp sẽ hỗ trợ được.
-
1
-
-
^_^ Ngâm cứu đi
Hichic,
-
Sao em thử thì duy nhất cái khoanh trắng được thôi, tất cả các vị trí khác thì dim đều không tự nhảy.
Anh Bee dùng chiêu gì hay quá vậy, chỉ Em với.
-
-
Cái này thì dễ. :D Đặt dimassoc là 2. Xong dim 2 canh của cột. Khi sửa cột trong block thì dim tự nhảy thôi ^_^
hihi, Em cám ơn Anh Bee, tuyệt vời.
-
Hi mọi người,
giờ Em nghĩ ra cách này là ở trong môi trường của lệnh " REFEDIT ", làm sao để khi stretch thì cái đim bên ngoài chạy theo luôn.
Mong mọi người giúp đỡ.

-
Đúng rồi. Tốt nhất là nên nghĩ khác đi. Đâm đầu vào bức tường này chỉ có vỡ đầu thôi ^_^
Dù sao cũng cám ơn Anh Bee.
Em sẽ nghĩ cách khác.
-
Với nhu cầu này thì hoàn toàn không khả thi ^_^
huhu, vậy là khó quá hả Anh Bee.
-
Đơn giản thế Dùng dynamic block không được à ?
Dạ nếu dùng dynamic block thì phải tạo mẫu, nhưng ý của Em là với block bất kỳ, chỉ cần ở ngoài môi trường model là stretch được.
-
1
-
-
Khó khăn để em còn biết nó là Block :D
Hihi,
Nó là vậy nè Anh,
Em muốn stretch kéo như ảnh e print, thì cái dim chắc chắn là bị kéo theo, đồng thời cái cột phía trong Block cũng
chạy theo luôn ( rất tiện lợi ).
-
có lệnh refedit nó cũng có thể sửa các đối tượng mà ko cần vào trong block đó bạn, bạn thử nghiên cứu lệnh này xem có phù hợp ko
Em cám ơn Anh, nhưng refedit thì cũng phải vào trong block nên nó cũng không hay bằng việc ở bên ngoài model, mà Stretch được Block.
Theo Em vẽ block dễ quản lý nhưng chỉnh sửa thì khó khăn. Nếu mà stretch được thì quá hay.
Mong các Anh giúp Em, Em xin cảm ơn.
-
Em nhờ các Anh giúp Em 1 lisp như sau:
Em muốn dùng lệnh stretch để kéo dãn đối tượng bên trong Block ( không cần phải vào bên trong Block)
Mong mọi người giúp Em với. Em xin cảm ơn.
-
thanks bác, lisp rải ok rồi ^^
Pác ơi, sao Em dung AutoCAD 2015 nó không chịu vẽ.
Lỗi:
Command: rtdChon line de rai:
Rai tu diem dau:
Den diem cuoi:
Buoc cua doan bien <150>: 150
Buoc cua doan giua <200>: 200; error: bad argument type: numberp: nil
Command:Command: Specify opposite corner or [Fence/WPolygon/CPolygon]:
Command: Specify opposite corner or [Fence/WPolygon/CPolygon]:
Command: *Cancel*
-
thank! 2 bạn. mình biết vì sao rồi. tại thằng cùng văn phòng. ông ấy cài cái dịch tiếng trung tự động :)
hic, em xài cái Lingoes, nó bị nè..
tắt chế độ tự dịch là ok, hehe
-
Anh Moderator quá tuyệt vời!
Cám ơn anh thật nhiều nhiều, Chúc anh một tuần làm việc vui vẻ.

Coppy rải Text liên tục và đồng thời số thứ tự tăng dần
trong AutoLisp
Đã đăng · Trả lời báo cáo
Ý tưởng của Em, mới dùng Tcount để xử lý, nhưng nó chậm với không ok lắm.
Không biết có lênh nào hay hơn nữa không, mong các sư huynh giúp đỡ.