LoveLisp
-
Số lượng nội dung
191 -
Đã tham gia
-
Lần ghé thăm cuối
Bài đăng được đăng bởi LoveLisp
-
-
ACET không phải được viết bởi Cadviet.com.
Mình có ghi rõ là viết lại mà bác! ACET là một phần cài thêm của AutoCAD, nằm trong Express.
-
Ồ, như vậy là hàm con VPCords của bác Hà trả về kết quả hoàn toàn giống với (ACET-GEOM-VIEW-POINTS), hay nói cách khác đó chính là hàm (ACET-GEOM-VIEW-POINTS) được viết lại bởi CadViet.com!!!
-
Mình không biết dùng hàm Lambda nên không hiểu cách tính toán các góc như thế nào cả, bác Hà vui lòng hướng dẫn một chút được không?
(getvar "ViewCtr")=(list x y)
(getvar "ViewSize")=h
(getvar "ScreenSize")=(list a b )
Như vậy, các góc d1(x1, y1) và d2(x2, y2) được tính toán như thế nào?
Mình tìm được rồi:
x1=x-h*(a/b )*0.5__________y1=y-h*0.5 (góc dưới bên trái)
x2=x+h*(a/b )*0.5__________y2=y+h*0.5 (góc trên bên phải)
Cám ơn bạn Tue_NV đã giúp đỡ!
-
hehe.. còn biến "ScreenSize" nữa mà bây giờ mình mới biết!! Cám ơn bác Hà nhé!
Biến này không phụ thuộc vào lệnh zoom và pan, chỉ phụ thuộc kích thước của sổ của màn hình AutoCAD. Khi co kéo cửa sổ thì nó thay đổi theo.
-
AutoCAD kiểm soát vị trí của bản vẽ thông qua biến "ViewCtr" và "ViewSize". Cả hai biến này đều Read only và có thể điều khiển thông qua các lệnh Zoom và Pan. Nếu bạn thu nhỏ cửa sổ AutoCAD và co kéo các cạnh biên thì các biến này cũng tự động thay đổi theo.
Trong Model, mình muốn vẽ một hình chữ nhật bao quanh khung nhìn hiện tại, liệu có được không?(nghĩa là hình chữ nhật bao quanh phần nền đen mặc định của AutoCAD, kể cả việc thu nhỏ và co kéo cửa sổ).
hehe, nói và đố vui chứ mình ... không có lời giải, vì biến "ViewCtr" là tọa độ điểm, còn ViewSize là chiều cao khung nhìn, mình không biết cách nào để lấy chiều rộng của khung nhìn cả.
-
Xin chào! Mình là dân giao thông, cũng từng dùng Nova và VNRoad, nhưng cũng không hiểu được câu hỏi của bạn NguyenNgocSon. AutoCAD không có khái niệm "đối tượng hiện hành", nó là một khái niệm mới do bạn tự đưa ra, vì vậy bạn cần diễn giải để người khác có thể hiểu được. Theo cách nói của bạn (ở #3), thì điều bạn muốn là:
- Gán (P)Line hiện hành
- Chèn block dọc theo (P)Line đó
Như vậy đúng chưa bạn? Nếu đúng như vậy thì vấn đề không có gì phức tạp cả, có thể viết một lisp làm các việc sau:
Lần chạy lệnh đầu tiên:
- Chỉ định một (P)Line gán vào biến PLineHienHanh (không khai báo biến, nghĩa là không hủy sau khi kết thúc lệnh)
- Rải block (nào đó) dọc theo biến PLineHienHanh (bằng lệnh Measure hoặc Divide).
Các lần chạy lệnh sau:
- Rải block (mà không cần hỏi lại PLineHienHanh, nhưng có tùy chọn cho phép thay đổi PLineHienHanh).
-
Những cái gì gọi là đơn vị thì không phá vỡ được nữa bạn ạ! Nhỡ phá vỡ được đường tròn, rồi bạn muốn phá vỡ tiếp LINE, POINT thì chắc là gay lắm đây, hehe...
Nhưng bạn cứ nói rõ yêu cầu, cụ thể là bạn muốn phá vỡ nó ra thành cái gì? Thành đa giác n cạnh hay thành các point, v.v... biết đâu sẽ có người giúp được.
-
Ngày xưa mình đã gặp vấn đề như thế này, sau đó mày mò học LISP cũng viết ra một cái để tự dùng, xin chia sẻ cùng bạn. Nói thật, nó củ chuối lắm, nhưng rất tiện dụng (ít ra là đối với mình), xin post lên đây hy vọng giúp được bạn.
http://www.mediafire...n6ijy25uuuxky6o
Sau khi tải file Net.lsp, bạn gõ lệnh NET, nó cung cấp 2 tùy chọn là xuất và nhận file *.net (chứa toàn bộ layer và nét in của layer đó). Bạn có thể dễ dàng tạo ra một file *.net chuẩn và import nó vào các bản vẽ bạn muốn.
-
Đúng, mình muốn y như bạn Tue_NV (ở #11), tiếc là bạn chưa hướng dẫn cách làm.
Nhưng mình đã tìm được cách làm rồi, xin post ra đây để những ai cần có thể nhanh chóng thực hiện được:
1. Tải và cài đặt font Vnmono.ttf tại đây: http://www.mediafire...icn3esxi567stu1 (không cần khởi động lại windows).
2. Trong Visual Lisp, nhấn Ctrl+N để tạo một file mới.
3. Vào menu Tools\\Window Attributes\\Font... để chọn font Vnmono.
4. Chuyển bộ gõ (unikey, vietkey...) về TCVN3 và gõ tiếng Việt có dấu! Sướng! ( ^_^)
Để dễ nhận biết, dòng đầu tiên của file *.lsp nên là: ;<<<Su dung font TCVN3>>
Cám ơn mọi người đã giúp đỡ!
- 3
-
Ồ, thì ra là vậy! Mình thì không thể bỏ Visual Lisp được, vì các tiện ích của nó. Cám ơn bác!
Hy vọng có bạn nào rành về windows có thể giúp mình về vấn đề này.
-
Đúng là mình chỉ dùng để ghi chú thôi bác Hà ạ!
Mà bác không dùng Visual Lisp để viết à? Vậy bác dùng gì? Notepad++ hả? Nó có kiểm tra lỗi cú pháp được không bác?
-
Mình đang sử dụng Windows 7, AutoCAD 2007.
Trong Visual Lisp, mình không thể gõ tiếng Việt được. Mong được mọi người giúp đỡ!!
-
wow... code của bác Hà thật là ngắn gọn và súc tích! Thật đáng khâm phục!
-
Bác Hà ơi!!
Nếu nó có chứa ARC thì sao hả bác? Hoặc nếu nó đã được hiệu chỉnh (bằng lệnh Pedit) thành Spline hoặc Fit thì làm sao để nó không thay đổi?? hihi.. câu hỏi này chắc là khó đây!
-
Đây đúng là các yêu cầu của việc đóng gói phần mềm. Nó bao gồm cả việc tạo các khóa Registry nữa.
Bạn có thể tham khảo các chương trình viết trên nền CAD (Bên cầu đường có các phần mềm Nova, Topo, HS, của Hài Hòa; VNRoad của TDT; Thiết kế Cống của Phạm Hồng Nhân; v.v..).
Bạn cần dùng đến phần mềm của hãng thứ 3 để làm việc này, như bạn tvgtyb08 đã nêu, và nó yêu cầu cần phải có những kiến thức nhất định về hệ điều hành (quản lý file, registry, thư mục tạm...) bạn ạ!
-
Nếu AutoDesk bỏ hẳn AutoLisp thì sao nhỉ!!! Mình nghĩ điều đó sẽ không xảy ra vì chính bản thân AutoCAD cũng gọi nhiều hàm LSP và DCL.
ặc..ặc.. Nếu phải học lại một ngôn ngữ khác để làm việc với CAD thì thật là một tai họa!
-
Trong phần Sample của thư mục cài đặt OpenDCL có mấy file *.vlx. Như vậy, theo mình nghĩ, nó có khả năng "đóng gói" các file *.lsp và *.odcl thành *.vlx. Loại file VLX thì rất phù hợp với CAD mà không cần hộp thoại kèm theo nữa, cũng không phải cài đặt OpenDCL (trừ máy của người viết thì phải cần rồi!).
-
Mình đã download bản cài đặt OpenDCL Studio 7.0.0.9, nó chỉ có 10Mb thôi mà bạn! Phần mềm này mã nguồn mở, không có rắc rối gì về bản quyền hết, có thể tương tác trực tiếp với file *.lsp (người ta giới thiệu vậy, mình chưa biết cách dùng, hihi..).
-
Nova 2005 trong Win7?
trong Nova
hic, cái hướng dẫn này lập trên WinXP mà, trong khi tiêu đề bài viết này là Win7. Tác giả xem lại có đúng không nào!!
-
Viết hộp thoại cho AutoLisp thật là khó khăn bởi toàn bộ đều được mô tả bằng các câu lệnh chứ không trực quan như VB.
Mình tìm được phần mềm OpenDCL với lời giới thiệu là "Thay thế hạn chế của DCL", nó có thể tương tác với AutoLisp và cùng với lisp để kết xuất thành file VLX.
Mình chưa biết nhiều về DCL, mong các cao thủ xem và góp ý.
Link:
-
oh, cám ơn nhiều!! Mình tìm mãi mà không thấy!
Bạn có quyết định ban hành không? Không rõ thời điểm áp dụng bắt đầu từ khi nào, hình như đầu năm 2013 thì phải.
-
Đây có thể gọi là tài liệu "Nhập môn AutoCAD", cung cấp những kiến thức cơ bản khởi đầu về AutoCAD, phù hợp cho người mới làm quen với CAD.
-
Không thể nào xảy ra trường hợp trên được, nếu nói như bạn LoveLisp thì nó "đối xứng nội dung" Text àh...... KO BAO GIỜ có chuyện đó.
Nếu có thì khi đối xứng 1 attribute thì nó sẽ làm thay đổi điểm chèn của Text chứ ko ảnh hưởng gì đến nội dung cả.
Bạn đã vội vàng rồi!! Mình nói là nó bao gồm 2 attribute cơ mà, chứ phải 1 đâu!! Dấu cộng có thể là text hay hai line cũng được. Nếu chưa hình dung được bạn hãy thử tạo ra một block như vậy rồi đối xứng nó, bạn sẽ thấy kết quả như mình nói.
-
ketxu có thể nói chi tiết hơn được không?
Cách ghi bán kính Ellipse
trong Sử dụng AutoCAD
Đã đăng · Trả lời báo cáo
Theo mình, về toán học, tất cả các đường không thẳng đều có bán kính, kể cả Spline. Tuy nhiên, bán kính của nó có thể thay đổi nhưng tại một điểm xác định thì chỉ có duy nhất một giá trị bán kính mà thôi (tương tự như tiếp tuyến và pháp tuyến vậy).
Với AutoCAD, có lẽ chỉ có đường tròn (hoặc tương tự, như arc hay pline, donut...) là có bán kính, các loại đường cong khác thì nó không quản lý được giá trị này.
Theo mình, elip cũng là một dạng của Spline, có bán kính thay đổi liên tục theo tọa độ điểm.