conghoa
-
Số lượng nội dung
563 -
Đã tham gia
-
Lần ghé thăm cuối
-
Ngày trúng
14
Bài đăng được đăng bởi conghoa
-
-
Các bác căng thẳng quá, phải ươm mầm để phát triển tài năng cho 4r chứ nhỉ :D.
Em lạc đề chút: AI giờ cũng phát triển, nên sẽ giúp ích rất nhiều cho các bạn thích lập trình. Các bác có chuyên môn ngó xem AI nó giải thích như này có đúng không nhé :)
Chức năng:
Code này tạo một lệnh AutoLISP có tên là IBB dùng để chèn khối (block) vào các điểm được định nghĩa bởi một polyline (đường nét).
Phân tích từng phần:
1. (defun c:IBB () ... );end: Định nghĩa một lệnh AutoLISP có tên IBB (viết tắt của "Insert Block By Polyline").
2. (setq modelSpace (vla-get-ModelSpace (vla-get-ActiveDocument (vlax-get-acad-object)))): Lấy đối tượng ModelSpace (không gian mô hình) của bản vẽ đang hoạt động.
3. (setq block (car (entsel "\nSeclect block: "))): Yêu cầu người dùng chọn một khối bằng lệnh entsel, sau đó gán giá trị của khối được chọn cho biến block.
4. (setq bo (vlax-ename->vla-object block)): Chuyển đổi tên khối block (dạng text) thành một đối tượng vla-object (object của Visual LISP Application Extension) và gán cho biến bo.
5. (setq nameb (vlax-get bo 'EffectiveName)): Lấy tên hiệu quả (tên được sử dụng để chèn) của khối và gán cho biến nameb.
6. (setq pl (car (entsel "\nSeclect pline: "))): Yêu cầu người dùng chọn một polyline bằng lệnh entsel và gán cho biến pl.
7. (setq plo (vlax-ename->vla-object pl)): Chuyển đổi tên polyline pl thành đối tượng vla-object và gán cho biến plo.
8. (repeat (setq n (1+ (fix (vlax-curve-getEndParam plo)))) ... ): Lấy số lượng điểm trên polyline bằng vlax-curve-getEndParam và tạo một danh sách lst chứa tọa độ của các điểm đó.
o vlax-curve-getEndParam trả về tham số kết thúc của polyline.
o fix lấy phần nguyên của tham số kết thúc.
o 1+ cộng 1 vào kết quả để tính số lượng điểm.
o vlax-curve-getPointatparam plo n lấy điểm trên polyline tại tham số n.
o cons thêm điểm lấy được vào đầu danh sách lst.
9. (foreach li lst ... );foreach: Duyệt qua từng điểm li trong danh sách lst.
o (vla-InsertBlock modelSpace (vlax-3d-point li) nameb 1 1 1 0): Chèn khối có tên nameb vào tọa độ của điểm li trong không gian mô hình modelSpace.
vlax-3d-point li chuyển đổi điểm li thành đối tượng 3D.
Các tham số 1, 1, 1, 0 là các tham số xoay và tỷ lệ của khối được chèn.
10. (princ "limfx"): In ra màn hình dòng "limfx". Dòng này có thể được sử dụng để điều chỉnh lại vùng hiển thị của bản vẽ sau khi chèn khối.
Lưu ý:
• Code này sử dụng các hàm vla- và vlax- để thao tác với đối tượng của Visual LISP Application Extension (VLA).
• Code này có thể được điều chỉnh để thay đổi số lượng điểm trên polyline, các tham số xoay và tỷ lệ của khối được chèn.
Kết luận:
Code này cho thấy cách sử dụng AutoLISP để tự động chèn khối vào các điểm trên một polyline. Code này rất hữu ích trong việc tối ưu hóa quy trình thiết kế và tiết kiệm thời gian khi làm việc với khối trong AutoCAD. -
Bạn dùng bản này để offset nhiều đối tượng nhé. muốn cho vào trong thì để giá trị âm nhé. Nguồn sưu tầm trên mạng nên cũng ko rõ là của ai.
-
https://www.mediafire.com/file/szzl73du47yuggx/arial-unicode-ms-bold.zip/file
Bạn thử file này xem có đúng ko nhé.
- 1
-
Bạn save file về *.dxf, rồi chọn lại Dim bị lỗi về lại tỉ lệ dim Dim_50 + Text DIM (mặc định đang hiển thị STANDARD) là được.
- 1
-
Add Viewport
trong AutoLisp
Trên diễn đàn có bản Free mà nhỉ.
https://www.cadviet.com/forum/index.php?app=forums&module=forums&controller=topic&id=68723
-
-
Vào lúc 22/2/2024 tại 16:13, amateurday đã nói:Không được bạn ơi. Tớ thử đánh số thứ tự Tcount mà phải Flatten mới được. Replace Z không được, FLAT trên cũng không được.
Bạn dùng thử cái này, tên lệnh SF rồi enter 2 lần
nguồn sưu tầm trên mạng.
- 1
-
Bạn dùng lệnh "ROLLIN2" nhé
-
Vào lúc 13/1/2024 tại 17:35, Luutru đã nói:Hôm nay bạn chạy lại lisp xem nhé
Chắc IT bên mình họ chặn liên kết lạ nên ko chạy được :)
-
Thank bác, mình đã chạy dc lisp. Tuy nhiên lisp vẫn hiện nội dung đăng ký Free, vẫn hiện bảng lấy key :)
-
@Luutru. Mình đã làm theo hướng dẫn copy thư mực ra ổ C nhưng vẫn nhận thông báo như này bạn ah.
-
@Luutru, Mình xin một Slot nhé:
43434344454747494950515152122524128543444445454646474749495050525221132525245_Disk;SK hynix SC311 SATA 128GB
***.kts4@gmail.com
Thanks!
-
-
Bạn dùng lệnh QSelect rồi chọn mầu cần lọc là dc nhé.
-
-
5 giờ trước, kaka1234 đã nói:cảm ơn bạn, mình vẽ cad cũng lâu rồi, mà thao tác chek ko bị lỗi mà ko hiểu sao luôn
Bạn dùng lệnh Overkill để xử lý trước các đối tượng bị trùng. có thể do Lag copy :))
-
-
14 phút trước, Lâm Vũ đã nói:Cái này chỉ áp dụng được với Line, polyline, arc thôi bác ạ, đường kia của e là 2d polyline thì lisp lại không dùng được.
Sau khi dùng lisp của bạn thì đường được nối cũng chuyển về polyline nên trước khi dùng lisp Pj bạn dùng lệnh Convert để chuyển toàn bộ 2D Polyline thành polyline :D
-
http://www.lee-mac.com/lisp/PolyToolsV1-0.lsp
Bạn dùng cái này nhé, lệnh Pj sẽ đáp ứng yêu cầu của bạn.
-
Bạn thử dùng lệnh: Copytolayer trong cad xem.
-
40 phút trước, nguyenduc513 đã nói:zoom rồi đấy chứ bạn, nhưng cũng có hiện ra đâu, hình như ko phải lỗi như bạn nói đâu
Zoom chưa tới nên chưa thấy, Cách zoom:
- Vẽ 1 đoạn thẳng có tâm là 0,0 để biết tọa độ 0,0 nằm ở vị trí nào (bản vẽ của bạn nằm gần mốc này)
- Xóa toàn bộ các đối tượng bên ngoài của điểm mốc tọa độ 0,0
- Sau đó xóa đoạn thẳng vừa vẽ
- Zoom all sẽ thấy
- 1
-
Làm thủ công với điều kiện 600 cái đèn máng đó là block:
- Saveas file bản vẽ mới
- Vào bản vẽ mới rồi Edit block đèn, thêm chứ cần hiển thị, lyout text để là layout riêng
- Phá khối toàn bộ block đèn rồi cho hiển thị riêng layout text mới thêm
- Copy toàn bộ text đó qua bản vẽ gốc
:D
-
23 giờ trước, Duong Nhat Duy đã nói:Nói riêng cái stretch phương dọc nhé, phương ngang thì dễ r:
- Stretch Action 1:
+ Window : vùng trên cái cửa
+ Objects: khung ngoài, khung trong, bản lề trên, chữ V (bạn đang thiếu chữ V và thừa bản lề giữa)
- Stretch Action 2:
+ Window : vùng bao chỗ bản lề giữa
+ Objects: khung trong, bản lề giữa, chữ V (bạn đang thừa bản lề trên)
Với Stretch Action 2 thì phải chỉnh cái Distance thành 0.5 thì nó mới ở giữa cửa được
-
Vào lúc 5/11/2019 tại 13:57, Ma Vương đã nói:@Chủ thớt (vì không bik nick nào chính): Theo hình bạn gửi thì có vẻ nghề nghiệp của bạn liên quan đến hình vẽ này, do đó mình khuyên lại lần nữa là bạn nên học lại hình học họa hình. Nên học lại từ cơ bản nếu ko thì sau này vào nghề sẽ rất khổ. Như bạn nói, mình cũng ko giỏi hơn ai cả, nhưng ít nhất những kiến thức liên quan đến việc kiếm cơm thì cũng phải nắm chắc một chút.
@Ma Vương, hình như phải điều chỉnh lại một số điểm bên dưới này thì hình mới đúng
(Góp ý) Chèn Block lên đỉnh PLine
trong AutoLisp
Đã đăng · Trả lời báo cáo
@Doan Van Ha em chỉ tranh thủ để định hướng cho chủ của topic này thôi bác :)
Còn về lisp AI nó đang bị ngu ngu, vì em có thử yêu cầu viết nhưng ko chạy dc. Về Lisp thì em chỉ biết dùng nên nhường chủ đề đó cho các bác chuyên môn!